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,238 +0,0 @@
|
|
|
1
|
-
import { execSync, spawn } from "child_process";
|
|
2
|
-
import * as fs from "fs";
|
|
3
|
-
import * as path from "path";
|
|
4
|
-
import * as os from "os";
|
|
5
|
-
import { WDAClient } from "./wda-client.js";
|
|
6
|
-
export class WDAManager {
|
|
7
|
-
instances = new Map();
|
|
8
|
-
clients = new Map();
|
|
9
|
-
/** Deduplicates parallel launches for the same device */
|
|
10
|
-
launchPromises = new Map();
|
|
11
|
-
startupTimeout = 30000;
|
|
12
|
-
buildTimeout = 120000;
|
|
13
|
-
async ensureWDAReady(deviceId) {
|
|
14
|
-
// Check existing client
|
|
15
|
-
if (this.clients.has(deviceId)) {
|
|
16
|
-
const client = this.clients.get(deviceId);
|
|
17
|
-
try {
|
|
18
|
-
await client.ensureSession(deviceId);
|
|
19
|
-
return client;
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
23
|
-
console.error("WDA client failed, relaunching:", msg);
|
|
24
|
-
// Clean up failed instance
|
|
25
|
-
const instance = this.instances.get(deviceId);
|
|
26
|
-
if (instance) {
|
|
27
|
-
try {
|
|
28
|
-
process.kill(instance.pid);
|
|
29
|
-
}
|
|
30
|
-
catch { }
|
|
31
|
-
}
|
|
32
|
-
this.clients.delete(deviceId);
|
|
33
|
-
this.instances.delete(deviceId);
|
|
34
|
-
// Fall through to relaunch
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
// Deduplicate parallel launches — if another call is already launching
|
|
38
|
-
// WDA for this device, reuse its promise instead of spawning a second xcodebuild
|
|
39
|
-
if (this.launchPromises.has(deviceId)) {
|
|
40
|
-
return this.launchPromises.get(deviceId);
|
|
41
|
-
}
|
|
42
|
-
const launchPromise = this.doLaunch(deviceId);
|
|
43
|
-
this.launchPromises.set(deviceId, launchPromise);
|
|
44
|
-
try {
|
|
45
|
-
return await launchPromise;
|
|
46
|
-
}
|
|
47
|
-
finally {
|
|
48
|
-
this.launchPromises.delete(deviceId);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async doLaunch(deviceId) {
|
|
52
|
-
const wdaPath = await this.discoverWDA();
|
|
53
|
-
await this.buildWDAIfNeeded(wdaPath);
|
|
54
|
-
const port = await this.findFreePort();
|
|
55
|
-
await this.launchWDA(wdaPath, deviceId, port);
|
|
56
|
-
const client = new WDAClient(port);
|
|
57
|
-
await client.ensureSession(deviceId);
|
|
58
|
-
this.clients.set(deviceId, client);
|
|
59
|
-
return client;
|
|
60
|
-
}
|
|
61
|
-
async discoverWDA() {
|
|
62
|
-
const searchPaths = [
|
|
63
|
-
process.env.WDA_PATH,
|
|
64
|
-
path.join(os.homedir(), ".appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent"),
|
|
65
|
-
"/opt/homebrew/lib/node_modules/appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent",
|
|
66
|
-
"/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent",
|
|
67
|
-
].filter(Boolean);
|
|
68
|
-
for (const searchPath of searchPaths) {
|
|
69
|
-
if (fs.existsSync(searchPath)) {
|
|
70
|
-
const projectPath = path.join(searchPath, "WebDriverAgent.xcodeproj");
|
|
71
|
-
if (fs.existsSync(projectPath)) {
|
|
72
|
-
return searchPath;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
throw new Error("WebDriverAgent not found.\n\n" +
|
|
77
|
-
"Install Appium with XCUITest driver:\n" +
|
|
78
|
-
" npm install -g appium\n" +
|
|
79
|
-
" appium driver install xcuitest\n\n" +
|
|
80
|
-
"Or set WDA_PATH environment variable:\n" +
|
|
81
|
-
" export WDA_PATH=/path/to/WebDriverAgent\n\n" +
|
|
82
|
-
"Search paths checked:\n" +
|
|
83
|
-
searchPaths.map((p) => ` - ${p}`).join("\n"));
|
|
84
|
-
}
|
|
85
|
-
async buildWDAIfNeeded(wdaPath) {
|
|
86
|
-
const buildDir = path.join(wdaPath, "build");
|
|
87
|
-
if (fs.existsSync(buildDir)) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
console.error("Building WebDriverAgent for first use...");
|
|
91
|
-
try {
|
|
92
|
-
execSync("xcodebuild build-for-testing " +
|
|
93
|
-
"-project WebDriverAgent.xcodeproj " +
|
|
94
|
-
"-scheme WebDriverAgentRunner " +
|
|
95
|
-
"-destination 'platform=iOS Simulator,name=iPhone 14'", {
|
|
96
|
-
cwd: wdaPath,
|
|
97
|
-
timeout: this.buildTimeout,
|
|
98
|
-
stdio: "pipe",
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
const e = error;
|
|
103
|
-
const detail = e.stderr?.toString() || e.stdout?.toString() || e.message || String(error);
|
|
104
|
-
throw new Error("Failed to build WebDriverAgent.\n\n" +
|
|
105
|
-
`${detail}\n\n` +
|
|
106
|
-
"Troubleshooting:\n" +
|
|
107
|
-
"1. Install Xcode: https://apps.apple.com/app/xcode/id497799835\n" +
|
|
108
|
-
"2. Install command line tools: xcode-select --install\n" +
|
|
109
|
-
"3. Accept license: sudo xcodebuild -license accept\n" +
|
|
110
|
-
"4. Set Xcode path: sudo xcode-select -s /Applications/Xcode.app");
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
async launchWDA(wdaPath, deviceId, port) {
|
|
114
|
-
const existingInstance = this.instances.get(deviceId);
|
|
115
|
-
if (existingInstance) {
|
|
116
|
-
try {
|
|
117
|
-
process.kill(existingInstance.pid, 0);
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
this.instances.delete(deviceId);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
const wdaProcess = spawn("xcodebuild", [
|
|
125
|
-
"test-without-building",
|
|
126
|
-
"-project",
|
|
127
|
-
"WebDriverAgent.xcodeproj",
|
|
128
|
-
"-scheme",
|
|
129
|
-
"WebDriverAgentRunner",
|
|
130
|
-
"-destination",
|
|
131
|
-
`platform=iOS Simulator,id=${deviceId}`,
|
|
132
|
-
], {
|
|
133
|
-
cwd: wdaPath,
|
|
134
|
-
env: {
|
|
135
|
-
...process.env,
|
|
136
|
-
USE_PORT: port.toString(),
|
|
137
|
-
},
|
|
138
|
-
stdio: "pipe",
|
|
139
|
-
});
|
|
140
|
-
this.instances.set(deviceId, {
|
|
141
|
-
pid: wdaProcess.pid,
|
|
142
|
-
port,
|
|
143
|
-
deviceId,
|
|
144
|
-
});
|
|
145
|
-
const MAX_OUTPUT_CHARS = 50_000;
|
|
146
|
-
let output = "";
|
|
147
|
-
const appendOutput = (data) => {
|
|
148
|
-
output += data.toString();
|
|
149
|
-
if (output.length > MAX_OUTPUT_CHARS) {
|
|
150
|
-
output = output.slice(output.length - MAX_OUTPUT_CHARS);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
wdaProcess.stdout?.on("data", appendOutput);
|
|
154
|
-
wdaProcess.stderr?.on("data", appendOutput);
|
|
155
|
-
wdaProcess.on("exit", (code) => {
|
|
156
|
-
this.instances.delete(deviceId);
|
|
157
|
-
this.clients.delete(deviceId);
|
|
158
|
-
});
|
|
159
|
-
const startTime = Date.now();
|
|
160
|
-
while (Date.now() - startTime < this.startupTimeout) {
|
|
161
|
-
try {
|
|
162
|
-
const health = await this.checkHealth(port);
|
|
163
|
-
if (health) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
// Continue waiting
|
|
169
|
-
}
|
|
170
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
171
|
-
}
|
|
172
|
-
try {
|
|
173
|
-
process.kill(wdaProcess.pid);
|
|
174
|
-
}
|
|
175
|
-
catch { }
|
|
176
|
-
throw new Error("WebDriverAgent failed to start within 30s.\n\n" +
|
|
177
|
-
"Troubleshooting:\n" +
|
|
178
|
-
"1. Check simulator is running: xcrun simctl list | grep Booted\n" +
|
|
179
|
-
"2. Check logs: ~/Library/Logs/CoreSimulator/" +
|
|
180
|
-
deviceId +
|
|
181
|
-
"/system.log\n" +
|
|
182
|
-
"3. Try manual launch to see errors:\n" +
|
|
183
|
-
` cd ${wdaPath}\n` +
|
|
184
|
-
" xcodebuild test -project WebDriverAgent.xcodeproj \\\n" +
|
|
185
|
-
" -scheme WebDriverAgentRunner \\\n" +
|
|
186
|
-
` -destination 'platform=iOS Simulator,id=${deviceId}'\n\n` +
|
|
187
|
-
`Last output:\n${output.slice(-500)}`);
|
|
188
|
-
}
|
|
189
|
-
async checkHealth(port) {
|
|
190
|
-
try {
|
|
191
|
-
const controller = new AbortController();
|
|
192
|
-
const timeout = setTimeout(() => controller.abort(), 2000);
|
|
193
|
-
const response = await fetch(`http://localhost:${port}/status`, {
|
|
194
|
-
signal: controller.signal,
|
|
195
|
-
});
|
|
196
|
-
clearTimeout(timeout);
|
|
197
|
-
return response.ok;
|
|
198
|
-
}
|
|
199
|
-
catch {
|
|
200
|
-
return false;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
async findFreePort() {
|
|
204
|
-
const { createServer } = await import("net");
|
|
205
|
-
for (let port = 8100; port < 8200; port++) {
|
|
206
|
-
try {
|
|
207
|
-
await new Promise((resolve, reject) => {
|
|
208
|
-
const server = createServer();
|
|
209
|
-
server.once("error", reject);
|
|
210
|
-
server.once("listening", () => {
|
|
211
|
-
server.close(() => resolve());
|
|
212
|
-
});
|
|
213
|
-
server.listen(port);
|
|
214
|
-
});
|
|
215
|
-
return port;
|
|
216
|
-
}
|
|
217
|
-
catch {
|
|
218
|
-
continue;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
throw new Error("No free ports available in range 8100-8200");
|
|
222
|
-
}
|
|
223
|
-
cleanup() {
|
|
224
|
-
for (const [deviceId, instance] of this.instances) {
|
|
225
|
-
try {
|
|
226
|
-
process.kill(instance.pid);
|
|
227
|
-
}
|
|
228
|
-
catch { }
|
|
229
|
-
const client = this.clients.get(deviceId);
|
|
230
|
-
if (client) {
|
|
231
|
-
client.deleteSession().catch(() => { });
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
this.instances.clear();
|
|
235
|
-
this.clients.clear();
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
//# sourceMappingURL=wda-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-manager.js","sourceRoot":"","sources":["../../../src/ios/wda/wda-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,MAAM,OAAO,UAAU;IACb,SAAS,GAAiC,IAAI,GAAG,EAAE,CAAC;IACpD,OAAO,GAA2B,IAAI,GAAG,EAAE,CAAC;IACpD,yDAAyD;IACjD,cAAc,GAAoC,IAAI,GAAG,EAAE,CAAC;IACnD,cAAc,GAAG,KAAK,CAAC;IACvB,YAAY,GAAG,MAAM,CAAC;IAEvC,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,wBAAwB;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;gBACtD,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC7B,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,2BAA2B;YAC7B,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,iFAAiF;QACjF,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC5C,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjD,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,WAAW,GAAG;YAClB,OAAO,CAAC,GAAG,CAAC,QAAQ;YACpB,IAAI,CAAC,IAAI,CACP,EAAE,CAAC,OAAO,EAAE,EACZ,gFAAgF,CACjF;YACD,8GAA8G;YAC9G,2GAA2G;SAC5G,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QAE9B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;gBACtE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CACb,+BAA+B;YAC7B,wCAAwC;YACxC,2BAA2B;YAC3B,sCAAsC;YACtC,yCAAyC;YACzC,+CAA+C;YAC/C,yBAAyB;YACzB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,QAAQ,CACN,+BAA+B;gBAC7B,oCAAoC;gBACpC,+BAA+B;gBAC/B,sDAAsD,EACxD;gBACE,GAAG,EAAE,OAAO;gBACZ,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,KAAK,EAAE,MAAM;aACd,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,KAAiF,CAAC;YAC5F,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1F,MAAM,IAAI,KAAK,CACb,qCAAqC;gBACnC,GAAG,MAAM,MAAM;gBACf,oBAAoB;gBACpB,kEAAkE;gBAClE,yDAAyD;gBACzD,sDAAsD;gBACtD,iEAAiE,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,OAAe,EACf,QAAgB,EAChB,IAAY;QAEZ,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CACtB,YAAY,EACZ;YACE,uBAAuB;YACvB,UAAU;YACV,0BAA0B;YAC1B,SAAS;YACT,sBAAsB;YACtB,cAAc;YACd,6BAA6B,QAAQ,EAAE;SACxC,EACD;YACE,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;aAC1B;YACD,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC3B,GAAG,EAAE,UAAU,CAAC,GAAI;YACpB,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC;QAChC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;YACpC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;gBACrC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QACF,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5C,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAE5C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAI,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,MAAM,IAAI,KAAK,CACb,gDAAgD;YAC9C,oBAAoB;YACpB,kEAAkE;YAClE,8CAA8C;YAC9C,QAAQ;YACR,eAAe;YACf,uCAAuC;YACvC,SAAS,OAAO,IAAI;YACpB,2DAA2D;YAC3D,wCAAwC;YACxC,gDAAgD,QAAQ,OAAO;YAC/D,iBAAiB,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CACxC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAE3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,SAAS,EAAE;gBAC9D,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;wBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChC,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export interface WDASession {
|
|
2
|
-
sessionId: string;
|
|
3
|
-
capabilities: Record<string, any>;
|
|
4
|
-
}
|
|
5
|
-
export interface WDAElement {
|
|
6
|
-
ELEMENT: string;
|
|
7
|
-
"element-6066-11e4-a52e-4f735466cecf"?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface WDARect {
|
|
10
|
-
x: number;
|
|
11
|
-
y: number;
|
|
12
|
-
width: number;
|
|
13
|
-
height: number;
|
|
14
|
-
}
|
|
15
|
-
export interface UITreeNode {
|
|
16
|
-
type: string;
|
|
17
|
-
label?: string;
|
|
18
|
-
value?: string;
|
|
19
|
-
enabled?: boolean;
|
|
20
|
-
visible?: boolean;
|
|
21
|
-
rect?: WDARect;
|
|
22
|
-
children?: UITreeNode[];
|
|
23
|
-
}
|
|
24
|
-
export type LocatorStrategy = "name" | "accessibility id" | "class name" | "xpath" | "predicate string";
|
|
25
|
-
export interface TouchAction {
|
|
26
|
-
action: "tap" | "press" | "moveTo" | "wait" | "release";
|
|
27
|
-
options?: {
|
|
28
|
-
x?: number;
|
|
29
|
-
y?: number;
|
|
30
|
-
element?: string;
|
|
31
|
-
ms?: number;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
export interface WDAInstanceInfo {
|
|
35
|
-
pid: number;
|
|
36
|
-
port: number;
|
|
37
|
-
deviceId: string;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=wda-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-types.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/wda-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC,CAAC,EAAE,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,kBAAkB,GAClB,YAAY,GACZ,OAAO,GACP,kBAAkB,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACxD,OAAO,CAAC,EAAE;QACR,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-types.js","sourceRoot":"","sources":["../../../src/ios/wda/wda-types.ts"],"names":[],"mappings":""}
|
package/dist/ios/wda-errors.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure error-message builders for WDA failures. No I/O.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Build the standard "WDA required" error message used by tap/swipe/longPress/inputText.
|
|
6
|
-
*/
|
|
7
|
-
export declare function wdaRequiredError(operation: string, cause: unknown): Error;
|
|
8
|
-
//# sourceMappingURL=wda-errors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-errors.d.ts","sourceRoot":"","sources":["../../src/ios/wda-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,CAKzE"}
|
package/dist/ios/wda-errors.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure error-message builders for WDA failures. No I/O.
|
|
3
|
-
*/
|
|
4
|
-
const INSTALL_HINT = "Install: npm install -g appium && appium driver install xcuitest\n" +
|
|
5
|
-
"Or set WDA_PATH environment variable.";
|
|
6
|
-
/**
|
|
7
|
-
* Build the standard "WDA required" error message used by tap/swipe/longPress/inputText.
|
|
8
|
-
*/
|
|
9
|
-
export function wdaRequiredError(operation, cause) {
|
|
10
|
-
const msg = cause instanceof Error ? cause.message : String(cause);
|
|
11
|
-
return new Error(`${operation} requires WebDriverAgent.\n\n${INSTALL_HINT}\n\nError: ${msg}`);
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=wda-errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-errors.js","sourceRoot":"","sources":["../../src/ios/wda-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,YAAY,GAChB,oEAAoE;IACpE,uCAAuC,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,KAAc;IAChE,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,IAAI,KAAK,CACd,GAAG,SAAS,gCAAgC,YAAY,cAAc,GAAG,EAAE,CAC5E,CAAC;AACJ,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure WDA-side payload/coordinate builders. No I/O.
|
|
3
|
-
*/
|
|
4
|
-
import type { LocatorStrategy } from "./wda/wda-types.js";
|
|
5
|
-
export type SwipeDirection = "up" | "down" | "left" | "right";
|
|
6
|
-
export interface SwipeCoords {
|
|
7
|
-
x1: number;
|
|
8
|
-
y1: number;
|
|
9
|
-
x2: number;
|
|
10
|
-
y2: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Build start/end coordinates for a directional swipe centred at (cx, cy)
|
|
14
|
-
* with the given pixel distance.
|
|
15
|
-
*/
|
|
16
|
-
export declare function buildSwipeCoords(direction: SwipeDirection, cx: number, cy: number, distance: number): SwipeCoords;
|
|
17
|
-
/**
|
|
18
|
-
* Map a high-level find-elements criteria object into the list of
|
|
19
|
-
* (using, value) WDA selector tuples used to query the agent.
|
|
20
|
-
*/
|
|
21
|
-
export interface FindElementsCriteria {
|
|
22
|
-
text?: string;
|
|
23
|
-
label?: string;
|
|
24
|
-
type?: string;
|
|
25
|
-
visible?: boolean;
|
|
26
|
-
}
|
|
27
|
-
export interface WdaSelector {
|
|
28
|
-
using: LocatorStrategy;
|
|
29
|
-
value: string;
|
|
30
|
-
}
|
|
31
|
-
export declare function buildFindElementsSelectors(criteria: FindElementsCriteria): WdaSelector[];
|
|
32
|
-
//# sourceMappingURL=wda-payloads.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-payloads.d.ts","sourceRoot":"","sources":["../../src/ios/wda-payloads.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,cAAc,EACzB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,GACf,WAAW,CAYb;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAMxF"}
|
package/dist/ios/wda-payloads.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure WDA-side payload/coordinate builders. No I/O.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Build start/end coordinates for a directional swipe centred at (cx, cy)
|
|
6
|
-
* with the given pixel distance.
|
|
7
|
-
*/
|
|
8
|
-
export function buildSwipeCoords(direction, cx, cy, distance) {
|
|
9
|
-
const half = distance / 2;
|
|
10
|
-
switch (direction) {
|
|
11
|
-
case "up":
|
|
12
|
-
return { x1: cx, y1: cy + half, x2: cx, y2: cy - half };
|
|
13
|
-
case "down":
|
|
14
|
-
return { x1: cx, y1: cy - half, x2: cx, y2: cy + half };
|
|
15
|
-
case "left":
|
|
16
|
-
return { x1: cx + half, y1: cy, x2: cx - half, y2: cy };
|
|
17
|
-
case "right":
|
|
18
|
-
return { x1: cx - half, y1: cy, x2: cx + half, y2: cy };
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
export function buildFindElementsSelectors(criteria) {
|
|
22
|
-
const selectors = [];
|
|
23
|
-
if (criteria.text)
|
|
24
|
-
selectors.push({ using: "name", value: criteria.text });
|
|
25
|
-
if (criteria.label)
|
|
26
|
-
selectors.push({ using: "accessibility id", value: criteria.label });
|
|
27
|
-
if (criteria.type)
|
|
28
|
-
selectors.push({ using: "class name", value: criteria.type });
|
|
29
|
-
return selectors;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=wda-payloads.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-payloads.js","sourceRoot":"","sources":["../../src/ios/wda-payloads.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAyB,EACzB,EAAU,EACV,EAAU,EACV,QAAgB;IAEhB,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC1B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,IAAI;YACP,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAC1D,KAAK,OAAO;YACV,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAkBD,MAAM,UAAU,0BAA0B,CAAC,QAA8B;IACvE,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,IAAI,QAAQ,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,KAAK;QAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACzF,IAAI,QAAQ,CAAC,IAAI;QAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Android plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the existing AndroidAdapter without modifying its behavior. The
|
|
5
|
-
* adapter remains the implementation; the plugin layer adds the kernel
|
|
6
|
-
* contract (manifest, lifecycle, capabilities) on top.
|
|
7
|
-
*
|
|
8
|
-
* Phase 2 migration: AndroidAdapter is kept intact and accessed through
|
|
9
|
-
* `plugin.adapter`. DeviceManager continues to route through the adapter
|
|
10
|
-
* directly for backward compatibility until Phase 5 turns it into a facade
|
|
11
|
-
* over the plugin registry.
|
|
12
|
-
*/
|
|
13
|
-
import type { PluginContext, PluginManifest, SourcePlugin } from "@claude-in-mobile/plugin-api";
|
|
14
|
-
import { AndroidAdapter } from "../../adapters/android-adapter.js";
|
|
15
|
-
export declare const ANDROID_PLUGIN_MANIFEST: PluginManifest;
|
|
16
|
-
export declare class AndroidPlugin implements SourcePlugin {
|
|
17
|
-
readonly manifest: PluginManifest;
|
|
18
|
-
readonly adapter: AndroidAdapter;
|
|
19
|
-
constructor(adapter?: AndroidAdapter);
|
|
20
|
-
init(_ctx: PluginContext): void;
|
|
21
|
-
}
|
|
22
|
-
export declare function createAndroidPlugin(): SourcePlugin;
|
|
23
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/android/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,eAAO,MAAM,uBAAuB,EAAE,cAgBrC,CAAC;AAEF,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,QAAQ,iBAA2B;IAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAErB,OAAO,GAAE,cAAqC;IAI1D,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;CAIhC;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAElD"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Android plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the existing AndroidAdapter without modifying its behavior. The
|
|
5
|
-
* adapter remains the implementation; the plugin layer adds the kernel
|
|
6
|
-
* contract (manifest, lifecycle, capabilities) on top.
|
|
7
|
-
*
|
|
8
|
-
* Phase 2 migration: AndroidAdapter is kept intact and accessed through
|
|
9
|
-
* `plugin.adapter`. DeviceManager continues to route through the adapter
|
|
10
|
-
* directly for backward compatibility until Phase 5 turns it into a facade
|
|
11
|
-
* over the plugin registry.
|
|
12
|
-
*/
|
|
13
|
-
import { AndroidAdapter } from "../../adapters/android-adapter.js";
|
|
14
|
-
export const ANDROID_PLUGIN_MANIFEST = {
|
|
15
|
-
id: "android",
|
|
16
|
-
name: "Android",
|
|
17
|
-
version: "3.11.0",
|
|
18
|
-
apiVersion: "1",
|
|
19
|
-
capabilities: [
|
|
20
|
-
"screen",
|
|
21
|
-
"input",
|
|
22
|
-
"ui",
|
|
23
|
-
"shell",
|
|
24
|
-
"appLifecycle",
|
|
25
|
-
"permissions",
|
|
26
|
-
"logs",
|
|
27
|
-
"deviceMgmt",
|
|
28
|
-
],
|
|
29
|
-
description: "Android automation via ADB (screen, input, app lifecycle, shell, logs)",
|
|
30
|
-
};
|
|
31
|
-
export class AndroidPlugin {
|
|
32
|
-
manifest = ANDROID_PLUGIN_MANIFEST;
|
|
33
|
-
adapter;
|
|
34
|
-
constructor(adapter = new AndroidAdapter()) {
|
|
35
|
-
this.adapter = adapter;
|
|
36
|
-
}
|
|
37
|
-
init(_ctx) {
|
|
38
|
-
// No tool registration in Phase 2 — existing MCP tools still wire through
|
|
39
|
-
// device-manager. Phase 5 will move tool registration here.
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export function createAndroidPlugin() {
|
|
43
|
-
return new AndroidPlugin();
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/android/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,GAAG;IACf,YAAY,EAAE;QACZ,QAAQ;QACR,OAAO;QACP,IAAI;QACJ,OAAO;QACP,cAAc;QACd,aAAa;QACb,MAAM;QACN,YAAY;KACb;IACD,WAAW,EAAE,wEAAwE;CACtF,CAAC;AAEF,MAAM,OAAO,aAAa;IACf,QAAQ,GAAG,uBAAuB,CAAC;IACnC,OAAO,CAAiB;IAEjC,YAAY,UAA0B,IAAI,cAAc,EAAE;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,IAAmB;QACtB,0EAA0E;QAC1E,4DAA4D;IAC9D,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Aurora OS plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps AuroraAdapter. Aurora supports app lifecycle, shell, and logs but
|
|
5
|
-
* does NOT have runtime permissions.
|
|
6
|
-
*/
|
|
7
|
-
import type { PluginContext, PluginManifest, SourcePlugin } from "@claude-in-mobile/plugin-api";
|
|
8
|
-
import { AuroraAdapter } from "../../adapters/aurora-adapter.js";
|
|
9
|
-
export declare const AURORA_PLUGIN_MANIFEST: PluginManifest;
|
|
10
|
-
export declare class AuroraPlugin implements SourcePlugin {
|
|
11
|
-
readonly manifest: PluginManifest;
|
|
12
|
-
readonly adapter: AuroraAdapter;
|
|
13
|
-
constructor(adapter?: AuroraAdapter);
|
|
14
|
-
init(_ctx: PluginContext): void;
|
|
15
|
-
}
|
|
16
|
-
export declare function createAuroraPlugin(): SourcePlugin;
|
|
17
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/aurora/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,eAAO,MAAM,sBAAsB,EAAE,cAOpC,CAAC;AAEF,qBAAa,YAAa,YAAW,YAAY;IAC/C,QAAQ,CAAC,QAAQ,iBAA0B;IAC3C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAEpB,OAAO,GAAE,aAAmC;IAIxD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;CAChC;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Aurora OS plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps AuroraAdapter. Aurora supports app lifecycle, shell, and logs but
|
|
5
|
-
* does NOT have runtime permissions.
|
|
6
|
-
*/
|
|
7
|
-
import { AuroraAdapter } from "../../adapters/aurora-adapter.js";
|
|
8
|
-
export const AURORA_PLUGIN_MANIFEST = {
|
|
9
|
-
id: "aurora",
|
|
10
|
-
name: "Aurora OS",
|
|
11
|
-
version: "3.11.0",
|
|
12
|
-
apiVersion: "1",
|
|
13
|
-
capabilities: ["screen", "input", "ui", "shell", "appLifecycle", "logs", "deviceMgmt"],
|
|
14
|
-
description: "Aurora OS automation via audb (screen, input, app lifecycle, shell, logs)",
|
|
15
|
-
};
|
|
16
|
-
export class AuroraPlugin {
|
|
17
|
-
manifest = AURORA_PLUGIN_MANIFEST;
|
|
18
|
-
adapter;
|
|
19
|
-
constructor(adapter = new AuroraAdapter()) {
|
|
20
|
-
this.adapter = adapter;
|
|
21
|
-
}
|
|
22
|
-
init(_ctx) { }
|
|
23
|
-
}
|
|
24
|
-
export function createAuroraPlugin() {
|
|
25
|
-
return new AuroraPlugin();
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/aurora/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC;IACtF,WAAW,EAAE,2EAA2E;CACzF,CAAC;AAEF,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,sBAAsB,CAAC;IAClC,OAAO,CAAgB;IAEhC,YAAY,UAAyB,IAAI,aAAa,EAAE;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,IAAmB,IAAS,CAAC;CACnC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Desktop plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the existing DesktopAdapter (Compose desktop companion via JSON-RPC).
|
|
5
|
-
* Desktop has no runtime permissions and no sync screenshot — capabilities
|
|
6
|
-
* reflect that.
|
|
7
|
-
*/
|
|
8
|
-
import type { PluginContext, PluginManifest, SourcePlugin } from "@claude-in-mobile/plugin-api";
|
|
9
|
-
import { DesktopAdapter } from "../../adapters/desktop-adapter.js";
|
|
10
|
-
export declare const DESKTOP_PLUGIN_MANIFEST: PluginManifest;
|
|
11
|
-
export declare class DesktopPlugin implements SourcePlugin {
|
|
12
|
-
readonly manifest: PluginManifest;
|
|
13
|
-
readonly adapter: DesktopAdapter;
|
|
14
|
-
constructor(adapter?: DesktopAdapter);
|
|
15
|
-
init(_ctx: PluginContext): void;
|
|
16
|
-
}
|
|
17
|
-
export declare function createDesktopPlugin(): SourcePlugin;
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/desktop/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,eAAO,MAAM,uBAAuB,EAAE,cAOrC,CAAC;AAEF,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,QAAQ,iBAA2B;IAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;gBAErB,OAAO,GAAE,cAAqC;IAI1D,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;CAChC;AAED,wBAAgB,mBAAmB,IAAI,YAAY,CAElD"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Desktop plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the existing DesktopAdapter (Compose desktop companion via JSON-RPC).
|
|
5
|
-
* Desktop has no runtime permissions and no sync screenshot — capabilities
|
|
6
|
-
* reflect that.
|
|
7
|
-
*/
|
|
8
|
-
import { DesktopAdapter } from "../../adapters/desktop-adapter.js";
|
|
9
|
-
export const DESKTOP_PLUGIN_MANIFEST = {
|
|
10
|
-
id: "desktop",
|
|
11
|
-
name: "Desktop",
|
|
12
|
-
version: "3.11.0",
|
|
13
|
-
apiVersion: "1",
|
|
14
|
-
capabilities: ["screen", "input", "ui", "shell", "appLifecycle", "logs", "deviceMgmt"],
|
|
15
|
-
description: "Desktop automation via Compose companion JSON-RPC (screen, input, app lifecycle, shell)",
|
|
16
|
-
};
|
|
17
|
-
export class DesktopPlugin {
|
|
18
|
-
manifest = DESKTOP_PLUGIN_MANIFEST;
|
|
19
|
-
adapter;
|
|
20
|
-
constructor(adapter = new DesktopAdapter()) {
|
|
21
|
-
this.adapter = adapter;
|
|
22
|
-
}
|
|
23
|
-
init(_ctx) { }
|
|
24
|
-
}
|
|
25
|
-
export function createDesktopPlugin() {
|
|
26
|
-
return new DesktopPlugin();
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/desktop/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,GAAG;IACf,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC;IACtF,WAAW,EAAE,yFAAyF;CACvG,CAAC;AAEF,MAAM,OAAO,aAAa;IACf,QAAQ,GAAG,uBAAuB,CAAC;IACnC,OAAO,CAAiB;IAEjC,YAAY,UAA0B,IAAI,cAAc,EAAE;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,IAAmB,IAAS,CAAC;CACnC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in iOS plugin.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the existing IosAdapter. See src/plugins/android/index.ts for the
|
|
5
|
-
* Phase 2 migration pattern that applies here verbatim.
|
|
6
|
-
*/
|
|
7
|
-
import type { PluginContext, PluginManifest, SourcePlugin } from "@claude-in-mobile/plugin-api";
|
|
8
|
-
import { IosAdapter } from "../../adapters/ios-adapter.js";
|
|
9
|
-
export declare const IOS_PLUGIN_MANIFEST: PluginManifest;
|
|
10
|
-
export declare class IosPlugin implements SourcePlugin {
|
|
11
|
-
readonly manifest: PluginManifest;
|
|
12
|
-
readonly adapter: IosAdapter;
|
|
13
|
-
constructor(adapter?: IosAdapter);
|
|
14
|
-
init(_ctx: PluginContext): void;
|
|
15
|
-
}
|
|
16
|
-
export declare function createIosPlugin(): SourcePlugin;
|
|
17
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/ios/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,eAAO,MAAM,mBAAmB,EAAE,cAgBjC,CAAC;AAEF,qBAAa,SAAU,YAAW,YAAY;IAC5C,QAAQ,CAAC,QAAQ,iBAAuB;IACxC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;gBAEjB,OAAO,GAAE,UAA6B;IAIlD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;CAChC;AAED,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
|