@mcesystems/apple-kit 1.0.91 → 1.0.93

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 (78) hide show
  1. package/README.md +258 -258
  2. package/dist/index.js +238 -85
  3. package/dist/index.js.map +4 -4
  4. package/dist/index.mjs +238 -85
  5. package/dist/index.mjs.map +4 -4
  6. package/dist/resources/bin/darwin/idevice_id +0 -0
  7. package/dist/resources/bin/darwin/idevicedebug +0 -0
  8. package/dist/resources/bin/darwin/idevicediagnostics +0 -0
  9. package/dist/resources/bin/darwin/ideviceinfo +0 -0
  10. package/dist/resources/bin/darwin/ideviceinstaller +0 -0
  11. package/dist/resources/bin/darwin/idevicename +0 -0
  12. package/dist/resources/bin/darwin/idevicepair +0 -0
  13. package/dist/resources/bin/darwin/idevicescreenshot +0 -0
  14. package/dist/resources/bin/darwin/idevicesyslog +0 -0
  15. package/dist/resources/bin/darwin/iproxy +0 -0
  16. package/dist/resources/bin/darwin/libcrypto.3.dylib +0 -0
  17. package/dist/resources/bin/darwin/libimobiledevice-1.0.6.dylib +0 -0
  18. package/dist/resources/bin/darwin/libimobiledevice-glue-1.0.0.dylib +0 -0
  19. package/dist/resources/bin/darwin/liblzma.5.dylib +0 -0
  20. package/dist/resources/bin/darwin/libplist-2.0.4.dylib +0 -0
  21. package/dist/resources/bin/darwin/libssl.3.dylib +0 -0
  22. package/dist/resources/bin/darwin/libusbmuxd-2.0.7.dylib +0 -0
  23. package/dist/resources/bin/darwin/libzip.5.dylib +0 -0
  24. package/dist/resources/bin/darwin/libzstd.1.dylib +0 -0
  25. package/dist/resources/licenses/LGPL-2.1.txt +33 -0
  26. package/dist/resources/plist/certificate-trust.xml +43 -43
  27. package/dist/resources/plist/wifi-enterprise.xml +59 -59
  28. package/dist/resources/plist/wifi-standard.xml +50 -50
  29. package/dist/types/index.d.ts +21 -0
  30. package/dist/types/index.d.ts.map +1 -0
  31. package/dist/types/logic/actions/activation.d.ts +12 -0
  32. package/dist/types/logic/actions/activation.d.ts.map +1 -0
  33. package/dist/types/logic/actions/device.d.ts +15 -0
  34. package/dist/types/logic/actions/device.d.ts.map +1 -0
  35. package/dist/types/logic/actions/install.d.ts +10 -0
  36. package/dist/types/logic/actions/install.d.ts.map +1 -0
  37. package/dist/types/logic/actions/pair.d.ts +6 -0
  38. package/dist/types/logic/actions/pair.d.ts.map +1 -0
  39. package/dist/types/logic/actions/proxy.d.ts +23 -0
  40. package/dist/types/logic/actions/proxy.d.ts.map +1 -0
  41. package/dist/types/logic/actions/restore.d.ts +36 -0
  42. package/dist/types/logic/actions/restore.d.ts.map +1 -0
  43. package/dist/types/logic/actions/tool.d.ts +8 -0
  44. package/dist/types/logic/actions/tool.d.ts.map +1 -0
  45. package/dist/types/logic/activationFlow.d.ts +15 -0
  46. package/dist/types/logic/activationFlow.d.ts.map +1 -0
  47. package/dist/types/logic/appleDeviceKit.d.ts +164 -0
  48. package/dist/types/logic/appleDeviceKit.d.ts.map +1 -0
  49. package/dist/types/logic/dataParser.d.ts +23 -0
  50. package/dist/types/logic/dataParser.d.ts.map +1 -0
  51. package/dist/types/logic/iosCli.d.ts +6 -0
  52. package/dist/types/logic/iosCli.d.ts.map +1 -0
  53. package/dist/types/logic/utils/resolvePath.d.ts +13 -0
  54. package/dist/types/logic/utils/resolvePath.d.ts.map +1 -0
  55. package/dist/types/types/activation.d.ts +28 -0
  56. package/dist/types/types/activation.d.ts.map +1 -0
  57. package/dist/types/types/ios.d.ts +152 -0
  58. package/dist/types/types/ios.d.ts.map +1 -0
  59. package/dist/types/types/trust.d.ts +10 -0
  60. package/dist/types/types/trust.d.ts.map +1 -0
  61. package/dist/types/types/types.d.ts +47 -0
  62. package/dist/types/types/types.d.ts.map +1 -0
  63. package/dist/types/types/wifi.d.ts +19 -0
  64. package/dist/types/types/wifi.d.ts.map +1 -0
  65. package/dist/types/types.d.ts +140 -0
  66. package/dist/types/types.d.ts.map +1 -0
  67. package/dist/types/utils/debug.d.ts +17 -0
  68. package/dist/types/utils/debug.d.ts.map +1 -0
  69. package/dist/types/utils/templateLoader.d.ts +8 -0
  70. package/dist/types/utils/templateLoader.d.ts.map +1 -0
  71. package/dist/types/utils/wifiProfile.d.ts +14 -0
  72. package/dist/types/utils/wifiProfile.d.ts.map +1 -0
  73. package/package.json +3 -3
  74. package/scripts/README.md +209 -209
  75. package/scripts/build-windows.sh.template +222 -222
  76. package/resources/ios.exe +0 -0
  77. package/resources/wintun-LICENSE.txt +0 -84
  78. package/resources/wintun.dll +0 -0
