agent-device 0.21.0 → 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/android/ime-helper/dist/{agent-device-android-ime-helper-0.21.0.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.21.0.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.0.apk → 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.21.0.manifest.json → agent-device-android-snapshot-helper-0.21.1.manifest.json} +6 -6
- package/apple/snapshot-bridge/README.md +58 -1
- package/apple/snapshot-bridge/SnapshotBridge.m +6 -0
- package/apple/snapshot-bridge/SnapshotBridgeCapture.h +25 -0
- package/apple/snapshot-bridge/SnapshotBridgeCapture.m +138 -0
- package/apple/snapshot-bridge/SnapshotBridgeRuntime.h +1 -0
- package/apple/snapshot-bridge/SnapshotBridgeRuntime.m +32 -3
- 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/RunnerSelectorMatchPolicy.swift +15 -15
- 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 +668 -82
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Alert.swift +14 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+BlockingSystemModalResolution.swift +39 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+CommandExecution.swift +1065 -223
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+CommandJournal.swift +290 -0
- 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 +249 -61
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Keyboard.swift +101 -42
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Lifecycle.swift +13 -13
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Models.swift +51 -43
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Navigation.swift +71 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+PrivateAXPresentation.swift +144 -7
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+ScreenRecorder.swift +13 -1
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+ScrollGesture.swift +216 -17
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SequenceExecution.swift +206 -22
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Snapshot.swift +289 -42
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotBackendCapabilities.swift +92 -22
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotCapturePlan.swift +617 -122
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SnapshotTiming.swift +79 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SynthesizedCommitDeadline.swift +71 -71
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SynthesizedGesturePolicy.swift +83 -5
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SynthesizedTextEntry.swift +67 -67
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+SystemModal.swift +4 -4
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntry.swift +17 -17
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntryFocus.swift +30 -30
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TextEntryReadiness.swift +31 -31
- 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 +19 -19
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Transport.swift +55 -17
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+TvRemote.swift +26 -5
- package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests.swift +125 -75
- package/dist/apple/runner/AgentDeviceRunner/RecordingScripts/RecordingExportSupport.swift +9 -9
- package/dist/apple/runner/AgentDeviceRunner/RecordingScripts/recording-overlay.swift +9 -9
- package/dist/apple/runner/AgentDeviceRunner/RecordingScripts/recording-trim.swift +4 -4
- package/dist/src/adapter.js +1 -1
- package/dist/src/adb-executor.js +1 -1
- package/dist/src/adb-failure.js +1 -1
- package/dist/src/agent-browser-process-record.js +1 -1
- package/dist/src/agent-browser-provider.js +1 -1
- 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 +1 -1
- package/dist/src/ai-sdk.js +1 -1
- package/dist/src/alert-runtime.js +1 -1
- package/dist/src/android-input-ownership.js +1 -1
- package/dist/src/app-catalog.js +1 -1
- package/dist/src/app-deployment-resolution.js +1 -1
- package/dist/src/app-inventory-contract.js +1 -1
- package/dist/src/app-inventory.js +1 -1
- package/dist/src/app-launch.js +2 -2
- package/dist/src/app-lifecycle.js +3 -3
- package/dist/src/app-lifecycle2.js +1 -1
- package/dist/src/app-log-files.js +1 -1
- package/dist/src/app-log-runtime2.js +3 -3
- package/dist/src/app-resolution.js +1 -1
- package/dist/src/apple-runner-platform.js +1 -0
- package/dist/src/application-lifecycle-interaction.js +1 -1
- package/dist/src/archive.js +1 -1
- package/dist/src/artifact-download.js +1 -1
- 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/boot-diagnostics.js +1 -1
- package/dist/src/capture.js +1 -1
- package/dist/src/cli-config.js +1 -1
- package/dist/src/cli-help.js +25 -21
- package/dist/src/cli-runner.js +1 -1
- package/dist/src/cli.js +4 -4
- package/dist/src/click-button.js +1 -1
- package/dist/src/client-metro-companion.js +1 -1
- package/dist/src/client-metro.js +1 -1
- package/dist/src/client-types.d.ts +27 -13
- package/dist/src/code-signature-cache.js +1 -1
- package/dist/src/code-signature.js +1 -1
- package/dist/src/command-schema.js +3 -3
- package/dist/src/command-tools.js +2 -2
- package/dist/src/command.js +1 -1
- package/dist/src/connection-runtime.js +1 -1
- package/dist/src/connection.js +3 -3
- package/dist/src/contracts.d.ts +1 -1
- package/dist/src/contracts.js +1 -1
- package/dist/src/daemon-client-lifecycle.js +1 -1
- package/dist/src/daemon.js +1 -1
- package/dist/src/debug-symbols-facade.js +1 -1
- package/dist/src/device-claim-rule.js +1 -1
- package/dist/src/device-inventory-context.js +1 -1
- package/dist/src/device-rotation.js +1 -1
- package/dist/src/device-selection-resolver.js +1 -1
- package/dist/src/device-session.js +1 -1
- package/dist/src/device2.js +1 -1
- package/dist/src/diagnostics.js +1 -1
- package/dist/src/dispatch-resolve.js +1 -1
- package/dist/src/doctor2.js +1 -1
- package/dist/src/error.js +1 -1
- package/dist/src/exec.js +1 -1
- package/dist/src/file.js +1 -1
- package/dist/src/find.js +1 -1
- package/dist/src/generic-settle.js +1 -1
- package/dist/src/gesture-plan.js +1 -1
- package/dist/src/gesture-runtime.js +1 -1
- package/dist/src/harmonyos.js +1 -1
- package/dist/src/hdc.js +1 -1
- package/dist/src/helper.js +2 -2
- package/dist/src/human-control-contract.js +1 -1
- package/dist/src/human-control.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/input-actions.js +1 -1
- package/dist/src/input-actions2.js +2 -2
- package/dist/src/install-artifact-facade.js +1 -1
- package/dist/src/install-source-network-transport.js +1 -1
- package/dist/src/install-source2.js +1 -1
- package/dist/src/interaction-positionals.js +1 -1
- package/dist/src/interaction-ref-policy.js +1 -1
- package/dist/src/interaction2.js +1 -1
- package/dist/src/interactor.js +5 -5
- package/dist/src/interactor2.js +1 -1
- package/dist/src/interactors.js +1 -1
- package/dist/src/internal/bin.js +1 -1
- package/dist/src/internal/daemon.js +2 -2
- package/dist/src/internal/png-worker.js +1 -1
- package/dist/src/internal/run-script-http-child.js +1 -1
- package/dist/src/inventory.js +2 -2
- package/dist/src/inventory2.js +1 -1
- package/dist/src/inventory3.js +1 -1
- package/dist/src/inventory5.js +1 -1
- package/dist/src/ios-snapshot-runtime.js +1 -1
- package/dist/src/ios-system-surface.js +1 -0
- package/dist/src/lease-scope.js +1 -1
- package/dist/src/lease.js +1 -1
- package/dist/src/limrun-runtime-dependencies.js +1 -1
- package/dist/src/limrun.d.ts +1 -1
- package/dist/src/linux.js +1 -1
- package/dist/src/location-coordinates.js +1 -1
- package/dist/src/managed-device-scope.js +1 -1
- package/dist/src/mechanics.js +16 -16
- package/dist/src/multitouch-support.js +1 -1
- package/dist/src/observation.js +1 -1
- package/dist/src/open-target-resolution.js +1 -0
- package/dist/src/owner-identity.js +3 -3
- package/dist/src/parameterized-recorded-fill.js +1 -1
- package/dist/src/perf-facade.js +2 -2
- package/dist/src/perf-process-identity.js +1 -0
- package/dist/src/perf-runtime-operation-builder.js +1 -1
- package/dist/src/perf-runtime-plan.js +1 -1
- package/dist/src/perf.js +1 -1
- package/dist/src/physical-device-control.js +1 -1
- package/dist/src/platform-runtime-android-adb-host.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 -1
- package/dist/src/platform-runtime-open-target.js +1 -1
- package/dist/src/platform-runtime-operation-host.js +2 -2
- 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-simulator-host.js +1 -1
- package/dist/src/platform-runtime-screen-recording-finalizer-host.js +1 -1
- package/dist/src/platform-runtime-unavailable.js +1 -1
- package/dist/src/platform-runtime.js +1 -1
- package/dist/src/platform-runtime2.js +1 -1
- package/dist/src/png-worker-contract.js +1 -1
- package/dist/src/prepare-kind.js +1 -1
- package/dist/src/provider-device-runtime.js +1 -1
- package/dist/src/provider-session-ownership.js +1 -1
- package/dist/src/provider-webdriver.js +1 -1
- package/dist/src/proxy.js +1 -1
- package/dist/src/react-native.js +1 -1
- package/dist/src/record-runtime.js +1 -1
- package/dist/src/rect-center.js +1 -1
- package/dist/src/register-builtins.js +1 -1
- package/dist/src/registry.js +37 -36
- package/dist/src/remote-config2.js +1 -1
- package/dist/src/replay-divergence.js +1 -1
- package/dist/src/replay.js +2 -2
- package/dist/src/reporting.js +9 -8
- package/dist/src/request-admission.js +1 -1
- package/dist/src/request-cancel.js +1 -1
- package/dist/src/request-runtime-binding.js +1 -1
- package/dist/src/retry.js +1 -1
- package/dist/src/runner-cache-metadata.js +2 -2
- package/dist/src/runner-client.js +1 -1
- package/dist/src/runner-disposal.js +1 -1
- package/dist/src/runner-operations-facade.js +1 -1
- package/dist/src/runner.js +1 -1
- package/dist/src/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 -4
- 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/screen-recording-live-handle.js +1 -1
- package/dist/src/screen-recording-options.js +1 -1
- package/dist/src/screen-recording-resource-recovery.js +1 -1
- package/dist/src/screenshot-density.js +1 -1
- package/dist/src/screenshot-runtime.js +1 -1
- package/dist/src/screenshot.js +1 -1
- package/dist/src/screenshot3.js +3 -3
- package/dist/src/script.js +1 -1
- package/dist/src/scroll-command.js +1 -1
- package/dist/src/scroll-gesture.js +1 -1
- package/dist/src/sdk-batch-runner.js +2 -2
- package/dist/src/sdk-batch.js +2 -2
- package/dist/src/sdk-contracts.d.ts +44 -1
- 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-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 +69 -13
- package/dist/src/selector-runtime.js +1 -1
- package/dist/src/server.js +3 -3
- package/dist/src/session-allocation.js +1 -1
- package/dist/src/session-observation.js +1 -0
- package/dist/src/session-routing.js +1 -1
- package/dist/src/session-runtime-admission.js +1 -1
- package/dist/src/session-snapshot.js +1 -1
- package/dist/src/session-store.js +3 -3
- package/dist/src/session-target-evidence.js +1 -1
- package/dist/src/session2.js +5 -5
- package/dist/src/settings.js +1 -1
- package/dist/src/simulator.js +1 -1
- package/dist/src/snapshot-quality-backend-capabilities.js +1 -1
- package/dist/src/snapshot-quality-verdict.js +1 -1
- package/dist/src/snapshot-runtime-binding.js +1 -1
- package/dist/src/snapshot-runtime.js +1 -1
- package/dist/src/snapshot-state.js +1 -1
- package/dist/src/snapshot2.js +1 -1
- package/dist/src/snapshot3.js +1 -1
- package/dist/src/snapshot4.js +1 -1
- package/dist/src/src.js +1 -1
- package/dist/src/src7.js +2 -2
- package/dist/src/src8.js +2 -2
- package/dist/src/string-enum.js +1 -1
- package/dist/src/takeover.js +1 -1
- package/dist/src/tool-provider.js +2 -2
- package/dist/src/tool-provider2.js +1 -1
- package/dist/src/tool-provider3.js +1 -1
- package/dist/src/toolchain-probe.js +1 -1
- package/dist/src/touch-reference-frame.js +1 -0
- package/dist/src/touch-runtime.js +1 -1
- package/dist/src/transport.js +1 -1
- package/dist/src/tv-remote.js +1 -1
- package/dist/src/type-text-runtime.js +1 -1
- package/dist/src/update-check.js +1 -1
- package/dist/src/verified-file.js +1 -1
- package/dist/src/video.js +1 -1
- package/dist/src/web.js +1 -1
- package/dist/src/web2.js +1 -1
- package/dist/src/webdriver-source.js +1 -1
- package/dist/src/window-state.js +1 -0
- package/package.json +3 -2
- package/server.json +2 -2
- package/android/ime-helper/dist/agent-device-android-ime-helper-0.21.0.apk.sha256 +0 -1
- package/android/snapshot-helper/dist/agent-device-android-snapshot-helper-0.21.0.apk.sha256 +0 -1
- package/dist/src/back-mode.js +0 -1
- package/dist/src/format.js +0 -2
- package/dist/src/platform-runtime-apple-resources.js +0 -1
- package/dist/src/runner-selector-query.js +0 -1
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Keyboard.swift
CHANGED
|
@@ -2,30 +2,30 @@ import XCTest
|
|
|
2
2
|
|
|
3
3
|
private enum KeyboardDismissObservationTiming {
|
|
4
4
|
static let timeout: TimeInterval = 2
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
19
|
static let settleTimeout: TimeInterval = 2.0
|
|
20
20
|
static let settleSampleInterval: TimeInterval = 0.15
|
|
21
21
|
static let settleRequiredConsecutiveMatches: Int = 3
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
29
|
enum RunnerKeyboardDismissMechanism: String {
|
|
30
30
|
case dismissKey
|
|
31
31
|
}
|
|
@@ -61,25 +61,25 @@ extension RunnerTests {
|
|
|
61
61
|
return (wasVisible: true, dismissed: !visible, visible: visible, mechanism: visible ? nil : .dismissKey)
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
70
|
return (wasVisible: true, dismissed: false, visible: isKeyboardVisible(app: app), mechanism: nil)
|
|
71
71
|
#endif
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
83
|
private func waitForScreenshotStability(
|
|
84
84
|
timeout: TimeInterval,
|
|
85
85
|
sampleInterval: TimeInterval,
|
|
@@ -252,15 +252,15 @@ extension RunnerTests {
|
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
264
|
func runnerScreenshotStabilitySettled(
|
|
265
265
|
_ samples: [Data?],
|
|
266
266
|
requiredConsecutiveMatches: Int
|
|
@@ -273,3 +273,62 @@ func runnerScreenshotStabilitySettled(
|
|
|
273
273
|
return window.allSatisfy { $0 == firstData }
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Lifecycle.swift
CHANGED
|
@@ -22,7 +22,7 @@ func runnerCGImage(from image: RunnerImage) -> CGImage? {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
extension RunnerTests {
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
|
|
27
27
|
func captureRunnerFrame() -> RunnerImage? {
|
|
28
28
|
var image: RunnerImage?
|
|
@@ -70,7 +70,7 @@ extension RunnerTests {
|
|
|
70
70
|
return (NSTemporaryDirectory() as NSString).appendingPathComponent(safeFileName)
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
|
|
74
74
|
|
|
75
75
|
func ensureRunnerHostAppActive(reason: String) {
|
|
76
76
|
NSLog(
|
|
@@ -103,9 +103,9 @@ extension RunnerTests {
|
|
|
103
103
|
|
|
104
104
|
func resetTargetAfterExternalRelaunch() -> Response {
|
|
105
105
|
invalidateCachedTarget(reason: "external_app_relaunch")
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
109
|
clearSnapshotXCTestChannelPenalty(reason: "external_app_relaunch")
|
|
110
110
|
clearPrivateAXAcceptedDepth(reason: "external_app_relaunch")
|
|
111
111
|
beginFirstInteractionStabilization()
|
|
@@ -191,7 +191,7 @@ extension RunnerTests {
|
|
|
191
191
|
initialState.rawValue,
|
|
192
192
|
reason
|
|
193
193
|
)
|
|
194
|
-
|
|
194
|
+
|
|
195
195
|
if initialState == .runningForeground {
|
|
196
196
|
NSLog(
|
|
197
197
|
"AGENT_DEVICE_RUNNER_ACTIVATE_SKIPPED bundle=%@ reason=already_foreground",
|
|
@@ -229,7 +229,7 @@ extension RunnerTests {
|
|
|
229
229
|
performWithQuiescenceSkippedIfSupported(target, operation: operation)
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
|
|
232
|
+
|
|
233
233
|
private func performWithQuiescenceSkippedIfSupported(
|
|
234
234
|
_ target: XCUIApplication,
|
|
235
235
|
operation: () -> Void
|
|
@@ -285,7 +285,7 @@ extension RunnerTests {
|
|
|
285
285
|
return false
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
|
|
288
|
+
|
|
289
289
|
|
|
290
290
|
func isReadOnlyCommand(_ command: Command) -> Bool {
|
|
291
291
|
switch command.command.traits.readOnly {
|
|
@@ -294,7 +294,7 @@ extension RunnerTests {
|
|
|
294
294
|
case .never:
|
|
295
295
|
return false
|
|
296
296
|
case .conditional:
|
|
297
|
-
|
|
297
|
+
|
|
298
298
|
return (command.action ?? "get").lowercased() == "get"
|
|
299
299
|
}
|
|
300
300
|
}
|
|
@@ -313,7 +313,7 @@ extension RunnerTests {
|
|
|
313
313
|
return command.traits.isLifecycle
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
|
|
317
317
|
|
|
318
318
|
func applyInteractionStabilizationIfNeeded() {
|
|
319
319
|
if needsPostSnapshotInteractionDelay {
|
|
@@ -326,8 +326,8 @@ extension RunnerTests {
|
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
|
|
330
|
+
|
|
331
331
|
func beginFirstInteractionStabilization() {
|
|
332
332
|
firstInteractionReadyUptime =
|
|
333
333
|
ProcessInfo.processInfo.systemUptime + firstInteractionAfterActivateDelay
|
|
@@ -335,7 +335,7 @@ extension RunnerTests {
|
|
|
335
335
|
|
|
336
336
|
func sleepFor(_ delay: TimeInterval) {
|
|
337
337
|
guard delay > 0 else { return }
|
|
338
|
-
|
|
338
|
+
|
|
339
339
|
if Thread.isMainThread {
|
|
340
340
|
let deadline = Date().addingTimeInterval(delay)
|
|
341
341
|
while Date() < deadline {
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Models.swift
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import AgentDeviceSnapshotPresentation
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
|
|
4
4
|
|
|
5
5
|
enum CommandType: String, Codable {
|
|
6
6
|
case tap
|
|
@@ -39,72 +39,72 @@ enum CommandType: String, Codable {
|
|
|
39
39
|
case shutdown
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
49
|
struct CommandTraits {
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
let isInteraction: Bool
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
|
|
53
|
+
|
|
54
54
|
let readOnly: ReadOnly
|
|
55
|
-
|
|
55
|
+
|
|
56
56
|
let isLifecycle: Bool
|
|
57
57
|
|
|
58
58
|
enum ReadOnly {
|
|
59
59
|
case always
|
|
60
60
|
case never
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
64
|
case conditional
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
extension CommandType {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
72
|
var traits: CommandTraits {
|
|
73
73
|
switch self {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
79
|
case .tap, .longPress, .drag, .remotePress, .type, .swipe, .scroll, .desktopScroll,
|
|
80
80
|
.back, .backInApp, .backSystem, .rotate, .appSwitcher,
|
|
81
81
|
.keyboardDismiss, .keyboardReturn, .sequence, .gesture:
|
|
82
82
|
return CommandTraits(isInteraction: true, readOnly: .never, isLifecycle: false)
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
|
|
85
85
|
case .findText, .readText, .snapshot, .gestureViewport:
|
|
86
86
|
return CommandTraits(isInteraction: false, readOnly: .always, isLifecycle: false)
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
case .screenshot:
|
|
90
90
|
return CommandTraits(isInteraction: false, readOnly: .always, isLifecycle: true)
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
|
|
93
93
|
case .alert:
|
|
94
94
|
return CommandTraits(isInteraction: false, readOnly: .conditional, isLifecycle: false)
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
case .recordStop, .uptime, .terminate, .targetReset, .shutdown:
|
|
98
98
|
return CommandTraits(isInteraction: false, readOnly: .never, isLifecycle: true)
|
|
99
99
|
|
|
100
100
|
case .status:
|
|
101
101
|
return CommandTraits(isInteraction: false, readOnly: .always, isLifecycle: true)
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
108
|
case .mouseClick, .querySelector, .home, .recordStart, .activate:
|
|
109
109
|
return CommandTraits(isInteraction: false, readOnly: .never, isLifecycle: false)
|
|
110
110
|
}
|
|
@@ -156,7 +156,7 @@ enum ScrollReleaseBehavior: String, Codable {
|
|
|
156
156
|
case inertial
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
|
|
160
160
|
struct RunnerGesturePlan: Codable {
|
|
161
161
|
let topology: String
|
|
162
162
|
let intent: String
|
|
@@ -188,22 +188,22 @@ struct RunnerGesturePoint: Codable {
|
|
|
188
188
|
let y: Double
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
194
|
struct SequenceStep: Codable {
|
|
195
195
|
let kind: String
|
|
196
196
|
let x: Double?
|
|
197
197
|
let y: Double?
|
|
198
198
|
let durationMs: Double?
|
|
199
199
|
let pauseMs: Double?
|
|
200
|
-
|
|
201
|
-
|
|
200
|
+
|
|
201
|
+
|
|
202
202
|
let synthesized: Bool?
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
|
|
206
|
+
|
|
207
207
|
struct SequenceStepResult: Codable {
|
|
208
208
|
let ok: Bool
|
|
209
209
|
let kind: String
|
|
@@ -220,9 +220,9 @@ struct Response: Codable {
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
extension Response {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
226
|
func stampingCurrentUptimeMs(_ value: Double) -> Response {
|
|
227
227
|
guard ok else { return self }
|
|
228
228
|
var payload = data ?? DataPayload()
|
|
@@ -241,6 +241,8 @@ struct DataPayload: Codable {
|
|
|
241
241
|
var truncated: Bool?
|
|
242
242
|
var qualityPayload: SnapshotQualityPayload? = nil
|
|
243
243
|
var snapshotQuality: SnapshotQuality?
|
|
244
|
+
|
|
245
|
+
var systemSurface: SystemSurfaceProvenancePayload?
|
|
244
246
|
var gestureStartUptimeMs: Double?
|
|
245
247
|
var gestureEndUptimeMs: Double?
|
|
246
248
|
var x: Double?
|
|
@@ -275,6 +277,12 @@ struct DataPayload: Codable {
|
|
|
275
277
|
var sequenceResults: [SequenceStepResult]?
|
|
276
278
|
}
|
|
277
279
|
|
|
280
|
+
|
|
281
|
+
struct SystemSurfaceProvenancePayload: Codable {
|
|
282
|
+
let bundleId: String
|
|
283
|
+
let kind: String
|
|
284
|
+
}
|
|
285
|
+
|
|
278
286
|
struct SnapshotQualityPayload: Codable {
|
|
279
287
|
let nodes: [PresentedNode]
|
|
280
288
|
let truncated: Bool
|
package/dist/apple/runner/AgentDeviceRunner/AgentDeviceRunnerUITests/RunnerTests+Navigation.swift
CHANGED
|
@@ -81,7 +81,7 @@ extension RunnerTests {
|
|
|
81
81
|
return navigationBackKeywords.firstIndex { text.contains($0) }
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
|
|
85
85
|
static func isUsableNavigationFrame(_ frame: CGRect) -> Bool {
|
|
86
86
|
guard frame.width.isFinite, frame.height.isFinite, frame.width > 0, frame.height > 0 else {
|
|
87
87
|
return false
|
|
@@ -93,7 +93,7 @@ extension RunnerTests {
|
|
|
93
93
|
guard isUsableNavigationFrame(candidate), isUsableNavigationFrame(window) else {
|
|
94
94
|
return false
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
|
|
97
97
|
let maxY = window.minY + min(max(window.height * 0.22, 96), 180)
|
|
98
98
|
return candidate.midY >= window.minY && candidate.midY <= maxY
|
|
99
99
|
}
|
|
@@ -102,9 +102,9 @@ extension RunnerTests {
|
|
|
102
102
|
guard isUsableNavigationFrame(frame) else {
|
|
103
103
|
return nil
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
|
|
106
106
|
let xOffset = min(max(frame.width * 0.08, 28), 44)
|
|
107
|
-
|
|
107
|
+
|
|
108
108
|
let yOffset = min(max(frame.height * 0.155, 56), 132)
|
|
109
109
|
return CGPoint(x: frame.minX + xOffset, y: frame.minY + yOffset)
|
|
110
110
|
}
|
|
@@ -169,4 +169,71 @@ extension RunnerTests {
|
|
|
169
169
|
return element.exists ? element : nil
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
172
239
|
}
|