claude-in-mobile 3.14.0 → 4.0.0-dev
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/README.md +61 -574
- package/dist/a11y/types.d.ts +1 -1
- package/dist/a11y/types.d.ts.map +1 -1
- package/dist/adapters/contracts.d.ts +66 -0
- package/dist/adapters/contracts.d.ts.map +1 -0
- package/dist/adapters/contracts.js +15 -0
- package/dist/adapters/contracts.js.map +1 -0
- package/dist/adapters/index.d.ts +0 -5
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +1 -5
- package/dist/adapters/index.js.map +1 -1
- package/dist/autopilot/explorer.js +1 -1
- package/dist/autopilot/explorer.js.map +1 -1
- package/dist/autopilot/healer.d.ts +1 -1
- package/dist/autopilot/healer.d.ts.map +1 -1
- package/dist/autopilot/screen-fingerprint.d.ts +1 -1
- package/dist/autopilot/screen-fingerprint.d.ts.map +1 -1
- package/dist/autopilot/types.d.ts +1 -1
- package/dist/autopilot/types.d.ts.map +1 -1
- package/dist/device/client-cache.d.ts +1 -1
- package/dist/device/client-cache.d.ts.map +1 -1
- package/dist/device/client-cache.js +4 -24
- package/dist/device/client-cache.js.map +1 -1
- package/dist/device/proxies/desktop-facade.d.ts +5 -8
- package/dist/device/proxies/desktop-facade.d.ts.map +1 -1
- package/dist/device/proxies/desktop-facade.js +12 -14
- package/dist/device/proxies/desktop-facade.js.map +1 -1
- package/dist/device-manager.d.ts +16 -16
- package/dist/device-manager.d.ts.map +1 -1
- package/dist/device-manager.js +23 -17
- package/dist/device-manager.js.map +1 -1
- package/dist/index.js +21 -6
- package/dist/index.js.map +1 -1
- package/dist/perf/collector.d.ts +5 -5
- package/dist/perf/collector.d.ts.map +1 -1
- package/dist/perf/collector.js.map +1 -1
- package/dist/runtime/bootstrap.d.ts +7 -0
- package/dist/runtime/bootstrap.d.ts.map +1 -1
- package/dist/runtime/bootstrap.js +87 -15
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/cli.d.ts.map +1 -1
- package/dist/runtime/cli.js +14 -0
- package/dist/runtime/cli.js.map +1 -1
- package/dist/runtime/platform-cli.d.ts +24 -0
- package/dist/runtime/platform-cli.d.ts.map +1 -0
- package/dist/runtime/platform-cli.js +116 -0
- package/dist/runtime/platform-cli.js.map +1 -0
- package/dist/runtime/platform-config.d.ts +21 -0
- package/dist/runtime/platform-config.d.ts.map +1 -0
- package/dist/runtime/platform-config.js +71 -0
- package/dist/runtime/platform-config.js.map +1 -0
- package/dist/tools/browser-tools.js.map +1 -1
- package/dist/tools/clipboard-tools.js +1 -1
- package/dist/tools/clipboard-tools.js.map +1 -1
- package/dist/tools/context/hints.d.ts +1 -1
- package/dist/tools/context/hints.d.ts.map +1 -1
- package/dist/tools/context/hints.js +1 -1
- package/dist/tools/context/hints.js.map +1 -1
- package/dist/tools/context/ios-helpers.d.ts +1 -1
- package/dist/tools/context/ios-helpers.d.ts.map +1 -1
- package/dist/tools/context/shared-state-class.d.ts +1 -1
- package/dist/tools/context/shared-state-class.d.ts.map +1 -1
- package/dist/tools/context/shared-state.d.ts +1 -1
- package/dist/tools/context/shared-state.d.ts.map +1 -1
- package/dist/tools/context.d.ts +2 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +17 -9
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/desktop-tools.d.ts.map +1 -1
- package/dist/tools/desktop-tools.js.map +1 -1
- package/dist/tools/flow/common.js +1 -1
- package/dist/tools/flow/common.js.map +1 -1
- package/dist/tools/flow/run.js +1 -1
- package/dist/tools/flow/run.js.map +1 -1
- package/dist/tools/helpers/get-elements.d.ts +1 -1
- package/dist/tools/helpers/get-elements.d.ts.map +1 -1
- package/dist/tools/helpers/get-elements.js +1 -1
- package/dist/tools/helpers/get-elements.js.map +1 -1
- package/dist/tools/helpers/resolve-element.js +1 -1
- package/dist/tools/helpers/resolve-element.js.map +1 -1
- package/dist/tools/screenshot-tools.js +1 -1
- package/dist/tools/screenshot-tools.js.map +1 -1
- package/dist/tools/ui/analyze.js +1 -1
- package/dist/tools/ui/analyze.js.map +1 -1
- package/dist/tools/ui/assert.js +1 -1
- package/dist/tools/ui/assert.js.map +1 -1
- package/dist/tools/ui/find.js +1 -1
- package/dist/tools/ui/find.js.map +1 -1
- package/dist/tools/ui/tree.js +1 -1
- package/dist/tools/ui/tree.js.map +1 -1
- package/dist/tools/ui/wait.js +1 -1
- package/dist/tools/ui/wait.js.map +1 -1
- package/dist/ui-tree/ui-parser/diff-engine.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/diff-engine.js.map +1 -0
- package/dist/ui-tree/ui-parser/element-builder.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/element-builder.js.map +1 -0
- package/dist/ui-tree/ui-parser/element-finders.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/element-finders.js.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/compact.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/compact.js.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/full.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/full.js.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/index.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/index.js.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/semantic.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/formatters/semantic.js.map +1 -0
- package/dist/ui-tree/ui-parser/node-parser.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/node-parser.js.map +1 -0
- package/dist/ui-tree/ui-parser/screen-analyzer.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/screen-analyzer.js.map +1 -0
- package/dist/ui-tree/ui-parser/types.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser/types.js.map +1 -0
- package/dist/ui-tree/ui-parser.d.ts.map +1 -0
- package/dist/ui-tree/ui-parser.js.map +1 -0
- package/dist/ui-tree/ui-scoring.d.ts.map +1 -0
- package/dist/ui-tree/ui-scoring.js.map +1 -0
- package/dist/ui-tree/ui-tree-cache.d.ts.map +1 -0
- package/dist/ui-tree/ui-tree-cache.js.map +1 -0
- package/dist/utils/image/annotate.d.ts +1 -1
- package/dist/utils/image/annotate.d.ts.map +1 -1
- package/package.json +11 -6
- package/dist/adapters/android-adapter.d.ts +0 -64
- package/dist/adapters/android-adapter.d.ts.map +0 -1
- package/dist/adapters/android-adapter.js +0 -164
- package/dist/adapters/android-adapter.js.map +0 -1
- package/dist/adapters/aurora-adapter.d.ts +0 -56
- package/dist/adapters/aurora-adapter.d.ts.map +0 -1
- package/dist/adapters/aurora-adapter.js +0 -118
- package/dist/adapters/aurora-adapter.js.map +0 -1
- package/dist/adapters/browser-adapter.d.ts +0 -51
- package/dist/adapters/browser-adapter.d.ts.map +0 -1
- package/dist/adapters/browser-adapter.js +0 -223
- package/dist/adapters/browser-adapter.js.map +0 -1
- package/dist/adapters/desktop-adapter.d.ts +0 -64
- package/dist/adapters/desktop-adapter.d.ts.map +0 -1
- package/dist/adapters/desktop-adapter.js +0 -202
- package/dist/adapters/desktop-adapter.js.map +0 -1
- package/dist/adapters/ios-adapter.d.ts +0 -60
- package/dist/adapters/ios-adapter.d.ts.map +0 -1
- package/dist/adapters/ios-adapter.js +0 -146
- package/dist/adapters/ios-adapter.js.map +0 -1
- package/dist/adb/client.d.ts +0 -238
- package/dist/adb/client.d.ts.map +0 -1
- package/dist/adb/client.js +0 -462
- package/dist/adb/client.js.map +0 -1
- package/dist/adb/exec.d.ts +0 -23
- package/dist/adb/exec.d.ts.map +0 -1
- package/dist/adb/exec.js +0 -98
- package/dist/adb/exec.js.map +0 -1
- package/dist/adb/index.d.ts +0 -5
- package/dist/adb/index.d.ts.map +0 -1
- package/dist/adb/index.js +0 -3
- package/dist/adb/index.js.map +0 -1
- package/dist/adb/keycodes.d.ts +0 -22
- package/dist/adb/keycodes.d.ts.map +0 -1
- package/dist/adb/keycodes.js +0 -69
- package/dist/adb/keycodes.js.map +0 -1
- package/dist/adb/logcat.d.ts +0 -23
- package/dist/adb/logcat.d.ts.map +0 -1
- package/dist/adb/logcat.js +0 -40
- package/dist/adb/logcat.js.map +0 -1
- package/dist/adb/parsers.d.ts +0 -60
- package/dist/adb/parsers.d.ts.map +0 -1
- package/dist/adb/parsers.js +0 -118
- package/dist/adb/parsers.js.map +0 -1
- package/dist/adb/resolver.d.ts +0 -24
- package/dist/adb/resolver.d.ts.map +0 -1
- package/dist/adb/resolver.js +0 -130
- package/dist/adb/resolver.js.map +0 -1
- package/dist/adb/text-escape.d.ts +0 -23
- package/dist/adb/text-escape.d.ts.map +0 -1
- package/dist/adb/text-escape.js +0 -41
- package/dist/adb/text-escape.js.map +0 -1
- package/dist/adb/ui-parser/diff-engine.d.ts.map +0 -1
- package/dist/adb/ui-parser/diff-engine.js.map +0 -1
- package/dist/adb/ui-parser/element-builder.d.ts.map +0 -1
- package/dist/adb/ui-parser/element-builder.js.map +0 -1
- package/dist/adb/ui-parser/element-finders.d.ts.map +0 -1
- package/dist/adb/ui-parser/element-finders.js.map +0 -1
- package/dist/adb/ui-parser/formatters/compact.d.ts.map +0 -1
- package/dist/adb/ui-parser/formatters/compact.js.map +0 -1
- package/dist/adb/ui-parser/formatters/full.d.ts.map +0 -1
- package/dist/adb/ui-parser/formatters/full.js.map +0 -1
- package/dist/adb/ui-parser/formatters/index.d.ts.map +0 -1
- package/dist/adb/ui-parser/formatters/index.js.map +0 -1
- package/dist/adb/ui-parser/formatters/semantic.d.ts.map +0 -1
- package/dist/adb/ui-parser/formatters/semantic.js.map +0 -1
- package/dist/adb/ui-parser/node-parser.d.ts.map +0 -1
- package/dist/adb/ui-parser/node-parser.js.map +0 -1
- package/dist/adb/ui-parser/screen-analyzer.d.ts.map +0 -1
- package/dist/adb/ui-parser/screen-analyzer.js.map +0 -1
- package/dist/adb/ui-parser/types.d.ts.map +0 -1
- package/dist/adb/ui-parser/types.js.map +0 -1
- package/dist/adb/ui-parser.d.ts.map +0 -1
- package/dist/adb/ui-parser.js.map +0 -1
- package/dist/adb/ui-scoring.d.ts.map +0 -1
- package/dist/adb/ui-scoring.js.map +0 -1
- package/dist/adb/ui-tree-cache.d.ts.map +0 -1
- package/dist/adb/ui-tree-cache.js.map +0 -1
- package/dist/adb/webview.d.ts +0 -59
- package/dist/adb/webview.d.ts.map +0 -1
- package/dist/adb/webview.js +0 -169
- package/dist/adb/webview.js.map +0 -1
- package/dist/aurora/client.d.ts +0 -180
- package/dist/aurora/client.d.ts.map +0 -1
- package/dist/aurora/client.js +0 -324
- package/dist/aurora/client.js.map +0 -1
- package/dist/aurora/index.d.ts +0 -2
- package/dist/aurora/index.d.ts.map +0 -1
- package/dist/aurora/index.js +0 -2
- package/dist/aurora/index.js.map +0 -1
- package/dist/browser/cdp-helpers.d.ts +0 -17
- package/dist/browser/cdp-helpers.d.ts.map +0 -1
- package/dist/browser/cdp-helpers.js +0 -79
- package/dist/browser/cdp-helpers.js.map +0 -1
- package/dist/browser/cdp-types.d.ts +0 -167
- package/dist/browser/cdp-types.d.ts.map +0 -1
- package/dist/browser/cdp-types.js +0 -9
- package/dist/browser/cdp-types.js.map +0 -1
- package/dist/browser/client.d.ts +0 -29
- package/dist/browser/client.d.ts.map +0 -1
- package/dist/browser/client.js +0 -391
- package/dist/browser/client.js.map +0 -1
- package/dist/browser/index.d.ts +0 -5
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -4
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/key-map.d.ts +0 -16
- package/dist/browser/key-map.d.ts.map +0 -1
- package/dist/browser/key-map.js +0 -35
- package/dist/browser/key-map.js.map +0 -1
- package/dist/browser/session-manager.d.ts +0 -21
- package/dist/browser/session-manager.d.ts.map +0 -1
- package/dist/browser/session-manager.js +0 -109
- package/dist/browser/session-manager.js.map +0 -1
- package/dist/browser/snapshot-builder.d.ts +0 -4
- package/dist/browser/snapshot-builder.d.ts.map +0 -1
- package/dist/browser/snapshot-builder.js +0 -76
- package/dist/browser/snapshot-builder.js.map +0 -1
- package/dist/browser/types.d.ts +0 -75
- package/dist/browser/types.d.ts.map +0 -1
- package/dist/browser/types.js +0 -11
- package/dist/browser/types.js.map +0 -1
- package/dist/desktop/client.d.ts +0 -196
- package/dist/desktop/client.d.ts.map +0 -1
- package/dist/desktop/client.js +0 -540
- package/dist/desktop/client.js.map +0 -1
- package/dist/desktop/gradle.d.ts +0 -45
- package/dist/desktop/gradle.d.ts.map +0 -1
- package/dist/desktop/gradle.js +0 -234
- package/dist/desktop/gradle.js.map +0 -1
- package/dist/desktop/index.d.ts +0 -7
- package/dist/desktop/index.d.ts.map +0 -1
- package/dist/desktop/index.js +0 -7
- package/dist/desktop/index.js.map +0 -1
- package/dist/desktop/launch-options.d.ts +0 -13
- package/dist/desktop/launch-options.d.ts.map +0 -1
- package/dist/desktop/launch-options.js +0 -54
- package/dist/desktop/launch-options.js.map +0 -1
- package/dist/desktop/launchers.d.ts +0 -52
- package/dist/desktop/launchers.d.ts.map +0 -1
- package/dist/desktop/launchers.js +0 -125
- package/dist/desktop/launchers.js.map +0 -1
- package/dist/desktop/log-ring.d.ts +0 -21
- package/dist/desktop/log-ring.d.ts.map +0 -1
- package/dist/desktop/log-ring.js +0 -45
- package/dist/desktop/log-ring.js.map +0 -1
- package/dist/desktop/permission-allowlist.d.ts +0 -47
- package/dist/desktop/permission-allowlist.d.ts.map +0 -1
- package/dist/desktop/permission-allowlist.js +0 -148
- package/dist/desktop/permission-allowlist.js.map +0 -1
- package/dist/desktop/types.d.ts +0 -177
- package/dist/desktop/types.d.ts.map +0 -1
- package/dist/desktop/types.js +0 -5
- package/dist/desktop/types.js.map +0 -1
- package/dist/ios/client.d.ts +0 -204
- package/dist/ios/client.d.ts.map +0 -1
- package/dist/ios/client.js +0 -483
- package/dist/ios/client.js.map +0 -1
- package/dist/ios/go-ios/client.d.ts +0 -23
- package/dist/ios/go-ios/client.d.ts.map +0 -1
- package/dist/ios/go-ios/client.js +0 -51
- package/dist/ios/go-ios/client.js.map +0 -1
- package/dist/ios/go-ios/index.d.ts +0 -4
- package/dist/ios/go-ios/index.d.ts.map +0 -1
- package/dist/ios/go-ios/index.js +0 -3
- package/dist/ios/go-ios/index.js.map +0 -1
- package/dist/ios/go-ios/parsers.d.ts +0 -28
- package/dist/ios/go-ios/parsers.d.ts.map +0 -1
- package/dist/ios/go-ios/parsers.js +0 -71
- package/dist/ios/go-ios/parsers.js.map +0 -1
- package/dist/ios/index.d.ts +0 -2
- package/dist/ios/index.d.ts.map +0 -1
- package/dist/ios/index.js +0 -2
- package/dist/ios/index.js.map +0 -1
- package/dist/ios/keymap.d.ts +0 -20
- package/dist/ios/keymap.d.ts.map +0 -1
- package/dist/ios/keymap.js +0 -33
- package/dist/ios/keymap.js.map +0 -1
- package/dist/ios/simctl-commands.d.ts +0 -35
- package/dist/ios/simctl-commands.d.ts.map +0 -1
- package/dist/ios/simctl-commands.js +0 -60
- package/dist/ios/simctl-commands.js.map +0 -1
- package/dist/ios/simctl-exec.d.ts +0 -19
- package/dist/ios/simctl-exec.d.ts.map +0 -1
- package/dist/ios/simctl-exec.js +0 -55
- package/dist/ios/simctl-exec.js.map +0 -1
- package/dist/ios/simctl-parsers.d.ts +0 -10
- package/dist/ios/simctl-parsers.d.ts.map +0 -1
- package/dist/ios/simctl-parsers.js +0 -29
- package/dist/ios/simctl-parsers.js.map +0 -1
- package/dist/ios/types.d.ts +0 -8
- package/dist/ios/types.d.ts.map +0 -1
- package/dist/ios/types.js +0 -2
- package/dist/ios/types.js.map +0 -1
- package/dist/ios/wda/index.d.ts +0 -4
- package/dist/ios/wda/index.d.ts.map +0 -1
- package/dist/ios/wda/index.js +0 -4
- package/dist/ios/wda/index.js.map +0 -1
- package/dist/ios/wda/wda-client.d.ts +0 -33
- package/dist/ios/wda/wda-client.d.ts.map +0 -1
- package/dist/ios/wda/wda-client.js +0 -250
- package/dist/ios/wda/wda-client.js.map +0 -1
- package/dist/ios/wda/wda-manager.d.ts +0 -34
- package/dist/ios/wda/wda-manager.d.ts.map +0 -1
- package/dist/ios/wda/wda-manager.js +0 -392
- package/dist/ios/wda/wda-manager.js.map +0 -1
- package/dist/ios/wda/wda-types.d.ts +0 -39
- package/dist/ios/wda/wda-types.d.ts.map +0 -1
- package/dist/ios/wda/wda-types.js +0 -2
- package/dist/ios/wda/wda-types.js.map +0 -1
- package/dist/ios/wda-errors.d.ts +0 -8
- package/dist/ios/wda-errors.d.ts.map +0 -1
- package/dist/ios/wda-errors.js +0 -13
- package/dist/ios/wda-errors.js.map +0 -1
- package/dist/ios/wda-payloads.d.ts +0 -32
- package/dist/ios/wda-payloads.d.ts.map +0 -1
- package/dist/ios/wda-payloads.js +0 -31
- package/dist/ios/wda-payloads.js.map +0 -1
- package/dist/plugins/android/index.d.ts +0 -23
- package/dist/plugins/android/index.d.ts.map +0 -1
- package/dist/plugins/android/index.js +0 -45
- package/dist/plugins/android/index.js.map +0 -1
- package/dist/plugins/aurora/index.d.ts +0 -17
- package/dist/plugins/aurora/index.d.ts.map +0 -1
- package/dist/plugins/aurora/index.js +0 -27
- package/dist/plugins/aurora/index.js.map +0 -1
- package/dist/plugins/desktop/index.d.ts +0 -18
- package/dist/plugins/desktop/index.d.ts.map +0 -1
- package/dist/plugins/desktop/index.js +0 -28
- package/dist/plugins/desktop/index.js.map +0 -1
- package/dist/plugins/ios/index.d.ts +0 -17
- package/dist/plugins/ios/index.d.ts.map +0 -1
- package/dist/plugins/ios/index.js +0 -36
- package/dist/plugins/ios/index.js.map +0 -1
- package/dist/plugins/web/index.d.ts +0 -17
- package/dist/plugins/web/index.d.ts.map +0 -1
- package/dist/plugins/web/index.js +0 -27
- package/dist/plugins/web/index.js.map +0 -1
- /package/dist/{adb → ui-tree}/ui-parser/diff-engine.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/diff-engine.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/element-builder.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/element-builder.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/element-finders.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/element-finders.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/compact.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/compact.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/full.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/full.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/index.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/index.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/semantic.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/formatters/semantic.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/node-parser.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/node-parser.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/screen-analyzer.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/screen-analyzer.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/types.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser/types.js +0 -0
- /package/dist/{adb → ui-tree}/ui-parser.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-parser.js +0 -0
- /package/dist/{adb → ui-tree}/ui-scoring.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-scoring.js +0 -0
- /package/dist/{adb → ui-tree}/ui-tree-cache.d.ts +0 -0
- /package/dist/{adb → ui-tree}/ui-tree-cache.js +0 -0
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BrowserAdapter -- implements CorePlatformAdapter only.
|
|
3
|
-
*
|
|
4
|
-
* Browser has no concept of app management, permissions, or shell access.
|
|
5
|
-
* Those capabilities are NOT implemented here -- no more "not supported" throws.
|
|
6
|
-
*/
|
|
7
|
-
import { BrowserClient } from "../browser/client.js";
|
|
8
|
-
import { SessionManager } from "../browser/session-manager.js";
|
|
9
|
-
import { compressScreenshot } from "../utils/image.js";
|
|
10
|
-
import { DEFAULT_SESSION } from "../browser/types.js";
|
|
11
|
-
import { BrowserNoSessionError, BrowserSessionNotFoundError } from "../errors.js";
|
|
12
|
-
const VIRTUAL_BROWSER_DEVICE = {
|
|
13
|
-
id: "browser",
|
|
14
|
-
name: "Browser (Chrome)",
|
|
15
|
-
platform: "browser",
|
|
16
|
-
state: "available",
|
|
17
|
-
isSimulator: false,
|
|
18
|
-
};
|
|
19
|
-
export class BrowserAdapter {
|
|
20
|
-
platform = "browser";
|
|
21
|
-
sessionManager;
|
|
22
|
-
client;
|
|
23
|
-
constructor() {
|
|
24
|
-
this.sessionManager = new SessionManager();
|
|
25
|
-
this.client = new BrowserClient(this.sessionManager);
|
|
26
|
-
}
|
|
27
|
-
// -- Device management --
|
|
28
|
-
listDevices() {
|
|
29
|
-
return [VIRTUAL_BROWSER_DEVICE];
|
|
30
|
-
}
|
|
31
|
-
selectDevice(_deviceId) { }
|
|
32
|
-
getSelectedDeviceId() { return "browser"; }
|
|
33
|
-
autoDetectDevice() { return VIRTUAL_BROWSER_DEVICE; }
|
|
34
|
-
// -- Core actions (via active session) --
|
|
35
|
-
getActiveSession(sessionName) {
|
|
36
|
-
const name = sessionName ?? DEFAULT_SESSION;
|
|
37
|
-
const session = this.sessionManager.getSession(name);
|
|
38
|
-
if (!session)
|
|
39
|
-
throw new BrowserNoSessionError();
|
|
40
|
-
return session;
|
|
41
|
-
}
|
|
42
|
-
async tap(x, y) {
|
|
43
|
-
await this.client.tap(this.getActiveSession(), x, y);
|
|
44
|
-
}
|
|
45
|
-
async doubleTap(x, y) {
|
|
46
|
-
const session = this.getActiveSession();
|
|
47
|
-
await this.client.tap(session, x, y);
|
|
48
|
-
await new Promise(r => setTimeout(r, 100));
|
|
49
|
-
await this.client.tap(session, x, y);
|
|
50
|
-
}
|
|
51
|
-
async longPress(x, y) {
|
|
52
|
-
const session = this.getActiveSession();
|
|
53
|
-
await session.cdp.Input.dispatchMouseEvent({ type: "mouseMoved", x, y });
|
|
54
|
-
await session.cdp.Input.dispatchMouseEvent({ type: "mousePressed", x, y, button: "left", clickCount: 1 });
|
|
55
|
-
await new Promise(r => setTimeout(r, 1000));
|
|
56
|
-
await session.cdp.Input.dispatchMouseEvent({ type: "mouseReleased", x, y, button: "left", clickCount: 1 });
|
|
57
|
-
}
|
|
58
|
-
async swipe(x1, y1, x2, y2, durationMs = 300) {
|
|
59
|
-
const session = this.getActiveSession();
|
|
60
|
-
const steps = Math.max(5, Math.floor(durationMs / 20));
|
|
61
|
-
await session.cdp.Input.dispatchMouseEvent({ type: "mousePressed", x: x1, y: y1, button: "left", clickCount: 1 });
|
|
62
|
-
for (let i = 1; i <= steps; i++) {
|
|
63
|
-
const x = Math.round(x1 + (x2 - x1) * (i / steps));
|
|
64
|
-
const y = Math.round(y1 + (y2 - y1) * (i / steps));
|
|
65
|
-
await session.cdp.Input.dispatchMouseEvent({ type: "mouseMoved", x, y });
|
|
66
|
-
await new Promise(r => setTimeout(r, durationMs / steps));
|
|
67
|
-
}
|
|
68
|
-
await session.cdp.Input.dispatchMouseEvent({ type: "mouseReleased", x: x2, y: y2, button: "left", clickCount: 1 });
|
|
69
|
-
}
|
|
70
|
-
async swipeDirection(direction) {
|
|
71
|
-
const { result } = await this.getActiveSession().cdp.Runtime.evaluate({
|
|
72
|
-
expression: `JSON.stringify({w: window.innerWidth, h: window.innerHeight})`,
|
|
73
|
-
returnByValue: true,
|
|
74
|
-
});
|
|
75
|
-
const { w = 800, h = 600 } = JSON.parse(result.value ?? "{}");
|
|
76
|
-
const cx = w / 2, cy = h / 2;
|
|
77
|
-
const offset = Math.min(w, h) * 0.3;
|
|
78
|
-
const dirs = {
|
|
79
|
-
up: [cx, cy + offset, cx, cy - offset],
|
|
80
|
-
down: [cx, cy - offset, cx, cy + offset],
|
|
81
|
-
left: [cx + offset, cy, cx - offset, cy],
|
|
82
|
-
right: [cx - offset, cy, cx + offset, cy],
|
|
83
|
-
};
|
|
84
|
-
const [x1, y1, x2, y2] = dirs[direction];
|
|
85
|
-
await this.swipe(x1, y1, x2, y2);
|
|
86
|
-
}
|
|
87
|
-
async inputText(text) {
|
|
88
|
-
await this.getActiveSession().cdp.Input.insertText({ text });
|
|
89
|
-
}
|
|
90
|
-
async pressKey(key) {
|
|
91
|
-
await this.client.pressKey(this.getActiveSession(), key);
|
|
92
|
-
}
|
|
93
|
-
// -- Screenshot --
|
|
94
|
-
async screenshotAsync(compress, options) {
|
|
95
|
-
const session = this.getActiveSession();
|
|
96
|
-
const buffer = await this.client.screenshot(session, false);
|
|
97
|
-
if (compress) {
|
|
98
|
-
return compressScreenshot(buffer, options);
|
|
99
|
-
}
|
|
100
|
-
return { data: buffer.toString("base64"), mimeType: "image/png" };
|
|
101
|
-
}
|
|
102
|
-
async getScreenshotBufferAsync() {
|
|
103
|
-
return this.client.screenshot(this.getActiveSession(), false);
|
|
104
|
-
}
|
|
105
|
-
// -- UI --
|
|
106
|
-
async getUiHierarchy() {
|
|
107
|
-
return this.client.getSnapshot(this.getActiveSession());
|
|
108
|
-
}
|
|
109
|
-
// -- System info --
|
|
110
|
-
async getSystemInfo() {
|
|
111
|
-
const sessions = this.sessionManager.listSessions();
|
|
112
|
-
return JSON.stringify({ platform: "browser", activeSessions: sessions.length, sessions }, null, 2);
|
|
113
|
-
}
|
|
114
|
-
// -- Browser-specific public API (used by browser-tools.ts) --
|
|
115
|
-
async open(options) {
|
|
116
|
-
const sessionName = options.session ?? DEFAULT_SESSION;
|
|
117
|
-
// Close existing session with same name if any
|
|
118
|
-
const existing = this.sessionManager.getSession(sessionName);
|
|
119
|
-
if (existing) {
|
|
120
|
-
await this.client.close(existing);
|
|
121
|
-
}
|
|
122
|
-
const session = await this.client.launch(options);
|
|
123
|
-
const snapshot = await this.client.getSnapshot(session);
|
|
124
|
-
return `Opened ${options.url} in session "${sessionName}"\n\n${snapshot}`;
|
|
125
|
-
}
|
|
126
|
-
async closeSession(session) {
|
|
127
|
-
if (!session) {
|
|
128
|
-
await this.client.closeAll();
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
const s = this.sessionManager.getSession(session);
|
|
132
|
-
if (!s)
|
|
133
|
-
throw new BrowserSessionNotFoundError(session, this.sessionManager.listSessions());
|
|
134
|
-
await this.client.close(s);
|
|
135
|
-
}
|
|
136
|
-
async navigate(options) {
|
|
137
|
-
const sessionName = options.session ?? DEFAULT_SESSION;
|
|
138
|
-
// If no session exists and url is provided, create one
|
|
139
|
-
if (!this.sessionManager.hasSession(sessionName) && options.url) {
|
|
140
|
-
return this.open({ url: options.url, session: sessionName });
|
|
141
|
-
}
|
|
142
|
-
const session = this.sessionManager.getSession(sessionName);
|
|
143
|
-
if (!session)
|
|
144
|
-
throw new BrowserNoSessionError();
|
|
145
|
-
await this.client.navigate(session, options);
|
|
146
|
-
const snapshot = await this.client.getSnapshot(session);
|
|
147
|
-
const action = options.action ?? `navigate to ${options.url}`;
|
|
148
|
-
return `${action} in session "${sessionName}"\n\n${snapshot}`;
|
|
149
|
-
}
|
|
150
|
-
async clickElement(options) {
|
|
151
|
-
const sessionName = options.session ?? DEFAULT_SESSION;
|
|
152
|
-
const session = this.sessionManager.getSession(sessionName);
|
|
153
|
-
if (!session)
|
|
154
|
-
throw new BrowserNoSessionError();
|
|
155
|
-
const { navigated, newUrl } = await this.client.click(session, options);
|
|
156
|
-
if (navigated) {
|
|
157
|
-
await new Promise(r => setTimeout(r, 500)); // let page settle
|
|
158
|
-
const snapshot = await this.client.getSnapshot(session);
|
|
159
|
-
return `Clicked -> navigated to ${newUrl}\n\n${snapshot}`;
|
|
160
|
-
}
|
|
161
|
-
return `Clicked successfully. Use browser(action:'snapshot') to see changes.`;
|
|
162
|
-
}
|
|
163
|
-
async fillField(options) {
|
|
164
|
-
const session = this.sessionManager.getSession(options.session ?? DEFAULT_SESSION);
|
|
165
|
-
if (!session)
|
|
166
|
-
throw new BrowserNoSessionError();
|
|
167
|
-
await this.client.fill(session, options);
|
|
168
|
-
}
|
|
169
|
-
async fillForm(options) {
|
|
170
|
-
const session = this.sessionManager.getSession(options.session ?? DEFAULT_SESSION);
|
|
171
|
-
if (!session)
|
|
172
|
-
throw new BrowserNoSessionError();
|
|
173
|
-
for (const field of options.fields) {
|
|
174
|
-
await this.client.fill(session, { ...field, session: options.session });
|
|
175
|
-
}
|
|
176
|
-
if (options.submit) {
|
|
177
|
-
await session.cdp.Input.dispatchKeyEvent({ type: "keyDown", key: "Enter", code: "Enter", windowsVirtualKeyCode: 13, text: "\r" });
|
|
178
|
-
await session.cdp.Input.dispatchKeyEvent({ type: "keyUp", key: "Enter", code: "Enter", windowsVirtualKeyCode: 13 });
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
async snapshot(sessionName) {
|
|
182
|
-
const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
|
|
183
|
-
if (!session)
|
|
184
|
-
throw new BrowserNoSessionError();
|
|
185
|
-
return this.client.getSnapshot(session);
|
|
186
|
-
}
|
|
187
|
-
async screenshotBrowser(sessionName, fullPage = false) {
|
|
188
|
-
const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
|
|
189
|
-
if (!session)
|
|
190
|
-
throw new BrowserNoSessionError();
|
|
191
|
-
return this.client.screenshot(session, fullPage);
|
|
192
|
-
}
|
|
193
|
-
async evaluateJs(expression, sessionName) {
|
|
194
|
-
const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
|
|
195
|
-
if (!session)
|
|
196
|
-
throw new BrowserNoSessionError();
|
|
197
|
-
console.error(`[browser_evaluate] session=${sessionName ?? DEFAULT_SESSION} expression=${expression.slice(0, 200)}`);
|
|
198
|
-
return this.client.evaluate(session, expression);
|
|
199
|
-
}
|
|
200
|
-
async waitForSelector(selector, timeout = 5000, state = "visible", sessionName) {
|
|
201
|
-
const session = this.sessionManager.getSession(sessionName ?? DEFAULT_SESSION);
|
|
202
|
-
if (!session)
|
|
203
|
-
throw new BrowserNoSessionError();
|
|
204
|
-
await this.client.waitForSelector(session, selector, timeout, state);
|
|
205
|
-
}
|
|
206
|
-
async clearSessionData(sessionName) {
|
|
207
|
-
const session = this.sessionManager.getSession(sessionName);
|
|
208
|
-
if (session) {
|
|
209
|
-
await this.client.close(session);
|
|
210
|
-
}
|
|
211
|
-
// Remove profile dir
|
|
212
|
-
const { rm } = await import("fs/promises");
|
|
213
|
-
const profileDir = this.sessionManager.getProfileDir(sessionName);
|
|
214
|
-
await rm(profileDir, { recursive: true, force: true });
|
|
215
|
-
}
|
|
216
|
-
listSessions() {
|
|
217
|
-
return this.sessionManager.listSessions();
|
|
218
|
-
}
|
|
219
|
-
async cleanup() {
|
|
220
|
-
await this.client.closeAll();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=browser-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-adapter.js","sourceRoot":"","sources":["../../src/adapters/browser-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DesktopAdapter -- wraps DesktopClient.
|
|
3
|
-
*
|
|
4
|
-
* Implements:
|
|
5
|
-
* - CorePlatformAdapter (universal)
|
|
6
|
-
* - AppManagementAdapter (launchApp / stopApp / installApp)
|
|
7
|
-
* - ShellAdapter (shell / logs)
|
|
8
|
-
*
|
|
9
|
-
* Does NOT implement PermissionAdapter or SyncScreenshotAdapter
|
|
10
|
-
* because desktop has no concept of runtime permissions or sync screenshots.
|
|
11
|
-
*/
|
|
12
|
-
import type { CorePlatformAdapter, AppManagementAdapter, ShellAdapter } from "./platform-adapter.js";
|
|
13
|
-
import type { Device } from "../device-manager.js";
|
|
14
|
-
import { DesktopClient } from "../desktop/client.js";
|
|
15
|
-
import type { RawLaunchOptions } from "../desktop/types.js";
|
|
16
|
-
export declare class DesktopAdapter implements CorePlatformAdapter, AppManagementAdapter, ShellAdapter {
|
|
17
|
-
readonly platform: "desktop";
|
|
18
|
-
private client;
|
|
19
|
-
constructor(client?: DesktopClient);
|
|
20
|
-
/** Raw client access -- needed by tools that call getDesktopClient(). */
|
|
21
|
-
getClient(): DesktopClient;
|
|
22
|
-
listDevices(): Device[];
|
|
23
|
-
selectDevice(_deviceId: string): void;
|
|
24
|
-
getSelectedDeviceId(): string | undefined;
|
|
25
|
-
autoDetectDevice(): Device | undefined;
|
|
26
|
-
isRunning(): boolean;
|
|
27
|
-
getState(): import("../desktop/types.js").DesktopState;
|
|
28
|
-
launch(options: RawLaunchOptions): Promise<void>;
|
|
29
|
-
stop(): Promise<void>;
|
|
30
|
-
private ensureRunning;
|
|
31
|
-
tap(x: number, y: number, targetPid?: number): Promise<void>;
|
|
32
|
-
doubleTap(x: number, y: number, intervalMs?: number): Promise<void>;
|
|
33
|
-
longPress(x: number, y: number, durationMs?: number): Promise<void>;
|
|
34
|
-
swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number): Promise<void>;
|
|
35
|
-
swipeDirection(direction: "up" | "down" | "left" | "right"): Promise<void>;
|
|
36
|
-
inputText(text: string, targetPid?: number): Promise<void>;
|
|
37
|
-
pressKey(key: string, targetPid?: number): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Resolve the main window ID for the target process.
|
|
40
|
-
* Returns undefined if no targetPid or no matching window found.
|
|
41
|
-
*/
|
|
42
|
-
private resolveTargetWindowId;
|
|
43
|
-
screenshotAsync(_compress?: boolean, options?: {
|
|
44
|
-
monitorIndex?: number;
|
|
45
|
-
}): Promise<{
|
|
46
|
-
data: string;
|
|
47
|
-
mimeType: string;
|
|
48
|
-
}>;
|
|
49
|
-
getScreenshotBufferAsync(): Promise<Buffer>;
|
|
50
|
-
getUiHierarchy(): Promise<string>;
|
|
51
|
-
launchApp(packageName: string): Promise<string>;
|
|
52
|
-
stopApp(packageName: string): void;
|
|
53
|
-
installApp(_path: string): string;
|
|
54
|
-
shell(command: string): string;
|
|
55
|
-
getLogs(options?: {
|
|
56
|
-
level?: string;
|
|
57
|
-
tag?: string;
|
|
58
|
-
lines?: number;
|
|
59
|
-
package?: string;
|
|
60
|
-
}): string;
|
|
61
|
-
clearLogs(): string;
|
|
62
|
-
getSystemInfo(): Promise<string>;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=desktop-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"desktop-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/desktop-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DesktopAdapter -- wraps DesktopClient.
|
|
3
|
-
*
|
|
4
|
-
* Implements:
|
|
5
|
-
* - CorePlatformAdapter (universal)
|
|
6
|
-
* - AppManagementAdapter (launchApp / stopApp / installApp)
|
|
7
|
-
* - ShellAdapter (shell / logs)
|
|
8
|
-
*
|
|
9
|
-
* Does NOT implement PermissionAdapter or SyncScreenshotAdapter
|
|
10
|
-
* because desktop has no concept of runtime permissions or sync screenshots.
|
|
11
|
-
*/
|
|
12
|
-
import { DesktopClient } from "../desktop/client.js";
|
|
13
|
-
export class DesktopAdapter {
|
|
14
|
-
platform = "desktop";
|
|
15
|
-
client;
|
|
16
|
-
constructor(client) {
|
|
17
|
-
this.client = client ?? new DesktopClient();
|
|
18
|
-
}
|
|
19
|
-
/** Raw client access -- needed by tools that call getDesktopClient(). */
|
|
20
|
-
getClient() {
|
|
21
|
-
return this.client;
|
|
22
|
-
}
|
|
23
|
-
// ============ Device management ============
|
|
24
|
-
listDevices() {
|
|
25
|
-
if (!this.client.isRunning()) {
|
|
26
|
-
return [];
|
|
27
|
-
}
|
|
28
|
-
const state = this.client.getState();
|
|
29
|
-
return [
|
|
30
|
-
{
|
|
31
|
-
id: "desktop",
|
|
32
|
-
name: "Desktop App",
|
|
33
|
-
platform: "desktop",
|
|
34
|
-
state: state.status,
|
|
35
|
-
isSimulator: false,
|
|
36
|
-
},
|
|
37
|
-
];
|
|
38
|
-
}
|
|
39
|
-
selectDevice(_deviceId) {
|
|
40
|
-
// Desktop has no notion of device selection -- it's always "desktop".
|
|
41
|
-
// No-op; the important thing is that activeTarget is set in DeviceManager.
|
|
42
|
-
}
|
|
43
|
-
getSelectedDeviceId() {
|
|
44
|
-
return this.client.isRunning() ? "desktop" : undefined;
|
|
45
|
-
}
|
|
46
|
-
autoDetectDevice() {
|
|
47
|
-
if (!this.client.isRunning())
|
|
48
|
-
return undefined;
|
|
49
|
-
const state = this.client.getState();
|
|
50
|
-
return {
|
|
51
|
-
id: "desktop",
|
|
52
|
-
name: "Desktop App",
|
|
53
|
-
platform: "desktop",
|
|
54
|
-
state: state.status,
|
|
55
|
-
isSimulator: false,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
// ============ Desktop-specific lifecycle ============
|
|
59
|
-
isRunning() {
|
|
60
|
-
return this.client.isRunning();
|
|
61
|
-
}
|
|
62
|
-
getState() {
|
|
63
|
-
return this.client.getState();
|
|
64
|
-
}
|
|
65
|
-
async launch(options) {
|
|
66
|
-
await this.client.launch(options);
|
|
67
|
-
}
|
|
68
|
-
async stop() {
|
|
69
|
-
await this.client.stop();
|
|
70
|
-
}
|
|
71
|
-
// ============ Core actions ============
|
|
72
|
-
ensureRunning() {
|
|
73
|
-
if (!this.client.isRunning()) {
|
|
74
|
-
throw new Error("Desktop app is not running. Use desktop(action:'launch') first.");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async tap(x, y, targetPid) {
|
|
78
|
-
this.ensureRunning();
|
|
79
|
-
await this.client.tap(x, y, targetPid);
|
|
80
|
-
}
|
|
81
|
-
async doubleTap(x, y, intervalMs = 100) {
|
|
82
|
-
this.ensureRunning();
|
|
83
|
-
await this.client.tap(x, y);
|
|
84
|
-
await new Promise(resolve => setTimeout(resolve, intervalMs));
|
|
85
|
-
await this.client.tap(x, y);
|
|
86
|
-
}
|
|
87
|
-
async longPress(x, y, durationMs = 1000) {
|
|
88
|
-
this.ensureRunning();
|
|
89
|
-
await this.client.longPress(x, y, durationMs);
|
|
90
|
-
}
|
|
91
|
-
async swipe(x1, y1, x2, y2, durationMs = 300) {
|
|
92
|
-
this.ensureRunning();
|
|
93
|
-
await this.client.swipe(x1, y1, x2, y2, durationMs);
|
|
94
|
-
}
|
|
95
|
-
async swipeDirection(direction) {
|
|
96
|
-
this.ensureRunning();
|
|
97
|
-
await this.client.swipeDirection(direction);
|
|
98
|
-
}
|
|
99
|
-
async inputText(text, targetPid) {
|
|
100
|
-
this.ensureRunning();
|
|
101
|
-
await this.client.inputText(text, targetPid);
|
|
102
|
-
}
|
|
103
|
-
async pressKey(key, targetPid) {
|
|
104
|
-
this.ensureRunning();
|
|
105
|
-
await this.client.pressKey(key, undefined, targetPid);
|
|
106
|
-
}
|
|
107
|
-
// ============ Screenshot ============
|
|
108
|
-
/**
|
|
109
|
-
* Resolve the main window ID for the target process.
|
|
110
|
-
* Returns undefined if no targetPid or no matching window found.
|
|
111
|
-
*/
|
|
112
|
-
async resolveTargetWindowId() {
|
|
113
|
-
const pid = this.client.targetPid;
|
|
114
|
-
if (!pid)
|
|
115
|
-
return undefined;
|
|
116
|
-
try {
|
|
117
|
-
const info = await this.client.getWindowInfo();
|
|
118
|
-
// Prefer focused window of target process, fall back to first window
|
|
119
|
-
const targetWindows = info.windows.filter((w) => w.processId === pid);
|
|
120
|
-
const focused = targetWindows.find((w) => w.focused);
|
|
121
|
-
return (focused ?? targetWindows[0])?.id;
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
return undefined;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
async screenshotAsync(_compress = true, options) {
|
|
128
|
-
this.ensureRunning();
|
|
129
|
-
const windowId = await this.resolveTargetWindowId();
|
|
130
|
-
const result = await this.client.screenshotWithMeta({
|
|
131
|
-
windowId,
|
|
132
|
-
monitorIndex: options?.monitorIndex,
|
|
133
|
-
});
|
|
134
|
-
return { data: result.base64, mimeType: result.mimeType };
|
|
135
|
-
}
|
|
136
|
-
async getScreenshotBufferAsync() {
|
|
137
|
-
this.ensureRunning();
|
|
138
|
-
const windowId = await this.resolveTargetWindowId();
|
|
139
|
-
const result = await this.client.screenshotWithMeta({ windowId });
|
|
140
|
-
return Buffer.from(result.base64, "base64");
|
|
141
|
-
}
|
|
142
|
-
// ============ UI ============
|
|
143
|
-
async getUiHierarchy() {
|
|
144
|
-
this.ensureRunning();
|
|
145
|
-
const hierarchy = await this.client.getUiHierarchy();
|
|
146
|
-
return formatDesktopHierarchy(hierarchy);
|
|
147
|
-
}
|
|
148
|
-
// ============ App management (AppManagementAdapter) ============
|
|
149
|
-
async launchApp(packageName) {
|
|
150
|
-
return this.client.launchApp(packageName);
|
|
151
|
-
}
|
|
152
|
-
stopApp(packageName) {
|
|
153
|
-
this.client.stopApp(packageName);
|
|
154
|
-
}
|
|
155
|
-
installApp(_path) {
|
|
156
|
-
return "Desktop platform doesn't support app installation";
|
|
157
|
-
}
|
|
158
|
-
// ============ Shell / Logs (ShellAdapter) ============
|
|
159
|
-
shell(command) {
|
|
160
|
-
return this.client.shell(command);
|
|
161
|
-
}
|
|
162
|
-
getLogs(options = {}) {
|
|
163
|
-
const logs = this.client.getLogs({
|
|
164
|
-
limit: options.lines ?? 100,
|
|
165
|
-
});
|
|
166
|
-
return logs.map((l) => `[${l.type}] ${l.message}`).join("\n");
|
|
167
|
-
}
|
|
168
|
-
clearLogs() {
|
|
169
|
-
this.client.clearLogs();
|
|
170
|
-
return "Desktop logs cleared";
|
|
171
|
-
}
|
|
172
|
-
// ============ System info ============
|
|
173
|
-
async getSystemInfo() {
|
|
174
|
-
this.ensureRunning();
|
|
175
|
-
const metrics = await this.client.getPerformanceMetrics();
|
|
176
|
-
return `=== Desktop Performance ===\nMemory: ${metrics.memoryUsageMb} MB${metrics.cpuPercent ? `\nCPU: ${metrics.cpuPercent}%` : ""}`;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
// ============ Helpers (moved from old device-manager.ts) ============
|
|
180
|
-
/**
|
|
181
|
-
* Format desktop UI hierarchy as text
|
|
182
|
-
*/
|
|
183
|
-
function formatDesktopHierarchy(hierarchy) {
|
|
184
|
-
const lines = [];
|
|
185
|
-
lines.push(`Scale Factor: ${hierarchy.scaleFactor}`);
|
|
186
|
-
lines.push(`\n=== Windows (${hierarchy.windows.length}) ===`);
|
|
187
|
-
for (const win of hierarchy.windows) {
|
|
188
|
-
const focused = win.focused ? " [FOCUSED]" : "";
|
|
189
|
-
lines.push(` ${win.title}${focused} (${win.bounds.width}x${win.bounds.height})`);
|
|
190
|
-
}
|
|
191
|
-
lines.push(`\n=== UI Elements (${hierarchy.elements.length}) ===`);
|
|
192
|
-
for (const el of hierarchy.elements) {
|
|
193
|
-
const text = el.text ? `"${el.text}"` : "";
|
|
194
|
-
const role = el.role || el.className;
|
|
195
|
-
const clickable = el.clickable ? " [clickable]" : "";
|
|
196
|
-
const focused = el.focused ? " [focused]" : "";
|
|
197
|
-
lines.push(`[${el.index}] ${role} ${text}${clickable}${focused} ` +
|
|
198
|
-
`(${el.centerX}, ${el.centerY}) [${el.bounds.x},${el.bounds.y},${el.bounds.width},${el.bounds.height}]`);
|
|
199
|
-
}
|
|
200
|
-
return lines.join("\n");
|
|
201
|
-
}
|
|
202
|
-
//# sourceMappingURL=desktop-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"desktop-adapter.js","sourceRoot":"","sources":["../../src/adapters/desktop-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IosAdapter -- wraps IosClient.
|
|
3
|
-
*
|
|
4
|
-
* Implements all capability interfaces:
|
|
5
|
-
* - CorePlatformAdapter
|
|
6
|
-
* - AppManagementAdapter
|
|
7
|
-
* - PermissionAdapter
|
|
8
|
-
* - ShellAdapter
|
|
9
|
-
* - SyncScreenshotAdapter
|
|
10
|
-
*/
|
|
11
|
-
import type { CorePlatformAdapter, AppManagementAdapter, PermissionAdapter, ShellAdapter, SyncScreenshotAdapter } from "./platform-adapter.js";
|
|
12
|
-
import type { Device } from "../device-manager.js";
|
|
13
|
-
import { IosClient } from "../ios/client.js";
|
|
14
|
-
import { type CompressOptions } from "../utils/image.js";
|
|
15
|
-
export declare class IosAdapter implements CorePlatformAdapter, AppManagementAdapter, PermissionAdapter, ShellAdapter, SyncScreenshotAdapter {
|
|
16
|
-
readonly platform: "ios";
|
|
17
|
-
private client;
|
|
18
|
-
private _selectedDeviceId;
|
|
19
|
-
constructor(client?: IosClient);
|
|
20
|
-
/** Raw client access -- needed by tools that call getIosClient(). */
|
|
21
|
-
getClient(deviceId?: string): IosClient;
|
|
22
|
-
/** Return a client targeting deviceId without mutating global state. */
|
|
23
|
-
private clientFor;
|
|
24
|
-
listDevices(): Device[];
|
|
25
|
-
selectDevice(deviceId: string): void;
|
|
26
|
-
getSelectedDeviceId(): string | undefined;
|
|
27
|
-
autoDetectDevice(): Device | undefined;
|
|
28
|
-
tap(x: number, y: number, _targetPid?: number, deviceId?: string): Promise<void>;
|
|
29
|
-
doubleTap(x: number, y: number, intervalMs?: number, deviceId?: string): Promise<void>;
|
|
30
|
-
longPress(x: number, y: number, durationMs?: number, deviceId?: string): Promise<void>;
|
|
31
|
-
swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number, deviceId?: string): Promise<void>;
|
|
32
|
-
swipeDirection(direction: "up" | "down" | "left" | "right", deviceId?: string): Promise<void>;
|
|
33
|
-
inputText(text: string, _targetPid?: number, deviceId?: string): Promise<void>;
|
|
34
|
-
pressKey(key: string): Promise<void>;
|
|
35
|
-
screenshotAsync(compress?: boolean, options?: CompressOptions & {
|
|
36
|
-
monitorIndex?: number;
|
|
37
|
-
}, deviceId?: string): Promise<{
|
|
38
|
-
data: string;
|
|
39
|
-
mimeType: string;
|
|
40
|
-
}>;
|
|
41
|
-
getScreenshotBufferAsync(deviceId?: string): Promise<Buffer>;
|
|
42
|
-
screenshotRaw(): string;
|
|
43
|
-
getUiHierarchy(deviceId?: string): Promise<string>;
|
|
44
|
-
launchApp(bundleId: string, deviceId?: string): string;
|
|
45
|
-
stopApp(bundleId: string, deviceId?: string): void;
|
|
46
|
-
installApp(path: string): string;
|
|
47
|
-
grantPermission(bundleId: string, service: string): string;
|
|
48
|
-
revokePermission(bundleId: string, service: string): string;
|
|
49
|
-
resetPermissions(bundleId: string): string;
|
|
50
|
-
shell(command: string): string;
|
|
51
|
-
getLogs(options?: {
|
|
52
|
-
level?: string;
|
|
53
|
-
tag?: string;
|
|
54
|
-
lines?: number;
|
|
55
|
-
package?: string;
|
|
56
|
-
}): string;
|
|
57
|
-
clearLogs(): string;
|
|
58
|
-
getSystemInfo(): Promise<string>;
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=ios-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ios-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ios-adapter.ts"],"names":[],"mappings":"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"}
|