Binary file
@@ -0,0 +1,33 @@
1
+ GNU LESSER GENERAL PUBLIC LICENSE
2
+ Version 2.1, February 1999
3
+
4
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+
7
+ Everyone is permitted to copy and distribute verbatim copies
8
+ of this license document, but changing it is not allowed.
9
+
10
+ [This is the first released version of the Lesser GPL. It also counts
11
+ as the successor of the GNU Library Public License, version 2, hence
12
+ the version number 2.1.]
13
+
14
+ Preamble
15
+
16
+ The licenses for most software are designed to take away your
17
+ freedom to share and change it. By contrast, the GNU General Public
18
+ Licenses are intended to guarantee your freedom to share and change
19
+ free software--to make sure the software is free for all its users.
20
+
21
+ This license, the Lesser General Public License, applies to some
22
+ specially designated software packages--typically libraries--of the
23
+ Free Software Foundation and other authors who decide to use it. You
24
+ can use it too, but we suggest you first think carefully about whether
25
+ this license or the ordinary General Public License is the better
26
+ strategy to use in any particular case, based on the explanations below.
27
+
28
+ libimobiledevice is licensed under the GNU Lesser General Public License
29
+ version 2.1 or later (LGPL-2.1+).
30
+
31
+ For the full text of the LGPL-2.1 license, see:
32
+ https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
33
+
@@ -1,43 +1,43 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>PayloadContent</key>
6
- <array>
7
- <dict>
8
- <key>PayloadCertificateFileName</key>
9
- <string>{{certificateFileName}}</string>
10
- <key>PayloadContent</key>
11
- <data>
12
- {{certificateBase64}}
13
- </data>
14
- <key>PayloadDescription</key>
15
- <string>{{certificateDescription}}</string>
16
- <key>PayloadDisplayName</key>
17
- <string>{{certificateDisplayName}}</string>
18
- <key>PayloadIdentifier</key>
19
- <string>{{payloadId}}</string>
20
- <key>PayloadType</key>
21
- <string>com.apple.security.root</string>
22
- <key>PayloadUUID</key>
23
- <string>{{certificateUuid}}</string>
24
- <key>PayloadVersion</key>
25
- <integer>1</integer>
26
- </dict>
27
- </array>
28
- <key>PayloadDisplayName</key>
29
- <string>{{profileDisplayName}}</string>
30
- <key>PayloadIdentifier</key>
31
- <string>{{profileId}}</string>
32
- <key>PayloadOrganization</key>
33
- <string>{{organizationName}}</string>
34
- <key>PayloadRemovalDisallowed</key>
35
- <{{removalDisallowed}}/>
36
- <key>PayloadType</key>
37
- <string>Configuration</string>
38
- <key>PayloadUUID</key>
39
- <string>{{profileUuid}}</string>
40
- <key>PayloadVersion</key>
41
- <integer>1</integer>
42
- </dict>
43
- </plist>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>PayloadContent</key>
6
+ <array>
7
+ <dict>
8
+ <key>PayloadCertificateFileName</key>
9
+ <string>{{certificateFileName}}</string>
10
+ <key>PayloadContent</key>
11
+ <data>
12
+ {{certificateBase64}}
13
+ </data>
14
+ <key>PayloadDescription</key>
15
+ <string>{{certificateDescription}}</string>
16
+ <key>PayloadDisplayName</key>
17
+ <string>{{certificateDisplayName}}</string>
18
+ <key>PayloadIdentifier</key>
19
+ <string>{{payloadId}}</string>
20
+ <key>PayloadType</key>
21
+ <string>com.apple.security.root</string>
22
+ <key>PayloadUUID</key>
23
+ <string>{{certificateUuid}}</string>
24
+ <key>PayloadVersion</key>
25
+ <integer>1</integer>
26
+ </dict>
27
+ </array>
28
+ <key>PayloadDisplayName</key>
29
+ <string>{{profileDisplayName}}</string>
30
+ <key>PayloadIdentifier</key>
31
+ <string>{{profileId}}</string>
32
+ <key>PayloadOrganization</key>
33
+ <string>{{organizationName}}</string>
34
+ <key>PayloadRemovalDisallowed</key>
35
+ <{{removalDisallowed}}/>
36
+ <key>PayloadType</key>
37
+ <string>Configuration</string>
38
+ <key>PayloadUUID</key>
39
+ <string>{{profileUuid}}</string>
40
+ <key>PayloadVersion</key>
41
+ <integer>1</integer>
42
+ </dict>
43
+ </plist>
@@ -1,59 +1,59 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>PayloadContent</key>
6
- <array>
7
- <dict>
8
- <key>AutoJoin</key>
9
- <{{autoJoin}}/>
10
- <key>EncryptionType</key>
11
- <string>WPA2</string>
12
- <key>HIDDEN_NETWORK</key>
13
- <{{hiddenNetwork}}/>
14
- <key>IsHotspot</key>
15
- <false/>
16
- <key>PayloadDescription</key>
17
- <string>Configures WiFi settings for {{ssid}}</string>
18
- <key>PayloadDisplayName</key>
19
- <string>WiFi ({{ssid}})</string>
20
- <key>PayloadIdentifier</key>
21
- <string>{{payloadId}}</string>
22
- <key>PayloadType</key>
23
- <string>com.apple.wifi.managed</string>
24
- <key>PayloadUUID</key>
25
- <string>{{payloadUuid}}</string>
26
- <key>PayloadVersion</key>
27
- <integer>1</integer>
28
- <key>ProxyType</key>
29
- <string>None</string>
30
- <key>SSID_STR</key>
31
- <string>{{ssid}}</string>
32
- <key>EAPClientConfiguration</key>
33
- <dict>
34
- <key>AcceptEAPTypes</key>
35
- <array>
36
- <integer>{{eapTypeNumber}}</integer>
37
- </array>
38
- {{#if username}}<key>UserName</key><string>{{username}}</string>{{/if}}
39
- {{#if password}}<key>UserPassword</key><string>{{password}}</string>{{/if}}
40
- {{#if acceptAnyCertificate}}<key>TLSAllowTrustExceptions</key><true/>{{/if}}
41
- </dict>
42
- </dict>
43
- </array>
44
- <key>PayloadDisplayName</key>
45
- <string>{{displayName}}</string>
46
- <key>PayloadIdentifier</key>
47
- <string>{{profileId}}</string>
48
- <key>PayloadOrganization</key>
49
- <string>{{organizationName}}</string>
50
- <key>PayloadRemovalDisallowed</key>
51
- <false/>
52
- <key>PayloadType</key>
53
- <string>Configuration</string>
54
- <key>PayloadUUID</key>
55
- <string>{{profileUuid}}</string>
56
- <key>PayloadVersion</key>
57
- <integer>1</integer>
58
- </dict>
59
- </plist>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>PayloadContent</key>
6
+ <array>
7
+ <dict>
8
+ <key>AutoJoin</key>
9
+ <{{autoJoin}}/>
10
+ <key>EncryptionType</key>
11
+ <string>WPA2</string>
12
+ <key>HIDDEN_NETWORK</key>
13
+ <{{hiddenNetwork}}/>
14
+ <key>IsHotspot</key>
15
+ <false/>
16
+ <key>PayloadDescription</key>
17
+ <string>Configures WiFi settings for {{ssid}}</string>
18
+ <key>PayloadDisplayName</key>
19
+ <string>WiFi ({{ssid}})</string>
20
+ <key>PayloadIdentifier</key>
21
+ <string>{{payloadId}}</string>
22
+ <key>PayloadType</key>
23
+ <string>com.apple.wifi.managed</string>
24
+ <key>PayloadUUID</key>
25
+ <string>{{payloadUuid}}</string>
26
+ <key>PayloadVersion</key>
27
+ <integer>1</integer>
28
+ <key>ProxyType</key>
29
+ <string>None</string>
30
+ <key>SSID_STR</key>
31
+ <string>{{ssid}}</string>
32
+ <key>EAPClientConfiguration</key>
33
+ <dict>
34
+ <key>AcceptEAPTypes</key>
35
+ <array>
36
+ <integer>{{eapTypeNumber}}</integer>
37
+ </array>
38
+ {{#if username}}<key>UserName</key><string>{{username}}</string>{{/if}}
39
+ {{#if password}}<key>UserPassword</key><string>{{password}}</string>{{/if}}
40
+ {{#if acceptAnyCertificate}}<key>TLSAllowTrustExceptions</key><true/>{{/if}}
41
+ </dict>
42
+ </dict>
43
+ </array>
44
+ <key>PayloadDisplayName</key>
45
+ <string>{{displayName}}</string>
46
+ <key>PayloadIdentifier</key>
47
+ <string>{{profileId}}</string>
48
+ <key>PayloadOrganization</key>
49
+ <string>{{organizationName}}</string>
50
+ <key>PayloadRemovalDisallowed</key>
51
+ <false/>
52
+ <key>PayloadType</key>
53
+ <string>Configuration</string>
54
+ <key>PayloadUUID</key>
55
+ <string>{{profileUuid}}</string>
56
+ <key>PayloadVersion</key>
57
+ <integer>1</integer>
58
+ </dict>
59
+ </plist>
@@ -1,50 +1,50 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>PayloadContent</key>
6
- <array>
7
- <dict>
8
- <key>AutoJoin</key>
9
- <{{autoJoin}}/>
10
- <key>EncryptionType</key>
11
- <string>{{encryptionType}}</string>
12
- <key>HIDDEN_NETWORK</key>
13
- <{{hiddenNetwork}}/>
14
- <key>IsHotspot</key>
15
- <false/>
16
- {{#if password}}<key>Password</key><string>{{password}}</string>{{/if}}
17
- <key>PayloadDescription</key>
18
- <string>Configures WiFi settings for {{ssid}}</string>
19
- <key>PayloadDisplayName</key>
20
- <string>WiFi ({{ssid}})</string>
21
- <key>PayloadIdentifier</key>
22
- <string>{{payloadId}}</string>
23
- <key>PayloadType</key>
24
- <string>com.apple.wifi.managed</string>
25
- <key>PayloadUUID</key>
26
- <string>{{payloadUuid}}</string>
27
- <key>PayloadVersion</key>
28
- <integer>1</integer>
29
- <key>ProxyType</key>
30
- <string>None</string>
31
- <key>SSID_STR</key>
32
- <string>{{ssid}}</string>
33
- </dict>
34
- </array>
35
- <key>PayloadDisplayName</key>
36
- <string>{{displayName}}</string>
37
- <key>PayloadIdentifier</key>
38
- <string>{{profileId}}</string>
39
- <key>PayloadOrganization</key>
40
- <string>{{organizationName}}</string>
41
- <key>PayloadRemovalDisallowed</key>
42
- <false/>
43
- <key>PayloadType</key>
44
- <string>Configuration</string>
45
- <key>PayloadUUID</key>
46
- <string>{{profileUuid}}</string>
47
- <key>PayloadVersion</key>
48
- <integer>1</integer>
49
- </dict>
50
- </plist>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>PayloadContent</key>
6
+ <array>
7
+ <dict>
8
+ <key>AutoJoin</key>
9
+ <{{autoJoin}}/>
10
+ <key>EncryptionType</key>
11
+ <string>{{encryptionType}}</string>
12
+ <key>HIDDEN_NETWORK</key>
13
+ <{{hiddenNetwork}}/>
14
+ <key>IsHotspot</key>
15
+ <false/>
16
+ {{#if password}}<key>Password</key><string>{{password}}</string>{{/if}}
17
+ <key>PayloadDescription</key>
18
+ <string>Configures WiFi settings for {{ssid}}</string>
19
+ <key>PayloadDisplayName</key>
20
+ <string>WiFi ({{ssid}})</string>
21
+ <key>PayloadIdentifier</key>
22
+ <string>{{payloadId}}</string>
23
+ <key>PayloadType</key>
24
+ <string>com.apple.wifi.managed</string>
25
+ <key>PayloadUUID</key>
26
+ <string>{{payloadUuid}}</string>
27
+ <key>PayloadVersion</key>
28
+ <integer>1</integer>
29
+ <key>ProxyType</key>
30
+ <string>None</string>
31
+ <key>SSID_STR</key>
32
+ <string>{{ssid}}</string>
33
+ </dict>
34
+ </array>
35
+ <key>PayloadDisplayName</key>
36
+ <string>{{displayName}}</string>
37
+ <key>PayloadIdentifier</key>
38
+ <string>{{profileId}}</string>
39
+ <key>PayloadOrganization</key>
40
+ <string>{{organizationName}}</string>
41
+ <key>PayloadRemovalDisallowed</key>
42
+ <false/>
43
+ <key>PayloadType</key>
44
+ <string>Configuration</string>
45
+ <key>PayloadUUID</key>
46
+ <string>{{profileUuid}}</string>
47
+ <key>PayloadVersion</key>
48
+ <integer>1</integer>
49
+ </dict>
50
+ </plist>
@@ -284,7 +284,20 @@ export declare class AppleDeviceKit {
284
284
  private readonly activationFlow;
285
285
  private readonly proxyActions;
286
286
  private tunnelProcess;
287
+ private static readonly IOS_17_VERSION;
287
288
  constructor(udid: string, logicalPort: number, usbmuxdAddress?: string);
289
+ /**
290
+ * Check if iOS version requires tunneling (iOS 17+)
291
+ */
292
+ private requiresTunneling;
293
+ /**
294
+ * Ensure tunnel is started for iOS 17+ devices
295
+ */
296
+ private ensureTunnel;
297
+ /**
298
+ * Stop tunnel for a device
299
+ */
300
+ private stopTunnel;
288
301
  static setResourcesDir(dir: string): void;
289
302
  /**
290
303
  * Throws if the kit has been disposed
@@ -397,6 +410,14 @@ export declare class AppleDeviceKit {
397
410
  promise: Promise<(() => Promise<void>) | undefined>;
398
411
  events: EventEmitter;
399
412
  };
413
+ /**
414
+ * Push a file to the device using fsync
415
+ */
416
+ pushFile(bundleId: string, fileName: string, fileData: Buffer): Promise<void>;
417
+ /**
418
+ * Pull a file from the device using fsync
419
+ */
420
+ pullFile(bundleId: string, fileName: string): Promise<Buffer>;
400
421
  /**
401
422
  * Get the device UDID
402
423
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ActivationState } from "@/types";
2
+ export declare function getActivationState(udid: string): Promise<ActivationState>;
3
+ export declare function activate(udid: string): Promise<boolean>;
4
+ export interface ApplicationConfig {
5
+ name: string;
6
+ bundleId: string;
7
+ version: string;
8
+ build: string;
9
+ icon: string;
10
+ iconData: Buffer;
11
+ }
12
+ //# sourceMappingURL=activation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/activation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI/C,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAyB/E;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB7D;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,15 @@
1
+ import type { IosCli, IosListResult, IosProfileListResult, LockdownInfo } from "@/types/ios";
2
+ export interface ExecResult {
3
+ stdout: string;
4
+ stderr: string;
5
+ }
6
+ export declare function info(udid: string, iosCli: IosCli): Promise<LockdownInfo>;
7
+ export declare function getActivationState(udid: string, iosCli: IosCli): Promise<{
8
+ isActivated: boolean;
9
+ activationState: string;
10
+ }>;
11
+ export declare function listDevices(iosCli: IosCli): Promise<IosListResult>;
12
+ export declare function wipeDevice(udid: string, iosCli: IosCli): Promise<void>;
13
+ export declare function removeProfile(profileIdentifier: string, udid: string, iosCli: IosCli): Promise<void>;
14
+ export declare function listProfiles(udid: string, iosCli: IosCli): Promise<IosProfileListResult>;
15
+ //# sourceMappingURL=device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7F,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ9E;AAED,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CAO5D;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAMxE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;AAED,wBAAsB,aAAa,CAClC,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAG9F"}
@@ -0,0 +1,10 @@
1
+ import type { IosCli, IosCommandResult } from "@/types/ios";
2
+ import type { AppInfo } from "@/types/types";
3
+ import { type InstallAppMdmOptions } from "@mcesystems/mdm-client-g4";
4
+ export declare function installLocalApp(ipaPath: string, udid: string, iosCli: IosCli): Promise<IosCommandResult>;
5
+ export declare function installManagedApp(ipaPath: string, udid: string, iosCli: IosCli, options: InstallAppMdmOptions): Promise<IosCommandResult>;
6
+ export declare function uninstallApp(bundleId: string, udid: string): Promise<void>;
7
+ export declare function listApps(udid: string): Promise<AppInfo[]>;
8
+ export declare function isAppInstalled(bundleId: string, udid: string): Promise<boolean>;
9
+ export declare function wakeDevice(udid: string): Promise<void>;
10
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,oBAAoB,EAAmB,MAAM,2BAA2B,CAAC;AAMvF,wBAAsB,eAAe,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAkB/D;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKrF;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC5D"}
@@ -0,0 +1,6 @@
1
+ export declare function isPaired(udid: string): Promise<boolean>;
2
+ export declare function trustDevice(udid: string, timeout?: number, onWaitingForTrust?: () => void): Promise<boolean>;
3
+ export declare function waitForPairing(udid: string, timeout?: number, pollInterval?: number): Promise<boolean>;
4
+ export declare function pair(udid: string): Promise<boolean>;
5
+ export declare function unpair(udid: string): Promise<boolean>;
6
+ //# sourceMappingURL=pair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/pair.ts"],"names":[],"mappings":"AAGA,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa7D;AAED,wBAAsB,WAAW,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAQ,EACf,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAC5B,OAAO,CAAC,OAAO,CAAC,CAmClB;AAED,wBAAsB,cAAc,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAS,EAChB,YAAY,SAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBzD;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa3D"}
@@ -0,0 +1,23 @@
1
+ import { type ChildProcess } from "node:child_process";
2
+ import type { PortForwardResult } from "@/types/types";
3
+ /**
4
+ * Start port forwarding using iproxy.
5
+ * This spawns a long-running process that must be killed when no longer needed.
6
+ *
7
+ * @param localPort Local port to listen on
8
+ * @param devicePort Device port to forward to
9
+ * @param udid Device UDID
10
+ * @param startupTimeout Time to wait for iproxy to start (ms)
11
+ * @returns Object containing the result and the child process
12
+ */
13
+ export declare function startPortForward(localPort: number, devicePort: number, udid: string, startupTimeout?: number): Promise<{
14
+ result: PortForwardResult;
15
+ process: ChildProcess;
16
+ }>;
17
+ /**
18
+ * Kill a port forwarding process
19
+ *
20
+ * @param process The child process to kill
21
+ */
22
+ export declare function killPortForwardProcess(process: ChildProcess): void;
23
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,cAAc,SAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CA+E/D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAKlE"}
@@ -0,0 +1,36 @@
1
+ export interface RestoreOptions {
2
+ /**
3
+ * Timeout in milliseconds (default: 300000 = 5 minutes)
4
+ * Restore operations can take a long time, especially with firmware download
5
+ */
6
+ timeout?: number;
7
+ /**
8
+ * Path to IPSW file. If not provided, will restore to latest available firmware
9
+ */
10
+ ipswPath?: string;
11
+ /**
12
+ * Use erase mode instead of full restore (faster, but may not work on all devices)
13
+ */
14
+ erase?: boolean;
15
+ }
16
+ export interface RestoreResult {
17
+ success: boolean;
18
+ stdout: string;
19
+ stderr: string;
20
+ exitCode: number;
21
+ }
22
+ /**
23
+ * Restore an iOS device using idevicerestore
24
+ *
25
+ * This will restore the device to factory settings. If an IPSW path is provided,
26
+ * it will restore to that firmware version. Otherwise, it will restore to the
27
+ * latest available firmware for the device.
28
+ *
29
+ * WARNING: This operation will erase all data on the device!
30
+ *
31
+ * @param udid Device UDID
32
+ * @param options Restore options
33
+ * @returns Restore result
34
+ */
35
+ export declare function restoreDevice(udid: string, options?: RestoreOptions): Promise<RestoreResult>;
36
+ //# sourceMappingURL=restore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/restore.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,CA0ExB"}
@@ -0,0 +1,8 @@
1
+ import { type ExecOptions } from "node:child_process";
2
+ import type { AppleToolType } from "@/types/types";
3
+ import type { ExecResult } from "./device";
4
+ /**
5
+ * Execute an idevice tool command
6
+ */
7
+ export declare function runIDeviceTool(toolName: AppleToolType, args?: string[], options?: ExecOptions): Promise<ExecResult>;
8
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAG5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C;;GAEG;AACH,wBAAsB,cAAc,CACnC,QAAQ,EAAE,aAAa,EACvB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CASrB"}
@@ -0,0 +1,15 @@
1
+ import type { IosCli } from "@/types/ios";
2
+ export declare class ActivationFlow {
3
+ private readonly iosCli;
4
+ private mdmClient;
5
+ constructor(iosCli: IosCli);
6
+ run(udid: string, steps?: string[]): Promise<(() => Promise<void>) | undefined>;
7
+ private installWifiProfile;
8
+ private installMdmProfile;
9
+ private removeWifiProfile;
10
+ private retryIosCommand;
11
+ private retryActivateCommand;
12
+ private retry;
13
+ }
14
+ export declare function resolveIosBinaryPath(): string | undefined;
15
+ //# sourceMappingURL=activationFlow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activationFlow.d.ts","sourceRoot":"","sources":["../../../src/logic/activationFlow.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AAS5D,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,SAAS,CAAwB;gBAE7B,MAAM,EAAE,MAAM;IAIb,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;YAW9E,kBAAkB;YAelB,iBAAiB;YAyBjB,iBAAiB;YAajB,eAAe;YAOf,oBAAoB;YAOpB,KAAK;CAwBnB;AAiCD,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAIzD"}