agent-device 0.20.10 → 0.21.1
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 +2 -2
- package/android/ime-helper/dist/{agent-device-android-ime-helper-0.20.10.apk → agent-device-android-ime-helper-0.21.1.apk} +0 -0
- package/android/ime-helper/dist/agent-device-android-ime-helper-0.21.1.apk.sha256 +1 -0
- package/android/ime-helper/dist/{agent-device-android-ime-helper-0.20.10.manifest.json → agent-device-android-ime-helper-0.21.1.manifest.json} +4 -4
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.21.1.apk +0 -0
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.21.1.apk.sha256 +1 -0
- package/android/snapshot-helper/dist/{agent-device-android-snapshot-helper-0.20.10.manifest.json → agent-device-android-snapshot-helper-0.21.1.manifest.json} +6 -6
- package/apple/macos-helper/Sources/AgentDeviceMacOSHelper/AudioProbe.swift +35 -33
- package/apple/macos-helper/Sources/AgentDeviceMacOSHelper/main.swift +6 -1
- package/apple/snapshot-bridge/LICENSE.idb +23 -0
- package/apple/snapshot-bridge/README.md +106 -0
- package/apple/snapshot-bridge/SnapshotBridge.m +286 -0
- package/apple/snapshot-bridge/SnapshotBridgeCapture.h +25 -0
- package/apple/snapshot-bridge/SnapshotBridgeCapture.m +138 -0
- package/apple/snapshot-bridge/SnapshotBridgeRuntime.h +34 -0
- package/apple/snapshot-bridge/SnapshotBridgeRuntime.m +411 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunner/AgentDeviceRunnerApp.m +58 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunner.xcodeproj/project.pbxproj +19 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerAXSnapshotBridge.h +12 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerAXSnapshotBridge.m +20 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerAlertVerification.swift +36 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSelectorMatchPolicy.swift +15 -15
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerStringNormalization.swift +8 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSynthesizedGesture.h +12 -1
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSynthesizedGesture.m +100 -6
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSystemSurfaceHostPolicy.swift +72 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTapPointPolicy.swift +63 -14
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+AXSnapshotFallback.swift +677 -83
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Alert.swift +35 -92
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+AlertObservation.swift +124 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+BlockingSystemModalResolution.swift +39 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+CommandExecution.swift +1058 -213
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+CommandJournal.swift +296 -14
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Environment.swift +1 -1
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Exceptions.swift +10 -10
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Interaction.swift +309 -149
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Keyboard.swift +101 -42
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Lifecycle.swift +24 -17
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Models.swift +124 -199
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Navigation.swift +71 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+PrivateAXElementTypes.swift +12 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+PrivateAXPresentation.swift +211 -78
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+ScreenRecorder.swift +30 -10
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+ScrollGesture.swift +254 -24
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SequenceExecution.swift +206 -22
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Snapshot.swift +465 -494
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotBackendCapabilities.swift +168 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotCapturePlan.swift +802 -247
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotPresentationInvariant.swift +19 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotTiming.swift +185 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SynthesizedCommitDeadline.swift +206 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SynthesizedGesturePolicy.swift +83 -5
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SynthesizedTextEntry.swift +156 -34
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SystemModal.swift +5 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntry.swift +35 -318
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntryFocus.swift +206 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntryReadiness.swift +158 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextInputCandidatePolicy.swift +28 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextInputProbe.swift +101 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextTyping.swift +56 -23
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Transport.swift +56 -27
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TvRemote.swift +30 -24
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests.swift +126 -80
- package/dist/apple/runner/AgentDeviceRunner/RecordingScripts/RecordingExportSupport.swift +111 -0
- package/dist/apple/runner/AgentDeviceRunner/RecordingScripts/recording-overlay.swift +47 -86
- package/dist/apple/runner/AgentDeviceRunner/RecordingScripts/recording-trim.swift +32 -79
- package/dist/apple/snapshot-presentation/Package.swift +21 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotGeometry.swift +56 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotModels.swift +259 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotPresentation.swift +153 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotPresentationFailure.swift +27 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotPresentationInvariant.swift +91 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotPresentationProjection.swift +161 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotScopePolicy.swift +53 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotVisibilityFold.swift +242 -0
- package/dist/apple/snapshot-presentation/Sources/AgentDeviceSnapshotPresentation/SnapshotVisibilityFoldProjection.swift +97 -0
- package/dist/src/adapter.js +1 -0
- package/dist/src/adb-executor.js +2 -0
- package/dist/src/adb-failure.js +1 -0
- package/dist/src/adb-host.js +1 -0
- package/dist/src/adb.js +1 -0
- package/dist/src/agent-browser-lifecycle.js +1 -0
- package/dist/src/agent-browser-process-record.js +1 -0
- package/dist/src/agent-browser-provider.js +1 -0
- package/dist/src/agent-browser-tool.js +1 -1
- package/dist/src/agent-device-client.js +2 -2
- package/dist/src/ai-sdk.d.ts +2 -2
- package/dist/src/ai-sdk.js +1 -1
- package/dist/src/alert-contract.js +1 -0
- package/dist/src/alert-runtime.js +1 -0
- package/dist/src/android-adb.d.ts +27 -19
- package/dist/src/android-adb.js +1 -1
- package/dist/src/android-input-ownership.js +1 -0
- package/dist/src/android-system-chrome.js +1 -0
- package/dist/src/android.js +1 -1
- package/dist/src/api.js +11 -0
- package/dist/src/app-catalog.js +1 -0
- package/dist/src/app-deployment-resolution.js +2 -0
- package/dist/src/app-helpers.js +1 -1
- package/dist/src/app-inventory-contract.js +1 -0
- package/dist/src/app-inventory.js +1 -0
- package/dist/src/app-launch.js +2 -0
- package/dist/src/app-lifecycle-facade.js +1 -0
- package/dist/src/app-lifecycle.js +3 -6
- package/dist/src/app-lifecycle2.js +2 -2
- package/dist/src/app-lifecycle3.js +1 -0
- package/dist/src/app-log-files.js +1 -1
- package/dist/src/app-log-reconnect.js +1 -1
- package/dist/src/app-log-runtime.js +1 -4
- package/dist/src/app-log-runtime2.js +4 -0
- package/dist/src/app-parsers.js +4 -0
- package/dist/src/app-resolution-cache.js +1 -0
- package/dist/src/app-resolution-facade.js +1 -0
- package/dist/src/app-resolution.js +2 -2
- package/dist/src/app-state.js +1 -2
- package/dist/src/apple-runner-platform.js +1 -0
- package/dist/src/application-lifecycle-interaction.js +1 -0
- package/dist/src/application-lifecycle-runtime.js +1 -0
- package/dist/src/apps-simctl.js +1 -0
- package/dist/src/archive.js +4 -0
- package/dist/src/artifact-download.js +1 -0
- package/dist/src/artifacts.d.ts +6 -2
- package/dist/src/artifacts.js +1 -1
- package/dist/src/async-lifecycle.js +1 -0
- package/dist/src/audio-probe-result.js +1 -0
- package/dist/src/audio-probe-runtime.js +1 -0
- package/dist/src/audio-probe-support.js +1 -0
- package/dist/src/auth-session.js +1 -1
- package/dist/src/auth.js +1 -1
- package/dist/src/backend-snapshot-options.js +1 -1
- package/dist/src/{url.js → base-url.js} +1 -1
- package/dist/src/boot-diagnostics.js +2 -2
- package/dist/src/byte-limit-stream.js +1 -1
- package/dist/src/capabilities.js +1 -0
- package/dist/src/capture.js +1 -0
- package/dist/src/catalog.js +1 -0
- package/dist/src/cli-command-aliases.js +1 -0
- package/dist/src/cli-config.js +1 -1
- package/dist/src/cli-help.js +74 -51
- package/dist/src/cli-output.js +1 -1
- package/dist/src/cli-runner.js +1 -1
- package/dist/src/cli.js +4 -6
- package/dist/src/click-button.js +1 -0
- package/dist/src/client-metro-companion.js +1 -0
- package/dist/src/client-metro.js +1 -1
- package/dist/src/client-types.d.ts +280 -242
- package/dist/src/clipboard.js +1 -0
- package/dist/src/code-signature-cache.js +1 -0
- package/dist/src/code-signature.js +1 -0
- package/dist/src/color.js +1 -0
- package/dist/src/command-metadata.js +1 -1
- package/dist/src/command-schema.js +3 -3
- package/dist/src/command-surface.js +1 -1
- package/dist/src/command-tools.js +2 -2
- package/dist/src/command.js +1 -0
- package/dist/src/compatibility-policy.js +1 -0
- package/dist/src/config.js +1 -1
- package/dist/src/config2.js +1 -0
- package/dist/src/connection-runtime.js +1 -1
- package/dist/src/connection.js +5 -5
- package/dist/src/contracts.d.ts +1 -1
- package/dist/src/contracts.js +1 -1
- package/dist/src/daemon-client-lifecycle.js +1 -0
- package/dist/src/daemon-process.js +1 -0
- package/dist/src/daemon-registration.js +1 -0
- package/dist/src/daemon-shutdown-report.js +1 -1
- package/dist/src/daemon.js +2 -2
- package/dist/src/debug-symbols-facade.js +5 -0
- package/dist/src/deploy-result-target.js +1 -0
- package/dist/src/device-claim-inspection.js +1 -1
- package/dist/src/device-claim-rule.js +1 -0
- package/dist/src/device-input-state.d.ts +190 -3
- package/dist/src/device-inventory-context.js +1 -0
- package/dist/src/device-isolation.js +1 -0
- package/dist/src/device-release.js +1 -0
- package/dist/src/device-rotation.js +1 -0
- package/dist/src/device-selection-resolver.js +1 -0
- package/dist/src/device-session.js +1 -0
- package/dist/src/device.js +1 -1
- package/dist/src/device2.js +3 -2
- package/dist/src/diagnostics.js +3 -0
- package/dist/src/diagnostics2.js +1 -0
- package/dist/src/dispatch-resolve.js +1 -0
- package/dist/src/doctor-facade.js +1 -0
- package/dist/src/doctor-output.js +1 -0
- package/dist/src/doctor.js +1 -0
- package/dist/src/doctor2.js +1 -0
- package/dist/src/doctor3.js +1 -0
- package/dist/src/durable-resource.js +1 -0
- package/dist/src/entities.js +1 -1
- package/dist/src/error.js +2 -0
- package/dist/src/exec.js +1 -0
- package/dist/src/file.js +1 -0
- package/dist/src/find.js +1 -1
- package/dist/src/finders.js +1 -1
- package/dist/src/generic-settle.js +1 -1
- package/dist/src/generic.js +1 -1
- package/dist/src/gesture-admission.js +1 -0
- package/dist/src/gesture-plan-types.js +1 -0
- package/dist/src/gesture-plan.js +1 -0
- package/dist/src/gesture-runtime.js +1 -0
- package/dist/src/harmonyos.js +1 -1
- package/dist/src/hdc.js +1 -1
- package/dist/src/helper.js +2 -2
- package/dist/src/host-file.js +1 -0
- package/dist/src/human-control-contract.js +1 -0
- package/dist/src/human-control.js +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/input-actions.js +1 -4
- package/dist/src/input-actions2.js +2 -1
- package/dist/src/install-artifact-facade.js +1 -0
- package/dist/src/install-source-network-transport.js +1 -0
- package/dist/src/install-source.d.ts +3 -10
- package/dist/src/install-source2.js +1 -1
- package/dist/src/interaction-positionals.js +1 -0
- package/dist/src/interaction-ref-policy.js +1 -0
- package/dist/src/interaction.js +1 -1
- package/dist/src/interaction2.js +1 -1
- package/dist/src/interactor-operation-catalog.js +1 -0
- package/dist/src/interactor-types.js +1 -0
- package/dist/src/interactor.js +6 -2
- package/dist/src/interactor2.js +1 -1
- package/dist/src/interactors.js +1 -1
- package/dist/src/internal/bin.d.ts +1 -1
- package/dist/src/internal/bin.js +1 -2
- package/dist/src/internal/companion-tunnel.d.ts +1 -1
- package/dist/src/internal/companion-tunnel.js +1 -1
- package/dist/src/internal/daemon.d.ts +1 -1
- package/dist/src/internal/daemon.js +2 -4
- package/dist/src/internal/png-worker.d.ts +4 -4
- package/dist/src/internal/png-worker.js +1 -1
- package/dist/src/internal/run-script-http-child.d.ts +4 -0
- package/dist/src/internal/run-script-http-child.js +1 -0
- package/dist/src/internal/update-check-entry.d.ts +1 -1
- package/dist/src/inventory.js +4 -4
- package/dist/src/inventory2.js +1 -1
- package/dist/src/inventory3.js +1 -1
- package/dist/src/inventory5.js +1 -1
- package/dist/src/inventory6.js +1 -1
- package/dist/src/ios-client.js +16 -0
- package/dist/src/ios-snapshot-acquisition.js +1 -0
- package/dist/src/ios-snapshot-adapter.js +1 -0
- package/dist/src/ios-snapshot-planning.js +1 -0
- package/dist/src/ios-snapshot-runtime.js +1 -0
- package/dist/src/ios-system-surface.js +1 -0
- package/dist/src/json.js +1 -0
- package/dist/src/keyboard-actions.js +1 -0
- package/dist/src/launch-console.js +1 -0
- package/dist/src/lease-context.js +1 -1
- package/dist/src/lease-scope.js +1 -0
- package/dist/src/lease.js +1 -1
- package/dist/src/limrun-runtime-dependencies.js +1 -1
- package/dist/src/limrun.d.ts +1610 -7
- package/dist/src/limrun.js +1 -1
- package/dist/src/linux.js +1 -1
- package/dist/src/local-interactor-operation-set.js +1 -0
- package/dist/src/location-coordinates.js +1 -1
- package/dist/src/logcat.js +1 -1
- package/dist/src/macos-facade.js +1 -0
- package/dist/src/managed-device-scope.js +1 -0
- package/dist/src/mechanics.js +19 -0
- package/dist/src/metro.d.ts +4 -2
- package/dist/src/metro.js +1 -1
- package/dist/src/metro2.js +1 -1
- package/dist/src/mobile-snapshot-semantics.js +1 -1
- package/dist/src/multitouch-support.js +1 -0
- package/dist/src/numeric.js +1 -0
- package/dist/src/observability.js +1 -1
- package/dist/src/observation.js +2 -0
- package/dist/src/open-target-resolution.js +1 -0
- package/dist/src/output-path.js +1 -1
- package/dist/src/owner-identity.js +3 -1
- package/dist/src/parameterized-recorded-fill.js +1 -0
- package/dist/src/parser.js +1 -1
- package/dist/src/perf-facade.js +2 -0
- package/dist/src/perf-process-identity.js +1 -0
- package/dist/src/perf-runtime-operation-builder.js +1 -0
- package/dist/src/perf-runtime-plan.js +1 -0
- package/dist/src/perf-runtime.js +1 -0
- package/dist/src/perf.js +1 -4
- package/dist/src/physical-device-control.js +1 -1
- package/dist/src/physical-device-facade.js +1 -0
- package/dist/src/platform-request-scope.js +1 -0
- package/dist/src/platform-runtime-android-adb-host.js +1 -0
- package/dist/src/platform-runtime-android-mechanics.js +1 -0
- package/dist/src/platform-runtime-app-log-android-transport.js +1 -1
- package/dist/src/platform-runtime-app-log-process.js +1 -1
- package/dist/src/platform-runtime-host.js +1 -1
- package/dist/src/platform-runtime-managed-owner.js +1 -0
- package/dist/src/platform-runtime-network-web-transport.js +1 -1
- package/dist/src/platform-runtime-open-target.js +1 -1
- package/dist/src/platform-runtime-operation-host.js +4 -4
- package/dist/src/platform-runtime-runtime-hints.js +2 -2
- package/dist/src/platform-runtime-screen-recording-android-host.js +1 -1
- package/dist/src/platform-runtime-screen-recording-apple-runner-host.js +1 -1
- package/dist/src/platform-runtime-screen-recording-apple-runner-transport.js +1 -1
- package/dist/src/platform-runtime-screen-recording-apple-simulator-host.js +1 -1
- package/dist/src/platform-runtime-screen-recording-apple-transport.js +1 -1
- package/dist/src/platform-runtime-screen-recording-finalizer-host.js +1 -1
- package/dist/src/platform-runtime-screen-recording-harmony-host.js +1 -1
- package/dist/src/platform-runtime-screen-recording-process-host.js +1 -0
- package/dist/src/platform-runtime-screen-recording-web-host.js +1 -1
- package/dist/src/platform-runtime-unavailable.js +1 -0
- package/dist/src/platform-runtime.js +1 -1
- package/dist/src/platform-runtime2.js +1 -1
- package/dist/src/plist.js +1 -1
- package/dist/src/png-worker-contract.js +1 -1
- package/dist/src/prepare-kind.js +1 -0
- package/dist/src/process-exit.js +1 -1
- package/dist/src/process.js +1 -0
- package/dist/src/provider-device-runtime.js +1 -0
- package/dist/src/provider-session-ownership.js +2 -0
- package/dist/src/provider-webdriver.js +1 -1
- package/dist/src/provider.js +1 -1
- package/dist/src/providers.js +1 -0
- package/dist/src/proxy.js +2 -2
- package/dist/src/react-native-overlay.js +1 -0
- package/dist/src/react-native.js +1 -1
- package/dist/src/record-runtime.js +1 -1
- package/dist/src/record-trace.js +1 -1
- package/dist/src/rect-center.js +1 -0
- package/dist/src/register-builtins.js +1 -0
- package/dist/src/registry.js +40 -28
- package/dist/src/remote-config2.js +1 -1
- package/dist/src/replay-divergence.js +2 -0
- package/dist/src/replay.js +2 -2
- package/dist/src/reporting.js +8 -7
- package/dist/src/request-admission.js +1 -0
- package/dist/src/request-cancel.js +1 -0
- package/dist/src/request-cancellation.js +1 -0
- package/dist/src/request-progress-protocol.js +1 -0
- package/dist/src/request-providers.js +1 -0
- package/dist/src/request-runtime-binding.js +1 -0
- package/dist/src/request.js +1 -0
- package/dist/src/result-serialization.js +1 -0
- package/dist/src/retry.js +1 -0
- package/dist/src/rolldown-runtime.js +1 -1
- package/dist/src/runner-cache-metadata.js +2 -0
- package/dist/src/runner-client.js +1 -1
- package/dist/src/runner-disposal.js +1 -1
- package/dist/src/runner-operations-facade.js +1 -0
- package/dist/src/runner-owner-facade.js +1 -0
- package/dist/src/runner-owner-state.js +1 -0
- package/dist/src/runner-presentation.js +1 -0
- package/dist/src/runner.js +1 -0
- package/dist/src/{runtime-transport.js → runtime-transport-hints.js} +1 -1
- package/dist/src/runtime.js +3 -3
- package/dist/src/runtime2.js +4 -4
- package/dist/src/runtime3.js +1 -1
- package/dist/src/runtime4.js +5 -3
- package/dist/src/runtime5.js +1 -1
- package/dist/src/runtime6.js +1 -1
- package/dist/src/runtime7.js +1 -1
- package/dist/src/runtime8.js +1 -1
- package/dist/src/runtime9.js +1 -1
- package/dist/src/scoped-provider.js +1 -1
- package/dist/src/screen-recording-completion.js +1 -0
- package/dist/src/screen-recording-live-handle.js +1 -0
- package/dist/src/screen-recording-options.js +1 -0
- package/dist/src/screen-recording-resource-recovery.js +1 -0
- package/dist/src/screen-recording-runtime.js +1 -0
- package/dist/src/screenshot-density.js +1 -1
- package/dist/src/screenshot-result.js +1 -6
- package/dist/src/screenshot-runtime.js +1 -0
- package/dist/src/screenshot.js +1 -1
- package/dist/src/screenshot2.js +1 -0
- package/dist/src/screenshot3.js +5 -0
- package/dist/src/script.js +1 -0
- package/dist/src/scroll-command.js +1 -0
- package/dist/src/scroll-gesture.js +1 -0
- package/dist/src/scroll-indicator.js +1 -0
- package/dist/src/sdk-batch-runner.d.ts +23 -6
- package/dist/src/sdk-batch-runner.js +2 -3
- package/dist/src/sdk-batch.js +2 -0
- package/dist/src/sdk-contracts.d.ts +170 -41
- package/dist/src/sdk-contracts.js +2 -2
- package/dist/src/sdk-device.js +1 -1
- package/dist/src/sdk-finders.d.ts +1 -1
- package/dist/src/sdk-finders.js +1 -1
- package/dist/src/sdk-io.js +1 -1
- package/dist/src/sdk-remote-config.d.ts +1 -1
- package/dist/src/sdk-remote-config.js +1 -1
- package/dist/src/sdk-selectors.d.ts +524 -140
- package/dist/src/sdk-selectors.js +1 -1
- package/dist/src/selection.js +1 -0
- package/dist/src/selector-runtime.js +1 -1
- package/dist/src/selectors.js +1 -1
- package/dist/src/semantic-index.js +1 -0
- package/dist/src/server.js +4 -4
- package/dist/src/session-allocation.js +1 -0
- package/dist/src/session-artifact-paths.js +1 -0
- package/dist/src/session-observation.js +1 -0
- package/dist/src/session-paths.js +1 -0
- package/dist/src/session-repair-tombstone.js +1 -0
- package/dist/src/session-routing.js +1 -0
- package/dist/src/session-runtime-admission.js +1 -0
- package/dist/src/session-snapshot.js +1 -0
- package/dist/src/session-store.js +4 -0
- package/dist/src/session-target-evidence.js +1 -1
- package/dist/src/session2.js +5 -27
- package/dist/src/settings.js +1 -0
- package/dist/src/shared.js +2 -2
- package/dist/src/simctl-facade.js +1 -0
- package/dist/src/simctl.js +1 -1
- package/dist/src/simulator-facade.js +1 -0
- package/dist/src/simulator.js +1 -1
- package/dist/src/snapshot-capture-annotations.js +1 -0
- package/dist/src/snapshot-desktop-projection.js +1 -0
- package/dist/src/snapshot-diagnostics.js +1 -0
- package/dist/src/snapshot-process.js +1 -0
- package/dist/src/snapshot-quality-backend-capabilities.js +1 -0
- package/dist/src/snapshot-quality-verdict.js +1 -0
- package/dist/src/snapshot-runtime-binding.js +1 -0
- package/dist/src/snapshot-runtime.js +1 -1
- package/dist/src/snapshot-scope.js +1 -1
- package/dist/src/snapshot-state.js +1 -0
- package/dist/src/snapshot.js +1 -8
- package/dist/src/snapshot2.js +1 -1
- package/dist/src/snapshot3.js +1 -1
- package/dist/src/snapshot4.js +1 -0
- package/dist/src/src.js +1 -1
- package/dist/src/src2.js +1 -1
- package/dist/src/src3.js +1 -2
- package/dist/src/src4.js +1 -1
- package/dist/src/src5.js +1 -0
- package/dist/src/src6.js +1 -0
- package/dist/src/src7.js +2 -0
- package/dist/src/src8.js +115 -0
- package/dist/src/startup-recovery-fence.js +1 -0
- package/dist/src/status-markers.js +1 -0
- package/dist/src/string-enum.js +1 -1
- package/dist/src/success-text.js +1 -0
- package/dist/src/surface-snapshot.js +1 -0
- package/dist/src/surface-snapshot2.js +1 -0
- package/dist/src/takeover.js +5 -0
- package/dist/src/tool-provider-facade.js +1 -0
- package/dist/src/tool-provider.js +4 -3
- package/dist/src/tool-provider2.js +1 -1
- package/dist/src/tool-provider3.js +1 -1
- package/dist/src/toolchain-probe.js +2 -0
- package/dist/src/touch-reference-frame.js +1 -0
- package/dist/src/touch-runtime.js +1 -0
- package/dist/src/transport.js +3 -0
- package/dist/src/tree.js +1 -0
- package/dist/src/ttl-memo.js +1 -0
- package/dist/src/tv-remote.js +1 -0
- package/dist/src/type-text-runtime.js +1 -0
- package/dist/src/undici.js +99 -0
- package/dist/src/update-check.js +1 -1
- package/dist/src/verified-file.js +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/video.js +2 -2
- package/dist/src/web.js +2 -1
- package/dist/src/web2.js +1 -0
- package/dist/src/webdriver-ios-snapshot.js +1 -0
- package/dist/src/webdriver-source.js +1 -0
- package/dist/src/window-state.js +1 -0
- package/linux/atspi-dump.py +54 -9
- package/package.json +58 -35
- package/server.json +9 -3
- package/android/ime-helper/dist/agent-device-android-ime-helper-0.20.10.apk.sha256 +0 -1
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.20.10.apk +0 -0
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.20.10.apk.sha256 +0 -1
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+CoordinateTextEntryTests.swift +0 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+FlatSnapshotFiltering.swift +0 -168
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+LifecycleCacheTests.swift +0 -6
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+RecordingTests.swift +0 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SelectorMatchPolicyTests.swift +0 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotPresentation.swift +0 -183
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotPresentationTests.swift +0 -0
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotTraversalIdentityTests.swift +0 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntryPolicyTests.swift +0 -4
- package/dist/src/appearance.js +0 -1
- package/dist/src/apps.js +0 -5
- package/dist/src/audio-probe.js +0 -1
- package/dist/src/cli-grammar.js +0 -1
- package/dist/src/command-catalog.js +0 -1
- package/dist/src/debug-symbols.js +0 -5
- package/dist/src/device-input-state.js +0 -2
- package/dist/src/device-ready.js +0 -1
- package/dist/src/dispatch.js +0 -1
- package/dist/src/handler-utils.js +0 -1
- package/dist/src/helper-package-install.js +0 -1
- package/dist/src/host-process.js +0 -3
- package/dist/src/ime-lifecycle.js +0 -2
- package/dist/src/ime-recovery-marker.js +0 -1
- package/dist/src/input-actions3.js +0 -1
- package/dist/src/install-artifact.js +0 -1
- package/dist/src/install-artifact2.js +0 -1
- package/dist/src/interaction-common.js +0 -1
- package/dist/src/interaction-runtime.js +0 -1
- package/dist/src/interaction-snapshot.js +0 -1
- package/dist/src/manifest.js +0 -1
- package/dist/src/method-scope.js +0 -1
- package/dist/src/png-resize.js +0 -1
- package/dist/src/process-lock.js +0 -1
- package/dist/src/runner-lease.js +0 -1
- package/dist/src/runner-sequence.js +0 -1
- package/dist/src/script-source-bundle.js +0 -16
- package/dist/src/sdk-android-adb.d.ts +0 -245
- package/dist/src/sdk-android-adb.js +0 -4
- package/dist/src/sdk.js +0 -1
- package/dist/src/setting-state.js +0 -1
- package/dist/src/shell-quote.js +0 -1
- package/dist/src/snapshot-session.js +0 -1
- package/dist/src/timing-safe-equal.js +0 -1
- package/dist/src/unsupported-interactor.js +0 -1
- package/dist/src/verdict.js +0 -1
- /package/dist/src/{recording-telemetry.js → telemetry.js} +0 -0
|
@@ -113,6 +113,7 @@
|
|
|
113
113
|
);
|
|
114
114
|
name = AgentDeviceRunnerUITests;
|
|
115
115
|
packageProductDependencies = (
|
|
116
|
+
A1B2C3D4E5F60718293A4B5D /* AgentDeviceSnapshotPresentation */,
|
|
116
117
|
);
|
|
117
118
|
productName = AgentDeviceRunnerUITests;
|
|
118
119
|
productReference = 20EA2EDD2F2CFC7C001CF0EF /* AgentDeviceRunnerUITests.xctest */;
|
|
@@ -146,6 +147,9 @@
|
|
|
146
147
|
);
|
|
147
148
|
mainGroup = 20EA2EBD2F2CFC7B001CF0EF;
|
|
148
149
|
minimizedProjectReferenceProxies = 1;
|
|
150
|
+
packageReferences = (
|
|
151
|
+
A1B2C3D4E5F60718293A4B5C /* XCLocalSwiftPackageReference "snapshot-presentation" */,
|
|
152
|
+
);
|
|
149
153
|
preferredProjectObjectVersion = 77;
|
|
150
154
|
productRefGroup = 20EA2EC72F2CFC7B001CF0EF /* Products */;
|
|
151
155
|
projectDirPath = "";
|
|
@@ -157,6 +161,21 @@
|
|
|
157
161
|
};
|
|
158
162
|
/* End PBXProject section */
|
|
159
163
|
|
|
164
|
+
/* Begin XCLocalSwiftPackageReference section */
|
|
165
|
+
A1B2C3D4E5F60718293A4B5C /* XCLocalSwiftPackageReference "snapshot-presentation" */ = {
|
|
166
|
+
isa = XCLocalSwiftPackageReference;
|
|
167
|
+
relativePath = ../../snapshot-presentation;
|
|
168
|
+
};
|
|
169
|
+
/* End XCLocalSwiftPackageReference section */
|
|
170
|
+
|
|
171
|
+
/* Begin XCSwiftPackageProductDependency section */
|
|
172
|
+
A1B2C3D4E5F60718293A4B5D /* AgentDeviceSnapshotPresentation */ = {
|
|
173
|
+
isa = XCSwiftPackageProductDependency;
|
|
174
|
+
package = A1B2C3D4E5F60718293A4B5C /* XCLocalSwiftPackageReference "snapshot-presentation" */;
|
|
175
|
+
productName = AgentDeviceSnapshotPresentation;
|
|
176
|
+
};
|
|
177
|
+
/* End XCSwiftPackageProductDependency section */
|
|
178
|
+
|
|
160
179
|
/* Begin PBXResourcesBuildPhase section */
|
|
161
180
|
20EA2EC42F2CFC7B001CF0EF /* Resources */ = {
|
|
162
181
|
isa = PBXResourcesBuildPhase;
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerAXSnapshotBridge.h
CHANGED
|
@@ -49,6 +49,18 @@ FOUNDATION_EXPORT NSString *const RunnerAXSnapshotCustomActionsBlockedKey;
|
|
|
49
49
|
customActionLimit:(NSInteger)customActionLimit
|
|
50
50
|
deadline:(nullable NSDate *)deadline;
|
|
51
51
|
|
|
52
|
+
/// The capture behind `snapshotTreeForApplication:`, for an AX client and target
|
|
53
|
+
/// application element that are already resolved. Every request, extension, and
|
|
54
|
+
/// custom-action decision happens here; the application entry point only resolves
|
|
55
|
+
/// the two identities.
|
|
56
|
+
+ (NSDictionary<NSString *, id> *)snapshotTreeWithClient:(id)axClient
|
|
57
|
+
target:(id)target
|
|
58
|
+
maxDepth:(NSInteger)maxDepth
|
|
59
|
+
maxNodes:(NSInteger)maxNodes
|
|
60
|
+
deepExtensionCallLimit:(NSInteger)deepExtensionCallLimit
|
|
61
|
+
customActionLimit:(NSInteger)customActionLimit
|
|
62
|
+
deadline:(nullable NSDate *)deadline;
|
|
63
|
+
|
|
52
64
|
/// Names of the element's UIAccessibilityCustomActions, or nil when it has
|
|
53
65
|
/// none.
|
|
54
66
|
///
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerAXSnapshotBridge.m
CHANGED
|
@@ -104,7 +104,27 @@ typedef id (*RunnerAXSnapshotMsgSend)(id, SEL, id, id, id, NSError **);
|
|
|
104
104
|
if (nil == target) {
|
|
105
105
|
return [self failure:@"Could not match active AX application for XCTest application"];
|
|
106
106
|
}
|
|
107
|
+
return [self snapshotTreeWithClient:axClient
|
|
108
|
+
target:target
|
|
109
|
+
maxDepth:maxDepth
|
|
110
|
+
maxNodes:maxNodes
|
|
111
|
+
deepExtensionCallLimit:deepExtensionCallLimit
|
|
112
|
+
customActionLimit:customActionLimit
|
|
113
|
+
deadline:deadline];
|
|
114
|
+
} @catch (NSException *exception) {
|
|
115
|
+
return [self failure:exception.reason ?: exception.name ?: @"AX snapshot bridge exception"];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
107
118
|
|
|
119
|
+
+ (NSDictionary<NSString *, id> *)snapshotTreeWithClient:(id)axClient
|
|
120
|
+
target:(id)target
|
|
121
|
+
maxDepth:(NSInteger)maxDepth
|
|
122
|
+
maxNodes:(NSInteger)maxNodes
|
|
123
|
+
deepExtensionCallLimit:(NSInteger)deepExtensionCallLimit
|
|
124
|
+
customActionLimit:(NSInteger)customActionLimit
|
|
125
|
+
deadline:(nullable NSDate *)deadline
|
|
126
|
+
{
|
|
127
|
+
@try {
|
|
108
128
|
NSArray *attributes = [self snapshotAttributes];
|
|
109
129
|
NSError *error = nil;
|
|
110
130
|
id root = [self requestSnapshotFromClient:axClient
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerAlertVerification.swift
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
struct RunnerAlertPresentation: Equatable {
|
|
2
|
+
let title: String
|
|
3
|
+
let content: [String]
|
|
4
|
+
let buttons: [String]
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
enum RunnerAlertObservation {
|
|
8
|
+
case visible(RunnerAlertPresentation)
|
|
9
|
+
case absent
|
|
10
|
+
case unavailable
|
|
11
|
+
case deadlineExceeded
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
enum RunnerAlertVerification: Equatable {
|
|
15
|
+
case disappeared
|
|
16
|
+
case presentationChanged
|
|
17
|
+
case stillVisible
|
|
18
|
+
case unconfirmed
|
|
19
|
+
case timedOut
|
|
20
|
+
|
|
21
|
+
static func verify(
|
|
22
|
+
original: RunnerAlertPresentation,
|
|
23
|
+
observation: RunnerAlertObservation
|
|
24
|
+
) -> RunnerAlertVerification {
|
|
25
|
+
switch observation {
|
|
26
|
+
case .visible(let current):
|
|
27
|
+
return original == current ? .stillVisible : .presentationChanged
|
|
28
|
+
case .absent:
|
|
29
|
+
return .disappeared
|
|
30
|
+
case .unavailable:
|
|
31
|
+
return .unconfirmed
|
|
32
|
+
case .deadlineExceeded:
|
|
33
|
+
return .timedOut
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSelectorMatchPolicy.swift
CHANGED
|
@@ -20,26 +20,26 @@ enum DirectSelectorCandidateDecision: Equatable {
|
|
|
20
20
|
case ambiguous
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
26
|
enum DirectSelectorRawMatchPolicy: Equatable {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
30
|
case rejectDistinctMatches
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
36
|
case preferHittableMatch
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
43
|
func classifyDirectSelectorCandidates(
|
|
44
44
|
_ candidates: [SelectorCandidateFacts],
|
|
45
45
|
allowNonHittableFallback: Bool,
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSynthesizedGesture.h
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
NS_ASSUME_NONNULL_BEGIN
|
|
4
4
|
|
|
5
|
+
FOUNDATION_EXPORT NSInteger RunnerContinuousDragFrameCount(double durationMs);
|
|
6
|
+
FOUNDATION_EXPORT NSInteger RunnerControlledScrollFrameCount(double durationMs);
|
|
7
|
+
FOUNDATION_EXPORT double RunnerControlledScrollProgress(double t);
|
|
8
|
+
|
|
5
9
|
@interface RunnerSynthesizedGesture : NSObject
|
|
6
10
|
|
|
7
11
|
+ (NSString * _Nullable)synthesizeSwipeWithApplication:(id)application
|
|
@@ -15,9 +19,16 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
15
19
|
x:(double)x
|
|
16
20
|
y:(double)y
|
|
17
21
|
x2:(double)x2
|
|
18
|
-
|
|
22
|
+
y2:(double)y2
|
|
19
23
|
durationMs:(double)durationMs;
|
|
20
24
|
|
|
25
|
+
+ (NSString * _Nullable)synthesizeControlledScrollWithApplication:(id)application
|
|
26
|
+
x:(double)x
|
|
27
|
+
y:(double)y
|
|
28
|
+
x2:(double)x2
|
|
29
|
+
y2:(double)y2
|
|
30
|
+
durationMs:(double)durationMs;
|
|
31
|
+
|
|
21
32
|
+ (NSString * _Nullable)synthesizeTapWithApplication:(id)application
|
|
22
33
|
x:(double)x
|
|
23
34
|
y:(double)y;
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerSynthesizedGesture.m
CHANGED
|
@@ -29,6 +29,7 @@ typedef id (*RunnerDragPointerPathFactory)(
|
|
|
29
29
|
CGPoint,
|
|
30
30
|
double
|
|
31
31
|
);
|
|
32
|
+
typedef double (*RunnerDragProgressFunction)(double);
|
|
32
33
|
|
|
33
34
|
static NSString * _Nullable RunnerResolveGestureEventBridge(
|
|
34
35
|
id application,
|
|
@@ -56,6 +57,21 @@ static id RunnerContinuousDragPointerPath(
|
|
|
56
57
|
CGPoint end,
|
|
57
58
|
double durationMs
|
|
58
59
|
);
|
|
60
|
+
static id RunnerControlledScrollPointerPath(
|
|
61
|
+
const RunnerGestureEventBridge *bridge,
|
|
62
|
+
CGPoint start,
|
|
63
|
+
CGPoint end,
|
|
64
|
+
double durationMs
|
|
65
|
+
);
|
|
66
|
+
static id RunnerSampledDragPointerPath(
|
|
67
|
+
const RunnerGestureEventBridge *bridge,
|
|
68
|
+
CGPoint start,
|
|
69
|
+
CGPoint end,
|
|
70
|
+
double durationMs,
|
|
71
|
+
RunnerDragProgressFunction progress,
|
|
72
|
+
NSInteger frameCount
|
|
73
|
+
);
|
|
74
|
+
static double RunnerSmoothstepProgress(double t);
|
|
59
75
|
static NSString * _Nullable RunnerTrySynthesizeDrag(
|
|
60
76
|
id application,
|
|
61
77
|
CGPoint start,
|
|
@@ -68,6 +84,8 @@ static NSString * _Nullable RunnerTrySynthesizeTap(id application, CGPoint point
|
|
|
68
84
|
// XCTest's proven swipe profile reaches the endpoint in 100 ms, then holds for the planned
|
|
69
85
|
// fling duration. Fast movement is what lets UIKit distinguish a fling from a timed pan.
|
|
70
86
|
static const NSTimeInterval RunnerSwipeMovementDurationSeconds = 0.1;
|
|
87
|
+
static const double RunnerDragSampleIntervalMs = 16.0;
|
|
88
|
+
static const NSInteger RunnerControlledScrollMaxFrameCount = 30;
|
|
71
89
|
static id RunnerTapPointerPath(
|
|
72
90
|
const RunnerGestureEventBridge *bridge,
|
|
73
91
|
CGPoint point
|
|
@@ -115,6 +133,26 @@ static id RunnerTapPointerPath(
|
|
|
115
133
|
}
|
|
116
134
|
}
|
|
117
135
|
|
|
136
|
+
+ (NSString * _Nullable)synthesizeControlledScrollWithApplication:(id)application
|
|
137
|
+
x:(double)x
|
|
138
|
+
y:(double)y
|
|
139
|
+
x2:(double)x2
|
|
140
|
+
y2:(double)y2
|
|
141
|
+
durationMs:(double)durationMs {
|
|
142
|
+
@try {
|
|
143
|
+
return RunnerTrySynthesizeDrag(
|
|
144
|
+
application,
|
|
145
|
+
CGPointMake(x, y),
|
|
146
|
+
CGPointMake(x2, y2),
|
|
147
|
+
durationMs,
|
|
148
|
+
@"agent-device-controlled-scroll",
|
|
149
|
+
RunnerControlledScrollPointerPath
|
|
150
|
+
);
|
|
151
|
+
} @catch (NSException *exception) {
|
|
152
|
+
return RunnerFormatXCTestException(exception, @"private XCTest event synthesis failed");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
118
156
|
+ (NSString * _Nullable)synthesizeTapWithApplication:(id)application
|
|
119
157
|
x:(double)x
|
|
120
158
|
y:(double)y {
|
|
@@ -351,6 +389,46 @@ static id RunnerContinuousDragPointerPath(
|
|
|
351
389
|
CGPoint start,
|
|
352
390
|
CGPoint end,
|
|
353
391
|
double durationMs
|
|
392
|
+
) {
|
|
393
|
+
// This is velocity shaping, not just interpolation density: smoothstep's endpoint slope is zero,
|
|
394
|
+
// while a planned linear segment reaches lift with nonzero velocity unless a destination hold
|
|
395
|
+
// follows it. UIKit uses finger-up velocity for scroll deceleration. See ADR 0013 and issue #1586.
|
|
396
|
+
return RunnerSampledDragPointerPath(
|
|
397
|
+
bridge,
|
|
398
|
+
start,
|
|
399
|
+
end,
|
|
400
|
+
durationMs,
|
|
401
|
+
RunnerSmoothstepProgress,
|
|
402
|
+
RunnerContinuousDragFrameCount(durationMs)
|
|
403
|
+
);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
static id RunnerControlledScrollPointerPath(
|
|
407
|
+
const RunnerGestureEventBridge *bridge,
|
|
408
|
+
CGPoint start,
|
|
409
|
+
CGPoint end,
|
|
410
|
+
double durationMs
|
|
411
|
+
) {
|
|
412
|
+
// A stationary hold is not a reliable zero-velocity release in XCTest. Cubic ease-out decreases
|
|
413
|
+
// velocity from the first movement and reaches near zero before lift. Profiles that accelerate
|
|
414
|
+
// after pan recognition can still be classified as flings despite a slow final sample.
|
|
415
|
+
return RunnerSampledDragPointerPath(
|
|
416
|
+
bridge,
|
|
417
|
+
start,
|
|
418
|
+
end,
|
|
419
|
+
durationMs,
|
|
420
|
+
RunnerControlledScrollProgress,
|
|
421
|
+
RunnerControlledScrollFrameCount(durationMs)
|
|
422
|
+
);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
static id RunnerSampledDragPointerPath(
|
|
426
|
+
const RunnerGestureEventBridge *bridge,
|
|
427
|
+
CGPoint start,
|
|
428
|
+
CGPoint end,
|
|
429
|
+
double durationMs,
|
|
430
|
+
RunnerDragProgressFunction progress,
|
|
431
|
+
NSInteger frameCount
|
|
354
432
|
) {
|
|
355
433
|
id path =
|
|
356
434
|
((RunnerMsgSendInitPath)objc_msgSend)([bridge->core.pathClass alloc], bridge->initPathSelector, start, 0.0);
|
|
@@ -358,14 +436,10 @@ static id RunnerContinuousDragPointerPath(
|
|
|
358
436
|
return nil;
|
|
359
437
|
}
|
|
360
438
|
|
|
361
|
-
// This is velocity shaping, not just interpolation density: smoothstep's endpoint slope is zero,
|
|
362
|
-
// while a planned linear segment reaches lift with nonzero velocity unless a destination hold
|
|
363
|
-
// follows it. UIKit uses finger-up velocity for scroll deceleration. See ADR 0013 and issue #1586.
|
|
364
|
-
int frameCount = MAX(3, (int)(durationMs / 16.0));
|
|
365
439
|
NSTimeInterval durationSeconds = durationMs / 1000.0;
|
|
366
|
-
for (
|
|
440
|
+
for (NSInteger index = 1; index <= frameCount; index += 1) {
|
|
367
441
|
double t = (double)index / (double)frameCount;
|
|
368
|
-
double easedT =
|
|
442
|
+
double easedT = progress(t);
|
|
369
443
|
CGPoint point = CGPointMake(
|
|
370
444
|
start.x + (end.x - start.x) * easedT,
|
|
371
445
|
start.y + (end.y - start.y) * easedT
|
|
@@ -377,6 +451,26 @@ static id RunnerContinuousDragPointerPath(
|
|
|
377
451
|
return path;
|
|
378
452
|
}
|
|
379
453
|
|
|
454
|
+
static double RunnerSmoothstepProgress(double t) {
|
|
455
|
+
return t * t * (3.0 - 2.0 * t);
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
NSInteger RunnerContinuousDragFrameCount(double durationMs) {
|
|
459
|
+
return MAX(3, (NSInteger)(durationMs / RunnerDragSampleIntervalMs));
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
NSInteger RunnerControlledScrollFrameCount(double durationMs) {
|
|
463
|
+
return MIN(
|
|
464
|
+
RunnerControlledScrollMaxFrameCount,
|
|
465
|
+
MAX(3, (NSInteger)ceil(durationMs / RunnerDragSampleIntervalMs) - 1)
|
|
466
|
+
);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
double RunnerControlledScrollProgress(double t) {
|
|
470
|
+
double remaining = 1.0 - t;
|
|
471
|
+
return 1.0 - remaining * remaining * remaining;
|
|
472
|
+
}
|
|
473
|
+
|
|
380
474
|
static id RunnerTapPointerPath(
|
|
381
475
|
const RunnerGestureEventBridge *bridge,
|
|
382
476
|
CGPoint point
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
enum SystemSurfaceHostKind: String {
|
|
8
|
+
case webAuth = "web-auth"
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
struct SystemSurfaceHost: Equatable {
|
|
12
|
+
let bundleId: String
|
|
13
|
+
let kind: SystemSurfaceHostKind
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
enum SystemSurfaceHostRegistry {
|
|
17
|
+
static let hosts: [SystemSurfaceHost] = [
|
|
18
|
+
SystemSurfaceHost(bundleId: "com.apple.SafariViewService", kind: .webAuth)
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
static func host(forBundleId bundleId: String?) -> SystemSurfaceHost? {
|
|
22
|
+
guard let bundleId else { return nil }
|
|
23
|
+
return hosts.first { $0.bundleId == bundleId }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static func isSystemSurfaceHost(_ bundleId: String?) -> Bool {
|
|
27
|
+
host(forBundleId: bundleId) != nil
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTapPointPolicy.swift
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import XCTest
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
17
|
enum TapPointPolicy {
|
|
18
18
|
static func isAllowed(elementFrame: CGRect, windowFrame: CGRect) -> Bool {
|
|
19
19
|
if windowFrame.isNull || windowFrame.isEmpty || windowFrame.isInfinite {
|
|
@@ -26,3 +26,52 @@ enum TapPointPolicy {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|