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,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Low-level simctl invocation. Centralises the argv-form exec so the host shell
|
|
3
|
-
* (/bin/sh) is never spawned — see SECURITY notes on each helper.
|
|
4
|
-
*
|
|
5
|
-
* No `IosClient` state is involved here; behaviour is parameterised entirely by
|
|
6
|
-
* arguments. Retry / WDA loops live in client.ts and call into these as leaves.
|
|
7
|
-
*/
|
|
8
|
-
export declare const SIMCTL_EXEC_TIMEOUT_MS = 15000;
|
|
9
|
-
/**
|
|
10
|
-
* SECURITY: routes through execFileSync — no /bin/sh -c. Shell metacharacters
|
|
11
|
-
* in `args` are passed as literal argv slots (CWE-78 mitigation, issue #40).
|
|
12
|
-
*/
|
|
13
|
-
export declare function execSimctl(args: string[]): string;
|
|
14
|
-
/**
|
|
15
|
-
* Variant that suppresses stderr (replaces shell `2>/dev/null`).
|
|
16
|
-
* Same security guarantee as execSimctl.
|
|
17
|
-
*/
|
|
18
|
-
export declare function execSimctlQuiet(args: string[]): string;
|
|
19
|
-
//# sourceMappingURL=simctl-exec.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simctl-exec.d.ts","sourceRoot":"","sources":["../../src/ios/simctl-exec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAoB7C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAWjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAatD"}
|
package/dist/ios/simctl-exec.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Low-level simctl invocation. Centralises the argv-form exec so the host shell
|
|
3
|
-
* (/bin/sh) is never spawned — see SECURITY notes on each helper.
|
|
4
|
-
*
|
|
5
|
-
* No `IosClient` state is involved here; behaviour is parameterised entirely by
|
|
6
|
-
* arguments. Retry / WDA loops live in client.ts and call into these as leaves.
|
|
7
|
-
*/
|
|
8
|
-
import { execFileSync } from "child_process";
|
|
9
|
-
import { classifySimctlError } from "../errors.js";
|
|
10
|
-
export const SIMCTL_EXEC_TIMEOUT_MS = 15_000;
|
|
11
|
-
function handleExecError(error, fullArgs) {
|
|
12
|
-
const e = error;
|
|
13
|
-
const display = `xcrun ${fullArgs.join(" ")}`;
|
|
14
|
-
if (e.killed === true || e.signal === "SIGTERM") {
|
|
15
|
-
throw new Error(`simctl command timed out after ${SIMCTL_EXEC_TIMEOUT_MS}ms: ${display}. Simulator may be unresponsive.`);
|
|
16
|
-
}
|
|
17
|
-
throw classifySimctlError(e.stderr?.toString() ?? e.message ?? String(error), display);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* SECURITY: routes through execFileSync — no /bin/sh -c. Shell metacharacters
|
|
21
|
-
* in `args` are passed as literal argv slots (CWE-78 mitigation, issue #40).
|
|
22
|
-
*/
|
|
23
|
-
export function execSimctl(args) {
|
|
24
|
-
const fullArgs = ["simctl", ...args];
|
|
25
|
-
try {
|
|
26
|
-
return execFileSync("xcrun", fullArgs, {
|
|
27
|
-
encoding: "utf-8",
|
|
28
|
-
timeout: SIMCTL_EXEC_TIMEOUT_MS,
|
|
29
|
-
maxBuffer: 50 * 1024 * 1024,
|
|
30
|
-
}).trim();
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
handleExecError(error, fullArgs);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Variant that suppresses stderr (replaces shell `2>/dev/null`).
|
|
38
|
-
* Same security guarantee as execSimctl.
|
|
39
|
-
*/
|
|
40
|
-
export function execSimctlQuiet(args) {
|
|
41
|
-
const fullArgs = ["simctl", ...args];
|
|
42
|
-
try {
|
|
43
|
-
const out = execFileSync("xcrun", fullArgs, {
|
|
44
|
-
encoding: "utf-8",
|
|
45
|
-
timeout: SIMCTL_EXEC_TIMEOUT_MS,
|
|
46
|
-
maxBuffer: 50 * 1024 * 1024,
|
|
47
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
48
|
-
});
|
|
49
|
-
return out.toString().trim();
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
handleExecError(error, fullArgs);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=simctl-exec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simctl-exec.js","sourceRoot":"","sources":["../../src/ios/simctl-exec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAS7C,SAAS,eAAe,CAAC,KAAc,EAAE,QAAkB;IACzD,MAAM,CAAC,GAAG,KAAkB,CAAC;IAC7B,MAAM,OAAO,GAAG,SAAS,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,kCAAkC,sBAAsB,OAAO,OAAO,kCAAkC,CACzG,CAAC;IACJ,CAAC;IACD,MAAM,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE;YACrC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE;YAC1C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,sBAAsB;YAC/B,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure parsers for simctl JSON / text output. No I/O.
|
|
3
|
-
*/
|
|
4
|
-
import type { IosDevice } from "./types.js";
|
|
5
|
-
/**
|
|
6
|
-
* Parse output of `xcrun simctl list devices -j` into a flat list of available
|
|
7
|
-
* simulators. Unavailable devices are filtered out.
|
|
8
|
-
*/
|
|
9
|
-
export declare function parseDevicesJson(output: string): IosDevice[];
|
|
10
|
-
//# sourceMappingURL=simctl-parsers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simctl-parsers.d.ts","sourceRoot":"","sources":["../../src/ios/simctl-parsers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAe5C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAqB5D"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure parsers for simctl JSON / text output. No I/O.
|
|
3
|
-
*/
|
|
4
|
-
const RUNTIME_PREFIX = "com.apple.CoreSimulator.SimRuntime.";
|
|
5
|
-
/**
|
|
6
|
-
* Parse output of `xcrun simctl list devices -j` into a flat list of available
|
|
7
|
-
* simulators. Unavailable devices are filtered out.
|
|
8
|
-
*/
|
|
9
|
-
export function parseDevicesJson(output) {
|
|
10
|
-
const data = JSON.parse(output);
|
|
11
|
-
const devices = [];
|
|
12
|
-
for (const [runtime, deviceList] of Object.entries(data.devices)) {
|
|
13
|
-
if (!Array.isArray(deviceList))
|
|
14
|
-
continue;
|
|
15
|
-
for (const device of deviceList) {
|
|
16
|
-
if (device.isAvailable) {
|
|
17
|
-
devices.push({
|
|
18
|
-
id: device.udid,
|
|
19
|
-
name: device.name,
|
|
20
|
-
state: device.state.toLowerCase(),
|
|
21
|
-
runtime: runtime.replace(RUNTIME_PREFIX, ""),
|
|
22
|
-
isSimulator: true,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return devices;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=simctl-parsers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simctl-parsers.js","sourceRoot":"","sources":["../../src/ios/simctl-parsers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAmB,CAAC;IAClD,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,SAAS;QAEzC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC;oBACX,EAAE,EAAE,MAAM,CAAC,IAAI;oBACf,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;oBACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC5C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/ios/types.d.ts
DELETED
package/dist/ios/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ios/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB"}
|
package/dist/ios/types.js
DELETED
package/dist/ios/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ios/types.ts"],"names":[],"mappings":""}
|
package/dist/ios/wda/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,gBAAgB,CAAC"}
|
package/dist/ios/wda/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ios/wda/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { WDAElement, WDARect, UITreeNode, LocatorStrategy } from "./wda-types.js";
|
|
2
|
-
export declare class WDAClient {
|
|
3
|
-
private baseUrl;
|
|
4
|
-
private sessionId;
|
|
5
|
-
private readonly operationTimeout;
|
|
6
|
-
constructor(port: number);
|
|
7
|
-
ensureSession(deviceId: string): Promise<void>;
|
|
8
|
-
private createSession;
|
|
9
|
-
deleteSession(): Promise<void>;
|
|
10
|
-
getAccessibleSource(): Promise<UITreeNode>;
|
|
11
|
-
findElement(strategy: LocatorStrategy, selector: string): Promise<WDAElement>;
|
|
12
|
-
findElements(strategy: LocatorStrategy, selector: string): Promise<WDAElement[]>;
|
|
13
|
-
clickElement(elementId: string): Promise<void>;
|
|
14
|
-
tapByCoordinates(x: number, y: number): Promise<void>;
|
|
15
|
-
longPress(x: number, y: number, durationMs?: number): Promise<void>;
|
|
16
|
-
typeText(text: string): Promise<void>;
|
|
17
|
-
getWindowSize(): Promise<{
|
|
18
|
-
width: number;
|
|
19
|
-
height: number;
|
|
20
|
-
}>;
|
|
21
|
-
swipe(x1: number, y1: number, x2: number, y2: number, duration?: number): Promise<void>;
|
|
22
|
-
getElementRect(elementId: string): Promise<WDARect>;
|
|
23
|
-
getElementText(elementId: string): Promise<string>;
|
|
24
|
-
isElementDisplayed(elementId: string): Promise<boolean>;
|
|
25
|
-
private request;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=wda-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-client.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/wda-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,OAAO,EACP,UAAU,EACV,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,IAAI,EAAE,MAAM;IAIlB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiBtC,aAAa;IAwBrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;IAY1C,WAAW,CACf,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAiBhB,YAAY,CAChB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,CAAC;IAiBlB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBzE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrC,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAY3D,KAAK,CACT,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,IAAI,CAAC;IAwBV,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAanD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAalD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAa/C,OAAO;CAgDtB"}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
export class WDAClient {
|
|
2
|
-
baseUrl;
|
|
3
|
-
sessionId = null;
|
|
4
|
-
operationTimeout = 10000;
|
|
5
|
-
constructor(port) {
|
|
6
|
-
this.baseUrl = `http://localhost:${port}`;
|
|
7
|
-
}
|
|
8
|
-
async ensureSession(deviceId) {
|
|
9
|
-
if (this.sessionId) {
|
|
10
|
-
try {
|
|
11
|
-
// Verify session is still valid
|
|
12
|
-
await this.request("GET", `/session/${this.sessionId}`);
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
// Session is invalid, clear it
|
|
17
|
-
const msg = error instanceof Error ? error.message : String(error);
|
|
18
|
-
console.error("WDA session invalid, recreating:", msg);
|
|
19
|
-
this.sessionId = null;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
await this.createSession(deviceId);
|
|
23
|
-
}
|
|
24
|
-
async createSession(deviceId) {
|
|
25
|
-
const response = await this.request("POST", "/session", {
|
|
26
|
-
capabilities: {
|
|
27
|
-
alwaysMatch: {
|
|
28
|
-
platformName: "iOS",
|
|
29
|
-
"appium:automationName": "XCUITest",
|
|
30
|
-
"appium:udid": deviceId,
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
this.sessionId = response.sessionId || response.value?.sessionId;
|
|
35
|
-
if (!this.sessionId) {
|
|
36
|
-
throw new Error("Failed to create WebDriverAgent session.\n\n" +
|
|
37
|
-
"Possible causes:\n" +
|
|
38
|
-
"- Simulator is not running (boot with: xcrun simctl boot <UDID>)\n" +
|
|
39
|
-
"- Port in use (check: lsof -i :8100)\n" +
|
|
40
|
-
"- Code signing issues\n\n" +
|
|
41
|
-
"Try restarting the simulator.");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async deleteSession() {
|
|
45
|
-
if (this.sessionId) {
|
|
46
|
-
try {
|
|
47
|
-
await this.request("DELETE", `/session/${this.sessionId}`);
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
// Ignore errors on cleanup
|
|
51
|
-
}
|
|
52
|
-
this.sessionId = null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async getAccessibleSource() {
|
|
56
|
-
if (!this.sessionId) {
|
|
57
|
-
throw new Error("No active WDA session");
|
|
58
|
-
}
|
|
59
|
-
const response = await this.request("GET", `/session/${this.sessionId}/wda/accessibleSource`);
|
|
60
|
-
return response.value || response;
|
|
61
|
-
}
|
|
62
|
-
async findElement(strategy, selector) {
|
|
63
|
-
if (!this.sessionId) {
|
|
64
|
-
throw new Error("No active WDA session");
|
|
65
|
-
}
|
|
66
|
-
const response = await this.request("POST", `/session/${this.sessionId}/element`, {
|
|
67
|
-
using: strategy,
|
|
68
|
-
value: selector,
|
|
69
|
-
});
|
|
70
|
-
return response.value || response;
|
|
71
|
-
}
|
|
72
|
-
async findElements(strategy, selector) {
|
|
73
|
-
if (!this.sessionId) {
|
|
74
|
-
throw new Error("No active WDA session");
|
|
75
|
-
}
|
|
76
|
-
const response = await this.request("POST", `/session/${this.sessionId}/elements`, {
|
|
77
|
-
using: strategy,
|
|
78
|
-
value: selector,
|
|
79
|
-
});
|
|
80
|
-
return response.value || response || [];
|
|
81
|
-
}
|
|
82
|
-
async clickElement(elementId) {
|
|
83
|
-
if (!this.sessionId) {
|
|
84
|
-
throw new Error("No active WDA session");
|
|
85
|
-
}
|
|
86
|
-
await this.request("POST", `/session/${this.sessionId}/element/${elementId}/click`);
|
|
87
|
-
}
|
|
88
|
-
async tapByCoordinates(x, y) {
|
|
89
|
-
if (!this.sessionId) {
|
|
90
|
-
throw new Error("No active WDA session");
|
|
91
|
-
}
|
|
92
|
-
// Use W3C WebDriver Actions API for tapping
|
|
93
|
-
await this.request("POST", `/session/${this.sessionId}/actions`, {
|
|
94
|
-
actions: [
|
|
95
|
-
{
|
|
96
|
-
type: "pointer",
|
|
97
|
-
id: "finger1",
|
|
98
|
-
parameters: { pointerType: "touch" },
|
|
99
|
-
actions: [
|
|
100
|
-
{ type: "pointerMove", duration: 0, x, y },
|
|
101
|
-
{ type: "pointerDown", button: 0 },
|
|
102
|
-
{ type: "pause", duration: 100 },
|
|
103
|
-
{ type: "pointerUp", button: 0 },
|
|
104
|
-
],
|
|
105
|
-
},
|
|
106
|
-
],
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
async longPress(x, y, durationMs = 1000) {
|
|
110
|
-
if (!this.sessionId) {
|
|
111
|
-
throw new Error("No active WDA session");
|
|
112
|
-
}
|
|
113
|
-
// Use W3C WebDriver Actions API: pointerDown + pause(duration) + pointerUp
|
|
114
|
-
await this.request("POST", `/session/${this.sessionId}/actions`, {
|
|
115
|
-
actions: [
|
|
116
|
-
{
|
|
117
|
-
type: "pointer",
|
|
118
|
-
id: "finger1",
|
|
119
|
-
parameters: { pointerType: "touch" },
|
|
120
|
-
actions: [
|
|
121
|
-
{ type: "pointerMove", duration: 0, x, y },
|
|
122
|
-
{ type: "pointerDown", button: 0 },
|
|
123
|
-
{ type: "pause", duration: durationMs },
|
|
124
|
-
{ type: "pointerUp", button: 0 },
|
|
125
|
-
],
|
|
126
|
-
},
|
|
127
|
-
],
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
async typeText(text) {
|
|
131
|
-
if (!this.sessionId) {
|
|
132
|
-
throw new Error("No active WDA session");
|
|
133
|
-
}
|
|
134
|
-
// Try WDA-specific /wda/keys first (works on some WDA builds)
|
|
135
|
-
try {
|
|
136
|
-
await this.request("POST", `/session/${this.sessionId}/wda/keys`, {
|
|
137
|
-
value: text.split(""),
|
|
138
|
-
});
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
catch {
|
|
142
|
-
// Fall through to W3C active element setValue
|
|
143
|
-
}
|
|
144
|
-
// Fallback: W3C standard — find active/focused element and setValue
|
|
145
|
-
const activeEl = await this.request("GET", `/session/${this.sessionId}/element/active`);
|
|
146
|
-
const elementId = activeEl?.value?.ELEMENT ?? activeEl?.value?.element ?? activeEl?.ELEMENT;
|
|
147
|
-
if (!elementId) {
|
|
148
|
-
throw new Error("No focused element found for text input. Tap a text field first.");
|
|
149
|
-
}
|
|
150
|
-
await this.request("POST", `/session/${this.sessionId}/element/${elementId}/value`, {
|
|
151
|
-
text,
|
|
152
|
-
value: text.split(""),
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
async getWindowSize() {
|
|
156
|
-
if (!this.sessionId) {
|
|
157
|
-
throw new Error("No active WDA session");
|
|
158
|
-
}
|
|
159
|
-
const response = await this.request("GET", `/session/${this.sessionId}/window/size`);
|
|
160
|
-
return response.value || response;
|
|
161
|
-
}
|
|
162
|
-
async swipe(x1, y1, x2, y2, duration = 300) {
|
|
163
|
-
if (!this.sessionId) {
|
|
164
|
-
throw new Error("No active WDA session");
|
|
165
|
-
}
|
|
166
|
-
// Use W3C WebDriver Actions API for swiping
|
|
167
|
-
await this.request("POST", `/session/${this.sessionId}/actions`, {
|
|
168
|
-
actions: [
|
|
169
|
-
{
|
|
170
|
-
type: "pointer",
|
|
171
|
-
id: "finger1",
|
|
172
|
-
parameters: { pointerType: "touch" },
|
|
173
|
-
actions: [
|
|
174
|
-
{ type: "pointerMove", duration: 0, x: x1, y: y1 },
|
|
175
|
-
{ type: "pointerDown", button: 0 },
|
|
176
|
-
{ type: "pause", duration: 50 },
|
|
177
|
-
{ type: "pointerMove", duration, x: x2, y: y2, origin: "viewport" },
|
|
178
|
-
{ type: "pointerUp", button: 0 },
|
|
179
|
-
],
|
|
180
|
-
},
|
|
181
|
-
],
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
async getElementRect(elementId) {
|
|
185
|
-
if (!this.sessionId) {
|
|
186
|
-
throw new Error("No active WDA session");
|
|
187
|
-
}
|
|
188
|
-
const response = await this.request("GET", `/session/${this.sessionId}/element/${elementId}/rect`);
|
|
189
|
-
return response.value || response;
|
|
190
|
-
}
|
|
191
|
-
async getElementText(elementId) {
|
|
192
|
-
if (!this.sessionId) {
|
|
193
|
-
throw new Error("No active WDA session");
|
|
194
|
-
}
|
|
195
|
-
const response = await this.request("GET", `/session/${this.sessionId}/element/${elementId}/text`);
|
|
196
|
-
return response.value || response || "";
|
|
197
|
-
}
|
|
198
|
-
async isElementDisplayed(elementId) {
|
|
199
|
-
if (!this.sessionId) {
|
|
200
|
-
throw new Error("No active WDA session");
|
|
201
|
-
}
|
|
202
|
-
const response = await this.request("GET", `/session/${this.sessionId}/element/${elementId}/displayed`);
|
|
203
|
-
return response.value || response || false;
|
|
204
|
-
}
|
|
205
|
-
async request(method, path, body) {
|
|
206
|
-
const controller = new AbortController();
|
|
207
|
-
const timeout = setTimeout(() => controller.abort(), this.operationTimeout);
|
|
208
|
-
try {
|
|
209
|
-
const response = await fetch(`${this.baseUrl}${path}`, {
|
|
210
|
-
method,
|
|
211
|
-
headers: {
|
|
212
|
-
"Content-Type": "application/json",
|
|
213
|
-
},
|
|
214
|
-
body: body ? JSON.stringify(body) : undefined,
|
|
215
|
-
signal: controller.signal,
|
|
216
|
-
});
|
|
217
|
-
clearTimeout(timeout);
|
|
218
|
-
if (!response.ok) {
|
|
219
|
-
const text = await response.text();
|
|
220
|
-
throw new Error(`WebDriverAgent request failed: ${response.status} ${response.statusText}\n${text}`);
|
|
221
|
-
}
|
|
222
|
-
const data = await response.json();
|
|
223
|
-
if (data.status !== undefined && data.status !== 0) {
|
|
224
|
-
throw new Error(`WebDriverAgent error: ${data.value?.message || JSON.stringify(data)}`);
|
|
225
|
-
}
|
|
226
|
-
return data;
|
|
227
|
-
}
|
|
228
|
-
catch (error) {
|
|
229
|
-
clearTimeout(timeout);
|
|
230
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
231
|
-
throw new Error(`WebDriverAgent request timed out after ${this.operationTimeout}ms`);
|
|
232
|
-
}
|
|
233
|
-
throw error;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
//# sourceMappingURL=wda-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-client.js","sourceRoot":"","sources":["../../../src/ios/wda/wda-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { WDAClient } from "./wda-client.js";
|
|
2
|
-
export declare class WDAManager {
|
|
3
|
-
private instances;
|
|
4
|
-
private clients;
|
|
5
|
-
/** Deduplicates parallel launches for the same device */
|
|
6
|
-
private launchPromises;
|
|
7
|
-
private readonly startupTimeout;
|
|
8
|
-
private readonly buildTimeout;
|
|
9
|
-
ensureWDAReady(deviceId: string): Promise<WDAClient>;
|
|
10
|
-
private doLaunch;
|
|
11
|
-
private discoverWDA;
|
|
12
|
-
private buildWDAIfNeeded;
|
|
13
|
-
private launchWDA;
|
|
14
|
-
private checkHealth;
|
|
15
|
-
private findFreePort;
|
|
16
|
-
cleanup(): void;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=wda-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wda-manager.d.ts","sourceRoot":"","sources":["../../../src/ios/wda/wda-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,OAAO,CAAqC;IACpD,yDAAyD;IACzD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEjC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;YAuC5C,QAAQ;YAcR,WAAW;YAgCX,gBAAgB;YAmChB,SAAS;YA2FT,WAAW;YAiBX,YAAY;IAsB1B,OAAO,IAAI,IAAI;CAahB"}
|