appium-ios-remotexpc 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/build/src/index.d.ts +1 -0
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +1 -0
- package/build/src/index.js.map +1 -1
- package/build/src/lib/remote-xpc/http2-frame-parser.d.ts +23 -0
- package/build/src/lib/remote-xpc/http2-frame-parser.d.ts.map +1 -0
- package/build/src/lib/remote-xpc/http2-frame-parser.js +70 -0
- package/build/src/lib/remote-xpc/http2-frame-parser.js.map +1 -0
- package/build/src/lib/remote-xpc/remote-xpc-connection.d.ts +3 -9
- package/build/src/lib/remote-xpc/remote-xpc-connection.d.ts.map +1 -1
- package/build/src/lib/remote-xpc/remote-xpc-connection.js +28 -99
- package/build/src/lib/remote-xpc/remote-xpc-connection.js.map +1 -1
- package/build/src/lib/remote-xpc/service-catalog.d.ts +25 -0
- package/build/src/lib/remote-xpc/service-catalog.d.ts.map +1 -0
- package/build/src/lib/remote-xpc/service-catalog.js +62 -0
- package/build/src/lib/remote-xpc/service-catalog.js.map +1 -0
- package/build/src/lib/remote-xpc/xpc-protocol.d.ts +11 -1
- package/build/src/lib/remote-xpc/xpc-protocol.d.ts.map +1 -1
- package/build/src/lib/remote-xpc/xpc-protocol.js +42 -6
- package/build/src/lib/remote-xpc/xpc-protocol.js.map +1 -1
- package/build/src/services/ios/afc/codec.d.ts +6 -0
- package/build/src/services/ios/afc/codec.d.ts.map +1 -1
- package/build/src/services/ios/afc/codec.js +29 -2
- package/build/src/services/ios/afc/codec.js.map +1 -1
- package/build/src/services/ios/afc/errors.d.ts +7 -0
- package/build/src/services/ios/afc/errors.d.ts.map +1 -0
- package/build/src/services/ios/afc/errors.js +10 -0
- package/build/src/services/ios/afc/errors.js.map +1 -0
- package/build/src/services/ios/afc/index.d.ts +5 -0
- package/build/src/services/ios/afc/index.d.ts.map +1 -1
- package/build/src/services/ios/afc/index.js +49 -6
- package/build/src/services/ios/afc/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/lib/remote-xpc/http2-frame-parser.ts +100 -0
- package/src/lib/remote-xpc/remote-xpc-connection.ts +46 -140
- package/src/lib/remote-xpc/service-catalog.ts +85 -0
- package/src/lib/remote-xpc/xpc-protocol.ts +52 -7
- package/src/services/ios/afc/codec.ts +37 -2
- package/src/services/ios/afc/errors.ts +9 -0
- package/src/services/ios/afc/index.ts +50 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [2.0.2](https://github.com/appium/appium-ios-remotexpc/compare/v2.0.1...v2.0.2) (2026-05-21)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* AFC connection desync ([#219](https://github.com/appium/appium-ios-remotexpc/issues/219)) ([ce32050](https://github.com/appium/appium-ios-remotexpc/commit/ce32050b5691f7f010105a98a273e60107c16cb8))
|
|
6
|
+
|
|
7
|
+
## [2.0.1](https://github.com/appium/appium-ios-remotexpc/compare/v2.0.0...v2.0.1) (2026-05-21)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Partial XPC services discovery ([#218](https://github.com/appium/appium-ios-remotexpc/issues/218)) ([d173b70](https://github.com/appium/appium-ios-remotexpc/commit/d173b7029fc51c32c2941bcdf9886b9310cc4eef))
|
|
12
|
+
|
|
1
13
|
## [2.0.0](https://github.com/appium/appium-ios-remotexpc/compare/v1.1.13...v2.0.0) (2026-05-21)
|
|
2
14
|
|
|
3
15
|
### ⚠ BREAKING CHANGES
|
package/build/src/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export type { Device as UsbmuxDevice } from './lib/usbmux/index.js';
|
|
|
10
10
|
export type { DevicePortForwarderEvents, DevicePortForwarderOptions, UpstreamSocketConnector, } from './lib/port-forwarding/index.js';
|
|
11
11
|
export type { RemoteXpcConnection } from './lib/remote-xpc/remote-xpc-connection.js';
|
|
12
12
|
export type { AfcService } from './services/ios/afc/index.js';
|
|
13
|
+
export { AfcConnectionError } from './services/ios/afc/errors.js';
|
|
13
14
|
export type { InstallationProxyService } from './services/ios/installation-proxy/index.js';
|
|
14
15
|
export type { SyslogEntry, SyslogLabel, SyslogLogLevel, } from './services/ios/syslog-service/syslog-entry-parser.js';
|
|
15
16
|
export type { CrashReportsService, CrashReportsPullOptions, DiagnosticsService, MobileImageMounterService, NotificationProxyService, MobileConfigService, PowerAssertionService, PowerAssertionOptions, SpringboardService, WebInspectorService, MisagentService, SyslogService, HouseArrestService, DVTSecureSocketProxyService, LocationSimulationService, ConditionInducerService, ScreenshotService, GraphicsService, DeviceInfoService, NetworkMonitorService, ProcessInfo, ConditionProfile, ConditionGroup, SocketInfo, TunnelResult, TunnelRegistry, TunnelRegistryEntry, DVTInstruments, NetworkAddress, InterfaceDetectionEvent, ConnectionDetectionEvent, ConnectionUpdateEvent, NetworkEvent, ProcessControlService, ProcessLaunchOptions, OutputReceivedEvent, SendMessageOptions, TestmanagerdService, XCTestServices, } from './lib/types.js';
|
package/build/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/src/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { TunnelRegistryServer, startTunnelRegistryServer, } from './lib/tunnel/t
|
|
|
6
6
|
import { Usbmux, createUsbmux } from './lib/usbmux/index.js';
|
|
7
7
|
import * as Services from './services.js';
|
|
8
8
|
import { startCoreDeviceProxy } from './services/ios/tunnel-service/index.js';
|
|
9
|
+
export { AfcConnectionError } from './services/ios/afc/errors.js';
|
|
9
10
|
export { PowerAssertionType } from './lib/types.js';
|
|
10
11
|
export { NetworkMessageType } from './services/ios/dvt/instruments/network-monitor.js';
|
|
11
12
|
export { TunnelAvailabilityError, getTunnelForDevice, withRemoteXpcConnection, } from './services.js';
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAU9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAiDlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,8CAA8C,CAAC;AAWtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,8BAA8B,EAC9B,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,GAC3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ParsedDataFrame {
|
|
2
|
+
readonly streamId: number;
|
|
3
|
+
readonly data: Buffer;
|
|
4
|
+
readonly bodyLen: number;
|
|
5
|
+
}
|
|
6
|
+
export type ParsedFrame = {
|
|
7
|
+
readonly type: 'data';
|
|
8
|
+
readonly frame: ParsedDataFrame;
|
|
9
|
+
} | {
|
|
10
|
+
readonly type: 'other';
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Incrementally parse HTTP/2 frames from a byte stream (RFC 7540).
|
|
14
|
+
*/
|
|
15
|
+
export declare class Http2FrameParser {
|
|
16
|
+
private buffer;
|
|
17
|
+
append(chunk: Buffer): ParsedFrame[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Emit WINDOW_UPDATE frames for even-numbered streams, matching `remoted` behavior.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildWindowUpdateFrames(streamId: number, increment: number): Buffer[];
|
|
23
|
+
//# sourceMappingURL=http2-frame-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http2-frame-parser.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/http2-frame-parser.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/B;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA2B;IAEzC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;CAmBrC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAQV"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { InvalidDataError, WindowUpdateFrame } from './handshake-frames.js';
|
|
2
|
+
const FRAME_HEADER_SIZE = 9;
|
|
3
|
+
const FRAME_TYPE_DATA = 0x00;
|
|
4
|
+
const FLAG_PADDED = 0x08;
|
|
5
|
+
/**
|
|
6
|
+
* Incrementally parse HTTP/2 frames from a byte stream (RFC 7540).
|
|
7
|
+
*/
|
|
8
|
+
export class Http2FrameParser {
|
|
9
|
+
buffer = Buffer.alloc(0);
|
|
10
|
+
append(chunk) {
|
|
11
|
+
this.buffer = Buffer.concat([this.buffer, chunk]);
|
|
12
|
+
const frames = [];
|
|
13
|
+
while (this.buffer.length >= FRAME_HEADER_SIZE) {
|
|
14
|
+
const length = (this.buffer[0] << 16) | (this.buffer[1] << 8) | this.buffer[2];
|
|
15
|
+
const totalSize = FRAME_HEADER_SIZE + length;
|
|
16
|
+
if (this.buffer.length < totalSize) {
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
const frameBuffer = this.buffer.subarray(0, totalSize);
|
|
20
|
+
this.buffer = this.buffer.subarray(totalSize);
|
|
21
|
+
frames.push(parseFrame(frameBuffer));
|
|
22
|
+
}
|
|
23
|
+
return frames;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Emit WINDOW_UPDATE frames for even-numbered streams, matching `remoted` behavior.
|
|
28
|
+
*/
|
|
29
|
+
export function buildWindowUpdateFrames(streamId, increment) {
|
|
30
|
+
if (streamId % 2 !== 0 || increment <= 0) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
return [
|
|
34
|
+
new WindowUpdateFrame(0, increment).serialize(),
|
|
35
|
+
new WindowUpdateFrame(streamId, increment).serialize(),
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
function parseFrame(buffer) {
|
|
39
|
+
const length = (buffer[0] << 16) | (buffer[1] << 8) | buffer[2];
|
|
40
|
+
const type = buffer[3];
|
|
41
|
+
const flags = buffer[4];
|
|
42
|
+
const streamId = buffer.readUInt32BE(5) & 0x7fffffff;
|
|
43
|
+
const body = buffer.subarray(FRAME_HEADER_SIZE, FRAME_HEADER_SIZE + length);
|
|
44
|
+
if (type !== FRAME_TYPE_DATA) {
|
|
45
|
+
return { type: 'other' };
|
|
46
|
+
}
|
|
47
|
+
const data = stripDataFramePadding(body, flags);
|
|
48
|
+
return {
|
|
49
|
+
type: 'data',
|
|
50
|
+
frame: { streamId, data, bodyLen: length },
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Strip HTTP/2 DATA frame padding (RFC 7540 §6.1).
|
|
55
|
+
* @throws {InvalidDataError} when padding length is invalid
|
|
56
|
+
*/
|
|
57
|
+
function stripDataFramePadding(body, flags) {
|
|
58
|
+
if (!(flags & FLAG_PADDED)) {
|
|
59
|
+
return body;
|
|
60
|
+
}
|
|
61
|
+
if (body.length === 0) {
|
|
62
|
+
throw new InvalidDataError('PROTOCOL_ERROR: PADDED DATA frame has empty payload');
|
|
63
|
+
}
|
|
64
|
+
const padLength = body.readUInt8(0);
|
|
65
|
+
if (padLength >= body.length) {
|
|
66
|
+
throw new InvalidDataError('PROTOCOL_ERROR: Padding exceeds frame size');
|
|
67
|
+
}
|
|
68
|
+
return body.subarray(1, body.length - padLength);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=http2-frame-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http2-frame-parser.js","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/http2-frame-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type Service, type ServicesResponse } from './service-catalog.js';
|
|
1
2
|
/** Max time to wait for the TCP socket to connect. */
|
|
2
3
|
export declare const CONNECTION_CONNECT_TIMEOUT_MS = 3000;
|
|
3
4
|
/**
|
|
4
5
|
* Default max time for one connect attempt (TCP + handshake + service discovery).
|
|
5
|
-
*
|
|
6
|
+
* Sum of connect, handshake delay, and post-handshake service wait.
|
|
6
7
|
*/
|
|
7
8
|
export declare const CONNECTION_DEFAULT_OPERATION_TIMEOUT_MS: number;
|
|
8
9
|
/** TunnelManager retry budget; never shorter than a single connect attempt. */
|
|
@@ -11,13 +12,6 @@ export interface RemoteXpcConnectOptions {
|
|
|
11
12
|
/** Max time for this connect attempt (TCP + handshake + services). */
|
|
12
13
|
timeoutMs?: number;
|
|
13
14
|
}
|
|
14
|
-
interface Service {
|
|
15
|
-
serviceName: string;
|
|
16
|
-
port: string;
|
|
17
|
-
}
|
|
18
|
-
interface ServicesResponse {
|
|
19
|
-
services: Service[];
|
|
20
|
-
}
|
|
21
15
|
declare class RemoteXpcConnection {
|
|
22
16
|
private readonly _address;
|
|
23
17
|
private _socket;
|
|
@@ -62,7 +56,7 @@ declare class RemoteXpcConnection {
|
|
|
62
56
|
private createConnectSession;
|
|
63
57
|
private createConnectSocket;
|
|
64
58
|
private registerConnectSocketHandlers;
|
|
65
|
-
private
|
|
59
|
+
private processIncomingData;
|
|
66
60
|
private onConnectSocketReady;
|
|
67
61
|
private performHandshake;
|
|
68
62
|
private schedulePostHandshakeServiceTimeout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-xpc-connection.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/remote-xpc-connection.ts"],"names":[],"mappings":"AAQA,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,OAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-xpc-connection.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/remote-xpc-connection.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAK9B,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AAInD;;;GAGG;AACH,eAAO,MAAM,uCAAuC,QAGrB,CAAC;AAChC,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,QACD,CAAC;AAK1C,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,cAAM,mBAAmB;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,SAAS,CAAwB;IACzC,4EAA4E;IAC5E,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,mEAAmE;IACnE,OAAO,CAAC,UAAU,CAAU;gBAEhB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAUrC;;;OAGG;IACH,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9B;IAED;;;OAGG;IACG,OAAO,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyB3E;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;;OAGG;IACH,WAAW,IAAI,OAAO,EAAE;IAOxB;;;OAGG;IACH,eAAe,IAAI,OAAO,EAAE;IAI5B;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAYzC,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,6BAA6B;IAyCrC,OAAO,CAAC,mBAAmB;YAqCb,oBAAoB;YAgBpB,gBAAgB;IAU9B,OAAO,CAAC,mCAAmC;YAQ7B,iCAAiC;IAkB/C,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,cAAc;IAiDtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACH,OAAO,CAAC,YAAY;CAcrB;AAED,OAAO,EAAE,mBAAmB,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import net from 'node:net';
|
|
2
2
|
import { getLogger } from '../logger.js';
|
|
3
3
|
import Handshake from './handshake.js';
|
|
4
|
+
import { Http2FrameParser, buildWindowUpdateFrames, } from './http2-frame-parser.js';
|
|
5
|
+
import { ServiceCatalogCollector, } from './service-catalog.js';
|
|
4
6
|
const log = getLogger('RemoteXpcConnection');
|
|
5
7
|
// Timeout constants
|
|
6
8
|
/** Max time to wait for the TCP socket to connect. */
|
|
@@ -8,15 +10,13 @@ export const CONNECTION_CONNECT_TIMEOUT_MS = 3_000;
|
|
|
8
10
|
const HANDSHAKE_DELAY_MS = 100;
|
|
9
11
|
/** Wait for service list after handshake before failing the connect attempt. */
|
|
10
12
|
const SERVICE_AFTER_HANDSHAKE_TIMEOUT_MS = 10_000;
|
|
11
|
-
/** Resolve with partial data if service parsing stalls mid-stream. */
|
|
12
|
-
const SERVICE_EXTRACTION_TIMEOUT_MS = 5_000;
|
|
13
13
|
/**
|
|
14
14
|
* Default max time for one connect attempt (TCP + handshake + service discovery).
|
|
15
|
-
*
|
|
15
|
+
* Sum of connect, handshake delay, and post-handshake service wait.
|
|
16
16
|
*/
|
|
17
|
-
export const CONNECTION_DEFAULT_OPERATION_TIMEOUT_MS =
|
|
17
|
+
export const CONNECTION_DEFAULT_OPERATION_TIMEOUT_MS = SERVICE_AFTER_HANDSHAKE_TIMEOUT_MS +
|
|
18
18
|
HANDSHAKE_DELAY_MS +
|
|
19
|
-
CONNECTION_CONNECT_TIMEOUT_MS
|
|
19
|
+
CONNECTION_CONNECT_TIMEOUT_MS;
|
|
20
20
|
/** TunnelManager retry budget; never shorter than a single connect attempt. */
|
|
21
21
|
export const CONNECTION_OVERALL_TIMEOUT_MS = CONNECTION_DEFAULT_OPERATION_TIMEOUT_MS;
|
|
22
22
|
const SOCKET_CLOSE_TIMEOUT_MS = 1000; // 1 second
|
|
@@ -115,13 +115,8 @@ class RemoteXpcConnection {
|
|
|
115
115
|
}
|
|
116
116
|
createConnectSession(operationTimeoutMs, resolve, reject) {
|
|
117
117
|
let settled = false;
|
|
118
|
-
let partialExtractionTimer;
|
|
119
118
|
const clearAllTimers = () => {
|
|
120
119
|
clearTimeout(operationTimer);
|
|
121
|
-
if (partialExtractionTimer) {
|
|
122
|
-
clearTimeout(partialExtractionTimer);
|
|
123
|
-
partialExtractionTimer = undefined;
|
|
124
|
-
}
|
|
125
120
|
};
|
|
126
121
|
const settleSuccess = (response) => {
|
|
127
122
|
if (settled) {
|
|
@@ -148,9 +143,6 @@ class RemoteXpcConnection {
|
|
|
148
143
|
settleSuccess,
|
|
149
144
|
settleFailure,
|
|
150
145
|
isSettled: () => settled,
|
|
151
|
-
trackPartialExtractionTimer: (timer) => {
|
|
152
|
-
partialExtractionTimer = timer;
|
|
153
|
-
},
|
|
154
146
|
};
|
|
155
147
|
}
|
|
156
148
|
createConnectSocket() {
|
|
@@ -163,20 +155,8 @@ class RemoteXpcConnection {
|
|
|
163
155
|
});
|
|
164
156
|
}
|
|
165
157
|
registerConnectSocketHandlers(session, socket) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
const schedulePartialExtractionTimeout = () => {
|
|
169
|
-
if (partialExtractionTimer) {
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
partialExtractionTimer = setTimeout(() => {
|
|
173
|
-
partialExtractionTimer = undefined;
|
|
174
|
-
log.warn('Service extraction timeout reached, resolving with current data');
|
|
175
|
-
const finalResponse = extractServices(accumulatedData.toString('utf8'));
|
|
176
|
-
session.settleSuccess(finalResponse);
|
|
177
|
-
}, SERVICE_EXTRACTION_TIMEOUT_MS);
|
|
178
|
-
session.trackPartialExtractionTimer(partialExtractionTimer);
|
|
179
|
-
};
|
|
158
|
+
const frameParser = new Http2FrameParser();
|
|
159
|
+
const catalogCollector = new ServiceCatalogCollector();
|
|
180
160
|
socket.once('error', (error) => {
|
|
181
161
|
if (!this._isClosing) {
|
|
182
162
|
log.error(`Connection error: ${error}`);
|
|
@@ -185,11 +165,8 @@ class RemoteXpcConnection {
|
|
|
185
165
|
session.settleFailure(error);
|
|
186
166
|
});
|
|
187
167
|
socket.on('data', (data) => {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
accumulatedData = Buffer.concat([accumulatedData, chunk]);
|
|
191
|
-
}
|
|
192
|
-
this.tryResolveServicesFromPayload(session, accumulatedData, schedulePartialExtractionTimeout);
|
|
168
|
+
const chunk = Buffer.isBuffer(data) ? data : Buffer.from(data, 'hex');
|
|
169
|
+
this.processIncomingData(session, socket, frameParser, catalogCollector, chunk);
|
|
193
170
|
});
|
|
194
171
|
socket.once('close', () => {
|
|
195
172
|
this._isConnected = false;
|
|
@@ -201,21 +178,31 @@ class RemoteXpcConnection {
|
|
|
201
178
|
void this.onConnectSocketReady(session, socket);
|
|
202
179
|
});
|
|
203
180
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (!dataStr.includes('com.apple') || !dataStr.includes('Port')) {
|
|
181
|
+
processIncomingData(session, socket, frameParser, catalogCollector, chunk) {
|
|
182
|
+
if (session.isSettled()) {
|
|
207
183
|
return;
|
|
208
184
|
}
|
|
185
|
+
let frames;
|
|
209
186
|
try {
|
|
210
|
-
|
|
211
|
-
|
|
187
|
+
frames = frameParser.append(chunk);
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
session.settleFailure(error);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
for (const frame of frames) {
|
|
194
|
+
if (frame.type !== 'data') {
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const { streamId, data, bodyLen } = frame.frame;
|
|
198
|
+
for (const windowUpdate of buildWindowUpdateFrames(streamId, bodyLen)) {
|
|
199
|
+
socket.write(windowUpdate);
|
|
200
|
+
}
|
|
201
|
+
const servicesResponse = catalogCollector.ingestDataPayload(data);
|
|
202
|
+
if (servicesResponse) {
|
|
212
203
|
session.settleSuccess(servicesResponse);
|
|
213
204
|
return;
|
|
214
205
|
}
|
|
215
|
-
schedulePartialExtractionTimeout();
|
|
216
|
-
}
|
|
217
|
-
catch (error) {
|
|
218
|
-
log.warn(`Error extracting services: ${error}, continuing to collect data`);
|
|
219
206
|
}
|
|
220
207
|
}
|
|
221
208
|
async onConnectSocketReady(session, socket) {
|
|
@@ -355,63 +342,5 @@ class RemoteXpcConnection {
|
|
|
355
342
|
}
|
|
356
343
|
}
|
|
357
344
|
}
|
|
358
|
-
/**
|
|
359
|
-
* Extract services from the response
|
|
360
|
-
* @param response The response string to parse
|
|
361
|
-
* @returns Object containing the extracted services
|
|
362
|
-
*/
|
|
363
|
-
function extractServices(response) {
|
|
364
|
-
// More robust regex that handles various formats of service names and port specifications
|
|
365
|
-
const serviceRegex = /com\.apple(?:\.[\w-]+)+/g;
|
|
366
|
-
const portRegex = /Port[^0-9]*(\d+)/g;
|
|
367
|
-
// First, collect all service names
|
|
368
|
-
const serviceMatches = [];
|
|
369
|
-
let match;
|
|
370
|
-
while ((match = serviceRegex.exec(response)) !== null) {
|
|
371
|
-
serviceMatches.push({ value: match[0], index: match.index });
|
|
372
|
-
}
|
|
373
|
-
// Then, collect all port numbers
|
|
374
|
-
const portMatches = [];
|
|
375
|
-
while ((match = portRegex.exec(response)) !== null) {
|
|
376
|
-
if (match[1]) {
|
|
377
|
-
// Ensure we have a captured port number
|
|
378
|
-
portMatches.push({ value: match[1], index: match.index });
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
// Sort both arrays by index to maintain order
|
|
382
|
-
serviceMatches.sort((a, b) => a.index - b.index);
|
|
383
|
-
portMatches.sort((a, b) => a.index - b.index);
|
|
384
|
-
// Create a mapping of services to ports
|
|
385
|
-
const services = [];
|
|
386
|
-
// Assign a port to each service based on proximity in the response
|
|
387
|
-
for (let i = 0; i < serviceMatches.length; i++) {
|
|
388
|
-
const serviceName = serviceMatches[i].value;
|
|
389
|
-
const serviceIndex = serviceMatches[i].index;
|
|
390
|
-
// Find the closest port after this service
|
|
391
|
-
let closestPort = '';
|
|
392
|
-
let closestDistance = Number.MAX_SAFE_INTEGER;
|
|
393
|
-
for (const portMatch of portMatches) {
|
|
394
|
-
// Only consider ports that come after the service in the response
|
|
395
|
-
if (portMatch.index > serviceIndex) {
|
|
396
|
-
const distance = portMatch.index - serviceIndex;
|
|
397
|
-
// If this port is closer than the current closest, update
|
|
398
|
-
if (distance < closestDistance) {
|
|
399
|
-
closestDistance = distance;
|
|
400
|
-
closestPort = portMatch.value;
|
|
401
|
-
// If the port is very close (within 200 chars), we can be confident it's the right one
|
|
402
|
-
if (distance < 200) {
|
|
403
|
-
break;
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
// Add the service with its port (or empty string if no port found)
|
|
409
|
-
services.push({
|
|
410
|
-
serviceName,
|
|
411
|
-
port: closestPort || '',
|
|
412
|
-
});
|
|
413
|
-
}
|
|
414
|
-
return { services };
|
|
415
|
-
}
|
|
416
345
|
export { RemoteXpcConnection };
|
|
417
346
|
//# sourceMappingURL=remote-xpc-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-xpc-connection.js","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/remote-xpc-connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-xpc-connection.js","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/remote-xpc-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { XPCDictionary } from '../types.js';
|
|
2
|
+
export interface Service {
|
|
3
|
+
serviceName: string;
|
|
4
|
+
port: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ServicesResponse {
|
|
7
|
+
services: Service[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Reassemble length-prefixed XPC payloads from HTTP/2 DATA frames and extract
|
|
11
|
+
* the service catalog once the full handshake message is available.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ServiceCatalogCollector {
|
|
14
|
+
private previousFrameData;
|
|
15
|
+
/**
|
|
16
|
+
* Feed one DATA frame payload. Returns the catalog when a complete XPC
|
|
17
|
+
* message containing `Services` has been decoded.
|
|
18
|
+
*/
|
|
19
|
+
ingestDataPayload(chunk: Buffer): ServicesResponse | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build the service list from a decoded RSD handshake body (`peer_info`).
|
|
23
|
+
*/
|
|
24
|
+
export declare function servicesFromXpcBody(body: XPCDictionary | null | undefined): ServicesResponse | null;
|
|
25
|
+
//# sourceMappingURL=service-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-catalog.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/service-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,iBAAiB,CAA2B;IAEpD;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;CA0B1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GACrC,gBAAgB,GAAG,IAAI,CA4BzB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { decodeMessage } from './xpc-protocol.js';
|
|
2
|
+
/**
|
|
3
|
+
* Reassemble length-prefixed XPC payloads from HTTP/2 DATA frames and extract
|
|
4
|
+
* the service catalog once the full handshake message is available.
|
|
5
|
+
*/
|
|
6
|
+
export class ServiceCatalogCollector {
|
|
7
|
+
previousFrameData = Buffer.alloc(0);
|
|
8
|
+
/**
|
|
9
|
+
* Feed one DATA frame payload. Returns the catalog when a complete XPC
|
|
10
|
+
* message containing `Services` has been decoded.
|
|
11
|
+
*/
|
|
12
|
+
ingestDataPayload(chunk) {
|
|
13
|
+
let pending = Buffer.concat([this.previousFrameData, chunk]);
|
|
14
|
+
this.previousFrameData = Buffer.alloc(0);
|
|
15
|
+
while (pending.length > 0) {
|
|
16
|
+
try {
|
|
17
|
+
const { message, bytesConsumed } = decodeMessage(pending);
|
|
18
|
+
pending = pending.subarray(bytesConsumed);
|
|
19
|
+
if (message.body === null || message.body === undefined) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const catalog = servicesFromXpcBody(message.body);
|
|
23
|
+
if (catalog) {
|
|
24
|
+
this.previousFrameData = pending;
|
|
25
|
+
return catalog;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
this.previousFrameData = pending;
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Build the service list from a decoded RSD handshake body (`peer_info`).
|
|
38
|
+
*/
|
|
39
|
+
export function servicesFromXpcBody(body) {
|
|
40
|
+
if (!body || typeof body !== 'object' || Array.isArray(body)) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
const servicesDict = body.Services;
|
|
44
|
+
if (!servicesDict ||
|
|
45
|
+
typeof servicesDict !== 'object' ||
|
|
46
|
+
Array.isArray(servicesDict)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const services = [];
|
|
50
|
+
for (const [serviceName, info] of Object.entries(servicesDict)) {
|
|
51
|
+
if (!info || typeof info !== 'object' || Array.isArray(info)) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const portValue = info.Port;
|
|
55
|
+
services.push({
|
|
56
|
+
serviceName,
|
|
57
|
+
port: portValue !== undefined && portValue !== null ? String(portValue) : '',
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return services.length > 0 ? { services } : null;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=service-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-catalog.js","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/service-catalog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWlD;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAC1B,iBAAiB,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEpD;;;OAGG;IACH,iBAAiB,CAAC,KAAa;QAC7B,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1D,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAE1C,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACxD,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;oBACjC,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBACjC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAsC;IAEtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;IACnC,IACE,CAAC,YAAY;QACb,OAAO,YAAY,KAAK,QAAQ;QAChC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAI,IAAsB,CAAC,IAAI,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC;YACZ,WAAW;YACX,IAAI,EACF,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;SACzE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC"}
|
|
@@ -8,15 +8,25 @@ export interface XPCMessage {
|
|
|
8
8
|
body?: XPCDictionary | null;
|
|
9
9
|
size?: number;
|
|
10
10
|
}
|
|
11
|
+
export interface DecodedXpcMessage {
|
|
12
|
+
message: XPCMessage;
|
|
13
|
+
/** Bytes consumed from `buffer` (may be less than `buffer.length`). */
|
|
14
|
+
bytesConsumed: number;
|
|
15
|
+
}
|
|
11
16
|
/**
|
|
12
17
|
* Encodes a message object into an XPC Buffer.
|
|
13
18
|
* A message is an object like:
|
|
14
19
|
* { flags: Number, id: bigint, body: Object|null }
|
|
15
20
|
*/
|
|
16
21
|
export declare function encodeMessage(message: XPCMessage): Buffer;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the total byte length of one length-prefixed XPC wrapper in `buffer`.
|
|
24
|
+
* @throws if the header is missing, invalid, or the buffer is shorter than the message
|
|
25
|
+
*/
|
|
26
|
+
export declare function getXpcMessageByteLength(buffer: Buffer): number;
|
|
17
27
|
/**
|
|
18
28
|
* Decodes an XPC Buffer into a message object.
|
|
19
29
|
* (Keep this function if you plan to handle incoming messages.)
|
|
20
30
|
*/
|
|
21
|
-
export declare function decodeMessage(buffer: Buffer):
|
|
31
|
+
export declare function decodeMessage(buffer: Buffer): DecodedXpcMessage;
|
|
22
32
|
//# sourceMappingURL=xpc-protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xpc-protocol.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/xpc-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,aAAa,EAAY,MAAM,aAAa,CAAC;AAOrE,eAAO,MAAM,SAAS,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAa9C,CAAC;AAGF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"xpc-protocol.d.ts","sourceRoot":"","sources":["../../../../src/lib/remote-xpc/xpc-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,aAAa,EAAY,MAAM,aAAa,CAAC;AAOrE,eAAO,MAAM,SAAS,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAa9C,CAAC;AAGF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC;IACpB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;CACvB;AA0GD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAkCzD;AAID;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CA2C/D"}
|