execbro 2.3.0 → 2.5.0
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/build/__tests__/helpers/fake-cdp-server.d.ts +0 -12
- package/build/__tests__/helpers/fake-cdp-server.d.ts.map +1 -1
- package/build/__tests__/helpers/fake-cdp-server.js +0 -22
- package/build/__tests__/helpers/fake-cdp-server.js.map +1 -1
- package/build/__tests__/helpers/tap-test-helpers.d.ts +0 -23
- package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -1
- package/build/__tests__/helpers/tap-test-helpers.js +2 -29
- package/build/__tests__/helpers/tap-test-helpers.js.map +1 -1
- package/build/__tests__/integration/auto-reconnect.test.js +4 -14
- package/build/__tests__/integration/auto-reconnect.test.js.map +1 -1
- package/build/__tests__/integration/connection-health.test.js +1 -10
- package/build/__tests__/integration/connection-health.test.js.map +1 -1
- package/build/__tests__/integration/execute-in-app.test.js +1 -11
- package/build/__tests__/integration/execute-in-app.test.js.map +1 -1
- package/build/__tests__/integration/native-logs.test.js +0 -5
- package/build/__tests__/integration/native-logs.test.js.map +1 -1
- package/build/__tests__/integration/per-call-timeout.test.js +1 -5
- package/build/__tests__/integration/per-call-timeout.test.js.map +1 -1
- package/build/__tests__/integration/socket-close-midflight.test.js +2 -12
- package/build/__tests__/integration/socket-close-midflight.test.js.map +1 -1
- package/build/__tests__/integration/stale-target-probe.test.js +2 -17
- package/build/__tests__/integration/stale-target-probe.test.js.map +1 -1
- package/build/__tests__/integration/tap-strategies.test.js +2 -36
- package/build/__tests__/integration/tap-strategies.test.js.map +1 -1
- package/build/__tests__/integration/text-input.test.js +0 -39
- package/build/__tests__/integration/text-input.test.js.map +1 -1
- package/build/__tests__/integration/tools.test.js +1 -7
- package/build/__tests__/integration/tools.test.js.map +1 -1
- package/build/__tests__/setup.js +0 -2
- package/build/__tests__/setup.js.map +1 -1
- package/build/__tests__/unit/androidEmulatorAvds.test.js +0 -10
- package/build/__tests__/unit/androidEmulatorAvds.test.js.map +1 -1
- package/build/__tests__/unit/appContext.test.js +0 -2
- package/build/__tests__/unit/appContext.test.js.map +1 -1
- package/build/__tests__/unit/appRequest.test.js +0 -3
- package/build/__tests__/unit/appRequest.test.js.map +1 -1
- package/build/__tests__/unit/buildToken.test.js +0 -6
- package/build/__tests__/unit/buildToken.test.js.map +1 -1
- package/build/__tests__/unit/burst.test.js +0 -1
- package/build/__tests__/unit/burst.test.js.map +1 -1
- package/build/__tests__/unit/clearLogsNative.test.js +0 -8
- package/build/__tests__/unit/clearLogsNative.test.js.map +1 -1
- package/build/__tests__/unit/componentFormatNaming.test.js +0 -13
- package/build/__tests__/unit/componentFormatNaming.test.js.map +1 -1
- package/build/__tests__/unit/componentSource.test.js +0 -4
- package/build/__tests__/unit/componentSource.test.js.map +1 -1
- package/build/__tests__/unit/componentSourceResolve.test.js +0 -1
- package/build/__tests__/unit/componentSourceResolve.test.js.map +1 -1
- package/build/__tests__/unit/contextWiring.test.js +0 -3
- package/build/__tests__/unit/contextWiring.test.js.map +1 -1
- package/build/__tests__/unit/coordinateMiss.test.js +0 -16
- package/build/__tests__/unit/coordinateMiss.test.js.map +1 -1
- package/build/__tests__/unit/deviceDiscovery.test.js +0 -4
- package/build/__tests__/unit/deviceDiscovery.test.js.map +1 -1
- package/build/__tests__/unit/deviceResolution.test.js +0 -2
- package/build/__tests__/unit/deviceResolution.test.js.map +1 -1
- package/build/__tests__/unit/deviceResolver.test.js +0 -1
- package/build/__tests__/unit/deviceResolver.test.js.map +1 -1
- package/build/__tests__/unit/deviceResolverStaleRetry.test.js +0 -8
- package/build/__tests__/unit/deviceResolverStaleRetry.test.js.map +1 -1
- package/build/__tests__/unit/epochRender.test.js +0 -3
- package/build/__tests__/unit/epochRender.test.js.map +1 -1
- package/build/__tests__/unit/errorCategorization.test.js +0 -18
- package/build/__tests__/unit/errorCategorization.test.js.map +1 -1
- package/build/__tests__/unit/exec.test.js +0 -1
- package/build/__tests__/unit/exec.test.js.map +1 -1
- package/build/__tests__/unit/executor.test.js +0 -15
- package/build/__tests__/unit/executor.test.js.map +1 -1
- package/build/__tests__/unit/findElementTreeReuse.test.js +0 -12
- package/build/__tests__/unit/findElementTreeReuse.test.js.map +1 -1
- package/build/__tests__/unit/fingerprint.test.js +0 -4
- package/build/__tests__/unit/fingerprint.test.js.map +1 -1
- package/build/__tests__/unit/focusedInputTools.test.js +0 -4
- package/build/__tests__/unit/focusedInputTools.test.js.map +1 -1
- package/build/__tests__/unit/getLogsEmptyContract.test.js +0 -30
- package/build/__tests__/unit/getLogsEmptyContract.test.js.map +1 -1
- package/build/__tests__/unit/getLogsNativeSource.test.js +0 -22
- package/build/__tests__/unit/getLogsNativeSource.test.js.map +1 -1
- package/build/__tests__/unit/graphqlOperation.test.d.ts +2 -0
- package/build/__tests__/unit/graphqlOperation.test.d.ts.map +1 -0
- package/build/__tests__/unit/graphqlOperation.test.js +107 -0
- package/build/__tests__/unit/graphqlOperation.test.js.map +1 -0
- package/build/__tests__/unit/inputTarget.test.js +0 -16
- package/build/__tests__/unit/inputTarget.test.js.map +1 -1
- package/build/__tests__/unit/inputTextTool.test.js +0 -3
- package/build/__tests__/unit/inputTextTool.test.js.map +1 -1
- package/build/__tests__/unit/jsLogEvents.test.js +0 -3
- package/build/__tests__/unit/jsLogEvents.test.js.map +1 -1
- package/build/__tests__/unit/keyboardMetrics.test.js +0 -2
- package/build/__tests__/unit/keyboardMetrics.test.js.map +1 -1
- package/build/__tests__/unit/keyboardRaise.test.js +0 -2
- package/build/__tests__/unit/keyboardRaise.test.js.map +1 -1
- package/build/__tests__/unit/licenseGrace.test.js +1 -4
- package/build/__tests__/unit/licenseGrace.test.js.map +1 -1
- package/build/__tests__/unit/logEventFormat.test.js +0 -27
- package/build/__tests__/unit/logEventFormat.test.js.map +1 -1
- package/build/__tests__/unit/logEvents.test.js +1 -5
- package/build/__tests__/unit/logEvents.test.js.map +1 -1
- package/build/__tests__/unit/logGrouping.test.js +0 -2
- package/build/__tests__/unit/logGrouping.test.js.map +1 -1
- package/build/__tests__/unit/logOwnership.test.js +0 -11
- package/build/__tests__/unit/logOwnership.test.js.map +1 -1
- package/build/__tests__/unit/logRelevance.test.js +0 -6
- package/build/__tests__/unit/logRelevance.test.js.map +1 -1
- package/build/__tests__/unit/logSourceAndroid.test.js +0 -4
- package/build/__tests__/unit/logSourceAndroid.test.js.map +1 -1
- package/build/__tests__/unit/logSourceIos.test.js +0 -5
- package/build/__tests__/unit/logSourceIos.test.js.map +1 -1
- package/build/__tests__/unit/logs.test.js +0 -1
- package/build/__tests__/unit/logs.test.js.map +1 -1
- package/build/__tests__/unit/measureComponentTools.test.js +0 -1
- package/build/__tests__/unit/measureComponentTools.test.js.map +1 -1
- package/build/__tests__/unit/metro.test.js +0 -2
- package/build/__tests__/unit/metro.test.js.map +1 -1
- package/build/__tests__/unit/nativeInputValue.test.js +0 -4
- package/build/__tests__/unit/nativeInputValue.test.js.map +1 -1
- package/build/__tests__/unit/nativeLogs.test.js +1 -23
- package/build/__tests__/unit/nativeLogs.test.js.map +1 -1
- package/build/__tests__/unit/navigateVerify.test.js +0 -6
- package/build/__tests__/unit/navigateVerify.test.js.map +1 -1
- package/build/__tests__/unit/navigation.test.js +0 -5
- package/build/__tests__/unit/navigation.test.js.map +1 -1
- package/build/__tests__/unit/networkInterceptor.test.js +0 -2
- package/build/__tests__/unit/networkInterceptor.test.js.map +1 -1
- package/build/__tests__/unit/overlayGuard.test.d.ts +2 -0
- package/build/__tests__/unit/overlayGuard.test.d.ts.map +1 -0
- package/build/__tests__/unit/overlayGuard.test.js +123 -0
- package/build/__tests__/unit/overlayGuard.test.js.map +1 -0
- package/build/__tests__/unit/pendingExecutions.test.js +0 -6
- package/build/__tests__/unit/pendingExecutions.test.js.map +1 -1
- package/build/__tests__/unit/probe.test.js +0 -1
- package/build/__tests__/unit/probe.test.js.map +1 -1
- package/build/__tests__/unit/projectMemory.test.js +6 -7
- package/build/__tests__/unit/projectMemory.test.js.map +1 -1
- package/build/__tests__/unit/projectStore.test.js +2 -2
- package/build/__tests__/unit/projectStore.test.js.map +1 -1
- package/build/__tests__/unit/reloadAppAutoConnect.test.js +0 -9
- package/build/__tests__/unit/reloadAppAutoConnect.test.js.map +1 -1
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js +3 -3
- package/build/__tests__/unit/rnGlobalsBootstrap.test.js.map +1 -1
- package/build/__tests__/unit/routeHistory.test.d.ts +2 -0
- package/build/__tests__/unit/routeHistory.test.d.ts.map +1 -0
- package/build/__tests__/unit/routeHistory.test.js +136 -0
- package/build/__tests__/unit/routeHistory.test.js.map +1 -0
- package/build/__tests__/unit/screenSpace.test.js +30 -13
- package/build/__tests__/unit/screenSpace.test.js.map +1 -1
- package/build/__tests__/unit/screenState.test.js +3 -6
- package/build/__tests__/unit/screenState.test.js.map +1 -1
- package/build/__tests__/unit/screenStateInputValue.test.js +0 -7
- package/build/__tests__/unit/screenStateInputValue.test.js.map +1 -1
- package/build/__tests__/unit/screenStateKeyboard.test.js +0 -1
- package/build/__tests__/unit/screenStateKeyboard.test.js.map +1 -1
- package/build/__tests__/unit/screenshot-diff.test.js +0 -6
- package/build/__tests__/unit/screenshot-diff.test.js.map +1 -1
- package/build/__tests__/unit/sdkMirrorPoller.test.js +0 -8
- package/build/__tests__/unit/sdkMirrorPoller.test.js.map +1 -1
- package/build/__tests__/unit/settleAndDiff.test.js +0 -11
- package/build/__tests__/unit/settleAndDiff.test.js.map +1 -1
- package/build/__tests__/unit/signedVerdict.test.js +0 -5
- package/build/__tests__/unit/signedVerdict.test.js.map +1 -1
- package/build/__tests__/unit/swipeDirection.test.js +6 -9
- package/build/__tests__/unit/swipeDirection.test.js.map +1 -1
- package/build/__tests__/unit/symbolicate.test.js +0 -1
- package/build/__tests__/unit/symbolicate.test.js.map +1 -1
- package/build/__tests__/unit/tap.test.js +2 -40
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/__tests__/unit/textEntry.test.js +0 -27
- package/build/__tests__/unit/textEntry.test.js.map +1 -1
- package/build/__tests__/unit/toolDescriptions.test.js +0 -40
- package/build/__tests__/unit/toolDescriptions.test.js.map +1 -1
- package/build/__tests__/unit/toolsJson.test.js +0 -10
- package/build/__tests__/unit/toolsJson.test.js.map +1 -1
- package/build/__tests__/unit/transportClassify.test.js +0 -20
- package/build/__tests__/unit/transportClassify.test.js.map +1 -1
- package/build/__tests__/unit/truncate.test.js +0 -5
- package/build/__tests__/unit/truncate.test.js.map +1 -1
- package/build/__tests__/unit/usageCache.test.js +0 -3
- package/build/__tests__/unit/usageCache.test.js.map +1 -1
- package/build/__tests__/unit/usageGate.test.js +1 -1
- package/build/__tests__/unit/usageGate.test.js.map +1 -1
- package/build/__tests__/unit/visibility.test.js +0 -8
- package/build/__tests__/unit/visibility.test.js.map +1 -1
- package/build/__tests__/unit/waitForMeasurements.test.js +2 -7
- package/build/__tests__/unit/waitForMeasurements.test.js.map +1 -1
- package/build/bin.js +0 -18
- package/build/bin.js.map +1 -1
- package/build/core/android.d.ts +0 -120
- package/build/core/android.d.ts.map +1 -1
- package/build/core/android.js +4 -259
- package/build/core/android.js.map +1 -1
- package/build/core/appContext.d.ts +0 -50
- package/build/core/appContext.d.ts.map +1 -1
- package/build/core/appContext.js +0 -50
- package/build/core/appContext.js.map +1 -1
- package/build/core/appDetection.d.ts +0 -16
- package/build/core/appDetection.d.ts.map +1 -1
- package/build/core/appDetection.js +0 -36
- package/build/core/appDetection.js.map +1 -1
- package/build/core/appRequest.d.ts +0 -12
- package/build/core/appRequest.d.ts.map +1 -1
- package/build/core/appRequest.js +0 -15
- package/build/core/appRequest.js.map +1 -1
- package/build/core/bufferConfig.d.ts +0 -2
- package/build/core/bufferConfig.d.ts.map +1 -1
- package/build/core/bufferConfig.js +0 -2
- package/build/core/bufferConfig.js.map +1 -1
- package/build/core/bundle.js +0 -40
- package/build/core/bundle.js.map +1 -1
- package/build/core/componentSearch.d.ts +0 -19
- package/build/core/componentSearch.d.ts.map +1 -1
- package/build/core/componentSearch.js +1 -22
- package/build/core/componentSearch.js.map +1 -1
- package/build/core/componentSource.d.ts +0 -21
- package/build/core/componentSource.d.ts.map +1 -1
- package/build/core/componentSource.js +0 -27
- package/build/core/componentSource.js.map +1 -1
- package/build/core/componentTree.js +0 -12
- package/build/core/componentTree.js.map +1 -1
- package/build/core/config.d.ts +0 -8
- package/build/core/config.d.ts.map +1 -1
- package/build/core/config.js +0 -10
- package/build/core/config.js.map +1 -1
- package/build/core/connection.d.ts +0 -76
- package/build/core/connection.d.ts.map +1 -1
- package/build/core/connection.js +15 -340
- package/build/core/connection.js.map +1 -1
- package/build/core/connectionState.d.ts +0 -78
- package/build/core/connectionState.d.ts.map +1 -1
- package/build/core/connectionState.js +4 -92
- package/build/core/connectionState.js.map +1 -1
- package/build/core/debugGlobals.js +0 -68
- package/build/core/debugGlobals.js.map +1 -1
- package/build/core/deviceDiscovery.d.ts +0 -5
- package/build/core/deviceDiscovery.d.ts.map +1 -1
- package/build/core/deviceDiscovery.js +0 -12
- package/build/core/deviceDiscovery.js.map +1 -1
- package/build/core/deviceResolver.d.ts +0 -10
- package/build/core/deviceResolver.d.ts.map +1 -1
- package/build/core/deviceResolver.js +0 -54
- package/build/core/deviceResolver.js.map +1 -1
- package/build/core/epochRender.d.ts +0 -12
- package/build/core/epochRender.d.ts.map +1 -1
- package/build/core/epochRender.js +0 -12
- package/build/core/epochRender.js.map +1 -1
- package/build/core/errorScreenParser.d.ts +0 -21
- package/build/core/errorScreenParser.d.ts.map +1 -1
- package/build/core/errorScreenParser.js +0 -50
- package/build/core/errorScreenParser.js.map +1 -1
- package/build/core/errors.d.ts +0 -15
- package/build/core/errors.d.ts.map +1 -1
- package/build/core/errors.js +0 -15
- package/build/core/errors.js.map +1 -1
- package/build/core/escapeNonAscii.d.ts +0 -9
- package/build/core/escapeNonAscii.d.ts.map +1 -1
- package/build/core/escapeNonAscii.js +1 -43
- package/build/core/escapeNonAscii.js.map +1 -1
- package/build/core/exec.d.ts +0 -12
- package/build/core/exec.d.ts.map +1 -1
- package/build/core/exec.js +2 -14
- package/build/core/exec.js.map +1 -1
- package/build/core/executor.js +0 -3
- package/build/core/executor.js.map +1 -1
- package/build/core/fastRefreshRecorder.js +0 -4
- package/build/core/fastRefreshRecorder.js.map +1 -1
- package/build/core/fastRefreshTools.js +0 -3
- package/build/core/fastRefreshTools.js.map +1 -1
- package/build/core/feedback.js +0 -4
- package/build/core/feedback.js.map +1 -1
- package/build/core/graphqlOperation.d.ts +13 -0
- package/build/core/graphqlOperation.d.ts.map +1 -0
- package/build/core/graphqlOperation.js +80 -0
- package/build/core/graphqlOperation.js.map +1 -0
- package/build/core/guides.d.ts +0 -10
- package/build/core/guides.d.ts.map +1 -1
- package/build/core/guides.js +0 -10
- package/build/core/guides.js.map +1 -1
- package/build/core/iconSemantics.d.ts +0 -15
- package/build/core/iconSemantics.d.ts.map +1 -1
- package/build/core/iconSemantics.js +0 -31
- package/build/core/iconSemantics.js.map +1 -1
- package/build/core/index.js +4 -47
- package/build/core/index.js.map +1 -1
- package/build/core/injected/visibility.d.ts +0 -30
- package/build/core/injected/visibility.d.ts.map +1 -1
- package/build/core/injected/visibility.js +0 -33
- package/build/core/injected/visibility.js.map +1 -1
- package/build/core/injectedFilters.d.ts +0 -28
- package/build/core/injectedFilters.d.ts.map +1 -1
- package/build/core/injectedFilters.js +0 -28
- package/build/core/injectedFilters.js.map +1 -1
- package/build/core/inputTarget.d.ts +1 -34
- package/build/core/inputTarget.d.ts.map +1 -1
- package/build/core/inputTarget.js +0 -26
- package/build/core/inputTarget.js.map +1 -1
- package/build/core/inputTargetTools.d.ts +0 -7
- package/build/core/inputTargetTools.d.ts.map +1 -1
- package/build/core/inputTargetTools.js +0 -7
- package/build/core/inputTargetTools.js.map +1 -1
- package/build/core/inspector.d.ts +0 -33
- package/build/core/inspector.d.ts.map +1 -1
- package/build/core/inspector.js +27 -40
- package/build/core/inspector.js.map +1 -1
- package/build/core/ios.d.ts +11 -122
- package/build/core/ios.d.ts.map +1 -1
- package/build/core/ios.js +32 -299
- package/build/core/ios.js.map +1 -1
- package/build/core/jsExecute.d.ts +0 -100
- package/build/core/jsExecute.d.ts.map +1 -1
- package/build/core/jsExecute.js +0 -261
- package/build/core/jsExecute.js.map +1 -1
- package/build/core/jsLogEvents.d.ts +0 -8
- package/build/core/jsLogEvents.d.ts.map +1 -1
- package/build/core/jsLogEvents.js +0 -8
- package/build/core/jsLogEvents.js.map +1 -1
- package/build/core/keyboardMetrics.js +0 -8
- package/build/core/keyboardMetrics.js.map +1 -1
- package/build/core/keyboardRaise.d.ts +0 -8
- package/build/core/keyboardRaise.d.ts.map +1 -1
- package/build/core/keyboardRaise.js +0 -23
- package/build/core/keyboardRaise.js.map +1 -1
- package/build/core/license.d.ts +0 -4
- package/build/core/license.d.ts.map +1 -1
- package/build/core/license.js +2 -55
- package/build/core/license.js.map +1 -1
- package/build/core/logDiagnosis.d.ts +0 -34
- package/build/core/logDiagnosis.d.ts.map +1 -1
- package/build/core/logDiagnosis.js +0 -15
- package/build/core/logDiagnosis.js.map +1 -1
- package/build/core/logEventFormat.d.ts +0 -1
- package/build/core/logEventFormat.d.ts.map +1 -1
- package/build/core/logEventFormat.js +0 -30
- package/build/core/logEventFormat.js.map +1 -1
- package/build/core/logEvents.d.ts +0 -54
- package/build/core/logEvents.d.ts.map +1 -1
- package/build/core/logEvents.js +0 -37
- package/build/core/logEvents.js.map +1 -1
- package/build/core/logGrouping.d.ts +0 -9
- package/build/core/logGrouping.d.ts.map +1 -1
- package/build/core/logGrouping.js +0 -17
- package/build/core/logGrouping.js.map +1 -1
- package/build/core/logOwnership.d.ts +0 -17
- package/build/core/logOwnership.d.ts.map +1 -1
- package/build/core/logOwnership.js +0 -34
- package/build/core/logOwnership.js.map +1 -1
- package/build/core/logRelevance.d.ts +0 -8
- package/build/core/logRelevance.d.ts.map +1 -1
- package/build/core/logRelevance.js +0 -15
- package/build/core/logRelevance.js.map +1 -1
- package/build/core/logSourceAndroid.d.ts +0 -8
- package/build/core/logSourceAndroid.d.ts.map +1 -1
- package/build/core/logSourceAndroid.js +0 -11
- package/build/core/logSourceAndroid.js.map +1 -1
- package/build/core/logSourceIos.d.ts +0 -8
- package/build/core/logSourceIos.d.ts.map +1 -1
- package/build/core/logSourceIos.js +1 -24
- package/build/core/logSourceIos.js.map +1 -1
- package/build/core/logbox.d.ts +0 -30
- package/build/core/logbox.d.ts.map +1 -1
- package/build/core/logbox.js +0 -43
- package/build/core/logbox.js.map +1 -1
- package/build/core/logs.d.ts +0 -6
- package/build/core/logs.d.ts.map +1 -1
- package/build/core/logs.js +0 -19
- package/build/core/logs.js.map +1 -1
- package/build/core/metro.d.ts +0 -14
- package/build/core/metro.d.ts.map +1 -1
- package/build/core/metro.js +1 -32
- package/build/core/metro.js.map +1 -1
- package/build/core/moduleRegistry.d.ts +0 -17
- package/build/core/moduleRegistry.d.ts.map +1 -1
- package/build/core/moduleRegistry.js +0 -17
- package/build/core/moduleRegistry.js.map +1 -1
- package/build/core/nativeInputValue.d.ts +0 -29
- package/build/core/nativeInputValue.d.ts.map +1 -1
- package/build/core/nativeInputValue.js +0 -18
- package/build/core/nativeInputValue.js.map +1 -1
- package/build/core/nativeLogs.d.ts +0 -47
- package/build/core/nativeLogs.d.ts.map +1 -1
- package/build/core/nativeLogs.js +0 -82
- package/build/core/nativeLogs.js.map +1 -1
- package/build/core/nativeOnlyHints.js +0 -4
- package/build/core/nativeOnlyHints.js.map +1 -1
- package/build/core/navigate.d.ts +0 -15
- package/build/core/navigate.d.ts.map +1 -1
- package/build/core/navigate.js +0 -22
- package/build/core/navigate.js.map +1 -1
- package/build/core/navigation.d.ts +0 -60
- package/build/core/navigation.d.ts.map +1 -1
- package/build/core/navigation.js +0 -60
- package/build/core/navigation.js.map +1 -1
- package/build/core/network.d.ts +0 -5
- package/build/core/network.d.ts.map +1 -1
- package/build/core/network.js +10 -31
- package/build/core/network.js.map +1 -1
- package/build/core/networkInterceptor.d.ts +0 -19
- package/build/core/networkInterceptor.d.ts.map +1 -1
- package/build/core/networkInterceptor.js +3 -27
- package/build/core/networkInterceptor.js.map +1 -1
- package/build/core/ocr.d.ts +0 -31
- package/build/core/ocr.d.ts.map +1 -1
- package/build/core/ocr.js +1 -71
- package/build/core/ocr.js.map +1 -1
- package/build/core/paths.js +0 -1
- package/build/core/paths.js.map +1 -1
- package/build/core/posthog.js +0 -7
- package/build/core/posthog.js.map +1 -1
- package/build/core/pressables.d.ts +0 -25
- package/build/core/pressables.d.ts.map +1 -1
- package/build/core/pressables.js +0 -37
- package/build/core/pressables.js.map +1 -1
- package/build/core/probe.d.ts +0 -9
- package/build/core/probe.d.ts.map +1 -1
- package/build/core/probe.js +0 -9
- package/build/core/probe.js.map +1 -1
- package/build/core/projectMemory.d.ts +0 -2
- package/build/core/projectMemory.d.ts.map +1 -1
- package/build/core/projectMemory.js +2 -7
- package/build/core/projectMemory.js.map +1 -1
- package/build/core/projectStore.d.ts +0 -18
- package/build/core/projectStore.d.ts.map +1 -1
- package/build/core/projectStore.js +0 -19
- package/build/core/projectStore.js.map +1 -1
- package/build/core/promiseHandles.d.ts +0 -13
- package/build/core/promiseHandles.d.ts.map +1 -1
- package/build/core/promiseHandles.js +0 -25
- package/build/core/promiseHandles.js.map +1 -1
- package/build/core/register.js +0 -44
- package/build/core/register.js.map +1 -1
- package/build/core/rnGlobalsBootstrap.d.ts +0 -13
- package/build/core/rnGlobalsBootstrap.d.ts.map +1 -1
- package/build/core/rnGlobalsBootstrap.js +0 -22
- package/build/core/rnGlobalsBootstrap.js.map +1 -1
- package/build/core/routeHistory.d.ts +24 -0
- package/build/core/routeHistory.d.ts.map +1 -0
- package/build/core/routeHistory.js +186 -0
- package/build/core/routeHistory.js.map +1 -0
- package/build/core/screenLayout.d.ts +0 -11
- package/build/core/screenLayout.d.ts.map +1 -1
- package/build/core/screenLayout.js +24 -61
- package/build/core/screenLayout.js.map +1 -1
- package/build/core/screenSpace.d.ts +32 -44
- package/build/core/screenSpace.d.ts.map +1 -1
- package/build/core/screenSpace.js +80 -46
- package/build/core/screenSpace.js.map +1 -1
- package/build/core/screenSpaceDevice.d.ts +0 -8
- package/build/core/screenSpaceDevice.d.ts.map +1 -1
- package/build/core/screenSpaceDevice.js +31 -14
- package/build/core/screenSpaceDevice.js.map +1 -1
- package/build/core/screenState.d.ts +2 -74
- package/build/core/screenState.d.ts.map +1 -1
- package/build/core/screenState.js +204 -145
- package/build/core/screenState.js.map +1 -1
- package/build/core/sdkBridge.js +0 -8
- package/build/core/sdkBridge.js.map +1 -1
- package/build/core/sdkMirrorPoller.d.ts +0 -18
- package/build/core/sdkMirrorPoller.d.ts.map +1 -1
- package/build/core/sdkMirrorPoller.js +0 -47
- package/build/core/sdkMirrorPoller.js.map +1 -1
- package/build/core/selectionBuffer.d.ts +0 -6
- package/build/core/selectionBuffer.d.ts.map +1 -1
- package/build/core/selectionBuffer.js +0 -5
- package/build/core/selectionBuffer.js.map +1 -1
- package/build/core/signedVerdict.js +0 -6
- package/build/core/signedVerdict.js.map +1 -1
- package/build/core/state.d.ts +0 -31
- package/build/core/state.d.ts.map +1 -1
- package/build/core/state.js +0 -57
- package/build/core/state.js.map +1 -1
- package/build/core/symbolicate.js +0 -11
- package/build/core/symbolicate.js.map +1 -1
- package/build/core/telemetry.d.ts +0 -47
- package/build/core/telemetry.d.ts.map +1 -1
- package/build/core/telemetry.js +1 -173
- package/build/core/telemetry.js.map +1 -1
- package/build/core/textEntry.d.ts +0 -34
- package/build/core/textEntry.d.ts.map +1 -1
- package/build/core/textEntry.js +0 -73
- package/build/core/textEntry.js.map +1 -1
- package/build/core/toolHelpers.d.ts +0 -12
- package/build/core/toolHelpers.d.ts.map +1 -1
- package/build/core/toolHelpers.js +2 -47
- package/build/core/toolHelpers.js.map +1 -1
- package/build/core/truncate.d.ts +0 -17
- package/build/core/truncate.d.ts.map +1 -1
- package/build/core/truncate.js +0 -32
- package/build/core/truncate.js.map +1 -1
- package/build/core/types.d.ts +0 -6
- package/build/core/types.d.ts.map +1 -1
- package/build/core/usageCache.js +0 -12
- package/build/core/usageCache.js.map +1 -1
- package/build/index.js +0 -18
- package/build/index.js.map +1 -1
- package/build/pro/coordinateMiss.d.ts +0 -30
- package/build/pro/coordinateMiss.d.ts.map +1 -1
- package/build/pro/coordinateMiss.js +0 -17
- package/build/pro/coordinateMiss.js.map +1 -1
- package/build/pro/overlayGuard.d.ts +27 -0
- package/build/pro/overlayGuard.d.ts.map +1 -0
- package/build/pro/overlayGuard.js +103 -0
- package/build/pro/overlayGuard.js.map +1 -0
- package/build/pro/screenshot-diff.js +4 -6
- package/build/pro/screenshot-diff.js.map +1 -1
- package/build/pro/tap.d.ts +0 -55
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +72 -316
- package/build/pro/tap.js.map +1 -1
- package/build/pro/usageGate.js +0 -9
- package/build/pro/usageGate.js.map +1 -1
- package/build/pro/usageNotifications.js +1 -13
- package/build/pro/usageNotifications.js.map +1 -1
- package/build/pro/verifyAction.d.ts +0 -13
- package/build/pro/verifyAction.d.ts.map +1 -1
- package/build/pro/verifyAction.js +0 -45
- package/build/pro/verifyAction.js.map +1 -1
- package/build/tools/_deviceArg.d.ts +0 -35
- package/build/tools/_deviceArg.d.ts.map +1 -1
- package/build/tools/_deviceArg.js +0 -35
- package/build/tools/_deviceArg.js.map +1 -1
- package/build/tools/accountTools.js +2 -2
- package/build/tools/accountTools.js.map +1 -1
- package/build/tools/bundleTools.js +0 -16
- package/build/tools/bundleTools.js.map +1 -1
- package/build/tools/componentTools.d.ts.map +1 -1
- package/build/tools/componentTools.js +47 -53
- package/build/tools/componentTools.js.map +1 -1
- package/build/tools/connectionTools.js +1 -59
- package/build/tools/connectionTools.js.map +1 -1
- package/build/tools/deviceTools.js +0 -11
- package/build/tools/deviceTools.js.map +1 -1
- package/build/tools/executionTools.js +1 -18
- package/build/tools/executionTools.js.map +1 -1
- package/build/tools/interactionTools.d.ts +0 -10
- package/build/tools/interactionTools.d.ts.map +1 -1
- package/build/tools/interactionTools.js +0 -57
- package/build/tools/interactionTools.js.map +1 -1
- package/build/tools/logTools.d.ts +0 -13
- package/build/tools/logTools.d.ts.map +1 -1
- package/build/tools/logTools.js +2 -126
- package/build/tools/logTools.js.map +1 -1
- package/build/tools/metaTools.js +0 -10
- package/build/tools/metaTools.js.map +1 -1
- package/build/tools/networkTools.js +4 -43
- package/build/tools/networkTools.js.map +1 -1
- package/build/tools/requestTools.js +0 -5
- package/build/tools/requestTools.js.map +1 -1
- package/build/tools/screenshotTools.js +5 -111
- package/build/tools/screenshotTools.js.map +1 -1
- package/package.json +2 -2
- package/tools.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injectedFilters.js","sourceRoot":"","sources":["../../src/core/injectedFilters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injectedFilters.js","sourceRoot":"","sources":["../../src/core/injectedFilters.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,iBAAiB,GAC1B,yxCAAyxC,CAAC;AAW9xC,MAAM,CAAC,MAAM,qBAAqB,GAC9B,0NAA0N,CAAC"}
|
|
@@ -1,28 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single fiber resolver for text inputs.
|
|
3
|
-
*
|
|
4
|
-
* Replaces the three copy-pasted walkers that lived in focusedInput.ts and
|
|
5
|
-
* fixes both of their blind spots — each of which made the tools report
|
|
6
|
-
* "no focused TextInput" while a field WAS focused:
|
|
7
|
-
*
|
|
8
|
-
* 1. They took roots[0] and stopped, hiding inputs mounted under a second
|
|
9
|
-
* fiber root (modal and portal roots).
|
|
10
|
-
* 2. They read stateNode.canonical.publicInstance unconditionally, which is
|
|
11
|
-
* Fabric-only. Paper exposes the instance as stateNode itself.
|
|
12
|
-
*
|
|
13
|
-
* The emitted source is compiled by Hermes, not tsc: no async/await, and no
|
|
14
|
-
* require() beyond the injected __eb_require. Non-ASCII in embedded literals is
|
|
15
|
-
* escaped server-side by executeInApp, so values go in via JSON.stringify.
|
|
16
|
-
*/
|
|
17
1
|
export type InputQuery = {
|
|
18
2
|
testID?: string;
|
|
19
3
|
component?: string;
|
|
20
|
-
/** Matches the input's value, placeholder, accessibilityLabel or visible field label. */
|
|
21
4
|
textMatch?: string;
|
|
22
|
-
/** Zero-based choice among matches. Required when a target matches more than one input. */
|
|
23
5
|
index?: number;
|
|
24
6
|
};
|
|
25
|
-
/** What an agent needs to tell two inputs apart and target the right one. */
|
|
26
7
|
export type InputCandidate = {
|
|
27
8
|
index: number;
|
|
28
9
|
component: string | null;
|
|
@@ -40,9 +21,7 @@ export type InputOp = {
|
|
|
40
21
|
} | {
|
|
41
22
|
kind: "setValue";
|
|
42
23
|
value: string;
|
|
43
|
-
}
|
|
44
|
-
/** Writes native text directly, for a field with no handler to drive. */
|
|
45
|
-
| {
|
|
24
|
+
} | {
|
|
46
25
|
kind: "setNative";
|
|
47
26
|
value: string;
|
|
48
27
|
} | {
|
|
@@ -55,12 +34,7 @@ export type InputFound = {
|
|
|
55
34
|
focused: boolean;
|
|
56
35
|
nativeTag: number | null;
|
|
57
36
|
value: string | null;
|
|
58
|
-
/** The resolved field's testID, so a native read-back can find the same one. */
|
|
59
37
|
testID: string | null;
|
|
60
|
-
/**
|
|
61
|
-
* True when the field's value prop mirrors its text — the only way to read
|
|
62
|
-
* it back from JS, and therefore the only way a write can be verified.
|
|
63
|
-
*/
|
|
64
38
|
controlled: boolean;
|
|
65
39
|
hasOnChangeText: boolean;
|
|
66
40
|
ok: boolean;
|
|
@@ -69,15 +43,8 @@ export type InputFound = {
|
|
|
69
43
|
export type InputMissing = {
|
|
70
44
|
found: false;
|
|
71
45
|
reason: string;
|
|
72
|
-
/** True when the target matched several inputs and none was chosen. */
|
|
73
46
|
ambiguous?: boolean;
|
|
74
47
|
candidates?: InputCandidate[];
|
|
75
|
-
/**
|
|
76
|
-
* How many inputs exist in total. The candidate list is capped, and a cap
|
|
77
|
-
* that is not reported reads as "this is everything" — which is how a
|
|
78
|
-
* caller concludes the field it wants is absent when it is simply beyond
|
|
79
|
-
* the cut.
|
|
80
|
-
*/
|
|
81
48
|
totalInputs?: number;
|
|
82
49
|
};
|
|
83
50
|
export type InputResult = InputFound | InputMissing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputTarget.d.ts","sourceRoot":"","sources":["../../src/core/inputTarget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inputTarget.d.ts","sourceRoot":"","sources":["../../src/core/inputTarget.ts"],"names":[],"mappings":"AAiBA,MAAM,MAAM,UAAU,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAIF,MAAM,MAAM,OAAO,GACb;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAEnC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAKtB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAO9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,YAAY,CAAC;AA4RpD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CA4E5E"}
|
|
@@ -1,24 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single fiber resolver for text inputs.
|
|
3
|
-
*
|
|
4
|
-
* Replaces the three copy-pasted walkers that lived in focusedInput.ts and
|
|
5
|
-
* fixes both of their blind spots — each of which made the tools report
|
|
6
|
-
* "no focused TextInput" while a field WAS focused:
|
|
7
|
-
*
|
|
8
|
-
* 1. They took roots[0] and stopped, hiding inputs mounted under a second
|
|
9
|
-
* fiber root (modal and portal roots).
|
|
10
|
-
* 2. They read stateNode.canonical.publicInstance unconditionally, which is
|
|
11
|
-
* Fabric-only. Paper exposes the instance as stateNode itself.
|
|
12
|
-
*
|
|
13
|
-
* The emitted source is compiled by Hermes, not tsc: no async/await, and no
|
|
14
|
-
* require() beyond the injected __eb_require. Non-ASCII in embedded literals is
|
|
15
|
-
* escaped server-side by executeInApp, so values go in via JSON.stringify.
|
|
16
|
-
*/
|
|
17
1
|
import { RN_PRIMITIVES_SRC, GENERIC_COMPONENT_SRC } from "./injectedFilters.js";
|
|
18
2
|
const HOST_INPUT_TYPES = `["RCTSinglelineTextInputView","RCTMultilineTextInputView","AndroidTextInput"]`;
|
|
19
3
|
const NO_FOCUS_REASON = "no focused TextInput. Pass testID (or component) so this tool can focus a field itself, " +
|
|
20
4
|
"or tap the field first. A tap reporting success does not guarantee React focus.";
|
|
21
|
-
/** Collects every root, defines the shape-tolerant helpers, resolves __eb_host. */
|
|
22
5
|
function prelude(query) {
|
|
23
6
|
const wantTestID = query?.testID != null ? JSON.stringify(query.testID) : "null";
|
|
24
7
|
const wantComponent = query?.component != null ? JSON.stringify(query.component) : "null";
|
|
@@ -282,7 +265,6 @@ function prelude(query) {
|
|
|
282
265
|
var __eb_tag = __eb_pubi && __eb_pubi.__nativeTag != null ? __eb_pubi.__nativeTag : null;
|
|
283
266
|
`;
|
|
284
267
|
}
|
|
285
|
-
/** The always-present fields of a found result. */
|
|
286
268
|
const BASE = `
|
|
287
269
|
found: true,
|
|
288
270
|
focused: __eb_focused,
|
|
@@ -325,11 +307,6 @@ export function buildInputExpression(op, query) {
|
|
|
325
307
|
return { ${BASE}, ok: false, via: "no onChangeText (uncontrolled input)" };`;
|
|
326
308
|
break;
|
|
327
309
|
case "setNative":
|
|
328
|
-
// Sets the native text, then fires onChangeText if the field has
|
|
329
|
-
// one. Both halves matter: without the first the field shows
|
|
330
|
-
// nothing, without the second the app never receives the text —
|
|
331
|
-
// and a field that displays text the app does not have is the
|
|
332
|
-
// "looks right, isn't" failure this tool exists to remove.
|
|
333
310
|
action = `
|
|
334
311
|
var nv = ${JSON.stringify(op.value)};
|
|
335
312
|
if (!__eb_pubi || typeof __eb_pubi.setNativeProps !== "function") {
|
|
@@ -343,9 +320,6 @@ export function buildInputExpression(op, query) {
|
|
|
343
320
|
return { ${BASE}, ok: true, via: "setNativeProps" };`;
|
|
344
321
|
break;
|
|
345
322
|
case "clear":
|
|
346
|
-
// Only a controlled field can be cleared through its handler. On an
|
|
347
|
-
// uncontrolled one that handler may be a no-op (or may not drive the
|
|
348
|
-
// text at all), so calling it clears nothing while reporting success.
|
|
349
323
|
action = `
|
|
350
324
|
if (__eb_controlled) {
|
|
351
325
|
__eb_ownerFiber.memoizedProps.onChangeText("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputTarget.js","sourceRoot":"","sources":["../../src/core/inputTarget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inputTarget.js","sourceRoot":"","sources":["../../src/core/inputTarget.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AA8ChF,MAAM,gBAAgB,GAAG,+EAA+E,CAAC;AAEzG,MAAM,eAAe,GACjB,0FAA0F;IAC1F,iFAAiF,CAAC;AAGtF,SAAS,OAAO,CAAC,KAA6B;IAC1C,MAAM,UAAU,GAAG,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,aAAa,GAAG,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1F,MAAM,QAAQ,GAAG,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAErF,OAAO;;;;;;;;;;;;gBAYK,gBAAgB;qBACX,UAAU;wBACP,aAAa;mBAClB,QAAQ;;;;;;;;;;;;wBAYH,iBAAiB;4BACb,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2LrC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;;;;;;qBAMtB,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnF,CAAC;AACF,CAAC;AAGD,MAAM,IAAI,GAAG;;;;;;;uCAO0B,CAAC;AAExC,MAAM,UAAU,oBAAoB,CAAC,EAAW,EAAE,KAAkB;IAChE,IAAI,MAAc,CAAC;IAEnB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACP,MAAM,GAAG;aACR,IAAI,eAAe,CAAC;YACrB,MAAM;QAEV,KAAK,OAAO;YACR,MAAM,GAAG;;;eAGN,IAAI;;aAEN,IAAI,wDAAwD,CAAC;YAC9D,MAAM;QAEV,KAAK,MAAM;YACP,MAAM,GAAG;;;eAGN,IAAI;;aAEN,IAAI,uDAAuD,CAAC;YAC7D,MAAM;QAEV,KAAK,UAAU;YACX,MAAM,GAAG;eACN,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;;;eAGxB,IAAI;;aAEN,IAAI,6DAA6D,CAAC;YACnE,MAAM;QAEV,KAAK,WAAW;YAMZ,MAAM,GAAG;aACR,IAAI,CAAC,SAAS,CAAE,EAA2C,CAAC,KAAK,CAAC;;eAEhE,IAAI;;;;;eAKJ,IAAI;;aAEN,IAAI,sCAAsC,CAAC;YAC5C,MAAM;QAEV,KAAK,OAAO;YAIR,MAAM,GAAG;;;eAGN,IAAI;;;;eAIJ,IAAI;;aAEN,IAAI,wDAAwD,CAAC;YAC9D,MAAM;IACd,CAAC;IAED,OAAO,WAAW,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM;KACxC,CAAC;AACN,CAAC"}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import type { ExecutionResult } from "./types.js";
|
|
2
2
|
import { type InputOp, type InputQuery, type InputResult } from "./inputTarget.js";
|
|
3
3
|
export type ExecuteFn = (expression: string, device?: string) => Promise<ExecutionResult>;
|
|
4
|
-
/**
|
|
5
|
-
* Runs one resolver operation and normalises every failure — executor error,
|
|
6
|
-
* unparseable output, app-side miss — into { found: false, reason }.
|
|
7
|
-
*
|
|
8
|
-
* Callers get exactly one shape to branch on and never have to catch, which is
|
|
9
|
-
* what lets the orchestration above read as a straight line.
|
|
10
|
-
*/
|
|
11
4
|
export declare function runInputOp(op: InputOp, query?: InputQuery, device?: string, execute?: ExecuteFn): Promise<InputResult>;
|
|
12
5
|
//# sourceMappingURL=inputTargetTools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputTargetTools.d.ts","sourceRoot":"","sources":["../../src/core/inputTargetTools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAwB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzG,MAAM,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"inputTargetTools.d.ts","sourceRoot":"","sources":["../../src/core/inputTargetTools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAwB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzG,MAAM,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;AAY1F,wBAAsB,UAAU,CAC5B,EAAE,EAAE,OAAO,EACX,KAAK,CAAC,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,SAA0B,GACpC,OAAO,CAAC,WAAW,CAAC,CAetB"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { executeInApp } from "./executor.js";
|
|
2
2
|
import { buildInputExpression } from "./inputTarget.js";
|
|
3
3
|
const defaultExecute = (expression, device) => executeInApp(expression, true, { originatingToolName: "input_text" }, device);
|
|
4
|
-
/**
|
|
5
|
-
* Runs one resolver operation and normalises every failure — executor error,
|
|
6
|
-
* unparseable output, app-side miss — into { found: false, reason }.
|
|
7
|
-
*
|
|
8
|
-
* Callers get exactly one shape to branch on and never have to catch, which is
|
|
9
|
-
* what lets the orchestration above read as a straight line.
|
|
10
|
-
*/
|
|
11
4
|
export async function runInputOp(op, query, device, execute = defaultExecute) {
|
|
12
5
|
const exec = await execute(buildInputExpression(op, query), device);
|
|
13
6
|
if (!exec.success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputTargetTools.js","sourceRoot":"","sources":["../../src/core/inputTargetTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAmD,MAAM,kBAAkB,CAAC;AAIzG,MAAM,cAAc,GAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CACrD,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"inputTargetTools.js","sourceRoot":"","sources":["../../src/core/inputTargetTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAmD,MAAM,kBAAkB,CAAC;AAIzG,MAAM,cAAc,GAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CACrD,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,mBAAmB,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;AASlF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,EAAW,EACX,KAAkB,EAClB,MAAe,EACf,UAAqB,cAAc;IAEnC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;IAEpE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAgB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO;YACH,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,oCAAoC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;SAClF,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -1,46 +1,13 @@
|
|
|
1
1
|
import type { ExecutionResult } from "./types.js";
|
|
2
2
|
import type { RawComponentStack } from "./componentSource.js";
|
|
3
3
|
import { type ScreenSpaceMetrics } from "./screenSpace.js";
|
|
4
|
-
/**
|
|
5
|
-
* Check if the Element Inspector overlay is currently active.
|
|
6
|
-
*/
|
|
7
4
|
export declare function isInspectorActive(device?: string): Promise<boolean>;
|
|
8
|
-
/**
|
|
9
|
-
* Inspect the React component at a specific (x, y) coordinate.
|
|
10
|
-
*
|
|
11
|
-
* Works on both Paper and Fabric (New Architecture). Walks the fiber tree,
|
|
12
|
-
* fires measureInWindow on each host component, and resolves a Promise once
|
|
13
|
-
* either all callbacks have reported or a 300 ms timeout elapses — then
|
|
14
|
-
* hit-tests against the target coordinates and returns the innermost match.
|
|
15
|
-
*
|
|
16
|
-
* The whole flow happens inside a single Runtime.evaluate with awaitPromise.
|
|
17
|
-
* An earlier two-call design (dispatch → wait 300ms → resolve, bridged via
|
|
18
|
-
* globalThis.__inspectFibers/Measurements) was racy: any JS-context reset
|
|
19
|
-
* between the calls — Fast Refresh full-reload, CDP auto-reconnect landing
|
|
20
|
-
* on a different pageId — wiped the globals and surfaced as the cryptic
|
|
21
|
-
* "No measurement data available. Run inspect_at_point again." error
|
|
22
|
-
* (~13 events / 2 days, all on RN 1.10.0). Collapsing into one call closes
|
|
23
|
-
* that window by construction.
|
|
24
|
-
*/
|
|
25
5
|
export declare function inspectAtPoint(x: number, y: number, options?: {
|
|
26
6
|
includeProps?: boolean;
|
|
27
7
|
includeFrame?: boolean;
|
|
28
8
|
device?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Top inset used to lift raw measurements into screen space. Omit (or pass a zero
|
|
31
|
-
* inset) to hit-test in raw fiber space — the pre-normalisation behaviour.
|
|
32
|
-
*/
|
|
33
9
|
screenSpace?: ScreenSpaceMetrics;
|
|
34
10
|
}): Promise<ExecutionResult>;
|
|
35
|
-
/**
|
|
36
|
-
* Harvests raw _debugStack strings for whatever sits at (x, y). Returns an
|
|
37
|
-
* empty list rather than throwing, so callers can always fall back to the
|
|
38
|
-
* unenriched payload.
|
|
39
|
-
*/
|
|
40
11
|
export declare function harvestStacksAtPoint(x: number, y: number, device?: string): Promise<RawComponentStack[]>;
|
|
41
|
-
/**
|
|
42
|
-
* Attaches source location to an inspector payload. Never throws and never
|
|
43
|
-
* removes existing fields - a failure adds only a `sourceUnavailable` reason.
|
|
44
|
-
*/
|
|
45
12
|
export declare function enrichWithSource(payload: Record<string, unknown>, stacks: RawComponentStack[]): Promise<Record<string, unknown>>;
|
|
46
13
|
//# sourceMappingURL=inspector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AASnF,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCzE;AAmBD,wBAAsB,cAAc,CAChC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IACL,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GACP,OAAO,CAAC,eAAe,CAAC,CA0Y1B;AAOD,wBAAsB,oBAAoB,CACtC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAc9B;AAMD,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUlC"}
|
package/build/core/inspector.js
CHANGED
|
@@ -2,12 +2,6 @@ import { executeInApp } from "./jsExecute.js";
|
|
|
2
2
|
import { resolveStacksToSource, buildDebugStackHarvestExpression } from "./componentSource.js";
|
|
3
3
|
import { RN_PRIMITIVES_SRC, GENERIC_COMPONENT_SRC } from "./injectedFilters.js";
|
|
4
4
|
import { SCREEN_SPACE_HELPER_JS } from "./screenSpace.js";
|
|
5
|
-
// ============================================================================
|
|
6
|
-
// Coordinate-Based Element Inspection (via DevTools Inspector API)
|
|
7
|
-
// ============================================================================
|
|
8
|
-
/**
|
|
9
|
-
* Check if the Element Inspector overlay is currently active.
|
|
10
|
-
*/
|
|
11
5
|
export async function isInspectorActive(device) {
|
|
12
6
|
const expression = `
|
|
13
7
|
(function() {
|
|
@@ -45,23 +39,6 @@ export async function isInspectorActive(device) {
|
|
|
45
39
|
}
|
|
46
40
|
return false;
|
|
47
41
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Inspect the React component at a specific (x, y) coordinate.
|
|
50
|
-
*
|
|
51
|
-
* Works on both Paper and Fabric (New Architecture). Walks the fiber tree,
|
|
52
|
-
* fires measureInWindow on each host component, and resolves a Promise once
|
|
53
|
-
* either all callbacks have reported or a 300 ms timeout elapses — then
|
|
54
|
-
* hit-tests against the target coordinates and returns the innermost match.
|
|
55
|
-
*
|
|
56
|
-
* The whole flow happens inside a single Runtime.evaluate with awaitPromise.
|
|
57
|
-
* An earlier two-call design (dispatch → wait 300ms → resolve, bridged via
|
|
58
|
-
* globalThis.__inspectFibers/Measurements) was racy: any JS-context reset
|
|
59
|
-
* between the calls — Fast Refresh full-reload, CDP auto-reconnect landing
|
|
60
|
-
* on a different pageId — wiped the globals and surfaced as the cryptic
|
|
61
|
-
* "No measurement data available. Run inspect_at_point again." error
|
|
62
|
-
* (~13 events / 2 days, all on RN 1.10.0). Collapsing into one call closes
|
|
63
|
-
* that window by construction.
|
|
64
|
-
*/
|
|
65
42
|
export async function inspectAtPoint(x, y, options = {}) {
|
|
66
43
|
const { includeProps = true, includeFrame = true, device, screenSpace } = options;
|
|
67
44
|
const metrics = screenSpace ?? { platform: "ios", topInset: 0 };
|
|
@@ -178,8 +155,15 @@ export async function inspectAtPoint(x, y, options = {}) {
|
|
|
178
155
|
setTimeout(function() { timedOut = true; done(); }, measureBudgetMs);
|
|
179
156
|
|
|
180
157
|
function buildResult(fibers, measurements) {
|
|
181
|
-
|
|
182
|
-
|
|
158
|
+
// The caller speaks canonical delivered pixels; measureInWindow speaks
|
|
159
|
+
// points/dp. Hit-testing stays in point space (that is where the
|
|
160
|
+
// measurements and the inset correction live) and only the emitted frames
|
|
161
|
+
// are scaled back out, so the probe cannot drift from the geometry.
|
|
162
|
+
var PX = scaleOf(SCREEN_SPACE);
|
|
163
|
+
var inputX = ${x};
|
|
164
|
+
var inputY = ${y};
|
|
165
|
+
var targetX = inputX / PX;
|
|
166
|
+
var targetY = inputY / PX;
|
|
183
167
|
|
|
184
168
|
// Lift measurements into screen space once, before anything reads them, so the
|
|
185
169
|
// hit-test, the element frame, hitFrame and the hierarchy all share the caller's
|
|
@@ -219,7 +203,7 @@ export async function inspectAtPoint(x, y, options = {}) {
|
|
|
219
203
|
}
|
|
220
204
|
|
|
221
205
|
if (hits.length === 0) {
|
|
222
|
-
return { point: { x:
|
|
206
|
+
return { point: { x: inputX, y: inputY }, error: 'No component found at this point. Coordinates may be outside the app bounds or over a native-only element.' };
|
|
223
207
|
}
|
|
224
208
|
|
|
225
209
|
// Smallest area = innermost (most specific) component
|
|
@@ -346,7 +330,7 @@ export async function inspectAtPoint(x, y, options = {}) {
|
|
|
346
330
|
// node, and starting at .return made that unreachable.
|
|
347
331
|
var named = pickElement(best.fiber);
|
|
348
332
|
var result = {
|
|
349
|
-
point: { x:
|
|
333
|
+
point: { x: inputX, y: inputY },
|
|
350
334
|
element: named ? named.name : best.fiber.type,
|
|
351
335
|
nativeElement: best.fiber.type,
|
|
352
336
|
path: buildPath(best.fiber)
|
|
@@ -422,21 +406,28 @@ export async function inspectAtPoint(x, y, options = {}) {
|
|
|
422
406
|
}
|
|
423
407
|
if (hierarchy.length > 1) result.hierarchy = hierarchy;
|
|
424
408
|
|
|
409
|
+
// Point space -> canonical delivered pixels, once, on the way out. Every frame
|
|
410
|
+
// the caller sees goes through here, so frame, hitFrame and each ancestor in
|
|
411
|
+
// hierarchy stay in the same space as get_screen_state and tap().
|
|
412
|
+
if (PX !== 1) {
|
|
413
|
+
var scaleFrame = function(f) {
|
|
414
|
+
if (!f) return;
|
|
415
|
+
f.x = Math.round(f.x * PX);
|
|
416
|
+
f.y = Math.round(f.y * PX);
|
|
417
|
+
f.width = Math.round(f.width * PX);
|
|
418
|
+
f.height = Math.round(f.height * PX);
|
|
419
|
+
};
|
|
420
|
+
scaleFrame(result.frame);
|
|
421
|
+
scaleFrame(result.hitFrame);
|
|
422
|
+
for (var hi = 0; hi < hierarchy.length; hi++) scaleFrame(hierarchy[hi].frame);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
425
|
return result;
|
|
426
426
|
}
|
|
427
427
|
})
|
|
428
428
|
`;
|
|
429
|
-
// awaitPromise:true so CDP Runtime.evaluate returns the resolved value.
|
|
430
|
-
// 8000ms outer timeout sits above the inner measure budget (up to 3000ms on very large
|
|
431
|
-
// screens) with headroom for slow Fabric measure paths, without letting a hung Hermes
|
|
432
|
-
// runtime stall the tool.
|
|
433
429
|
return executeInApp(expression, true, { timeoutMs: 8000, originatingToolName: "inspect_at_point" }, device);
|
|
434
430
|
}
|
|
435
|
-
/**
|
|
436
|
-
* Harvests raw _debugStack strings for whatever sits at (x, y). Returns an
|
|
437
|
-
* empty list rather than throwing, so callers can always fall back to the
|
|
438
|
-
* unenriched payload.
|
|
439
|
-
*/
|
|
440
431
|
export async function harvestStacksAtPoint(x, y, device) {
|
|
441
432
|
try {
|
|
442
433
|
const res = await executeInApp(buildDebugStackHarvestExpression(x, y), true, { timeoutMs: 5000, originatingToolName: "inspect_at_point" }, device);
|
|
@@ -449,10 +440,6 @@ export async function harvestStacksAtPoint(x, y, device) {
|
|
|
449
440
|
return [];
|
|
450
441
|
}
|
|
451
442
|
}
|
|
452
|
-
/**
|
|
453
|
-
* Attaches source location to an inspector payload. Never throws and never
|
|
454
|
-
* removes existing fields - a failure adds only a `sourceUnavailable` reason.
|
|
455
|
-
*/
|
|
456
443
|
export async function enrichWithSource(payload, stacks) {
|
|
457
444
|
try {
|
|
458
445
|
const resolved = await resolveStacksToSource(stacks);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAA2B,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/core/inspector.ts"],"names":[],"mappings":"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"}
|
package/build/core/ios.d.ts
CHANGED
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
export declare const IOS_BUTTON_TYPES: readonly ["HOME", "LOCK", "SIDE_BUTTON", "SIRI", "APPLE_PAY"];
|
|
2
2
|
export type iOSButtonType = (typeof IOS_BUTTON_TYPES)[number];
|
|
3
|
-
/**
|
|
4
|
-
* Check if IDB is available
|
|
5
|
-
*/
|
|
6
3
|
export declare function isIdbAvailable(): Promise<boolean>;
|
|
7
|
-
/**
|
|
8
|
-
* Check if AXe CLI is available
|
|
9
|
-
*/
|
|
10
4
|
export declare function isAxeAvailable(): Promise<boolean>;
|
|
11
|
-
/**
|
|
12
|
-
* Check if the active iOS UI driver is available.
|
|
13
|
-
* Used by tap.ts for early fail-fast checks.
|
|
14
|
-
*/
|
|
15
5
|
export declare function isUiDriverAvailable(): Promise<boolean>;
|
|
16
|
-
/**
|
|
17
|
-
* Get install instructions for the active iOS UI driver.
|
|
18
|
-
*/
|
|
19
6
|
export declare function getUiDriverInstallHint(): string;
|
|
20
7
|
export interface iOSSimulator {
|
|
21
8
|
udid: string;
|
|
@@ -54,103 +41,43 @@ export interface iOSDescribeResult extends iOSResult {
|
|
|
54
41
|
elements?: iOSAccessibilityElement[];
|
|
55
42
|
}
|
|
56
43
|
export declare const XCODE_MISSING_ERROR: string;
|
|
57
|
-
/**
|
|
58
|
-
* Check if simctl is available (cached for the lifetime of the process).
|
|
59
|
-
*/
|
|
60
44
|
export declare function isSimctlAvailable(): Promise<boolean>;
|
|
61
|
-
/**
|
|
62
|
-
* Reset the cached simctl availability check. Test-only.
|
|
63
|
-
*/
|
|
64
45
|
export declare function resetSimctlAvailableCache(): void;
|
|
65
|
-
/**
|
|
66
|
-
* List iOS simulators
|
|
67
|
-
*/
|
|
68
46
|
export declare function listIOSSimulators(onlyBooted?: boolean): Promise<iOSResult>;
|
|
69
|
-
/**
|
|
70
|
-
* Build the actionable "no booted simulator" error message. Lists up to 6
|
|
71
|
-
* recently-available shutdown simulators by name+UDID and points the agent
|
|
72
|
-
* at `ios_boot_simulator`, so it can recover instead of giving up.
|
|
73
|
-
*/
|
|
74
47
|
export declare function buildNoSimulatorError(): Promise<string>;
|
|
75
|
-
/**
|
|
76
|
-
* Get the booted simulator UDID
|
|
77
|
-
*/
|
|
78
48
|
export declare function getBootedSimulatorUdid(): Promise<string | null>;
|
|
79
|
-
/**
|
|
80
|
-
* Find a booted simulator's UDID by its device name
|
|
81
|
-
* Matches Metro's deviceName against simulator names from simctl
|
|
82
|
-
*/
|
|
83
49
|
export declare function findSimulatorByName(deviceName: string): Promise<string | null>;
|
|
84
|
-
/**
|
|
85
|
-
* Get the active simulator UDID (Metro-connected) or fall back to first booted simulator
|
|
86
|
-
* This enables automatic device scoping based on Metro connection
|
|
87
|
-
*/
|
|
88
50
|
export declare function getActiveOrBootedSimulatorUdid(): Promise<string | null>;
|
|
89
|
-
/**
|
|
90
|
-
* Take a screenshot from an iOS simulator
|
|
91
|
-
*/
|
|
92
51
|
export declare function iosScreenshot(outputPath?: string, udid?: string): Promise<iOSResult>;
|
|
93
|
-
/**
|
|
94
|
-
* Install an app on an iOS simulator
|
|
95
|
-
*/
|
|
96
52
|
export declare function iosInstallApp(appPath: string, udid?: string): Promise<iOSResult>;
|
|
97
|
-
/**
|
|
98
|
-
* Launch an app on an iOS simulator
|
|
99
|
-
*/
|
|
100
53
|
export declare function iosLaunchApp(bundleId: string, udid?: string): Promise<iOSResult>;
|
|
101
|
-
/**
|
|
102
|
-
* Open a URL in the iOS simulator
|
|
103
|
-
*/
|
|
104
54
|
export declare function iosOpenUrl(url: string, udid?: string): Promise<iOSResult>;
|
|
105
|
-
/**
|
|
106
|
-
* Terminate an app on an iOS simulator
|
|
107
|
-
*/
|
|
108
55
|
export declare function iosTerminateApp(bundleId: string, udid?: string): Promise<iOSResult>;
|
|
109
|
-
/**
|
|
110
|
-
* Boot an iOS simulator
|
|
111
|
-
*/
|
|
112
56
|
export declare function iosBootSimulator(udid: string): Promise<iOSResult>;
|
|
113
|
-
/**
|
|
114
|
-
* Tap at coordinates on an iOS simulator using IDB
|
|
115
|
-
*/
|
|
116
57
|
export declare function iosTap(x: number, y: number, options?: {
|
|
117
58
|
duration?: number;
|
|
118
59
|
udid?: string;
|
|
119
60
|
}): Promise<iOSResult>;
|
|
120
|
-
/**
|
|
121
|
-
* Swipe gesture on an iOS simulator
|
|
122
|
-
*/
|
|
123
61
|
export declare function iosSwipe(startX: number, startY: number, endX: number, endY: number, options?: {
|
|
124
62
|
duration?: number;
|
|
125
63
|
delta?: number;
|
|
126
64
|
udid?: string;
|
|
127
65
|
}): Promise<iOSResult>;
|
|
128
|
-
/**
|
|
129
|
-
* Input text into the active field on an iOS simulator
|
|
130
|
-
*/
|
|
131
66
|
export declare function iosInputText(text: string, udid?: string): Promise<iOSResult>;
|
|
132
|
-
/**
|
|
133
|
-
* Press a hardware button on an iOS simulator
|
|
134
|
-
*/
|
|
135
67
|
export declare function iosButton(button: iOSButtonType, options?: {
|
|
136
68
|
duration?: number;
|
|
137
69
|
udid?: string;
|
|
138
70
|
}): Promise<iOSResult>;
|
|
139
|
-
/**
|
|
140
|
-
* Send a key event to an iOS simulator
|
|
141
|
-
*/
|
|
142
71
|
export declare function iosKeyEvent(keycode: number, options?: {
|
|
143
72
|
duration?: number;
|
|
144
73
|
udid?: string;
|
|
145
74
|
}): Promise<iOSResult>;
|
|
146
|
-
/**
|
|
147
|
-
* Send a sequence of key events to an iOS simulator
|
|
148
|
-
*/
|
|
149
75
|
export declare function iosKeySequence(keycodes: number[], udid?: string): Promise<iOSResult>;
|
|
150
76
|
export declare function getIOSSafeAreaTop(udid?: string): Promise<number>;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
77
|
+
export declare function getIOSScreenPointSize(udid?: string): Promise<{
|
|
78
|
+
width: number;
|
|
79
|
+
height: number;
|
|
80
|
+
} | null>;
|
|
154
81
|
export declare function iosDescribeAll(udid?: string): Promise<iOSDescribeResult>;
|
|
155
82
|
export declare function detectIOSSystemOverlay(udid?: string): Promise<{
|
|
156
83
|
detected: boolean;
|
|
@@ -160,14 +87,7 @@ export declare function formatIOSSystemOverlayWarning(detection: {
|
|
|
160
87
|
detected: boolean;
|
|
161
88
|
description?: string;
|
|
162
89
|
}): string;
|
|
163
|
-
/**
|
|
164
|
-
* Get accessibility info at a specific point
|
|
165
|
-
*/
|
|
166
90
|
export declare function iosDescribePoint(x: number, y: number, udid?: string): Promise<iOSDescribeResult>;
|
|
167
|
-
/**
|
|
168
|
-
* Tap an element by its accessibility label using IDB
|
|
169
|
-
* This simplifies the workflow: no need to manually find coordinates
|
|
170
|
-
*/
|
|
171
91
|
export declare function iosTapElement(options: {
|
|
172
92
|
label?: string;
|
|
173
93
|
labelContains?: string;
|
|
@@ -175,9 +95,6 @@ export declare function iosTapElement(options: {
|
|
|
175
95
|
duration?: number;
|
|
176
96
|
udid?: string;
|
|
177
97
|
}): Promise<iOSResult>;
|
|
178
|
-
/**
|
|
179
|
-
* UI Element from iOS accessibility tree (simplified for find_element)
|
|
180
|
-
*/
|
|
181
98
|
export interface IOSUIElement {
|
|
182
99
|
label: string;
|
|
183
100
|
value: string;
|
|
@@ -196,9 +113,6 @@ export interface IOSUIElement {
|
|
|
196
113
|
enabled: boolean;
|
|
197
114
|
traits: string[];
|
|
198
115
|
}
|
|
199
|
-
/**
|
|
200
|
-
* Result of iOS element find operations
|
|
201
|
-
*/
|
|
202
116
|
export interface IOSFindElementResult {
|
|
203
117
|
success: boolean;
|
|
204
118
|
found: boolean;
|
|
@@ -207,16 +121,10 @@ export interface IOSFindElementResult {
|
|
|
207
121
|
matchCount?: number;
|
|
208
122
|
error?: string;
|
|
209
123
|
}
|
|
210
|
-
/**
|
|
211
|
-
* Result of iOS wait for element operations
|
|
212
|
-
*/
|
|
213
124
|
export interface IOSWaitForElementResult extends IOSFindElementResult {
|
|
214
125
|
elapsedMs?: number;
|
|
215
126
|
timedOut?: boolean;
|
|
216
127
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Options for finding iOS elements
|
|
219
|
-
*/
|
|
220
128
|
export interface IOSFindElementOptions {
|
|
221
129
|
label?: string;
|
|
222
130
|
labelContains?: string;
|
|
@@ -227,46 +135,27 @@ export interface IOSFindElementOptions {
|
|
|
227
135
|
identifierContains?: string;
|
|
228
136
|
index?: number;
|
|
229
137
|
}
|
|
230
|
-
/**
|
|
231
|
-
* Get UI accessibility tree from iOS simulator using IDB (for find_element)
|
|
232
|
-
*/
|
|
233
138
|
export declare function iosGetUITree(udid?: string): Promise<{
|
|
234
139
|
success: boolean;
|
|
235
140
|
elements?: IOSUIElement[];
|
|
236
141
|
rawOutput?: string;
|
|
237
142
|
error?: string;
|
|
238
143
|
}>;
|
|
239
|
-
/** A pre-fetched accessibility tree, as returned by iosGetUITree. */
|
|
240
144
|
export type IOSUITree = Awaited<ReturnType<typeof iosGetUITree>>;
|
|
241
|
-
/**
|
|
242
|
-
* Find element(s) in the iOS UI tree matching the given criteria.
|
|
243
|
-
*
|
|
244
|
-
* `tree` lets a caller reuse an accessibility dump it already has. Each fetch
|
|
245
|
-
* shells out to `axe describe-ui` (~210ms measured 2026-08-01) and the tap
|
|
246
|
-
* strategy runs two or three passes with different predicates, so re-fetching
|
|
247
|
-
* per pass was costing 400-600ms per accessibility tap for a tree that cannot
|
|
248
|
-
* change between passes.
|
|
249
|
-
*/
|
|
250
145
|
export declare function iosFindElement(options: IOSFindElementOptions, udid?: string, tree?: IOSUITree): Promise<IOSFindElementResult>;
|
|
251
|
-
/**
|
|
252
|
-
* Pure calculation: DPR = screenshotPixelWidth / screenPointWidth.
|
|
253
|
-
* Exported for unit testing.
|
|
254
|
-
*/
|
|
255
146
|
export declare function calculateDPR(screenshotPixelWidth: number, screenPointWidth: number): number;
|
|
256
|
-
/**
|
|
257
|
-
* Query the actual device pixel ratio for an iOS simulator.
|
|
258
|
-
* Uses screenshot pixel width vs accessibility root frame width.
|
|
259
|
-
* Result is cached per UDID for the session.
|
|
260
|
-
*/
|
|
261
147
|
export declare function getDevicePixelRatio(udid?: string, pixelDims?: {
|
|
262
148
|
width: number;
|
|
263
149
|
height: number;
|
|
264
150
|
}): Promise<number>;
|
|
265
|
-
|
|
151
|
+
export declare function getIOSScreenPixelSize(udid?: string, pixelDims?: {
|
|
152
|
+
width: number;
|
|
153
|
+
height: number;
|
|
154
|
+
}): Promise<{
|
|
155
|
+
width: number;
|
|
156
|
+
height: number;
|
|
157
|
+
} | null>;
|
|
266
158
|
export declare function clearDPRCache(): void;
|
|
267
|
-
/**
|
|
268
|
-
* Wait for element to appear on iOS screen with polling
|
|
269
|
-
*/
|
|
270
159
|
export declare function iosWaitForElement(options: IOSFindElementOptions & {
|
|
271
160
|
timeoutMs?: number;
|
|
272
161
|
pollIntervalMs?: number;
|
package/build/core/ios.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,gBAAgB,+DAMnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../src/core/ios.ts"],"names":[],"mappings":"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"}
|