appium-ios-remotexpc 5.5.0 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -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/services/index.d.ts +2 -1
- package/build/src/services/index.d.ts.map +1 -1
- package/build/src/services/index.js +2 -1
- package/build/src/services/index.js.map +1 -1
- package/build/src/services/ios/core-device/core-device-service.d.ts +8 -0
- package/build/src/services/ios/core-device/core-device-service.d.ts.map +1 -1
- package/build/src/services/ios/core-device/core-device-service.js +37 -12
- package/build/src/services/ios/core-device/core-device-service.js.map +1 -1
- package/build/src/services/ios/pasteboard/constants.d.ts +39 -0
- package/build/src/services/ios/pasteboard/constants.d.ts.map +1 -0
- package/build/src/services/ios/pasteboard/constants.js +40 -0
- package/build/src/services/ios/pasteboard/constants.js.map +1 -0
- package/build/src/services/ios/pasteboard/index.d.ts +46 -0
- package/build/src/services/ios/pasteboard/index.d.ts.map +1 -0
- package/build/src/services/ios/pasteboard/index.js +155 -0
- package/build/src/services/ios/pasteboard/index.js.map +1 -0
- package/build/src/services/ios/pasteboard/types.d.ts +16 -0
- package/build/src/services/ios/pasteboard/types.d.ts.map +1 -0
- package/build/src/services/ios/pasteboard/types.js +2 -0
- package/build/src/services/ios/pasteboard/types.js.map +1 -0
- package/build/src/services.d.ts +5 -0
- package/build/src/services.d.ts.map +1 -1
- package/build/src/services.js +8 -0
- package/build/src/services.js.map +1 -1
- package/package.json +2 -1
- package/src/index.ts +1 -0
- package/src/services/index.ts +2 -0
- package/src/services/ios/core-device/core-device-service.ts +65 -16
- package/src/services/ios/pasteboard/constants.ts +45 -0
- package/src/services/ios/pasteboard/index.ts +237 -0
- package/src/services/ios/pasteboard/types.ts +19 -0
- package/src/services.ts +11 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [5.6.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.5.0...v5.6.0) (2026-06-29)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* Add `com.apple.coredevice.pasteboardservice` ([#256](https://github.com/appium/appium-ios-remotexpc/issues/256)) ([3bb305a](https://github.com/appium/appium-ios-remotexpc/commit/3bb305aa5f4fca640ee051f3e25c06377abc0231))
|
|
6
|
+
|
|
1
7
|
## [5.5.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.4.1...v5.5.0) (2026-06-29)
|
|
2
8
|
|
|
3
9
|
### Features
|
package/build/src/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export { CoreDeviceError, CoreDeviceService, } from './services/ios/core-device/
|
|
|
24
24
|
export type { CoreDeviceInvokeOptions } from './services/ios/core-device/core-device-service.js';
|
|
25
25
|
export { AppService } from './services/ios/app-service/index.js';
|
|
26
26
|
export type { AppServiceProcessToken, InstalledApp, LaunchApplicationOptions, LaunchedApplication, ListAppsOptions, } from './services/ios/app-service/index.js';
|
|
27
|
+
export { PasteboardService } from './services/ios/pasteboard/index.js';
|
|
27
28
|
export type { SyslogEntry, SyslogLabel, SyslogLogLevel, } from './services/ios/syslog-service/syslog-entry-parser.js';
|
|
28
29
|
export type { CrashReportsService, CrashReportsPullOptions, DiagnosticsService, MobileImageMounterService, NotificationProxyService, MobileConfigService, PowerAssertionService, PowerAssertionOptions, SpringboardService, WebInspectorService, MisagentService, SyslogService, HouseArrestService, DVTSecureSocketProxyService, LocationSimulationService, ConditionInducerService, ScreenshotService, GraphicsService, DeviceInfoService, NetworkMonitorService, EnergyMonitorService, ProcessInfo, ConditionProfile, ConditionGroup, SocketInfo, TunnelResult, TunnelRegistry, TunnelRegistryEntry, DVTInstruments, NetworkAddress, InterfaceDetectionEvent, ConnectionDetectionEvent, ConnectionUpdateEvent, NetworkEvent, ProcessControlService, ProcessLaunchOptions, OutputReceivedEvent, SendMessageOptions, TestmanagerdService, XCTestServices, SysmontapService, SysmontapOptions, SysmonSample, SysmonProcessInfo, SysmonSystemInfo, } from './lib/types.js';
|
|
29
30
|
export { PowerAssertionType } 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":"AAAA,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7H,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,YAAY,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,cAAc,GACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,mDAAmD,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,sDAAsD,CAAC;AAE9D,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,YAAY,EACV,aAAa,EACb,mBAAmB,GACpB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,YAAY,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,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;AACtD,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,GACd,MAAM,8CAA8C,CAAC;AACtD,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;AACtE,YAAY,EACV,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,aAAa,EACb,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,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,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/src/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export { AfcConnectionError } from './services/ios/afc/errors.js';
|
|
|
10
10
|
export { HID_BUTTON_STATE_CANCELED, HID_BUTTON_STATE_DOWN, HID_BUTTON_STATE_UP, HidIndigoService, } from './services/ios/hid-indigo/index.js';
|
|
11
11
|
export { CoreDeviceError, CoreDeviceService, } from './services/ios/core-device/core-device-service.js';
|
|
12
12
|
export { AppService } from './services/ios/app-service/index.js';
|
|
13
|
+
export { PasteboardService } from './services/ios/pasteboard/index.js';
|
|
13
14
|
export { PowerAssertionType } from './lib/types.js';
|
|
14
15
|
export { NetworkMessageType } from './services/ios/dvt/instruments/network-monitor.js';
|
|
15
16
|
export { TunnelAvailabilityError, getTunnelForDevice, } from './lib/tunnel/tunnel-availability.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;AAErE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,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,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAcjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAQlE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,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;AAErE,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,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,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAcjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAQlE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAO5C,OAAO,EACL,eAAe,EACf,iBAAiB,GAClB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAQjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAsDvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAKvF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACxE,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;AAetE,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,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
|
|
@@ -7,9 +7,10 @@ import * as hidIndigo from './ios/hid-indigo/index.js';
|
|
|
7
7
|
import * as houseArrest from './ios/house-arrest/index.js';
|
|
8
8
|
import * as installationProxy from './ios/installation-proxy/index.js';
|
|
9
9
|
import * as mobileImageMounter from './ios/mobile-image-mounter/index.js';
|
|
10
|
+
import * as pasteboard from './ios/pasteboard/index.js';
|
|
10
11
|
import * as powerAssertion from './ios/power-assertion/index.js';
|
|
11
12
|
import * as syslog from './ios/syslog-service/index.js';
|
|
12
13
|
import * as tunnel from './ios/tunnel-service/index.js';
|
|
13
14
|
import * as webinspector from './ios/webinspector/index.js';
|
|
14
|
-
export { crashReports, diagnostics, hidIndigo, houseArrest, installationProxy, mobileImageMounter, powerAssertion, syslog, tunnel, afc, appService, webinspector, TunnelRegistryServer, startTunnelRegistryServer, };
|
|
15
|
+
export { crashReports, diagnostics, hidIndigo, houseArrest, installationProxy, mobileImageMounter, pasteboard, powerAssertion, syslog, tunnel, afc, appService, webinspector, TunnelRegistryServer, startTunnelRegistryServer, };
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,MAAM,EACN,MAAM,EACN,GAAG,EACH,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,MAAM,EACN,MAAM,EACN,GAAG,EACH,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -7,9 +7,10 @@ import * as hidIndigo from './ios/hid-indigo/index.js';
|
|
|
7
7
|
import * as houseArrest from './ios/house-arrest/index.js';
|
|
8
8
|
import * as installationProxy from './ios/installation-proxy/index.js';
|
|
9
9
|
import * as mobileImageMounter from './ios/mobile-image-mounter/index.js';
|
|
10
|
+
import * as pasteboard from './ios/pasteboard/index.js';
|
|
10
11
|
import * as powerAssertion from './ios/power-assertion/index.js';
|
|
11
12
|
import * as syslog from './ios/syslog-service/index.js';
|
|
12
13
|
import * as tunnel from './ios/tunnel-service/index.js';
|
|
13
14
|
import * as webinspector from './ios/webinspector/index.js';
|
|
14
|
-
export { crashReports, diagnostics, hidIndigo, houseArrest, installationProxy, mobileImageMounter, powerAssertion, syslog, tunnel, afc, appService, webinspector, TunnelRegistryServer, startTunnelRegistryServer, };
|
|
15
|
+
export { crashReports, diagnostics, hidIndigo, houseArrest, installationProxy, mobileImageMounter, pasteboard, powerAssertion, syslog, tunnel, afc, appService, webinspector, TunnelRegistryServer, startTunnelRegistryServer, };
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,MAAM,EACN,MAAM,EACN,GAAG,EACH,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,iBAAiB,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAC;AAC1E,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,cAAc,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EACL,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,MAAM,EACN,MAAM,EACN,GAAG,EACH,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -39,6 +39,12 @@ export declare abstract class CoreDeviceService extends BaseService {
|
|
|
39
39
|
* that do not expect a reply (e.g. HID event streams).
|
|
40
40
|
*/
|
|
41
41
|
protected send(body: XPCDictionary): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Sends a direct XPC request on the root channel and returns the full reply.
|
|
44
|
+
* Some CoreDevice services (for example pasteboard) do not use the common
|
|
45
|
+
* `CoreDevice.featureIdentifier` invocation envelope.
|
|
46
|
+
*/
|
|
47
|
+
protected sendReceive(body: XPCDictionary, options?: CoreDeviceInvokeOptions): Promise<XPCDictionary>;
|
|
42
48
|
/**
|
|
43
49
|
* Invokes a CoreDevice feature and returns its `CoreDevice.output`.
|
|
44
50
|
*
|
|
@@ -49,6 +55,7 @@ export declare abstract class CoreDeviceService extends BaseService {
|
|
|
49
55
|
protected invoke(featureIdentifier?: string, input?: XPCDictionary, options?: CoreDeviceInvokeOptions): Promise<XPCValue>;
|
|
50
56
|
protected createTransport(): Promise<RemoteXpcFramedTransport>;
|
|
51
57
|
protected getTransport(): Promise<RemoteXpcFramedTransport>;
|
|
58
|
+
private enqueueInvocation;
|
|
52
59
|
/**
|
|
53
60
|
* Creates a transport and attaches a permanent `'error'` listener. The
|
|
54
61
|
* framed transport is an EventEmitter; an `'error'` emitted with no listener
|
|
@@ -63,6 +70,7 @@ export declare abstract class CoreDeviceService extends BaseService {
|
|
|
63
70
|
*/
|
|
64
71
|
private refreshTransport;
|
|
65
72
|
private invokeInternal;
|
|
73
|
+
private sendReceiveInternal;
|
|
66
74
|
private buildEnvelope;
|
|
67
75
|
private waitForResponse;
|
|
68
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-device-service.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/core-device/core-device-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAElG,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA6BjD,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa;CAKtD;AAED;;;;;;;;;;;GAWG;AACH,8BAAsB,iBAAkB,SAAQ,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,SAAS,CAAC,SAAS,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IAC5D,SAAS,CAAC,aAAa,SAAK;IAE5B,4EAA4E;IAC5E,OAAO,CAAC,WAAW,CAAuC;gBAE9C,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAKvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B;;;OAGG;cACa,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD;;;;;;OAMG;cACa,MAAM,CACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,KAAK,GAAE,aAAkB,EACzB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"core-device-service.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/core-device/core-device-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAElG,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA6BjD,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa;CAKtD;AAED;;;;;;;;;;;GAWG;AACH,8BAAsB,iBAAkB,SAAQ,WAAW;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,SAAS,CAAC,SAAS,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IAC5D,SAAS,CAAC,aAAa,SAAK;IAE5B,4EAA4E;IAC5E,OAAO,CAAC,WAAW,CAAuC;gBAE9C,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAKvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B;;;OAGG;cACa,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD;;;;OAIG;cACa,WAAW,CACzB,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,aAAa,CAAC;IAMzB;;;;;;OAMG;cACa,MAAM,CACpB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,KAAK,GAAE,aAAkB,EACzB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,QAAQ,CAAC;cAMJ,eAAe,IAAI,OAAO,CAAC,wBAAwB,CAAC;cAQpD,YAAY,IAAI,OAAO,CAAC,wBAAwB,CAAC;YAOnD,iBAAiB;IAuB/B;;;;;;OAMG;YACW,YAAY;IAS1B;;;OAGG;YACW,gBAAgB;YAUhB,cAAc;YAuCd,mBAAmB;IA6BjC,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;CA4DxB;AAqDD,eAAe,iBAAiB,CAAC"}
|
|
@@ -80,6 +80,14 @@ export class CoreDeviceService extends BaseService {
|
|
|
80
80
|
body,
|
|
81
81
|
}), Http2Constants.ROOT_CHANNEL);
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Sends a direct XPC request on the root channel and returns the full reply.
|
|
85
|
+
* Some CoreDevice services (for example pasteboard) do not use the common
|
|
86
|
+
* `CoreDevice.featureIdentifier` invocation envelope.
|
|
87
|
+
*/
|
|
88
|
+
async sendReceive(body, options = {}) {
|
|
89
|
+
return this.enqueueInvocation(() => this.sendReceiveInternal(body, options));
|
|
90
|
+
}
|
|
83
91
|
/**
|
|
84
92
|
* Invokes a CoreDevice feature and returns its `CoreDevice.output`.
|
|
85
93
|
*
|
|
@@ -88,6 +96,20 @@ export class CoreDeviceService extends BaseService {
|
|
|
88
96
|
* across invocations fails. Calls are also serialized, so they never overlap.
|
|
89
97
|
*/
|
|
90
98
|
async invoke(featureIdentifier, input = {}, options = {}) {
|
|
99
|
+
return this.enqueueInvocation(() => this.invokeInternal(featureIdentifier, input, options));
|
|
100
|
+
}
|
|
101
|
+
async createTransport() {
|
|
102
|
+
const transport = new RemoteXpcFramedTransport(await this.resolveServiceAddress(this.serviceName));
|
|
103
|
+
await transport.connect({ timeoutMs: CONNECT_TIMEOUT_MS });
|
|
104
|
+
return transport;
|
|
105
|
+
}
|
|
106
|
+
async getTransport() {
|
|
107
|
+
if (!this.transport?.isConnected) {
|
|
108
|
+
this.transport = await this.newTransport();
|
|
109
|
+
}
|
|
110
|
+
return this.transport;
|
|
111
|
+
}
|
|
112
|
+
async enqueueInvocation(operation) {
|
|
91
113
|
// Serialize invocations: await the previous call's completion, then install
|
|
92
114
|
// a new tail that the next caller will await. Prior failures are ignored so
|
|
93
115
|
// one failed call does not poison the queue.
|
|
@@ -103,23 +125,12 @@ export class CoreDeviceService extends BaseService {
|
|
|
103
125
|
// Ignore the previous invocation's outcome.
|
|
104
126
|
}
|
|
105
127
|
try {
|
|
106
|
-
return await
|
|
128
|
+
return await operation();
|
|
107
129
|
}
|
|
108
130
|
finally {
|
|
109
131
|
release();
|
|
110
132
|
}
|
|
111
133
|
}
|
|
112
|
-
async createTransport() {
|
|
113
|
-
const transport = new RemoteXpcFramedTransport(await this.resolveServiceAddress(this.serviceName));
|
|
114
|
-
await transport.connect({ timeoutMs: CONNECT_TIMEOUT_MS });
|
|
115
|
-
return transport;
|
|
116
|
-
}
|
|
117
|
-
async getTransport() {
|
|
118
|
-
if (!this.transport?.isConnected) {
|
|
119
|
-
this.transport = await this.newTransport();
|
|
120
|
-
}
|
|
121
|
-
return this.transport;
|
|
122
|
-
}
|
|
123
134
|
/**
|
|
124
135
|
* Creates a transport and attaches a permanent `'error'` listener. The
|
|
125
136
|
* framed transport is an EventEmitter; an `'error'` emitted with no listener
|
|
@@ -167,6 +178,20 @@ export class CoreDeviceService extends BaseService {
|
|
|
167
178
|
}
|
|
168
179
|
return output;
|
|
169
180
|
}
|
|
181
|
+
async sendReceiveInternal(body, options) {
|
|
182
|
+
const transport = await this.refreshTransport();
|
|
183
|
+
const operationIdentifier = options.actionIdentifier ?? '<raw>';
|
|
184
|
+
// Register the response listener before sending so a fast reply is not lost.
|
|
185
|
+
const responsePromise = this.waitForResponse(transport, options.timeoutMs ?? DEFAULT_INVOKE_TIMEOUT_MS, operationIdentifier);
|
|
186
|
+
transport.sendDataFrame(encodeMessage({
|
|
187
|
+
flags: XpcConstants.XPC_FLAGS_ALWAYS_SET |
|
|
188
|
+
XpcConstants.XPC_FLAGS_DATA_PRESENT |
|
|
189
|
+
XpcConstants.XPC_FLAGS_WANTING_REPLY,
|
|
190
|
+
id: this.nextMessageId++,
|
|
191
|
+
body,
|
|
192
|
+
}), Http2Constants.ROOT_CHANNEL);
|
|
193
|
+
return await responsePromise;
|
|
194
|
+
}
|
|
170
195
|
buildEnvelope(featureIdentifier, input, actionIdentifier) {
|
|
171
196
|
const request = {
|
|
172
197
|
'CoreDevice.CoreDeviceDDIProtocolVersion': CORE_DEVICE_DDI_PROTOCOL_VERSION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-device-service.js","sourceRoot":"","sources":["../../../../../src/services/ios/core-device/core-device-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,cAAc,EACd,YAAY,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,GAAG,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAE3C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;GAEG;AACH,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAC3C,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D,uBAAuB,EAAE,UAAU,CAAC,MAAM;QAC1C,WAAW,EAAE,OAAO;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;AAS/E;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,QAAQ,CAAiB;IAElC,YAAY,OAAe,EAAE,QAAwB;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,iBAAkB,SAAQ,WAAW;IACxC,WAAW,CAAS;IAE3B,SAAS,GAAoC,IAAI,CAAC;IAClD,aAAa,GAAG,CAAC,CAAC;IAE5B,4EAA4E;IACpE,WAAW,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE1D,YAAY,IAAY,EAAE,WAAmB;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,IAAI,CAAC,IAAmB;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,SAAS,CAAC,aAAa,CACrB,aAAa,CAAC;YACZ,KAAK,EACH,YAAY,CAAC,oBAAoB;gBACjC,YAAY,CAAC,sBAAsB;YACrC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE;YACxB,IAAI;SACL,CAAC,EACF,cAAc,CAAC,YAAY,CAC5B,CAAC;IACJ,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"core-device-service.js","sourceRoot":"","sources":["../../../../../src/services/ios/core-device/core-device-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare const GENERAL_PASTEBOARD = "general";
|
|
2
|
+
export declare const PASTEBOARD_COMMAND: {
|
|
3
|
+
readonly PULL: "PULL";
|
|
4
|
+
readonly PULL_REPLY: "PULL_REPLY";
|
|
5
|
+
readonly SET: "SET";
|
|
6
|
+
readonly SET_REPLY: "SET_REPLY";
|
|
7
|
+
readonly DATA: "DATA";
|
|
8
|
+
readonly PUSH: "PUSH";
|
|
9
|
+
readonly AUTONOTIFY: "AUTONOTIFY";
|
|
10
|
+
readonly RESOLVE: "RESOLVE";
|
|
11
|
+
};
|
|
12
|
+
export declare const PASTEBOARD_UTI: {
|
|
13
|
+
readonly UTF8_PLAIN_TEXT: "public.utf8-plain-text";
|
|
14
|
+
readonly PLAIN_TEXT: "public.plain-text";
|
|
15
|
+
readonly TEXT: "public.text";
|
|
16
|
+
readonly URL: "public.url";
|
|
17
|
+
readonly PNG: "public.png";
|
|
18
|
+
readonly JPEG: "public.jpeg";
|
|
19
|
+
readonly TIFF: "public.tiff";
|
|
20
|
+
readonly IMAGE: "public.image";
|
|
21
|
+
};
|
|
22
|
+
export declare const PASTEBOARD_POLICY: {
|
|
23
|
+
readonly ALL_RESOLVED: {
|
|
24
|
+
readonly allResolved: {};
|
|
25
|
+
};
|
|
26
|
+
readonly ALL_PROMISED: {
|
|
27
|
+
readonly allPromised: {};
|
|
28
|
+
};
|
|
29
|
+
readonly MATCH_SOURCE: {
|
|
30
|
+
readonly matchSource: {};
|
|
31
|
+
};
|
|
32
|
+
readonly PROMISE_SECONDARY: {
|
|
33
|
+
readonly promiseSecondary: {};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export declare const TEXT_UTIS: readonly ["public.utf8-plain-text", "public.plain-text", "public.text"];
|
|
37
|
+
export declare const URL_UTIS: readonly ["public.url", "public.utf8-plain-text", "public.plain-text", "public.text"];
|
|
38
|
+
export declare const IMAGE_UTIS: readonly ["public.png", "public.jpeg", "public.tiff", "public.image"];
|
|
39
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,kBAAkB;;;;;;;;;CASrB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAKoB,CAAC;AAEnD,eAAO,MAAM,SAAS,yEAIZ,CAAC;AACX,eAAO,MAAM,QAAQ,uFAA8C,CAAC;AACpE,eAAO,MAAM,UAAU,uEAKb,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export const GENERAL_PASTEBOARD = 'general';
|
|
2
|
+
export const PASTEBOARD_COMMAND = {
|
|
3
|
+
PULL: 'PULL',
|
|
4
|
+
PULL_REPLY: 'PULL_REPLY',
|
|
5
|
+
SET: 'SET',
|
|
6
|
+
SET_REPLY: 'SET_REPLY',
|
|
7
|
+
DATA: 'DATA',
|
|
8
|
+
PUSH: 'PUSH',
|
|
9
|
+
AUTONOTIFY: 'AUTONOTIFY',
|
|
10
|
+
RESOLVE: 'RESOLVE',
|
|
11
|
+
};
|
|
12
|
+
export const PASTEBOARD_UTI = {
|
|
13
|
+
UTF8_PLAIN_TEXT: 'public.utf8-plain-text',
|
|
14
|
+
PLAIN_TEXT: 'public.plain-text',
|
|
15
|
+
TEXT: 'public.text',
|
|
16
|
+
URL: 'public.url',
|
|
17
|
+
PNG: 'public.png',
|
|
18
|
+
JPEG: 'public.jpeg',
|
|
19
|
+
TIFF: 'public.tiff',
|
|
20
|
+
IMAGE: 'public.image',
|
|
21
|
+
};
|
|
22
|
+
export const PASTEBOARD_POLICY = {
|
|
23
|
+
ALL_RESOLVED: { allResolved: {} },
|
|
24
|
+
ALL_PROMISED: { allPromised: {} },
|
|
25
|
+
MATCH_SOURCE: { matchSource: {} },
|
|
26
|
+
PROMISE_SECONDARY: { promiseSecondary: {} },
|
|
27
|
+
};
|
|
28
|
+
export const TEXT_UTIS = [
|
|
29
|
+
PASTEBOARD_UTI.UTF8_PLAIN_TEXT,
|
|
30
|
+
PASTEBOARD_UTI.PLAIN_TEXT,
|
|
31
|
+
PASTEBOARD_UTI.TEXT,
|
|
32
|
+
];
|
|
33
|
+
export const URL_UTIS = [PASTEBOARD_UTI.URL, ...TEXT_UTIS];
|
|
34
|
+
export const IMAGE_UTIS = [
|
|
35
|
+
PASTEBOARD_UTI.PNG,
|
|
36
|
+
PASTEBOARD_UTI.JPEG,
|
|
37
|
+
PASTEBOARD_UTI.TIFF,
|
|
38
|
+
PASTEBOARD_UTI.IMAGE,
|
|
39
|
+
];
|
|
40
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;IACV,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,eAAe,EAAE,wBAAwB;IACzC,UAAU,EAAE,mBAAmB;IAC/B,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,cAAc;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IACjC,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IACjC,YAAY,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IACjC,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;CACK,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,cAAc,CAAC,eAAe;IAC9B,cAAc,CAAC,UAAU;IACzB,cAAc,CAAC,IAAI;CACX,CAAC;AACX,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,SAAS,CAAU,CAAC;AACpE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,cAAc,CAAC,GAAG;IAClB,cAAc,CAAC,IAAI;IACnB,cAAc,CAAC,IAAI;IACnB,cAAc,CAAC,KAAK;CACZ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CoreDeviceService } from '../core-device/core-device-service.js';
|
|
2
|
+
/**
|
|
3
|
+
* Client for `com.apple.coredevice.pasteboardservice`.
|
|
4
|
+
*/
|
|
5
|
+
export declare class PasteboardService extends CoreDeviceService {
|
|
6
|
+
static readonly RSD_SERVICE_NAME = "com.apple.coredevice.pasteboardservice";
|
|
7
|
+
constructor(udid: string);
|
|
8
|
+
/**
|
|
9
|
+
* Pull the pasteboard and return the first decodable UTF-8 text item.
|
|
10
|
+
*/
|
|
11
|
+
getText(pasteboardName?: string): Promise<string | undefined>;
|
|
12
|
+
/**
|
|
13
|
+
* Replace the pasteboard with a single UTF-8 text item.
|
|
14
|
+
*/
|
|
15
|
+
setText(text: string, pasteboardName?: string): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Pull the pasteboard and return the first decodable URL string.
|
|
18
|
+
*/
|
|
19
|
+
getUrl(pasteboardName?: string): Promise<URL | undefined>;
|
|
20
|
+
/**
|
|
21
|
+
* Replace the pasteboard with a single URL value.
|
|
22
|
+
*/
|
|
23
|
+
setUrl(url: string | URL, pasteboardName?: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Pull the pasteboard and return the first image payload.
|
|
26
|
+
*
|
|
27
|
+
* Reads image data advertised as PNG, JPEG, TIFF, or generic image UTIs.
|
|
28
|
+
*/
|
|
29
|
+
getImage(pasteboardName?: string): Promise<Buffer | undefined>;
|
|
30
|
+
/**
|
|
31
|
+
* Replace the pasteboard with a PNG image payload.
|
|
32
|
+
*
|
|
33
|
+
* The bytes must be PNG data; the pasteboard item is advertised as
|
|
34
|
+
* `public.png`.
|
|
35
|
+
*/
|
|
36
|
+
setImage(image: Buffer | Uint8Array, pasteboardName?: string): Promise<void>;
|
|
37
|
+
private static buildTextItem;
|
|
38
|
+
private static buildUrlItem;
|
|
39
|
+
private static buildImageItem;
|
|
40
|
+
private static extractString;
|
|
41
|
+
private static extractData;
|
|
42
|
+
private get;
|
|
43
|
+
private set;
|
|
44
|
+
}
|
|
45
|
+
export default PasteboardService;
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAiB1E;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,4CAA4C;gBAEhE,IAAI,EAAE,MAAM;IAIxB;;OAEG;IACG,OAAO,CACX,cAAc,SAAqB,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO9B;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,cAAc,SAAqB,GAClC,OAAO,CAAC,IAAI,CAAC;IAIhB;;OAEG;IACG,MAAM,CAAC,cAAc,SAAqB,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAY3E;;OAEG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,cAAc,SAAqB,GAClC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACG,QAAQ,CACZ,cAAc,SAAqB,GAClC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO9B;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,GAAG,UAAU,EAC1B,cAAc,SAAqB,GAClC,OAAO,CAAC,IAAI,CAAC;IAIhB,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B,OAAO,CAAC,MAAM,CAAC,YAAY;IAU3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAuB5B,OAAO,CAAC,MAAM,CAAC,WAAW;YAmBZ,GAAG;YAcH,GAAG;CAiBlB;AA0BD,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { CoreDeviceService } from '../core-device/core-device-service.js';
|
|
2
|
+
import { GENERAL_PASTEBOARD, IMAGE_UTIS, PASTEBOARD_COMMAND, PASTEBOARD_POLICY, PASTEBOARD_UTI, TEXT_UTIS, URL_UTIS, } from './constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Client for `com.apple.coredevice.pasteboardservice`.
|
|
5
|
+
*/
|
|
6
|
+
export class PasteboardService extends CoreDeviceService {
|
|
7
|
+
static RSD_SERVICE_NAME = 'com.apple.coredevice.pasteboardservice';
|
|
8
|
+
constructor(udid) {
|
|
9
|
+
super(udid, PasteboardService.RSD_SERVICE_NAME);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Pull the pasteboard and return the first decodable UTF-8 text item.
|
|
13
|
+
*/
|
|
14
|
+
async getText(pasteboardName = GENERAL_PASTEBOARD) {
|
|
15
|
+
return PasteboardService.extractString(await this.get(pasteboardName), TEXT_UTIS);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Replace the pasteboard with a single UTF-8 text item.
|
|
19
|
+
*/
|
|
20
|
+
async setText(text, pasteboardName = GENERAL_PASTEBOARD) {
|
|
21
|
+
await this.set([PasteboardService.buildTextItem(text)], pasteboardName);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Pull the pasteboard and return the first decodable URL string.
|
|
25
|
+
*/
|
|
26
|
+
async getUrl(pasteboardName = GENERAL_PASTEBOARD) {
|
|
27
|
+
const urlString = PasteboardService.extractString(await this.get(pasteboardName), URL_UTIS);
|
|
28
|
+
try {
|
|
29
|
+
return urlString ? new URL(urlString) : undefined;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Replace the pasteboard with a single URL value.
|
|
37
|
+
*/
|
|
38
|
+
async setUrl(url, pasteboardName = GENERAL_PASTEBOARD) {
|
|
39
|
+
await this.set([PasteboardService.buildUrlItem(String(url))], pasteboardName);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Pull the pasteboard and return the first image payload.
|
|
43
|
+
*
|
|
44
|
+
* Reads image data advertised as PNG, JPEG, TIFF, or generic image UTIs.
|
|
45
|
+
*/
|
|
46
|
+
async getImage(pasteboardName = GENERAL_PASTEBOARD) {
|
|
47
|
+
return PasteboardService.extractData(await this.get(pasteboardName), IMAGE_UTIS);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Replace the pasteboard with a PNG image payload.
|
|
51
|
+
*
|
|
52
|
+
* The bytes must be PNG data; the pasteboard item is advertised as
|
|
53
|
+
* `public.png`.
|
|
54
|
+
*/
|
|
55
|
+
async setImage(image, pasteboardName = GENERAL_PASTEBOARD) {
|
|
56
|
+
await this.set([PasteboardService.buildImageItem(image)], pasteboardName);
|
|
57
|
+
}
|
|
58
|
+
static buildTextItem(text, utis = TEXT_UTIS) {
|
|
59
|
+
const payload = Buffer.from(text, 'utf8');
|
|
60
|
+
return {
|
|
61
|
+
types: [...utis],
|
|
62
|
+
data: Object.fromEntries(utis.map((uti) => [uti, { data: Buffer.from(payload) }])),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
static buildUrlItem(url) {
|
|
66
|
+
const payload = Buffer.from(url, 'utf8');
|
|
67
|
+
return {
|
|
68
|
+
types: [...URL_UTIS],
|
|
69
|
+
data: Object.fromEntries(URL_UTIS.map((uti) => [uti, { data: Buffer.from(payload) }])),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
static buildImageItem(image) {
|
|
73
|
+
return {
|
|
74
|
+
types: [PASTEBOARD_UTI.PNG],
|
|
75
|
+
data: {
|
|
76
|
+
[PASTEBOARD_UTI.PNG]: { data: Buffer.from(image) },
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
static extractString(snapshotOrReply, utis) {
|
|
81
|
+
const snapshot = pickSnapshot(snapshotOrReply);
|
|
82
|
+
const items = Array.isArray(snapshot.items) ? snapshot.items : [];
|
|
83
|
+
for (const item of items) {
|
|
84
|
+
const dataMap = asDictionary(item.data);
|
|
85
|
+
for (const uti of utis) {
|
|
86
|
+
const datum = asDictionary(dataMap[uti]);
|
|
87
|
+
const raw = datum?.data;
|
|
88
|
+
if (raw === undefined || raw === null) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const text = decodeUtf8(raw);
|
|
92
|
+
if (text !== undefined) {
|
|
93
|
+
return text;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
static extractData(snapshotOrReply, utis) {
|
|
100
|
+
const snapshot = pickSnapshot(snapshotOrReply);
|
|
101
|
+
const items = Array.isArray(snapshot.items) ? snapshot.items : [];
|
|
102
|
+
for (const item of items) {
|
|
103
|
+
const dataMap = asDictionary(item.data);
|
|
104
|
+
for (const uti of utis) {
|
|
105
|
+
const datum = asDictionary(dataMap[uti]);
|
|
106
|
+
const raw = datum?.data;
|
|
107
|
+
if (Buffer.isBuffer(raw) || raw instanceof Uint8Array) {
|
|
108
|
+
return Buffer.from(raw);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
async get(pasteboardName = GENERAL_PASTEBOARD, dataPolicy = PASTEBOARD_POLICY.ALL_RESOLVED) {
|
|
115
|
+
return (await this.sendReceive({
|
|
116
|
+
command: PASTEBOARD_COMMAND.PULL,
|
|
117
|
+
pasteboardName,
|
|
118
|
+
dataPolicy,
|
|
119
|
+
}, { actionIdentifier: PASTEBOARD_COMMAND.PULL }));
|
|
120
|
+
}
|
|
121
|
+
async set(items, pasteboardName = GENERAL_PASTEBOARD, sourceMetadata) {
|
|
122
|
+
const request = {
|
|
123
|
+
command: PASTEBOARD_COMMAND.SET,
|
|
124
|
+
pasteboardName,
|
|
125
|
+
items,
|
|
126
|
+
};
|
|
127
|
+
if (sourceMetadata !== undefined) {
|
|
128
|
+
request.sourceMetadata = sourceMetadata;
|
|
129
|
+
}
|
|
130
|
+
return await this.sendReceive(request, {
|
|
131
|
+
actionIdentifier: PASTEBOARD_COMMAND.SET,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function pickSnapshot(snapshotOrReply) {
|
|
136
|
+
const pasteboard = asDictionary(snapshotOrReply.pasteboard);
|
|
137
|
+
return (pasteboard ?? snapshotOrReply);
|
|
138
|
+
}
|
|
139
|
+
function asDictionary(value) {
|
|
140
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
141
|
+
return value;
|
|
142
|
+
}
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
function decodeUtf8(value) {
|
|
146
|
+
if (typeof value === 'string') {
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
if (Buffer.isBuffer(value) || value instanceof Uint8Array) {
|
|
150
|
+
return Buffer.from(value).toString('utf8');
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
export default PasteboardService;
|
|
155
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { XPCDictionary } from '../../../lib/types.js';
|
|
2
|
+
export type PasteboardDataInclusionPolicy = XPCDictionary;
|
|
3
|
+
export interface PasteboardItem extends XPCDictionary {
|
|
4
|
+
types: string[];
|
|
5
|
+
data: XPCDictionary;
|
|
6
|
+
}
|
|
7
|
+
export interface PasteboardSnapshot extends XPCDictionary {
|
|
8
|
+
items?: PasteboardItem[];
|
|
9
|
+
metadata?: XPCDictionary;
|
|
10
|
+
sourceMetadata?: XPCDictionary;
|
|
11
|
+
}
|
|
12
|
+
export interface PasteboardPullReply extends XPCDictionary {
|
|
13
|
+
command?: string;
|
|
14
|
+
pasteboard?: PasteboardSnapshot;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,MAAM,6BAA6B,GAAG,aAAa,CAAC;AAE1D,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/services/ios/pasteboard/types.ts"],"names":[],"mappings":""}
|
package/build/src/services.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { MisagentService } from './services/ios/misagent/index.js';
|
|
|
11
11
|
import { MobileConfigService } from './services/ios/mobile-config/index.js';
|
|
12
12
|
import MobileImageMounterService from './services/ios/mobile-image-mounter/index.js';
|
|
13
13
|
import { NotificationProxyService } from './services/ios/notification-proxy/index.js';
|
|
14
|
+
import { PasteboardService } from './services/ios/pasteboard/index.js';
|
|
14
15
|
import { PowerAssertionService } from './services/ios/power-assertion/index.js';
|
|
15
16
|
import { SpringBoardService } from './services/ios/springboard-service/index.js';
|
|
16
17
|
import { DvtTestmanagedProxyService } from './services/ios/testmanagerd/index.js';
|
|
@@ -56,6 +57,10 @@ export declare function startHidIndigoService(udid: string): Promise<HidIndigoSe
|
|
|
56
57
|
* signal processes, uninstall apps) over RemoteXPC.
|
|
57
58
|
*/
|
|
58
59
|
export declare function startAppService(udid: string): Promise<AppService>;
|
|
60
|
+
/**
|
|
61
|
+
* Start the CoreDevice pasteboard service for the given device UDID.
|
|
62
|
+
*/
|
|
63
|
+
export declare function startPasteboardService(udid: string): Promise<PasteboardService>;
|
|
59
64
|
/** Options for {@link startXCTestServices}. */
|
|
60
65
|
export interface StartXCTestServicesOptions {
|
|
61
66
|
/** Also resolve and return an InstallationProxyService for app lookup. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
package/build/src/services.js
CHANGED
|
@@ -22,6 +22,7 @@ import { MisagentService } from './services/ios/misagent/index.js';
|
|
|
22
22
|
import { MobileConfigService } from './services/ios/mobile-config/index.js';
|
|
23
23
|
import MobileImageMounterService from './services/ios/mobile-image-mounter/index.js';
|
|
24
24
|
import { NotificationProxyService } from './services/ios/notification-proxy/index.js';
|
|
25
|
+
import { PasteboardService } from './services/ios/pasteboard/index.js';
|
|
25
26
|
import { PowerAssertionService } from './services/ios/power-assertion/index.js';
|
|
26
27
|
import { SpringBoardService } from './services/ios/springboard-service/index.js';
|
|
27
28
|
import SyslogService from './services/ios/syslog-service/index.js';
|
|
@@ -96,6 +97,13 @@ export async function startAppService(udid) {
|
|
|
96
97
|
await requireCatalogService(udid, AppService.RSD_SERVICE_NAME);
|
|
97
98
|
return new AppService(udid);
|
|
98
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Start the CoreDevice pasteboard service for the given device UDID.
|
|
102
|
+
*/
|
|
103
|
+
export async function startPasteboardService(udid) {
|
|
104
|
+
await requireCatalogService(udid, PasteboardService.RSD_SERVICE_NAME);
|
|
105
|
+
return new PasteboardService(udid);
|
|
106
|
+
}
|
|
99
107
|
const RSD_SYSLOG_BINARY_SERVICE_NAME = 'com.apple.os_trace_relay.shim.remote';
|
|
100
108
|
const RSD_SYSLOG_TEXT_SERVICE_NAME = 'com.apple.syslog_relay.shim.remote';
|
|
101
109
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/services.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-ios-remotexpc",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.6.0",
|
|
4
4
|
"main": "build/src/index.js",
|
|
5
5
|
"types": "build/src/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"test:notification": "mocha test/integration/notification-proxy-test.ts --exit --timeout 1m",
|
|
32
32
|
"test:hid-indigo": "mocha test/integration/hid-indigo-test.ts --exit --timeout 1m",
|
|
33
33
|
"test:app-service": "mocha test/integration/app-service-test.ts --exit --timeout 1m",
|
|
34
|
+
"test:pasteboard": "mocha test/integration/pasteboard-service-test.ts --exit --timeout 1m",
|
|
34
35
|
"test:image-mounter": "mocha test/integration/mobile-image-mounter-test.ts --exit --timeout 1m",
|
|
35
36
|
"test:mobile-config": "mocha test/integration/mobile-config-test.ts --exit --timeout 1m",
|
|
36
37
|
"test:springboard": "mocha test/integration/springboard-service-test.ts --exit --timeout 1m",
|
package/src/index.ts
CHANGED
package/src/services/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ import * as hidIndigo from './ios/hid-indigo/index.js';
|
|
|
10
10
|
import * as houseArrest from './ios/house-arrest/index.js';
|
|
11
11
|
import * as installationProxy from './ios/installation-proxy/index.js';
|
|
12
12
|
import * as mobileImageMounter from './ios/mobile-image-mounter/index.js';
|
|
13
|
+
import * as pasteboard from './ios/pasteboard/index.js';
|
|
13
14
|
import * as powerAssertion from './ios/power-assertion/index.js';
|
|
14
15
|
import * as syslog from './ios/syslog-service/index.js';
|
|
15
16
|
import * as tunnel from './ios/tunnel-service/index.js';
|
|
@@ -22,6 +23,7 @@ export {
|
|
|
22
23
|
houseArrest,
|
|
23
24
|
installationProxy,
|
|
24
25
|
mobileImageMounter,
|
|
26
|
+
pasteboard,
|
|
25
27
|
powerAssertion,
|
|
26
28
|
syslog,
|
|
27
29
|
tunnel,
|
|
@@ -111,6 +111,20 @@ export abstract class CoreDeviceService extends BaseService {
|
|
|
111
111
|
);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
+
/**
|
|
115
|
+
* Sends a direct XPC request on the root channel and returns the full reply.
|
|
116
|
+
* Some CoreDevice services (for example pasteboard) do not use the common
|
|
117
|
+
* `CoreDevice.featureIdentifier` invocation envelope.
|
|
118
|
+
*/
|
|
119
|
+
protected async sendReceive(
|
|
120
|
+
body: XPCDictionary,
|
|
121
|
+
options: CoreDeviceInvokeOptions = {},
|
|
122
|
+
): Promise<XPCDictionary> {
|
|
123
|
+
return this.enqueueInvocation(() =>
|
|
124
|
+
this.sendReceiveInternal(body, options),
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
114
128
|
/**
|
|
115
129
|
* Invokes a CoreDevice feature and returns its `CoreDevice.output`.
|
|
116
130
|
*
|
|
@@ -123,6 +137,27 @@ export abstract class CoreDeviceService extends BaseService {
|
|
|
123
137
|
input: XPCDictionary = {},
|
|
124
138
|
options: CoreDeviceInvokeOptions = {},
|
|
125
139
|
): Promise<XPCValue> {
|
|
140
|
+
return this.enqueueInvocation(() =>
|
|
141
|
+
this.invokeInternal(featureIdentifier, input, options),
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
protected async createTransport(): Promise<RemoteXpcFramedTransport> {
|
|
146
|
+
const transport = new RemoteXpcFramedTransport(
|
|
147
|
+
await this.resolveServiceAddress(this.serviceName),
|
|
148
|
+
);
|
|
149
|
+
await transport.connect({ timeoutMs: CONNECT_TIMEOUT_MS });
|
|
150
|
+
return transport;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
protected async getTransport(): Promise<RemoteXpcFramedTransport> {
|
|
154
|
+
if (!this.transport?.isConnected) {
|
|
155
|
+
this.transport = await this.newTransport();
|
|
156
|
+
}
|
|
157
|
+
return this.transport;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
private async enqueueInvocation<T>(operation: () => Promise<T>): Promise<T> {
|
|
126
161
|
// Serialize invocations: await the previous call's completion, then install
|
|
127
162
|
// a new tail that the next caller will await. Prior failures are ignored so
|
|
128
163
|
// one failed call does not poison the queue.
|
|
@@ -139,27 +174,12 @@ export abstract class CoreDeviceService extends BaseService {
|
|
|
139
174
|
}
|
|
140
175
|
|
|
141
176
|
try {
|
|
142
|
-
return await
|
|
177
|
+
return await operation();
|
|
143
178
|
} finally {
|
|
144
179
|
release();
|
|
145
180
|
}
|
|
146
181
|
}
|
|
147
182
|
|
|
148
|
-
protected async createTransport(): Promise<RemoteXpcFramedTransport> {
|
|
149
|
-
const transport = new RemoteXpcFramedTransport(
|
|
150
|
-
await this.resolveServiceAddress(this.serviceName),
|
|
151
|
-
);
|
|
152
|
-
await transport.connect({ timeoutMs: CONNECT_TIMEOUT_MS });
|
|
153
|
-
return transport;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
protected async getTransport(): Promise<RemoteXpcFramedTransport> {
|
|
157
|
-
if (!this.transport?.isConnected) {
|
|
158
|
-
this.transport = await this.newTransport();
|
|
159
|
-
}
|
|
160
|
-
return this.transport;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
183
|
/**
|
|
164
184
|
* Creates a transport and attaches a permanent `'error'` listener. The
|
|
165
185
|
* framed transport is an EventEmitter; an `'error'` emitted with no listener
|
|
@@ -229,6 +249,35 @@ export abstract class CoreDeviceService extends BaseService {
|
|
|
229
249
|
return output;
|
|
230
250
|
}
|
|
231
251
|
|
|
252
|
+
private async sendReceiveInternal(
|
|
253
|
+
body: XPCDictionary,
|
|
254
|
+
options: CoreDeviceInvokeOptions,
|
|
255
|
+
): Promise<XPCDictionary> {
|
|
256
|
+
const transport = await this.refreshTransport();
|
|
257
|
+
const operationIdentifier = options.actionIdentifier ?? '<raw>';
|
|
258
|
+
|
|
259
|
+
// Register the response listener before sending so a fast reply is not lost.
|
|
260
|
+
const responsePromise = this.waitForResponse(
|
|
261
|
+
transport,
|
|
262
|
+
options.timeoutMs ?? DEFAULT_INVOKE_TIMEOUT_MS,
|
|
263
|
+
operationIdentifier,
|
|
264
|
+
);
|
|
265
|
+
|
|
266
|
+
transport.sendDataFrame(
|
|
267
|
+
encodeMessage({
|
|
268
|
+
flags:
|
|
269
|
+
XpcConstants.XPC_FLAGS_ALWAYS_SET |
|
|
270
|
+
XpcConstants.XPC_FLAGS_DATA_PRESENT |
|
|
271
|
+
XpcConstants.XPC_FLAGS_WANTING_REPLY,
|
|
272
|
+
id: this.nextMessageId++,
|
|
273
|
+
body,
|
|
274
|
+
}),
|
|
275
|
+
Http2Constants.ROOT_CHANNEL,
|
|
276
|
+
);
|
|
277
|
+
|
|
278
|
+
return await responsePromise;
|
|
279
|
+
}
|
|
280
|
+
|
|
232
281
|
private buildEnvelope(
|
|
233
282
|
featureIdentifier: string | undefined,
|
|
234
283
|
input: XPCDictionary,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { XPCDictionary } from '../../../lib/types.js';
|
|
2
|
+
|
|
3
|
+
export const GENERAL_PASTEBOARD = 'general';
|
|
4
|
+
|
|
5
|
+
export const PASTEBOARD_COMMAND = {
|
|
6
|
+
PULL: 'PULL',
|
|
7
|
+
PULL_REPLY: 'PULL_REPLY',
|
|
8
|
+
SET: 'SET',
|
|
9
|
+
SET_REPLY: 'SET_REPLY',
|
|
10
|
+
DATA: 'DATA',
|
|
11
|
+
PUSH: 'PUSH',
|
|
12
|
+
AUTONOTIFY: 'AUTONOTIFY',
|
|
13
|
+
RESOLVE: 'RESOLVE',
|
|
14
|
+
} as const;
|
|
15
|
+
|
|
16
|
+
export const PASTEBOARD_UTI = {
|
|
17
|
+
UTF8_PLAIN_TEXT: 'public.utf8-plain-text',
|
|
18
|
+
PLAIN_TEXT: 'public.plain-text',
|
|
19
|
+
TEXT: 'public.text',
|
|
20
|
+
URL: 'public.url',
|
|
21
|
+
PNG: 'public.png',
|
|
22
|
+
JPEG: 'public.jpeg',
|
|
23
|
+
TIFF: 'public.tiff',
|
|
24
|
+
IMAGE: 'public.image',
|
|
25
|
+
} as const;
|
|
26
|
+
|
|
27
|
+
export const PASTEBOARD_POLICY = {
|
|
28
|
+
ALL_RESOLVED: { allResolved: {} },
|
|
29
|
+
ALL_PROMISED: { allPromised: {} },
|
|
30
|
+
MATCH_SOURCE: { matchSource: {} },
|
|
31
|
+
PROMISE_SECONDARY: { promiseSecondary: {} },
|
|
32
|
+
} as const satisfies Record<string, XPCDictionary>;
|
|
33
|
+
|
|
34
|
+
export const TEXT_UTIS = [
|
|
35
|
+
PASTEBOARD_UTI.UTF8_PLAIN_TEXT,
|
|
36
|
+
PASTEBOARD_UTI.PLAIN_TEXT,
|
|
37
|
+
PASTEBOARD_UTI.TEXT,
|
|
38
|
+
] as const;
|
|
39
|
+
export const URL_UTIS = [PASTEBOARD_UTI.URL, ...TEXT_UTIS] as const;
|
|
40
|
+
export const IMAGE_UTIS = [
|
|
41
|
+
PASTEBOARD_UTI.PNG,
|
|
42
|
+
PASTEBOARD_UTI.JPEG,
|
|
43
|
+
PASTEBOARD_UTI.TIFF,
|
|
44
|
+
PASTEBOARD_UTI.IMAGE,
|
|
45
|
+
] as const;
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import type { XPCDictionary, XPCValue } from '../../../lib/types.js';
|
|
2
|
+
import { CoreDeviceService } from '../core-device/core-device-service.js';
|
|
3
|
+
import {
|
|
4
|
+
GENERAL_PASTEBOARD,
|
|
5
|
+
IMAGE_UTIS,
|
|
6
|
+
PASTEBOARD_COMMAND,
|
|
7
|
+
PASTEBOARD_POLICY,
|
|
8
|
+
PASTEBOARD_UTI,
|
|
9
|
+
TEXT_UTIS,
|
|
10
|
+
URL_UTIS,
|
|
11
|
+
} from './constants.js';
|
|
12
|
+
import type {
|
|
13
|
+
PasteboardDataInclusionPolicy,
|
|
14
|
+
PasteboardItem,
|
|
15
|
+
PasteboardPullReply,
|
|
16
|
+
PasteboardSnapshot,
|
|
17
|
+
} from './types.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Client for `com.apple.coredevice.pasteboardservice`.
|
|
21
|
+
*/
|
|
22
|
+
export class PasteboardService extends CoreDeviceService {
|
|
23
|
+
static readonly RSD_SERVICE_NAME = 'com.apple.coredevice.pasteboardservice';
|
|
24
|
+
|
|
25
|
+
constructor(udid: string) {
|
|
26
|
+
super(udid, PasteboardService.RSD_SERVICE_NAME);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Pull the pasteboard and return the first decodable UTF-8 text item.
|
|
31
|
+
*/
|
|
32
|
+
async getText(
|
|
33
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
34
|
+
): Promise<string | undefined> {
|
|
35
|
+
return PasteboardService.extractString(
|
|
36
|
+
await this.get(pasteboardName),
|
|
37
|
+
TEXT_UTIS,
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Replace the pasteboard with a single UTF-8 text item.
|
|
43
|
+
*/
|
|
44
|
+
async setText(
|
|
45
|
+
text: string,
|
|
46
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
47
|
+
): Promise<void> {
|
|
48
|
+
await this.set([PasteboardService.buildTextItem(text)], pasteboardName);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Pull the pasteboard and return the first decodable URL string.
|
|
53
|
+
*/
|
|
54
|
+
async getUrl(pasteboardName = GENERAL_PASTEBOARD): Promise<URL | undefined> {
|
|
55
|
+
const urlString = PasteboardService.extractString(
|
|
56
|
+
await this.get(pasteboardName),
|
|
57
|
+
URL_UTIS,
|
|
58
|
+
);
|
|
59
|
+
try {
|
|
60
|
+
return urlString ? new URL(urlString) : undefined;
|
|
61
|
+
} catch {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Replace the pasteboard with a single URL value.
|
|
68
|
+
*/
|
|
69
|
+
async setUrl(
|
|
70
|
+
url: string | URL,
|
|
71
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
72
|
+
): Promise<void> {
|
|
73
|
+
await this.set(
|
|
74
|
+
[PasteboardService.buildUrlItem(String(url))],
|
|
75
|
+
pasteboardName,
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Pull the pasteboard and return the first image payload.
|
|
81
|
+
*
|
|
82
|
+
* Reads image data advertised as PNG, JPEG, TIFF, or generic image UTIs.
|
|
83
|
+
*/
|
|
84
|
+
async getImage(
|
|
85
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
86
|
+
): Promise<Buffer | undefined> {
|
|
87
|
+
return PasteboardService.extractData(
|
|
88
|
+
await this.get(pasteboardName),
|
|
89
|
+
IMAGE_UTIS,
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Replace the pasteboard with a PNG image payload.
|
|
95
|
+
*
|
|
96
|
+
* The bytes must be PNG data; the pasteboard item is advertised as
|
|
97
|
+
* `public.png`.
|
|
98
|
+
*/
|
|
99
|
+
async setImage(
|
|
100
|
+
image: Buffer | Uint8Array,
|
|
101
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
102
|
+
): Promise<void> {
|
|
103
|
+
await this.set([PasteboardService.buildImageItem(image)], pasteboardName);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
private static buildTextItem(
|
|
107
|
+
text: string,
|
|
108
|
+
utis: readonly string[] = TEXT_UTIS,
|
|
109
|
+
): PasteboardItem {
|
|
110
|
+
const payload = Buffer.from(text, 'utf8');
|
|
111
|
+
return {
|
|
112
|
+
types: [...utis],
|
|
113
|
+
data: Object.fromEntries(
|
|
114
|
+
utis.map((uti) => [uti, { data: Buffer.from(payload) }]),
|
|
115
|
+
),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
private static buildUrlItem(url: string): PasteboardItem {
|
|
120
|
+
const payload = Buffer.from(url, 'utf8');
|
|
121
|
+
return {
|
|
122
|
+
types: [...URL_UTIS],
|
|
123
|
+
data: Object.fromEntries(
|
|
124
|
+
URL_UTIS.map((uti) => [uti, { data: Buffer.from(payload) }]),
|
|
125
|
+
),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
private static buildImageItem(image: Buffer | Uint8Array): PasteboardItem {
|
|
130
|
+
return {
|
|
131
|
+
types: [PASTEBOARD_UTI.PNG],
|
|
132
|
+
data: {
|
|
133
|
+
[PASTEBOARD_UTI.PNG]: { data: Buffer.from(image) },
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
private static extractString(
|
|
139
|
+
snapshotOrReply: XPCDictionary | PasteboardSnapshot | PasteboardPullReply,
|
|
140
|
+
utis: readonly string[],
|
|
141
|
+
): string | undefined {
|
|
142
|
+
const snapshot = pickSnapshot(snapshotOrReply);
|
|
143
|
+
const items = Array.isArray(snapshot.items) ? snapshot.items : [];
|
|
144
|
+
for (const item of items) {
|
|
145
|
+
const dataMap = asDictionary(item.data);
|
|
146
|
+
for (const uti of utis) {
|
|
147
|
+
const datum = asDictionary(dataMap[uti]);
|
|
148
|
+
const raw = datum?.data;
|
|
149
|
+
if (raw === undefined || raw === null) {
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
const text = decodeUtf8(raw);
|
|
153
|
+
if (text !== undefined) {
|
|
154
|
+
return text;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
private static extractData(
|
|
162
|
+
snapshotOrReply: XPCDictionary | PasteboardSnapshot | PasteboardPullReply,
|
|
163
|
+
utis: readonly string[],
|
|
164
|
+
): Buffer | undefined {
|
|
165
|
+
const snapshot = pickSnapshot(snapshotOrReply);
|
|
166
|
+
const items = Array.isArray(snapshot.items) ? snapshot.items : [];
|
|
167
|
+
for (const item of items) {
|
|
168
|
+
const dataMap = asDictionary(item.data);
|
|
169
|
+
for (const uti of utis) {
|
|
170
|
+
const datum = asDictionary(dataMap[uti]);
|
|
171
|
+
const raw = datum?.data;
|
|
172
|
+
if (Buffer.isBuffer(raw) || raw instanceof Uint8Array) {
|
|
173
|
+
return Buffer.from(raw);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
private async get(
|
|
181
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
182
|
+
dataPolicy: PasteboardDataInclusionPolicy = PASTEBOARD_POLICY.ALL_RESOLVED,
|
|
183
|
+
): Promise<PasteboardPullReply> {
|
|
184
|
+
return (await this.sendReceive(
|
|
185
|
+
{
|
|
186
|
+
command: PASTEBOARD_COMMAND.PULL,
|
|
187
|
+
pasteboardName,
|
|
188
|
+
dataPolicy,
|
|
189
|
+
},
|
|
190
|
+
{ actionIdentifier: PASTEBOARD_COMMAND.PULL },
|
|
191
|
+
)) as PasteboardPullReply;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
private async set(
|
|
195
|
+
items: PasteboardItem[],
|
|
196
|
+
pasteboardName = GENERAL_PASTEBOARD,
|
|
197
|
+
sourceMetadata?: XPCDictionary,
|
|
198
|
+
): Promise<XPCDictionary> {
|
|
199
|
+
const request: XPCDictionary = {
|
|
200
|
+
command: PASTEBOARD_COMMAND.SET,
|
|
201
|
+
pasteboardName,
|
|
202
|
+
items,
|
|
203
|
+
};
|
|
204
|
+
if (sourceMetadata !== undefined) {
|
|
205
|
+
request.sourceMetadata = sourceMetadata;
|
|
206
|
+
}
|
|
207
|
+
return await this.sendReceive(request, {
|
|
208
|
+
actionIdentifier: PASTEBOARD_COMMAND.SET,
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
function pickSnapshot(
|
|
214
|
+
snapshotOrReply: XPCDictionary | PasteboardSnapshot | PasteboardPullReply,
|
|
215
|
+
): PasteboardSnapshot {
|
|
216
|
+
const pasteboard = asDictionary(snapshotOrReply.pasteboard);
|
|
217
|
+
return (pasteboard ?? snapshotOrReply) as PasteboardSnapshot;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
function asDictionary(value: XPCValue | undefined): XPCDictionary | undefined {
|
|
221
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
222
|
+
return value as XPCDictionary;
|
|
223
|
+
}
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function decodeUtf8(value: XPCValue): string | undefined {
|
|
228
|
+
if (typeof value === 'string') {
|
|
229
|
+
return value;
|
|
230
|
+
}
|
|
231
|
+
if (Buffer.isBuffer(value) || value instanceof Uint8Array) {
|
|
232
|
+
return Buffer.from(value).toString('utf8');
|
|
233
|
+
}
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export default PasteboardService;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { XPCDictionary } from '../../../lib/types.js';
|
|
2
|
+
|
|
3
|
+
export type PasteboardDataInclusionPolicy = XPCDictionary;
|
|
4
|
+
|
|
5
|
+
export interface PasteboardItem extends XPCDictionary {
|
|
6
|
+
types: string[];
|
|
7
|
+
data: XPCDictionary;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface PasteboardSnapshot extends XPCDictionary {
|
|
11
|
+
items?: PasteboardItem[];
|
|
12
|
+
metadata?: XPCDictionary;
|
|
13
|
+
sourceMetadata?: XPCDictionary;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface PasteboardPullReply extends XPCDictionary {
|
|
17
|
+
command?: string;
|
|
18
|
+
pasteboard?: PasteboardSnapshot;
|
|
19
|
+
}
|
package/src/services.ts
CHANGED
|
@@ -32,6 +32,7 @@ import { MisagentService } from './services/ios/misagent/index.js';
|
|
|
32
32
|
import { MobileConfigService } from './services/ios/mobile-config/index.js';
|
|
33
33
|
import MobileImageMounterService from './services/ios/mobile-image-mounter/index.js';
|
|
34
34
|
import { NotificationProxyService } from './services/ios/notification-proxy/index.js';
|
|
35
|
+
import { PasteboardService } from './services/ios/pasteboard/index.js';
|
|
35
36
|
import { PowerAssertionService } from './services/ios/power-assertion/index.js';
|
|
36
37
|
import { SpringBoardService } from './services/ios/springboard-service/index.js';
|
|
37
38
|
import SyslogService from './services/ios/syslog-service/index.js';
|
|
@@ -137,6 +138,16 @@ export async function startAppService(udid: string): Promise<AppService> {
|
|
|
137
138
|
return new AppService(udid);
|
|
138
139
|
}
|
|
139
140
|
|
|
141
|
+
/**
|
|
142
|
+
* Start the CoreDevice pasteboard service for the given device UDID.
|
|
143
|
+
*/
|
|
144
|
+
export async function startPasteboardService(
|
|
145
|
+
udid: string,
|
|
146
|
+
): Promise<PasteboardService> {
|
|
147
|
+
await requireCatalogService(udid, PasteboardService.RSD_SERVICE_NAME);
|
|
148
|
+
return new PasteboardService(udid);
|
|
149
|
+
}
|
|
150
|
+
|
|
140
151
|
const RSD_SYSLOG_BINARY_SERVICE_NAME = 'com.apple.os_trace_relay.shim.remote';
|
|
141
152
|
const RSD_SYSLOG_TEXT_SERVICE_NAME = 'com.apple.syslog_relay.shim.remote';
|
|
142
153
|
|