@mcesystems/apple-kit 1.0.77 → 1.0.79
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/dist/types/index.d.ts +579 -10
- package/package.json +6 -5
package/dist/types/index.d.ts
CHANGED
|
@@ -1,14 +1,583 @@
|
|
|
1
|
+
// Generated by dts-bundle-generator v9.5.1
|
|
2
|
+
|
|
3
|
+
import { ChildProcess } from 'node:child_process';
|
|
4
|
+
|
|
5
|
+
export interface DeviceListOutput {
|
|
6
|
+
deviceList: string[];
|
|
7
|
+
}
|
|
8
|
+
export interface IosCommandResult {
|
|
9
|
+
command: string;
|
|
10
|
+
args: string[];
|
|
11
|
+
output: CommandOutput;
|
|
12
|
+
logMessages: LogMessage[];
|
|
13
|
+
exitCode: number;
|
|
14
|
+
raw: {
|
|
15
|
+
stdout: string;
|
|
16
|
+
stderr: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface LogMessage {
|
|
20
|
+
level: "info" | "error" | "warn" | "debug";
|
|
21
|
+
msg: string;
|
|
22
|
+
timestamp: string;
|
|
23
|
+
}
|
|
24
|
+
export type CommandOutput = Record<string, unknown>[] | DeviceListOutput[] | [
|
|
25
|
+
LockdownInfo
|
|
26
|
+
];
|
|
27
|
+
export interface IosListResult {
|
|
28
|
+
udids: string[];
|
|
29
|
+
raw: IosCommandResult;
|
|
30
|
+
}
|
|
31
|
+
export interface IosFsyncTreeResult {
|
|
32
|
+
/** File/directory names listed in the app container path (e.g. ["qr.png", "test.jpg"]) */
|
|
33
|
+
entries: string[];
|
|
34
|
+
raw: IosCommandResult;
|
|
35
|
+
}
|
|
36
|
+
export interface IosProfileManifest {
|
|
37
|
+
Description?: string;
|
|
38
|
+
IsActive?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface IosProfileMetadata {
|
|
41
|
+
PayloadDescription?: string;
|
|
42
|
+
PayloadDisplayName?: string;
|
|
43
|
+
PayloadRemovalDisallowed?: boolean;
|
|
44
|
+
PayloadUUID?: string;
|
|
45
|
+
PayloadVersion?: number;
|
|
46
|
+
}
|
|
47
|
+
export interface IosProfileListEntry {
|
|
48
|
+
Identifier?: string;
|
|
49
|
+
Manifest?: IosProfileManifest;
|
|
50
|
+
Metadata?: IosProfileMetadata;
|
|
51
|
+
Status?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface IosProfileListResult {
|
|
54
|
+
profiles: IosProfileListEntry[];
|
|
55
|
+
raw: IosCommandResult;
|
|
56
|
+
}
|
|
57
|
+
export interface BasebandKeyHashInformation {
|
|
58
|
+
AKeyStatus: number;
|
|
59
|
+
SKeyHash: string;
|
|
60
|
+
SKeyStatus: number;
|
|
61
|
+
}
|
|
62
|
+
export interface NonVolatileRAM {
|
|
63
|
+
StartupMute?: string;
|
|
64
|
+
SystemAudioVolumeSaved?: string;
|
|
65
|
+
"auto-boot"?: string;
|
|
66
|
+
"backlight-level"?: string;
|
|
67
|
+
"backlight-nits"?: string;
|
|
68
|
+
"boot-args"?: string;
|
|
69
|
+
bootdelay?: string;
|
|
70
|
+
"fm-account-masked"?: string;
|
|
71
|
+
"fm-activation-locked"?: string;
|
|
72
|
+
"fm-spkeys"?: string;
|
|
73
|
+
"fm-spstatus"?: string;
|
|
74
|
+
obliteration?: string;
|
|
75
|
+
"panicmedic-telemetry"?: string;
|
|
76
|
+
usbcfwflasherResult?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface LockdownInfo {
|
|
79
|
+
ActivationState: string;
|
|
80
|
+
ActivationStateAcknowledged: boolean;
|
|
81
|
+
BasebandActivationTicketVersion: string;
|
|
82
|
+
BasebandCertId: number;
|
|
83
|
+
BasebandChipID: number;
|
|
84
|
+
BasebandKeyHashInformation: BasebandKeyHashInformation;
|
|
85
|
+
BasebandMasterKeyHash: string;
|
|
86
|
+
BasebandRegionSKU: string;
|
|
87
|
+
BasebandSerialNumber: string;
|
|
88
|
+
BasebandStatus: string;
|
|
89
|
+
BasebandVersion: string;
|
|
90
|
+
BluetoothAddress: string;
|
|
91
|
+
BoardId: number;
|
|
92
|
+
BootSessionID: string;
|
|
93
|
+
BrickState: boolean;
|
|
94
|
+
BuildVersion: string;
|
|
95
|
+
CPUArchitecture: string;
|
|
96
|
+
CarrierBundleInfoArray: unknown[];
|
|
97
|
+
CertID: number;
|
|
98
|
+
ChipID: number;
|
|
99
|
+
ChipSerialNo: string;
|
|
100
|
+
DeviceClass: string;
|
|
101
|
+
DeviceColor: string;
|
|
102
|
+
DeviceName: string;
|
|
103
|
+
DieID: number;
|
|
104
|
+
EthernetAddress: string;
|
|
105
|
+
FirmwareVersion: string;
|
|
106
|
+
FusingStatus: number;
|
|
107
|
+
HardwareModel: string;
|
|
108
|
+
HardwarePlatform: string;
|
|
109
|
+
HasSiDP: boolean;
|
|
110
|
+
HostAttached: boolean;
|
|
111
|
+
HumanReadableProductVersionString: string;
|
|
112
|
+
InternationalMobileEquipmentIdentity: string;
|
|
113
|
+
InternationalMobileEquipmentIdentity2: string;
|
|
114
|
+
MLBSerialNumber: string;
|
|
115
|
+
MobileEquipmentIdentifier: string;
|
|
116
|
+
MobileSubscriberCountryCode: string;
|
|
117
|
+
MobileSubscriberNetworkCode: string;
|
|
118
|
+
ModelNumber: string;
|
|
119
|
+
NonVolatileRAM: NonVolatileRAM;
|
|
120
|
+
PairRecordProtectionClass: number;
|
|
121
|
+
PartitionType: string;
|
|
122
|
+
PasswordProtected: boolean;
|
|
123
|
+
PkHash: string;
|
|
124
|
+
ProductName: string;
|
|
125
|
+
ProductType: string;
|
|
126
|
+
ProductVersion: string;
|
|
127
|
+
ProductionSOC: boolean;
|
|
128
|
+
ProtocolVersion: string;
|
|
129
|
+
ProximitySensorCalibration: string;
|
|
130
|
+
RegionInfo: string;
|
|
131
|
+
ReleaseType: string;
|
|
132
|
+
SIMStatus: string;
|
|
133
|
+
SIMTrayStatus: string;
|
|
134
|
+
SerialNumber: string;
|
|
135
|
+
SoftwareBehavior: string;
|
|
136
|
+
SoftwareBundleVersion: string;
|
|
137
|
+
SupportedDeviceFamilies: number[];
|
|
138
|
+
TelephonyCapability: boolean;
|
|
139
|
+
TimeIntervalSince1970: number;
|
|
140
|
+
TimeZone: string;
|
|
141
|
+
TimeZoneOffsetFromUTC: number;
|
|
142
|
+
TrustedHostAttached: boolean;
|
|
143
|
+
UniqueChipID: number;
|
|
144
|
+
UniqueDeviceID: string;
|
|
145
|
+
UntrustedHostBUID: string;
|
|
146
|
+
UseRaptorCerts: boolean;
|
|
147
|
+
Uses24HourClock: boolean;
|
|
148
|
+
WiFiAddress: string;
|
|
149
|
+
WirelessBoardSerialNumber: string;
|
|
150
|
+
kCTPostponementInfoServiceProvisioningState: boolean;
|
|
151
|
+
kCTPostponementStatus: string;
|
|
152
|
+
}
|
|
1
153
|
/**
|
|
2
|
-
*
|
|
154
|
+
* Installed application info
|
|
155
|
+
*/
|
|
156
|
+
export interface AppInfo {
|
|
157
|
+
/**
|
|
158
|
+
* Bundle identifier (e.g., "com.example.app")
|
|
159
|
+
*/
|
|
160
|
+
bundleId: string;
|
|
161
|
+
/**
|
|
162
|
+
* Display name shown to user
|
|
163
|
+
*/
|
|
164
|
+
displayName: string;
|
|
165
|
+
/**
|
|
166
|
+
* App version (CFBundleShortVersionString)
|
|
167
|
+
*/
|
|
168
|
+
version: string;
|
|
169
|
+
/**
|
|
170
|
+
* Bundle version (CFBundleVersion)
|
|
171
|
+
*/
|
|
172
|
+
bundleVersion: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Port forwarding result
|
|
176
|
+
*/
|
|
177
|
+
export interface PortForwardResult {
|
|
178
|
+
/** The local port being forwarded */
|
|
179
|
+
localPort: number;
|
|
180
|
+
/** The device port being forwarded to */
|
|
181
|
+
devicePort: number;
|
|
182
|
+
}
|
|
183
|
+
export interface InstallAppMdmOptions {
|
|
184
|
+
appId?: string;
|
|
185
|
+
url?: string;
|
|
186
|
+
waitForInstalled?: boolean;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* AppleDeviceKit - iOS device operations wrapper
|
|
190
|
+
*
|
|
191
|
+
* Uses idevice command-line tools for iOS device operations.
|
|
192
|
+
* Each instance is associated with a specific device by UDID.
|
|
3
193
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* activation, and device property access.
|
|
194
|
+
* Port forwarding is managed automatically - each logical port (USB hub position)
|
|
195
|
+
* gets a dynamically allocated local port that is tracked and cleaned up on dispose.
|
|
7
196
|
*
|
|
8
|
-
*
|
|
197
|
+
* IMPORTANT: Call dispose() when the kit is no longer needed to clean up
|
|
198
|
+
* any running proxy processes and release port allocations.
|
|
9
199
|
*/
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
200
|
+
export declare class AppleDeviceKit {
|
|
201
|
+
private readonly logicalPort;
|
|
202
|
+
private deviceId;
|
|
203
|
+
private proxyProcess;
|
|
204
|
+
private localDevicePort;
|
|
205
|
+
private isDisposed;
|
|
206
|
+
private readonly iosClient;
|
|
207
|
+
private readonly deviceActions;
|
|
208
|
+
private readonly installActions;
|
|
209
|
+
private readonly activationFlow;
|
|
210
|
+
private readonly proxyActions;
|
|
211
|
+
private tunnelProcess;
|
|
212
|
+
constructor(udid: string, logicalPort: number, usbmuxdAddress?: string);
|
|
213
|
+
static setResourcesDir(dir: string): void;
|
|
214
|
+
/**
|
|
215
|
+
* Throws if the kit has been disposed
|
|
216
|
+
*/
|
|
217
|
+
private ensureNotDisposed;
|
|
218
|
+
info(): Promise<LockdownInfo>;
|
|
219
|
+
listDevices(): Promise<IosListResult>;
|
|
220
|
+
/**
|
|
221
|
+
* Check if device is paired/trusted with this computer
|
|
222
|
+
*/
|
|
223
|
+
isPaired(): Promise<boolean>;
|
|
224
|
+
/**
|
|
225
|
+
* Wait for device to be paired
|
|
226
|
+
* Polls the pairing status until successful or timeout
|
|
227
|
+
*
|
|
228
|
+
* @param timeout Timeout in milliseconds (default: 120000)
|
|
229
|
+
* @param pollInterval Poll interval in milliseconds (default: 1000)
|
|
230
|
+
*/
|
|
231
|
+
waitForPairing(timeout?: number, pollInterval?: number): Promise<boolean>;
|
|
232
|
+
/**
|
|
233
|
+
* Attempt to pair/trust the device
|
|
234
|
+
* User must accept the trust dialog on the device
|
|
235
|
+
*/
|
|
236
|
+
pair(): Promise<boolean>;
|
|
237
|
+
/**
|
|
238
|
+
* Trust/pair the device - initiates pairing and waits for user to accept
|
|
239
|
+
*
|
|
240
|
+
* This is the recommended method for establishing trust with a device.
|
|
241
|
+
* It will:
|
|
242
|
+
* 1. Check if already paired
|
|
243
|
+
* 2. If not, initiate pairing (shows "Trust This Computer?" on device)
|
|
244
|
+
* 3. Wait for user to accept the trust dialog
|
|
245
|
+
*
|
|
246
|
+
* @param timeout Timeout in milliseconds to wait for user acceptance (default: 60000)
|
|
247
|
+
* @param onWaitingForTrust Callback when waiting for user to accept trust dialog
|
|
248
|
+
* @returns true if device is now trusted
|
|
249
|
+
*/
|
|
250
|
+
trustDevice(timeout?: number, onWaitingForTrust?: () => void): Promise<boolean>;
|
|
251
|
+
/**
|
|
252
|
+
* Unpair/untrust the device
|
|
253
|
+
*/
|
|
254
|
+
unpair(): Promise<boolean>;
|
|
255
|
+
/**
|
|
256
|
+
* Install an IPA file on the device (install agent)
|
|
257
|
+
*
|
|
258
|
+
* @param ipaPath Path to the IPA file
|
|
259
|
+
*/
|
|
260
|
+
installApp(ipaPath: string, options: InstallAppMdmOptions): Promise<IosCommandResult>;
|
|
261
|
+
/**
|
|
262
|
+
* Uninstall an app by bundle ID (uninstall agent)
|
|
263
|
+
*
|
|
264
|
+
* @param bundleId Application bundle identifier
|
|
265
|
+
*/
|
|
266
|
+
uninstallApp(bundleId: string): Promise<IosCommandResult>;
|
|
267
|
+
/**
|
|
268
|
+
* Check if an app is installed on the device
|
|
269
|
+
*
|
|
270
|
+
* @param bundleId Application bundle identifier
|
|
271
|
+
*/
|
|
272
|
+
isAppInstalled(bundleId: string): Promise<boolean>;
|
|
273
|
+
/**
|
|
274
|
+
* List all installed user applications
|
|
275
|
+
*/
|
|
276
|
+
listApps(): Promise<AppInfo[]>;
|
|
277
|
+
/**
|
|
278
|
+
* Start port forwarding and wait for it to be ready.
|
|
279
|
+
* The local port is automatically allocated based on the logical port.
|
|
280
|
+
*
|
|
281
|
+
* We need port forwarding to be able to connect to the device from the computer
|
|
282
|
+
* and communicate with it using the local port.
|
|
283
|
+
*
|
|
284
|
+
* Note: Only one port forward can be active at a time per kit instance.
|
|
285
|
+
* Starting a new port forward will kill any existing one.
|
|
286
|
+
*
|
|
287
|
+
* @param devicePort Device port to forward to
|
|
288
|
+
* @param startupTimeout Time to wait for proxy to start (ms)
|
|
289
|
+
* @returns The port forward result with the allocated local port
|
|
290
|
+
*/
|
|
291
|
+
startPortForwardAsync(devicePort: number): Promise<PortForwardResult>;
|
|
292
|
+
/**
|
|
293
|
+
* Kill the current port forwarding process if running
|
|
294
|
+
*/
|
|
295
|
+
private killProxyProcess;
|
|
296
|
+
/**
|
|
297
|
+
* Close the current port forwarding session and release the port
|
|
298
|
+
*/
|
|
299
|
+
closePortForward(): void;
|
|
300
|
+
/**
|
|
301
|
+
* Wipe the device
|
|
302
|
+
*/
|
|
303
|
+
wipe(): Promise<void>;
|
|
304
|
+
removeProfile(profileIdentifier: string): Promise<void>;
|
|
305
|
+
listProfiles(): Promise<IosProfileListResult>;
|
|
306
|
+
/**
|
|
307
|
+
* Activate the device using the activation flow.
|
|
308
|
+
*
|
|
309
|
+
* This flow can install WiFi/MDM/trust profiles and skip setup steps.
|
|
310
|
+
*
|
|
311
|
+
* Note: This requires a valid activation record or Apple server access.
|
|
312
|
+
*
|
|
313
|
+
* Precondition: the device must be paired and trusted.
|
|
314
|
+
*/
|
|
315
|
+
activate(): Promise<(() => Promise<void>) | undefined>;
|
|
316
|
+
/**
|
|
317
|
+
* Get the device UDID
|
|
318
|
+
*/
|
|
319
|
+
getDeviceId(): string;
|
|
320
|
+
/**
|
|
321
|
+
* Get the logical port number (USB hub position)
|
|
322
|
+
*/
|
|
323
|
+
getLogicalPort(): number;
|
|
324
|
+
/**
|
|
325
|
+
* Get the currently allocated local port for forwarding
|
|
326
|
+
* Returns undefined if no port forward is active
|
|
327
|
+
*/
|
|
328
|
+
getDevicePort(): number | null;
|
|
329
|
+
/**
|
|
330
|
+
* Check if this kit has been disposed
|
|
331
|
+
*/
|
|
332
|
+
get disposed(): boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Check if a port forward is currently active
|
|
335
|
+
*/
|
|
336
|
+
get hasActivePortForward(): boolean;
|
|
337
|
+
/**
|
|
338
|
+
* Dispose of the kit and clean up all resources.
|
|
339
|
+
* This will kill any running proxy processes and release port allocations.
|
|
340
|
+
*
|
|
341
|
+
* After calling dispose(), the kit instance should not be used.
|
|
342
|
+
*/
|
|
343
|
+
dispose(): void;
|
|
344
|
+
/**
|
|
345
|
+
* Symbol.dispose implementation for using with `using` keyword (TypeScript 5.2+)
|
|
346
|
+
*/
|
|
347
|
+
[Symbol.dispose](): void;
|
|
348
|
+
}
|
|
349
|
+
export declare class IosClient {
|
|
350
|
+
private iosPath;
|
|
351
|
+
private udid;
|
|
352
|
+
private usbmuxdAddress?;
|
|
353
|
+
constructor(iosPath: string, udid: string, usbmuxdAddress?: string | undefined);
|
|
354
|
+
private safeParseJson;
|
|
355
|
+
private parseFsyncTreeStdout;
|
|
356
|
+
private parseIosOutput;
|
|
357
|
+
spawnIosCommand(args: string[]): import("child_process").ChildProcessByStdio<null, import("stream").Readable, import("stream").Readable>;
|
|
358
|
+
private runIosCommand;
|
|
359
|
+
listDevices(): Promise<IosListResult>;
|
|
360
|
+
wipe(): Promise<IosCommandResult>;
|
|
361
|
+
installProfile(profilePath: string): Promise<IosCommandResult>;
|
|
362
|
+
removeProfile(profileName: string): Promise<IosCommandResult>;
|
|
363
|
+
listProfiles(): Promise<IosProfileListResult>;
|
|
364
|
+
skipSteps(steps?: string[]): Promise<IosCommandResult>;
|
|
365
|
+
listSteps(): Promise<IosCommandResult>;
|
|
366
|
+
activate(): Promise<IosCommandResult>;
|
|
367
|
+
pair(): Promise<IosCommandResult>;
|
|
368
|
+
forward({ fromPort, toPort }: {
|
|
369
|
+
fromPort: number;
|
|
370
|
+
toPort: number;
|
|
371
|
+
}): Promise<import("child_process").ChildProcessByStdio<null, import("stream").Readable, import("stream").Readable>>;
|
|
372
|
+
info(): Promise<IosCommandResult>;
|
|
373
|
+
installApp(ipaPath: string): Promise<IosCommandResult>;
|
|
374
|
+
uninstallApp(bundleId: string): Promise<IosCommandResult>;
|
|
375
|
+
listApps(): Promise<{
|
|
376
|
+
bundleId: string;
|
|
377
|
+
displayName: string;
|
|
378
|
+
version: string;
|
|
379
|
+
}[]>;
|
|
380
|
+
devMode(): Promise<IosCommandResult>;
|
|
381
|
+
tunnelStart(userspace?: boolean): Promise<import("child_process").ChildProcessByStdio<null, import("stream").Readable, import("stream").Readable>>;
|
|
382
|
+
fsyncPull({ app, srcPath, dstPath, }: {
|
|
383
|
+
app: string;
|
|
384
|
+
srcPath: string;
|
|
385
|
+
dstPath: string;
|
|
386
|
+
}): Promise<IosCommandResult>;
|
|
387
|
+
fsyncPush({ app, srcPath, dstPath, }: {
|
|
388
|
+
app: string;
|
|
389
|
+
srcPath: string;
|
|
390
|
+
dstPath: string;
|
|
391
|
+
}): Promise<IosCommandResult>;
|
|
392
|
+
fsyncTree({ app, path, }: {
|
|
393
|
+
app: string;
|
|
394
|
+
path?: string;
|
|
395
|
+
}): Promise<IosFsyncTreeResult>;
|
|
396
|
+
}
|
|
397
|
+
export declare class ActivationFlow {
|
|
398
|
+
private readonly udid;
|
|
399
|
+
private readonly iosClient;
|
|
400
|
+
private mdmClient;
|
|
401
|
+
constructor(udid: string, iosClient: IosClient);
|
|
402
|
+
run(steps?: string[]): Promise<(() => Promise<void>) | undefined>;
|
|
403
|
+
private installWifiProfile;
|
|
404
|
+
private installMdmProfile;
|
|
405
|
+
private removeWifiProfile;
|
|
406
|
+
private retryIosCommand;
|
|
407
|
+
private retryActivateCommand;
|
|
408
|
+
private retry;
|
|
409
|
+
}
|
|
410
|
+
interface DeviceListOutput$1 {
|
|
411
|
+
deviceList: string[];
|
|
412
|
+
}
|
|
413
|
+
interface IosCommandResult$1 {
|
|
414
|
+
command: string;
|
|
415
|
+
args: string[];
|
|
416
|
+
output: CommandOutput$1;
|
|
417
|
+
logMessages: LogMessage$1[];
|
|
418
|
+
exitCode: number;
|
|
419
|
+
raw: {
|
|
420
|
+
stdout: string;
|
|
421
|
+
stderr: string;
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
interface LogMessage$1 {
|
|
425
|
+
level: "info" | "error" | "warn" | "debug";
|
|
426
|
+
msg: string;
|
|
427
|
+
timestamp: string;
|
|
428
|
+
}
|
|
429
|
+
type CommandOutput$1 = Record<string, unknown>[] | DeviceListOutput$1[] | [
|
|
430
|
+
LockdownInfo$1
|
|
431
|
+
];
|
|
432
|
+
interface IosListResult$1 {
|
|
433
|
+
udids: string[];
|
|
434
|
+
raw: IosCommandResult$1;
|
|
435
|
+
}
|
|
436
|
+
interface IosFsyncTreeResult$1 {
|
|
437
|
+
/** File/directory names listed in the app container path (e.g. ["qr.png", "test.jpg"]) */
|
|
438
|
+
entries: string[];
|
|
439
|
+
raw: IosCommandResult$1;
|
|
440
|
+
}
|
|
441
|
+
interface IosProfileManifest$1 {
|
|
442
|
+
Description?: string;
|
|
443
|
+
IsActive?: boolean;
|
|
444
|
+
}
|
|
445
|
+
interface IosProfileMetadata$1 {
|
|
446
|
+
PayloadDescription?: string;
|
|
447
|
+
PayloadDisplayName?: string;
|
|
448
|
+
PayloadRemovalDisallowed?: boolean;
|
|
449
|
+
PayloadUUID?: string;
|
|
450
|
+
PayloadVersion?: number;
|
|
451
|
+
}
|
|
452
|
+
interface IosProfileListEntry$1 {
|
|
453
|
+
Identifier?: string;
|
|
454
|
+
Manifest?: IosProfileManifest$1;
|
|
455
|
+
Metadata?: IosProfileMetadata$1;
|
|
456
|
+
Status?: string;
|
|
457
|
+
}
|
|
458
|
+
interface IosProfileListResult$1 {
|
|
459
|
+
profiles: IosProfileListEntry$1[];
|
|
460
|
+
raw: IosCommandResult$1;
|
|
461
|
+
}
|
|
462
|
+
interface BasebandKeyHashInformation$1 {
|
|
463
|
+
AKeyStatus: number;
|
|
464
|
+
SKeyHash: string;
|
|
465
|
+
SKeyStatus: number;
|
|
466
|
+
}
|
|
467
|
+
interface NonVolatileRAM$1 {
|
|
468
|
+
StartupMute?: string;
|
|
469
|
+
SystemAudioVolumeSaved?: string;
|
|
470
|
+
"auto-boot"?: string;
|
|
471
|
+
"backlight-level"?: string;
|
|
472
|
+
"backlight-nits"?: string;
|
|
473
|
+
"boot-args"?: string;
|
|
474
|
+
bootdelay?: string;
|
|
475
|
+
"fm-account-masked"?: string;
|
|
476
|
+
"fm-activation-locked"?: string;
|
|
477
|
+
"fm-spkeys"?: string;
|
|
478
|
+
"fm-spstatus"?: string;
|
|
479
|
+
obliteration?: string;
|
|
480
|
+
"panicmedic-telemetry"?: string;
|
|
481
|
+
usbcfwflasherResult?: string;
|
|
482
|
+
}
|
|
483
|
+
interface LockdownInfo$1 {
|
|
484
|
+
ActivationState: string;
|
|
485
|
+
ActivationStateAcknowledged: boolean;
|
|
486
|
+
BasebandActivationTicketVersion: string;
|
|
487
|
+
BasebandCertId: number;
|
|
488
|
+
BasebandChipID: number;
|
|
489
|
+
BasebandKeyHashInformation: BasebandKeyHashInformation$1;
|
|
490
|
+
BasebandMasterKeyHash: string;
|
|
491
|
+
BasebandRegionSKU: string;
|
|
492
|
+
BasebandSerialNumber: string;
|
|
493
|
+
BasebandStatus: string;
|
|
494
|
+
BasebandVersion: string;
|
|
495
|
+
BluetoothAddress: string;
|
|
496
|
+
BoardId: number;
|
|
497
|
+
BootSessionID: string;
|
|
498
|
+
BrickState: boolean;
|
|
499
|
+
BuildVersion: string;
|
|
500
|
+
CPUArchitecture: string;
|
|
501
|
+
CarrierBundleInfoArray: unknown[];
|
|
502
|
+
CertID: number;
|
|
503
|
+
ChipID: number;
|
|
504
|
+
ChipSerialNo: string;
|
|
505
|
+
DeviceClass: string;
|
|
506
|
+
DeviceColor: string;
|
|
507
|
+
DeviceName: string;
|
|
508
|
+
DieID: number;
|
|
509
|
+
EthernetAddress: string;
|
|
510
|
+
FirmwareVersion: string;
|
|
511
|
+
FusingStatus: number;
|
|
512
|
+
HardwareModel: string;
|
|
513
|
+
HardwarePlatform: string;
|
|
514
|
+
HasSiDP: boolean;
|
|
515
|
+
HostAttached: boolean;
|
|
516
|
+
HumanReadableProductVersionString: string;
|
|
517
|
+
InternationalMobileEquipmentIdentity: string;
|
|
518
|
+
InternationalMobileEquipmentIdentity2: string;
|
|
519
|
+
MLBSerialNumber: string;
|
|
520
|
+
MobileEquipmentIdentifier: string;
|
|
521
|
+
MobileSubscriberCountryCode: string;
|
|
522
|
+
MobileSubscriberNetworkCode: string;
|
|
523
|
+
ModelNumber: string;
|
|
524
|
+
NonVolatileRAM: NonVolatileRAM$1;
|
|
525
|
+
PairRecordProtectionClass: number;
|
|
526
|
+
PartitionType: string;
|
|
527
|
+
PasswordProtected: boolean;
|
|
528
|
+
PkHash: string;
|
|
529
|
+
ProductName: string;
|
|
530
|
+
ProductType: string;
|
|
531
|
+
ProductVersion: string;
|
|
532
|
+
ProductionSOC: boolean;
|
|
533
|
+
ProtocolVersion: string;
|
|
534
|
+
ProximitySensorCalibration: string;
|
|
535
|
+
RegionInfo: string;
|
|
536
|
+
ReleaseType: string;
|
|
537
|
+
SIMStatus: string;
|
|
538
|
+
SIMTrayStatus: string;
|
|
539
|
+
SerialNumber: string;
|
|
540
|
+
SoftwareBehavior: string;
|
|
541
|
+
SoftwareBundleVersion: string;
|
|
542
|
+
SupportedDeviceFamilies: number[];
|
|
543
|
+
TelephonyCapability: boolean;
|
|
544
|
+
TimeIntervalSince1970: number;
|
|
545
|
+
TimeZone: string;
|
|
546
|
+
TimeZoneOffsetFromUTC: number;
|
|
547
|
+
TrustedHostAttached: boolean;
|
|
548
|
+
UniqueChipID: number;
|
|
549
|
+
UniqueDeviceID: string;
|
|
550
|
+
UntrustedHostBUID: string;
|
|
551
|
+
UseRaptorCerts: boolean;
|
|
552
|
+
Uses24HourClock: boolean;
|
|
553
|
+
WiFiAddress: string;
|
|
554
|
+
WirelessBoardSerialNumber: string;
|
|
555
|
+
kCTPostponementInfoServiceProvisioningState: boolean;
|
|
556
|
+
kCTPostponementStatus: string;
|
|
557
|
+
}
|
|
558
|
+
export interface IosCli {
|
|
559
|
+
listDevices(): Promise<IosListResult$1>;
|
|
560
|
+
wipe(deviceId: string): Promise<IosCommandResult$1>;
|
|
561
|
+
installProfile(deviceId: string, profilePath: string): Promise<IosCommandResult$1>;
|
|
562
|
+
removeProfile(deviceId: string, profileName: string): Promise<IosCommandResult$1>;
|
|
563
|
+
skipSteps(deviceId: string, steps?: string[]): Promise<IosCommandResult$1>;
|
|
564
|
+
printSteps(): Promise<IosCommandResult$1>;
|
|
565
|
+
activate(deviceId: string): Promise<IosCommandResult$1>;
|
|
566
|
+
pair(deviceId: string): Promise<IosCommandResult$1>;
|
|
567
|
+
forward(deviceId: string, fromPort: number, toPort: number): Promise<IosCommandResult$1>;
|
|
568
|
+
info(deviceId: string): Promise<IosCommandResult$1>;
|
|
569
|
+
listProfiles(deviceId: string): Promise<IosProfileListResult$1>;
|
|
570
|
+
installApp(deviceId: string, ipaPath: string): Promise<IosCommandResult$1>;
|
|
571
|
+
tunnelStart(deviceId: string, userspace?: boolean): Promise<ChildProcess>;
|
|
572
|
+
fsyncPull(deviceId: string, app: string, srcPath: string, dstPath: string): Promise<IosCommandResult$1>;
|
|
573
|
+
fsyncPush(deviceId: string, app: string, srcPath: string, dstPath: string): Promise<IosCommandResult$1>;
|
|
574
|
+
fsyncTree(deviceId: string, app: string, path?: string): Promise<IosFsyncTreeResult$1>;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
export {
|
|
578
|
+
IosCommandResult$1 as IosCommandResult,
|
|
579
|
+
IosFsyncTreeResult$1 as IosFsyncTreeResult,
|
|
580
|
+
IosListResult$1 as IosListResult,
|
|
581
|
+
};
|
|
582
|
+
|
|
583
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcesystems/apple-kit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.79",
|
|
4
4
|
"description": "iOS device management toolkit using libimobiledevice command-line tools",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"graphql-request": "^5.2.0",
|
|
38
38
|
"tsx": "^4.21.0",
|
|
39
39
|
"plist": "^3.1.0",
|
|
40
|
-
"@mcesystems/mdm-client-g4": "1.0.
|
|
41
|
-
"@mcesystems/tool-debug-g4": "1.0.
|
|
42
|
-
"@mcesystems/usbmuxd-instance-manager": "1.0.
|
|
40
|
+
"@mcesystems/mdm-client-g4": "1.0.79",
|
|
41
|
+
"@mcesystems/tool-debug-g4": "1.0.79",
|
|
42
|
+
"@mcesystems/usbmuxd-instance-manager": "1.0.79"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^22.10.2",
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
"dotenv": "^17.2.3",
|
|
48
48
|
"esbuild": "^0.27.0",
|
|
49
49
|
"esbuild-plugin-copy": "^2.1.1",
|
|
50
|
+
"esbuild-plugin-d.ts": "^1.3.1",
|
|
50
51
|
"go-ios": "^1.0.188",
|
|
51
52
|
"pnpm": "10.24.0",
|
|
52
53
|
"rimraf": "^6.0.1",
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
"export-apple-resources": "./scripts/export-resources.ts"
|
|
68
69
|
},
|
|
69
70
|
"scripts": {
|
|
70
|
-
"build": "tsx esbuild.config.mts
|
|
71
|
+
"build": "tsx esbuild.config.mts",
|
|
71
72
|
"build:all": "pnpm --filter @mcesystems/apple-kit... build",
|
|
72
73
|
"clean": "rimraf dist",
|
|
73
74
|
"check:types": "tsc --noEmit",
|