claude-in-mobile 3.13.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/plugins/repl/client.d.ts +15 -1
- package/dist/plugins/repl/client.d.ts.map +1 -1
- package/dist/plugins/repl/client.js +65 -8
- package/dist/plugins/repl/client.js.map +1 -1
- package/dist/plugins/repl/index.d.ts +2 -0
- package/dist/plugins/repl/index.d.ts.map +1 -1
- package/dist/plugins/repl/index.js +22 -3
- package/dist/plugins/repl/index.js.map +1 -1
- package/dist/plugins/repl/types.d.ts +6 -0
- package/dist/plugins/repl/types.d.ts.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 -194
- package/dist/ios/client.d.ts.map +0 -1
- package/dist/ios/client.js +0 -457
- package/dist/ios/client.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 -27
- package/dist/ios/wda/wda-client.d.ts.map +0 -1
- package/dist/ios/wda/wda-client.js +0 -237
- package/dist/ios/wda/wda-client.js.map +0 -1
- package/dist/ios/wda/wda-manager.d.ts +0 -18
- package/dist/ios/wda/wda-manager.d.ts.map +0 -1
- package/dist/ios/wda/wda-manager.js +0 -238
- 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,118 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AuroraAdapter -- wraps AuroraClient.
|
|
3
|
-
*
|
|
4
|
-
* Implements:
|
|
5
|
-
* - CorePlatformAdapter
|
|
6
|
-
* - AppManagementAdapter
|
|
7
|
-
* - ShellAdapter
|
|
8
|
-
* - SyncScreenshotAdapter
|
|
9
|
-
*
|
|
10
|
-
* Does NOT implement PermissionAdapter -- Aurora OS does not support
|
|
11
|
-
* runtime permission management.
|
|
12
|
-
*/
|
|
13
|
-
import { auroraClient as defaultAuroraClient } from "../aurora/index.js";
|
|
14
|
-
import { compressScreenshot } from "../utils/image.js";
|
|
15
|
-
export class AuroraAdapter {
|
|
16
|
-
platform = "aurora";
|
|
17
|
-
client;
|
|
18
|
-
constructor(client) {
|
|
19
|
-
this.client = client ?? defaultAuroraClient;
|
|
20
|
-
}
|
|
21
|
-
/** Raw client access -- needed by tools that call getAuroraClient(). */
|
|
22
|
-
getClient() {
|
|
23
|
-
return this.client;
|
|
24
|
-
}
|
|
25
|
-
// ============ Device management ============
|
|
26
|
-
listDevices() {
|
|
27
|
-
try {
|
|
28
|
-
return this.client.listDevices();
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
selectDevice(_deviceId) {
|
|
35
|
-
// Aurora device selection is managed by audb config, not by the client.
|
|
36
|
-
// No-op here.
|
|
37
|
-
}
|
|
38
|
-
getSelectedDeviceId() {
|
|
39
|
-
try {
|
|
40
|
-
return this.client.getActiveDevice();
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return undefined;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
autoDetectDevice() {
|
|
47
|
-
const devices = this.listDevices();
|
|
48
|
-
return devices.find((d) => d.state === "device" || d.state === "booted" || d.state === "connected");
|
|
49
|
-
}
|
|
50
|
-
// ============ Core actions ============
|
|
51
|
-
async tap(x, y) {
|
|
52
|
-
this.client.tap(x, y);
|
|
53
|
-
}
|
|
54
|
-
async doubleTap(x, y, intervalMs = 100) {
|
|
55
|
-
// Aurora: two taps with interval
|
|
56
|
-
this.client.tap(x, y);
|
|
57
|
-
await new Promise(resolve => setTimeout(resolve, intervalMs));
|
|
58
|
-
this.client.tap(x, y);
|
|
59
|
-
}
|
|
60
|
-
async longPress(x, y, durationMs = 1000) {
|
|
61
|
-
this.client.longPress(x, y, durationMs);
|
|
62
|
-
}
|
|
63
|
-
async swipe(x1, y1, x2, y2, durationMs) {
|
|
64
|
-
this.client.swipe(x1, y1, x2, y2, durationMs);
|
|
65
|
-
}
|
|
66
|
-
async swipeDirection(direction) {
|
|
67
|
-
this.client.swipeDirection(direction);
|
|
68
|
-
}
|
|
69
|
-
async inputText(text) {
|
|
70
|
-
this.client.inputText(text);
|
|
71
|
-
}
|
|
72
|
-
async pressKey(key) {
|
|
73
|
-
this.client.pressKey(key);
|
|
74
|
-
}
|
|
75
|
-
// ============ Screenshot ============
|
|
76
|
-
async screenshotAsync(compress = true, options) {
|
|
77
|
-
const buffer = this.client.screenshotRaw();
|
|
78
|
-
if (compress) {
|
|
79
|
-
return compressScreenshot(buffer, options);
|
|
80
|
-
}
|
|
81
|
-
return { data: buffer.toString("base64"), mimeType: "image/png" };
|
|
82
|
-
}
|
|
83
|
-
async getScreenshotBufferAsync() {
|
|
84
|
-
return this.client.screenshotRaw();
|
|
85
|
-
}
|
|
86
|
-
screenshotRaw() {
|
|
87
|
-
return this.client.screenshot();
|
|
88
|
-
}
|
|
89
|
-
// ============ UI ============
|
|
90
|
-
async getUiHierarchy() {
|
|
91
|
-
return this.client.getUiHierarchy();
|
|
92
|
-
}
|
|
93
|
-
// ============ App management (AppManagementAdapter) ============
|
|
94
|
-
launchApp(packageName) {
|
|
95
|
-
return this.client.launchApp(packageName);
|
|
96
|
-
}
|
|
97
|
-
stopApp(packageName) {
|
|
98
|
-
this.client.stopApp(packageName);
|
|
99
|
-
}
|
|
100
|
-
installApp(path) {
|
|
101
|
-
return this.client.installApp(path);
|
|
102
|
-
}
|
|
103
|
-
// ============ Shell / Logs (ShellAdapter) ============
|
|
104
|
-
shell(command) {
|
|
105
|
-
return this.client.shell(command);
|
|
106
|
-
}
|
|
107
|
-
getLogs(options = {}) {
|
|
108
|
-
return this.client.getLogs(options);
|
|
109
|
-
}
|
|
110
|
-
clearLogs() {
|
|
111
|
-
return this.client.clearLogs();
|
|
112
|
-
}
|
|
113
|
-
// ============ System info ============
|
|
114
|
-
async getSystemInfo() {
|
|
115
|
-
return this.client.getSystemInfo();
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=aurora-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aurora-adapter.js","sourceRoot":"","sources":["../../src/adapters/aurora-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +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 type { CorePlatformAdapter } from "./platform-adapter.js";
|
|
8
|
-
import type { Platform, Device } from "../device-manager.js";
|
|
9
|
-
import type { CompressOptions } from "../utils/image.js";
|
|
10
|
-
import { BrowserClient } from "../browser/client.js";
|
|
11
|
-
import { SessionManager } from "../browser/session-manager.js";
|
|
12
|
-
import type { BrowserOpenOptions, BrowserNavigateOptions, BrowserClickOptions, BrowserFillOptions, BrowserFillFormOptions } from "../browser/types.js";
|
|
13
|
-
export declare class BrowserAdapter implements CorePlatformAdapter {
|
|
14
|
-
readonly platform: Platform;
|
|
15
|
-
readonly sessionManager: SessionManager;
|
|
16
|
-
readonly client: BrowserClient;
|
|
17
|
-
constructor();
|
|
18
|
-
listDevices(): Device[];
|
|
19
|
-
selectDevice(_deviceId: string): void;
|
|
20
|
-
getSelectedDeviceId(): string | undefined;
|
|
21
|
-
autoDetectDevice(): Device | undefined;
|
|
22
|
-
private getActiveSession;
|
|
23
|
-
tap(x: number, y: number): Promise<void>;
|
|
24
|
-
doubleTap(x: number, y: number): Promise<void>;
|
|
25
|
-
longPress(x: number, y: number): Promise<void>;
|
|
26
|
-
swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number): Promise<void>;
|
|
27
|
-
swipeDirection(direction: "up" | "down" | "left" | "right"): Promise<void>;
|
|
28
|
-
inputText(text: string): Promise<void>;
|
|
29
|
-
pressKey(key: string): Promise<void>;
|
|
30
|
-
screenshotAsync(compress: boolean, options?: CompressOptions): Promise<{
|
|
31
|
-
data: string;
|
|
32
|
-
mimeType: string;
|
|
33
|
-
}>;
|
|
34
|
-
getScreenshotBufferAsync(): Promise<Buffer>;
|
|
35
|
-
getUiHierarchy(): Promise<string>;
|
|
36
|
-
getSystemInfo(): Promise<string>;
|
|
37
|
-
open(options: BrowserOpenOptions): Promise<string>;
|
|
38
|
-
closeSession(session?: string): Promise<void>;
|
|
39
|
-
navigate(options: BrowserNavigateOptions): Promise<string>;
|
|
40
|
-
clickElement(options: BrowserClickOptions): Promise<string>;
|
|
41
|
-
fillField(options: BrowserFillOptions): Promise<void>;
|
|
42
|
-
fillForm(options: BrowserFillFormOptions): Promise<void>;
|
|
43
|
-
snapshot(sessionName?: string): Promise<string>;
|
|
44
|
-
screenshotBrowser(sessionName?: string, fullPage?: boolean): Promise<Buffer>;
|
|
45
|
-
evaluateJs(expression: string, sessionName?: string): Promise<string>;
|
|
46
|
-
waitForSelector(selector: string, timeout?: number, state?: "attached" | "visible", sessionName?: string): Promise<void>;
|
|
47
|
-
clearSessionData(sessionName: string): Promise<void>;
|
|
48
|
-
listSessions(): string[];
|
|
49
|
-
cleanup(): Promise<void>;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=browser-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/browser-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|