execbro 2.3.0 → 2.6.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/README.md +2 -0
- 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/androidPinch.test.d.ts +2 -0
- package/build/__tests__/unit/androidPinch.test.d.ts.map +1 -0
- package/build/__tests__/unit/androidPinch.test.js +119 -0
- package/build/__tests__/unit/androidPinch.test.js.map +1 -0
- 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/emulatorBridge.test.d.ts +2 -0
- package/build/__tests__/unit/emulatorBridge.test.d.ts.map +1 -0
- package/build/__tests__/unit/emulatorBridge.test.js +76 -0
- package/build/__tests__/unit/emulatorBridge.test.js.map +1 -0
- package/build/__tests__/unit/emulatorGrpc.test.d.ts +2 -0
- package/build/__tests__/unit/emulatorGrpc.test.d.ts.map +1 -0
- package/build/__tests__/unit/emulatorGrpc.test.js +33 -0
- package/build/__tests__/unit/emulatorGrpc.test.js.map +1 -0
- 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/pinchGeometry.test.d.ts +2 -0
- package/build/__tests__/unit/pinchGeometry.test.d.ts.map +1 -0
- package/build/__tests__/unit/pinchGeometry.test.js +139 -0
- package/build/__tests__/unit/pinchGeometry.test.js.map +1 -0
- package/build/__tests__/unit/pinchTool.test.d.ts +2 -0
- package/build/__tests__/unit/pinchTool.test.d.ts.map +1 -0
- package/build/__tests__/unit/pinchTool.test.js +39 -0
- package/build/__tests__/unit/pinchTool.test.js.map +1 -0
- 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/androidPinch.d.ts +21 -0
- package/build/core/androidPinch.d.ts.map +1 -0
- package/build/core/androidPinch.js +72 -0
- package/build/core/androidPinch.js.map +1 -0
- package/build/core/androidSystemBars.d.ts +7 -0
- package/build/core/androidSystemBars.d.ts.map +1 -0
- package/build/core/androidSystemBars.js +21 -0
- package/build/core/androidSystemBars.js.map +1 -0
- 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/emulatorBridge.d.ts +17 -0
- package/build/core/emulatorBridge.d.ts.map +1 -0
- package/build/core/emulatorBridge.js +78 -0
- package/build/core/emulatorBridge.js.map +1 -0
- package/build/core/emulatorGrpc.d.ts +14 -0
- package/build/core/emulatorGrpc.d.ts.map +1 -0
- package/build/core/emulatorGrpc.js +93 -0
- package/build/core/emulatorGrpc.js.map +1 -0
- 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 +18 -12
- 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.d.ts +2 -0
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +5 -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/pinchGeometry.d.ts +28 -0
- package/build/core/pinchGeometry.d.ts.map +1 -0
- package/build/core/pinchGeometry.js +97 -0
- package/build/core/pinchGeometry.js.map +1 -0
- package/build/core/pinchThresholds.d.ts +14 -0
- package/build/core/pinchThresholds.d.ts.map +1 -0
- package/build/core/pinchThresholds.js +9 -0
- package/build/core/pinchThresholds.js.map +1 -0
- 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 +190 -59
- 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 +16 -1
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import type { RawLogLine } from "./logEvents.js";
|
|
2
|
-
/**
|
|
3
|
-
* Build the logcat invocation.
|
|
4
|
-
*
|
|
5
|
-
* Filtering is pushed into adb rather than done in node: a full dump is
|
|
6
|
-
* 13.8 MB, and node's exec buffer is 1 MiB by default.
|
|
7
|
-
*/
|
|
8
2
|
export declare function buildLogcatArgs(opts: {
|
|
9
3
|
serial?: string;
|
|
10
4
|
sinceTs?: Date;
|
|
11
5
|
pid?: number;
|
|
12
6
|
minPriority?: string;
|
|
13
|
-
/** Read ONLY the crash buffer — used when app identity is unknown. */
|
|
14
7
|
crashOnly?: boolean;
|
|
15
8
|
}): string;
|
|
16
9
|
export declare function parseLogcatEpoch(stdout: string): RawLogLine[];
|
|
@@ -22,6 +15,5 @@ export declare function fetchAndroidLines(opts: {
|
|
|
22
15
|
crashOnly?: boolean;
|
|
23
16
|
signal?: AbortSignal;
|
|
24
17
|
}): Promise<RawLogLine[]>;
|
|
25
|
-
/** Resolve the app's live pid, or undefined when it is not running. */
|
|
26
18
|
export declare function resolveAndroidPid(packageName: string, serial?: string, signal?: AbortSignal): Promise<number | undefined>;
|
|
27
19
|
//# sourceMappingURL=logSourceAndroid.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSourceAndroid.d.ts","sourceRoot":"","sources":["../../src/core/logSourceAndroid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"logSourceAndroid.d.ts","sourceRoot":"","sources":["../../src/core/logSourceAndroid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsC7D,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,MAAM,CAWT;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAmB7D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQxB;AAGD,wBAAsB,iBAAiB,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAU7B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { execAsync, withCancelableTimeout } from "./exec.js";
|
|
2
|
-
/** A full dump is 13.8 MB; node's exec default is 1 MiB. */
|
|
3
2
|
const MAX_BUFFER = 32 * 1024 * 1024;
|
|
4
3
|
const FETCH_TIMEOUT_MS = 5000;
|
|
5
4
|
const PRIORITY = {
|
|
@@ -10,7 +9,6 @@ const PRIORITY = {
|
|
|
10
9
|
E: "error",
|
|
11
10
|
F: "fatal",
|
|
12
11
|
};
|
|
13
|
-
// " 1785352265.203 1210 13886 I NearbyMediums: Wifi changed"
|
|
14
12
|
const LINE_RE = /^\s*(\d+\.\d+)\s+(\d+)\s+(\d+)\s+([VDIWEF])\s+([^:]*?)\s*:\s?(.*)$/;
|
|
15
13
|
const SUBJECT_PATTERNS = [
|
|
16
14
|
/^Cmdline:\s*(\S+)/,
|
|
@@ -25,17 +23,10 @@ function declaredSubject(message) {
|
|
|
25
23
|
}
|
|
26
24
|
return undefined;
|
|
27
25
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Build the logcat invocation.
|
|
30
|
-
*
|
|
31
|
-
* Filtering is pushed into adb rather than done in node: a full dump is
|
|
32
|
-
* 13.8 MB, and node's exec buffer is 1 MiB by default.
|
|
33
|
-
*/
|
|
34
26
|
export function buildLogcatArgs(opts) {
|
|
35
27
|
const parts = ["adb"];
|
|
36
28
|
if (opts.serial)
|
|
37
29
|
parts.push("-s", opts.serial);
|
|
38
|
-
// crash first: it is small, and it is where tombstones land.
|
|
39
30
|
parts.push("logcat", "-d", "-b", opts.crashOnly ? "crash" : "crash,main", "-v", "epoch");
|
|
40
31
|
if (opts.sinceTs) {
|
|
41
32
|
parts.push("-T", `'${(opts.sinceTs.getTime() / 1000).toFixed(3)}'`);
|
|
@@ -73,7 +64,6 @@ export async function fetchAndroidLines(opts) {
|
|
|
73
64
|
const { stdout } = await withCancelableTimeout((signal) => execAsync(cmd, { signal, maxBuffer: MAX_BUFFER }), FETCH_TIMEOUT_MS, `logcat (${opts.serial ?? "default device"})`);
|
|
74
65
|
return parseLogcatEpoch(stdout);
|
|
75
66
|
}
|
|
76
|
-
/** Resolve the app's live pid, or undefined when it is not running. */
|
|
77
67
|
export async function resolveAndroidPid(packageName, serial, signal) {
|
|
78
68
|
const target = serial ? `-s ${serial}` : "";
|
|
79
69
|
try {
|
|
@@ -82,7 +72,6 @@ export async function resolveAndroidPid(packageName, serial, signal) {
|
|
|
82
72
|
return Number.isFinite(pid) && pid > 0 ? pid : undefined;
|
|
83
73
|
}
|
|
84
74
|
catch {
|
|
85
|
-
// Not running — expected after a crash, which is the main case.
|
|
86
75
|
return undefined;
|
|
87
76
|
}
|
|
88
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSourceAndroid.js","sourceRoot":"","sources":["../../src/core/logSourceAndroid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"logSourceAndroid.js","sourceRoot":"","sources":["../../src/core/logSourceAndroid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import type { RawLogLine } from "./logEvents.js";
|
|
2
|
-
/**
|
|
3
|
-
* Build the `log show` invocation.
|
|
4
|
-
*
|
|
5
|
-
* The predicate does the filtering inside the OS: a 30-minute app-scoped read
|
|
6
|
-
* is 42 KB, where an unscoped one is orders of magnitude larger.
|
|
7
|
-
*/
|
|
8
2
|
export declare function buildLogShowCommand(opts: {
|
|
9
3
|
udid: string;
|
|
10
4
|
processName?: string;
|
|
11
5
|
sinceTs?: Date;
|
|
12
|
-
/** "error" keeps error+fault; "fault" keeps fault only. */
|
|
13
6
|
minMessageType?: "error" | "fault";
|
|
14
7
|
}): string;
|
|
15
8
|
export declare function parseLogShowNdjson(stdout: string): RawLogLine[];
|
|
@@ -21,6 +14,5 @@ export declare function fetchIosLines(opts: {
|
|
|
21
14
|
signal?: AbortSignal;
|
|
22
15
|
}): Promise<RawLogLine[]>;
|
|
23
16
|
export declare function resolveIosProcessName(udid: string, bundleId: string, signal?: AbortSignal): Promise<string | undefined>;
|
|
24
|
-
/** Test-only. */
|
|
25
17
|
export declare function __resetIosProcessNameCache(): void;
|
|
26
18
|
//# sourceMappingURL=logSourceIos.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSourceIos.d.ts","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"logSourceIos.d.ts","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CACtC,GAAG,MAAM,CAqBT;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B/D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAQxB;AAUD,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B;AAGD,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -9,30 +9,15 @@ const MESSAGE_TYPE = {
|
|
|
9
9
|
Debug: "debug",
|
|
10
10
|
};
|
|
11
11
|
const IOS_SUBJECT_RE = /\b([a-z0-9]+(?:\.[A-Za-z0-9-]+){2,})\b/;
|
|
12
|
-
/**
|
|
13
|
-
* `log show --start` parses a bare timestamp as DEVICE-LOCAL time, and rejects
|
|
14
|
-
* an explicit UTC offset (verified against a live simulator). Emitting UTC
|
|
15
|
-
* would therefore shift the window by the host's offset: over-fetching hours
|
|
16
|
-
* of logs east of UTC, and silently MISSING events — crashes included — west
|
|
17
|
-
* of it. The simulator shares the host clock, so local components are correct.
|
|
18
|
-
*/
|
|
19
12
|
function localStamp(d) {
|
|
20
13
|
const p = (n) => String(n).padStart(2, "0");
|
|
21
14
|
return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())} ` +
|
|
22
15
|
`${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}`;
|
|
23
16
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Build the `log show` invocation.
|
|
26
|
-
*
|
|
27
|
-
* The predicate does the filtering inside the OS: a 30-minute app-scoped read
|
|
28
|
-
* is 42 KB, where an unscoped one is orders of magnitude larger.
|
|
29
|
-
*/
|
|
30
17
|
export function buildLogShowCommand(opts) {
|
|
31
18
|
const predicates = [];
|
|
32
19
|
if (opts.processName)
|
|
33
20
|
predicates.push(`process == "${opts.processName}"`);
|
|
34
|
-
// Enumerated explicitly — the predicate language has no ordering over
|
|
35
|
-
// messageType, so a ">=" comparison silently matches nothing.
|
|
36
21
|
if (opts.minMessageType === "fault") {
|
|
37
22
|
predicates.push("messageType == fault");
|
|
38
23
|
}
|
|
@@ -62,9 +47,8 @@ export function parseLogShowNdjson(stdout) {
|
|
|
62
47
|
rec = JSON.parse(trimmed);
|
|
63
48
|
}
|
|
64
49
|
catch {
|
|
65
|
-
continue;
|
|
50
|
+
continue;
|
|
66
51
|
}
|
|
67
|
-
// The stream ends with a {count, finished} summary object.
|
|
68
52
|
if (typeof rec.eventMessage !== "string")
|
|
69
53
|
continue;
|
|
70
54
|
const subsystem = typeof rec.subsystem === "string" ? rec.subsystem : "";
|
|
@@ -89,12 +73,6 @@ export async function fetchIosLines(opts) {
|
|
|
89
73
|
const { stdout } = await withCancelableTimeout((signal) => execAsync(cmd, { signal, maxBuffer: MAX_BUFFER }), FETCH_TIMEOUT_MS, `log show (${opts.udid})`);
|
|
90
74
|
return parseLogShowNdjson(stdout);
|
|
91
75
|
}
|
|
92
|
-
/**
|
|
93
|
-
* Map a bundle id to the `process ==` value the predicate needs.
|
|
94
|
-
*
|
|
95
|
-
* The predicate matches the executable name, not the bundle id — verified:
|
|
96
|
-
* org.reactjs.native.example.RnDebuggerTestApp -> RnDebuggerTestApp.
|
|
97
|
-
*/
|
|
98
76
|
const processNameCache = new Map();
|
|
99
77
|
export async function resolveIosProcessName(udid, bundleId, signal) {
|
|
100
78
|
const key = `${udid}:${bundleId}`;
|
|
@@ -112,7 +90,6 @@ export async function resolveIosProcessName(udid, bundleId, signal) {
|
|
|
112
90
|
return undefined;
|
|
113
91
|
}
|
|
114
92
|
}
|
|
115
|
-
/** Test-only. */
|
|
116
93
|
export function __resetIosProcessNameCache() {
|
|
117
94
|
processNameCache.clear();
|
|
118
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logSourceIos.js","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAG7D,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,YAAY,GAA+B;IAC7C,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,cAAc,GAAG,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"logSourceIos.js","sourceRoot":"","sources":["../../src/core/logSourceIos.ts"],"names":[],"mappings":"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"}
|
package/build/core/logbox.d.ts
CHANGED
|
@@ -18,41 +18,11 @@ export interface LogBoxDismissResult {
|
|
|
18
18
|
fatals: number;
|
|
19
19
|
}
|
|
20
20
|
export declare function getLastLogBoxError(): string | null;
|
|
21
|
-
/**
|
|
22
|
-
* Read current LogBox state without modifying it.
|
|
23
|
-
* Returns null if LogBox is not available (production app, no CDP connection, etc.)
|
|
24
|
-
*/
|
|
25
21
|
export declare function detectLogBox(device?: string): Promise<LogBoxState | null>;
|
|
26
|
-
/**
|
|
27
|
-
* Clear all LogBox entries and return what was dismissed.
|
|
28
|
-
* Returns null if LogBox is not available.
|
|
29
|
-
*/
|
|
30
22
|
export declare function dismissLogBox(device?: string): Promise<LogBoxDismissResult | null>;
|
|
31
|
-
/**
|
|
32
|
-
* Push a message into LogBox via LogBoxData.addLog().
|
|
33
|
-
* Default level is "error" because only errors produce a visible bottom banner.
|
|
34
|
-
* Warnings are stored but not visually shown unless LogBox is already open.
|
|
35
|
-
*/
|
|
36
23
|
export declare function pushLogBox(message: string, level?: "error" | "warning", expanded?: boolean, target?: "logbox" | "metro", subtitle?: string, device?: string): Promise<boolean>;
|
|
37
|
-
/**
|
|
38
|
-
* Add ignore patterns to suppress future LogBox entries.
|
|
39
|
-
* Returns the full list of active patterns after adding, or null if unavailable.
|
|
40
|
-
*/
|
|
41
24
|
export declare function addLogBoxIgnorePatterns(patterns: string[], device?: string): Promise<string[] | null>;
|
|
42
|
-
/**
|
|
43
|
-
* Build a warning string for appending to screenshot/OCR tool responses.
|
|
44
|
-
* Returns empty string if no LogBox entries detected.
|
|
45
|
-
*/
|
|
46
25
|
export declare function formatLogBoxWarning(state: LogBoxState): string;
|
|
47
|
-
/**
|
|
48
|
-
* Format dismissed LogBox entries for the logbox tool response.
|
|
49
|
-
* Full messages in raw data, truncated in display.
|
|
50
|
-
*/
|
|
51
26
|
export declare function formatDismissedEntries(result: LogBoxDismissResult): string;
|
|
52
|
-
/**
|
|
53
|
-
* Push a full-screen LogBox notification when a UI driver is missing.
|
|
54
|
-
* Fire-and-forget — silently does nothing if no Metro connection exists.
|
|
55
|
-
* Throttled to avoid spamming the device on repeated tool calls.
|
|
56
|
-
*/
|
|
57
27
|
export declare function notifyDriverMissing(platform: "ios" | "android"): void;
|
|
58
28
|
//# sourceMappingURL=logbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logbox.d.ts","sourceRoot":"","sources":["../../src/core/logbox.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAmJD,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;
|
|
1
|
+
{"version":3,"file":"logbox.d.ts","sourceRoot":"","sources":["../../src/core/logbox.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAmJD,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAeD,wBAAsB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAkB/E;AAMD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAkBxF;AAOD,wBAAsB,UAAU,CAC5B,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,OAAO,GAAG,SAAmB,EACpC,QAAQ,GAAE,OAAe,EACzB,MAAM,GAAE,QAAQ,GAAG,OAAkB,EACrC,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAMD,wBAAsB,uBAAuB,CACzC,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAsB1B;AAMD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAY9D;AAMD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAuB1E;AAaD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI,CAerE"}
|
package/build/core/logbox.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { executeInApp } from "./executor.js";
|
|
2
2
|
import { connectedApps } from "./state.js";
|
|
3
|
-
// ── JS Expression Fragments ──
|
|
4
|
-
// Composed into full expressions for detect and dismiss operations.
|
|
5
|
-
// Each runs inside the RN app via Runtime.evaluate.
|
|
6
3
|
const FIND_LOGBOX_DATA = `
|
|
7
4
|
var LogBoxData = global.__RN_LOGBOX_DATA__;
|
|
8
5
|
if (!LogBoxData || !LogBoxData.observe) {
|
|
@@ -69,7 +66,6 @@ ${READ_LOGBOX_STATE}
|
|
|
69
66
|
fatals: summary.fatal
|
|
70
67
|
});
|
|
71
68
|
})()`;
|
|
72
|
-
// ── Push & Ignore Expression Builders ──
|
|
73
69
|
function buildPushExpression(message, level, expanded, subtitle) {
|
|
74
70
|
const escapedMessage = message.replace(/\\/g, "\\\\").replace(/'/g, "\\'").replace(/\n/g, "\\n");
|
|
75
71
|
const escapedSubtitle = subtitle ? subtitle.replace(/\\/g, "\\\\").replace(/'/g, "\\'") : "MCP Server";
|
|
@@ -131,10 +127,6 @@ ${FIND_LOGBOX_DATA}
|
|
|
131
127
|
}
|
|
132
128
|
})()`;
|
|
133
129
|
}
|
|
134
|
-
// ── Error tracking ──
|
|
135
|
-
// Captures the most recent LogBox failure reason so the MCP tool handler can
|
|
136
|
-
// surface it in user-visible output. Set by any of the public functions below
|
|
137
|
-
// when detection fails with a known reason code.
|
|
138
130
|
let lastLogBoxError = null;
|
|
139
131
|
export function getLastLogBoxError() {
|
|
140
132
|
return lastLogBoxError;
|
|
@@ -145,11 +137,6 @@ function recordLogBoxError(reason) {
|
|
|
145
137
|
console.error(`[execbro] LogBox operation failed: ${reason}`);
|
|
146
138
|
}
|
|
147
139
|
}
|
|
148
|
-
// ── Public API ──
|
|
149
|
-
/**
|
|
150
|
-
* Read current LogBox state without modifying it.
|
|
151
|
-
* Returns null if LogBox is not available (production app, no CDP connection, etc.)
|
|
152
|
-
*/
|
|
153
140
|
export async function detectLogBox(device) {
|
|
154
141
|
try {
|
|
155
142
|
const result = await executeInApp(DETECT_EXPRESSION, true, { timeoutMs: 5000, originatingToolName: "logbox" }, device);
|
|
@@ -170,10 +157,6 @@ export async function detectLogBox(device) {
|
|
|
170
157
|
return null;
|
|
171
158
|
}
|
|
172
159
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Clear all LogBox entries and return what was dismissed.
|
|
175
|
-
* Returns null if LogBox is not available.
|
|
176
|
-
*/
|
|
177
160
|
export async function dismissLogBox(device) {
|
|
178
161
|
try {
|
|
179
162
|
const result = await executeInApp(DISMISS_EXPRESSION, true, { timeoutMs: 5000, originatingToolName: "logbox" }, device);
|
|
@@ -194,11 +177,6 @@ export async function dismissLogBox(device) {
|
|
|
194
177
|
return null;
|
|
195
178
|
}
|
|
196
179
|
}
|
|
197
|
-
/**
|
|
198
|
-
* Push a message into LogBox via LogBoxData.addLog().
|
|
199
|
-
* Default level is "error" because only errors produce a visible bottom banner.
|
|
200
|
-
* Warnings are stored but not visually shown unless LogBox is already open.
|
|
201
|
-
*/
|
|
202
180
|
export async function pushLogBox(message, level = "error", expanded = false, target = "logbox", subtitle, device) {
|
|
203
181
|
if (target === "metro") {
|
|
204
182
|
try {
|
|
@@ -232,10 +210,6 @@ export async function pushLogBox(message, level = "error", expanded = false, tar
|
|
|
232
210
|
return false;
|
|
233
211
|
}
|
|
234
212
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Add ignore patterns to suppress future LogBox entries.
|
|
237
|
-
* Returns the full list of active patterns after adding, or null if unavailable.
|
|
238
|
-
*/
|
|
239
213
|
export async function addLogBoxIgnorePatterns(patterns, device) {
|
|
240
214
|
try {
|
|
241
215
|
const result = await executeInApp(buildIgnoreExpression(patterns), true, { timeoutMs: 5000, originatingToolName: "logbox" }, device);
|
|
@@ -260,10 +234,6 @@ export async function addLogBoxIgnorePatterns(patterns, device) {
|
|
|
260
234
|
return null;
|
|
261
235
|
}
|
|
262
236
|
}
|
|
263
|
-
/**
|
|
264
|
-
* Build a warning string for appending to screenshot/OCR tool responses.
|
|
265
|
-
* Returns empty string if no LogBox entries detected.
|
|
266
|
-
*/
|
|
267
237
|
export function formatLogBoxWarning(state) {
|
|
268
238
|
if (state.total === 0)
|
|
269
239
|
return "";
|
|
@@ -277,10 +247,6 @@ export function formatLogBoxWarning(state) {
|
|
|
277
247
|
return (`\n\nWarning: LogBox overlay detected (${parts.join(", ")}). Bottom UI may be obstructed.` +
|
|
278
248
|
`\nUse logbox with action "dismiss" to clear (dismissed content will be returned).`);
|
|
279
249
|
}
|
|
280
|
-
/**
|
|
281
|
-
* Format dismissed LogBox entries for the logbox tool response.
|
|
282
|
-
* Full messages in raw data, truncated in display.
|
|
283
|
-
*/
|
|
284
250
|
export function formatDismissedEntries(result) {
|
|
285
251
|
if (result.totalDismissed === 0)
|
|
286
252
|
return "No LogBox entries to dismiss.";
|
|
@@ -304,17 +270,9 @@ export function formatDismissedEntries(result) {
|
|
|
304
270
|
output += `\nBottom UI should now be unobstructed.`;
|
|
305
271
|
return output;
|
|
306
272
|
}
|
|
307
|
-
// ── Driver Missing Notification ──
|
|
308
|
-
// Throttle: don't spam the user with repeated notifications within 60 seconds
|
|
309
273
|
let lastDriverNotificationTime = 0;
|
|
310
274
|
const DRIVER_NOTIFICATION_COOLDOWN_MS = 60_000;
|
|
311
|
-
/**
|
|
312
|
-
* Push a full-screen LogBox notification when a UI driver is missing.
|
|
313
|
-
* Fire-and-forget — silently does nothing if no Metro connection exists.
|
|
314
|
-
* Throttled to avoid spamming the device on repeated tool calls.
|
|
315
|
-
*/
|
|
316
275
|
export function notifyDriverMissing(platform) {
|
|
317
|
-
// Only notify if there's an active Metro/CDP connection to push to
|
|
318
276
|
if (connectedApps.size === 0)
|
|
319
277
|
return;
|
|
320
278
|
const now = Date.now();
|
|
@@ -324,7 +282,6 @@ export function notifyDriverMissing(platform) {
|
|
|
324
282
|
const message = platform === "ios"
|
|
325
283
|
? "iOS UI Driver Not Installed\n\nAI tools (tap, swipe, text input, accessibility) require a UI driver to interact with the simulator.\n\nInstall AXe (recommended):\nbrew install cameroncooke/axe/axe\n\nThen restart your MCP server session."
|
|
326
284
|
: "ADB Not Installed\n\nAI tools (tap, swipe, text input, accessibility) require ADB to interact with the device.\n\nInstall Android Platform Tools:\nbrew install android-platform-tools\n\nThen add to PATH and restart your MCP server session.";
|
|
327
|
-
// Fire-and-forget — don't await, don't block the error response
|
|
328
285
|
pushLogBox(message, "error", true, "logbox", "Setup Required").catch(() => { });
|
|
329
286
|
}
|
|
330
287
|
//# sourceMappingURL=logbox.js.map
|
package/build/core/logbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logbox.js","sourceRoot":"","sources":["../../src/core/logbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logbox.js","sourceRoot":"","sources":["../../src/core/logbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8B3C,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBzB,CAAC;AAEF,MAAM,iBAAiB,GAAG;EACxB,gBAAgB;EAChB,iBAAiB;;;;;;;;KAQd,CAAC;AAEN,MAAM,kBAAkB,GAAG;EACzB,gBAAgB;EAChB,iBAAiB;;;;;;;;;;KAUd,CAAC;AAIN,SAAS,mBAAmB,CAAC,OAAe,EAAE,KAA0B,EAAE,QAAiB,EAAE,QAAiB;IAC1G,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjG,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACvG,OAAO;EACT,gBAAgB;;;;gBAIF,KAAK;6BACQ,cAAc;;;SAGlC,QAAQ,CAAC,CAAC,CAAC;;;;;;;;;;;;;;yBAcK,eAAe;;;;;;;;;;;aAW3B,CAAC,CAAC,CAAC,EAAE;;;;;KAKb,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO;EACT,gBAAgB;;mCAEiB,YAAY;;;;;;;;;;KAU1C,CAAC;AACN,CAAC;AAMD,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,MAAM,UAAU,kBAAkB;IAC9B,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAqB;IAC5C,eAAe,GAAG,MAAM,CAAC;IACzB,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAe;IAC9C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACvH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAe;IAC/C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,kBAAkB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACxH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,OAAe,EACf,QAA6B,OAAO,EACpC,WAAoB,KAAK,EACzB,SAA6B,QAAQ,EACrC,QAAiB,EACjB,MAAe;IAEf,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjG,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,8BAA8B,cAAc,oDAAoD,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;YACtM,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7J,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,QAAkB,EAClB,MAAe;IAEf,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACrI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3B,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC,QAAQ,CAAC;QAC3B,CAAC;QACD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAMD,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IAClD,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,WAAW,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhG,OAAO,CACH,yCAAyC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;QAC1F,mFAAmF,CACtF,CAAC;AACN,CAAC;AAMD,MAAM,UAAU,sBAAsB,CAAC,MAA2B;IAC9D,IAAI,MAAM,CAAC,cAAc,KAAK,CAAC;QAAE,OAAO,+BAA+B,CAAC;IAExE,MAAM,cAAc,GAAG,GAAG,CAAC;IAC3B,IAAI,MAAM,GAAG,aAAa,MAAM,CAAC,cAAc,eAAe,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IAE7G,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc;YACnD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,KAAK;YACpD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,MAAM,KAAK,CAAC,KAAK,KAAK,SAAS,GAAG,QAAQ,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,WAAW,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnG,MAAM,IAAI,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,MAAM,IAAI,yCAAyC,CAAC;IAEpD,OAAO,MAAM,CAAC;AAClB,CAAC;AAKD,IAAI,0BAA0B,GAAG,CAAC,CAAC;AACnC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAO/C,MAAM,UAAU,mBAAmB,CAAC,QAA2B;IAE3D,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAErC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,0BAA0B,GAAG,+BAA+B;QAAE,OAAO;IAC/E,0BAA0B,GAAG,GAAG,CAAC;IAEjC,MAAM,OAAO,GACT,QAAQ,KAAK,KAAK;QACd,CAAC,CAAC,+OAA+O;QACjP,CAAC,CAAC,iPAAiP,CAAC;IAG5P,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACnF,CAAC"}
|
package/build/core/logs.d.ts
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { LogEntry, LogLevel } from "./types.js";
|
|
2
|
-
/** Test-only: reset the sequence so assertions are not order-dependent. */
|
|
3
2
|
export declare function __resetLogSeq(): void;
|
|
4
3
|
export declare class LogBuffer {
|
|
5
4
|
private logs;
|
|
6
5
|
private maxSize;
|
|
7
6
|
private deviceName?;
|
|
8
7
|
private dropped;
|
|
9
|
-
/**
|
|
10
|
-
* @param deviceName When set, add() stamps this device's current epoch.
|
|
11
|
-
* Omit for merged read buffers so copied entries keep their own epoch.
|
|
12
|
-
*/
|
|
13
8
|
constructor(maxSize?: number, deviceName?: string);
|
|
14
9
|
add(entry: Omit<LogEntry, "seq" | "epoch"> & {
|
|
15
10
|
seq?: number;
|
|
@@ -20,7 +15,6 @@ export declare class LogBuffer {
|
|
|
20
15
|
clear(): number;
|
|
21
16
|
removeByText(text: string): number;
|
|
22
17
|
get size(): number;
|
|
23
|
-
/** Entries evicted by the capacity cap since the last clear(). */
|
|
24
18
|
get droppedCount(): number;
|
|
25
19
|
getAll(): LogEntry[];
|
|
26
20
|
}
|
package/build/core/logs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/core/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/core/logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOhD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAGD,qBAAa,SAAS;IAClB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAK;gBAMR,OAAO,GAAE,MAAa,EAAE,UAAU,CAAC,EAAE,MAAM;IAKvD,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAapF,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE;IAkCvF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUrD,KAAK,IAAI,MAAM;IAOf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMlC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAGD,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,MAAM,IAAI,QAAQ,EAAE;CAGvB;AAGD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAc9D;AAGD,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,wBAAgB,UAAU,CACtB,IAAI,EAAE,QAAQ,EAAE,EAChB,OAAO,GAAE,iBAAsB,GAChC,MAAM,CAqBR;AAGD,wBAAgB,OAAO,CACnB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IACL,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CAChB,GACP;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQxD;AAGD,wBAAgB,UAAU,CACtB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CAChB,GACP;IAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQxD;AAGD,wBAAgB,aAAa,CACzB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACxB,GACP,MAAM,CAoCR"}
|
package/build/core/logs.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import { getEpoch } from "./state.js";
|
|
2
|
-
// Process-global so ids never collide across per-device buffers.
|
|
3
2
|
let nextSeq = 1;
|
|
4
|
-
/** Test-only: reset the sequence so assertions are not order-dependent. */
|
|
5
3
|
export function __resetLogSeq() {
|
|
6
4
|
nextSeq = 1;
|
|
7
5
|
}
|
|
8
|
-
// Circular buffer for storing logs
|
|
9
6
|
export class LogBuffer {
|
|
10
7
|
logs = [];
|
|
11
8
|
maxSize;
|
|
12
9
|
deviceName;
|
|
13
10
|
dropped = 0;
|
|
14
|
-
/**
|
|
15
|
-
* @param deviceName When set, add() stamps this device's current epoch.
|
|
16
|
-
* Omit for merged read buffers so copied entries keep their own epoch.
|
|
17
|
-
*/
|
|
18
11
|
constructor(maxSize = 1000, deviceName) {
|
|
19
12
|
this.maxSize = maxSize;
|
|
20
13
|
this.deviceName = deviceName;
|
|
@@ -36,7 +29,6 @@ export class LogBuffer {
|
|
|
36
29
|
if (epoch != null) {
|
|
37
30
|
filtered = filtered.filter((log) => log.epoch === epoch);
|
|
38
31
|
}
|
|
39
|
-
// If startFromText is provided, find the LAST matching line and start from there
|
|
40
32
|
if (startFromText) {
|
|
41
33
|
let startIndex = -1;
|
|
42
34
|
for (let i = filtered.length - 1; i >= 0; i--) {
|
|
@@ -52,8 +44,6 @@ export class LogBuffer {
|
|
|
52
44
|
if (level && level !== "all") {
|
|
53
45
|
filtered = filtered.filter((log) => log.level === level);
|
|
54
46
|
}
|
|
55
|
-
// Newest N. Was slice(0, count) — that returned the OLDEST entries and
|
|
56
|
-
// made a restarted app look like it had produced nothing new.
|
|
57
47
|
if (count && count > 0) {
|
|
58
48
|
filtered = filtered.slice(-count);
|
|
59
49
|
}
|
|
@@ -80,7 +70,6 @@ export class LogBuffer {
|
|
|
80
70
|
get size() {
|
|
81
71
|
return this.logs.length;
|
|
82
72
|
}
|
|
83
|
-
/** Entries evicted by the capacity cap since the last clear(). */
|
|
84
73
|
get droppedCount() {
|
|
85
74
|
return this.dropped;
|
|
86
75
|
}
|
|
@@ -88,7 +77,6 @@ export class LogBuffer {
|
|
|
88
77
|
return [...this.logs];
|
|
89
78
|
}
|
|
90
79
|
}
|
|
91
|
-
// Map console type to log level
|
|
92
80
|
export function mapConsoleType(type) {
|
|
93
81
|
switch (type) {
|
|
94
82
|
case "error":
|
|
@@ -104,7 +92,6 @@ export function mapConsoleType(type) {
|
|
|
104
92
|
return "log";
|
|
105
93
|
}
|
|
106
94
|
}
|
|
107
|
-
// Format logs for text output
|
|
108
95
|
export function formatLogs(logs, options = {}) {
|
|
109
96
|
if (logs.length === 0) {
|
|
110
97
|
return "No logs captured yet. Make sure Metro is running and the app is connected.";
|
|
@@ -115,7 +102,6 @@ export function formatLogs(logs, options = {}) {
|
|
|
115
102
|
const time = log.timestamp.toLocaleTimeString();
|
|
116
103
|
const levelTag = `[${log.level.toUpperCase()}]`;
|
|
117
104
|
let message = log.message;
|
|
118
|
-
// Apply truncation unless verbose or unlimited
|
|
119
105
|
if (!verbose && maxMessageLength > 0 && message.length > maxMessageLength) {
|
|
120
106
|
message = message.slice(0, maxMessageLength) + `... [truncated: ${log.message.length} chars]`;
|
|
121
107
|
}
|
|
@@ -123,7 +109,6 @@ export function formatLogs(logs, options = {}) {
|
|
|
123
109
|
})
|
|
124
110
|
.join("\n");
|
|
125
111
|
}
|
|
126
|
-
// Get logs with formatting
|
|
127
112
|
export function getLogs(logBuffer, options = {}) {
|
|
128
113
|
const { maxLogs = 50, level = "all", startFromText, maxMessageLength, verbose } = options;
|
|
129
114
|
const logs = logBuffer.get(maxLogs, level, startFromText);
|
|
@@ -133,7 +118,6 @@ export function getLogs(logBuffer, options = {}) {
|
|
|
133
118
|
formatted: formatLogs(logs, { maxMessageLength, verbose })
|
|
134
119
|
};
|
|
135
120
|
}
|
|
136
|
-
// Search logs with formatting
|
|
137
121
|
export function searchLogs(logBuffer, text, options = {}) {
|
|
138
122
|
const { maxResults = 50, maxMessageLength, verbose } = options;
|
|
139
123
|
const logs = logBuffer.search(text, maxResults);
|
|
@@ -143,14 +127,12 @@ export function searchLogs(logBuffer, text, options = {}) {
|
|
|
143
127
|
formatted: formatLogs(logs, { maxMessageLength, verbose })
|
|
144
128
|
};
|
|
145
129
|
}
|
|
146
|
-
// Get log summary (counts by level + last N messages)
|
|
147
130
|
export function getLogSummary(logBuffer, options = {}) {
|
|
148
131
|
const { lastN = 5, maxMessageLength = 100 } = options;
|
|
149
132
|
const allLogs = logBuffer.getAll();
|
|
150
133
|
if (allLogs.length === 0) {
|
|
151
134
|
return "No logs captured yet.";
|
|
152
135
|
}
|
|
153
|
-
// Count by level
|
|
154
136
|
const byLevel = {};
|
|
155
137
|
for (const log of allLogs) {
|
|
156
138
|
byLevel[log.level] = (byLevel[log.level] || 0) + 1;
|
|
@@ -162,7 +144,6 @@ export function getLogSummary(logBuffer, options = {}) {
|
|
|
162
144
|
for (const [level, count] of Object.entries(byLevel).sort((a, b) => b[1] - a[1])) {
|
|
163
145
|
lines.push(` ${level.toUpperCase()}: ${count}`);
|
|
164
146
|
}
|
|
165
|
-
// Last N messages
|
|
166
147
|
lines.push("");
|
|
167
148
|
lines.push(`Last ${lastN} messages:`);
|
|
168
149
|
const recentLogs = allLogs.slice(-lastN);
|
package/build/core/logs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/core/logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/core/logs.ts"],"names":[],"mappings":"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"}
|
package/build/core/metro.d.ts
CHANGED
|
@@ -7,27 +7,13 @@ export declare function scanMetroPorts(startPort?: number, endPort?: number): Pr
|
|
|
7
7
|
export declare function fetchDevices(port: number): Promise<DeviceInfo[]>;
|
|
8
8
|
export declare function selectMainDevice(devices: DeviceInfo[]): DeviceInfo | null;
|
|
9
9
|
export declare function filterBridgelessDevices(devices: DeviceInfo[]): DeviceInfo[];
|
|
10
|
-
/**
|
|
11
|
-
* Select the best debuggable target per physical device.
|
|
12
|
-
* Uses the same priority as selectMainDevice but groups by deviceName
|
|
13
|
-
* so multi-device setups get one target each.
|
|
14
|
-
* Excludes Reanimated/Experimental targets.
|
|
15
|
-
*/
|
|
16
10
|
export declare function filterDebuggableDevices(devices: DeviceInfo[]): DeviceInfo[];
|
|
17
11
|
export declare function discoverMetroDevices(startPort?: number, endPort?: number): Promise<Map<number, DeviceInfo[]>>;
|
|
18
|
-
/**
|
|
19
|
-
* Metro state for fallback detection
|
|
20
|
-
*/
|
|
21
12
|
export interface MetroState {
|
|
22
13
|
metroRunning: boolean;
|
|
23
14
|
metroPorts: number[];
|
|
24
15
|
hasConnectedApps: boolean;
|
|
25
|
-
/** True when Metro is running but no apps are connected (likely bundle error) */
|
|
26
16
|
needsFallback: boolean;
|
|
27
17
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Check if Metro is running but no devices/apps are connected
|
|
30
|
-
* This state indicates a possible bundle error preventing the app from loading
|
|
31
|
-
*/
|
|
32
18
|
export declare function checkMetroState(connectedAppsCount: number, startPort?: number, endPort?: number): Promise<MetroState>;
|
|
33
19
|
//# sourceMappingURL=metro.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../../src/core/metro.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASxC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,YAAY,UAGxB,CAAC;AAGF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB3F;AAGD,wBAAsB,cAAc,CAChC,SAAS,GAAE,MAA2B,EACtC,OAAO,GAAE,MAAyB,GACnC,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB;AAGD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAWtE;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,IAAI,CAmBzE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAE3E;
|
|
1
|
+
{"version":3,"file":"metro.d.ts","sourceRoot":"","sources":["../../src/core/metro.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AASxC,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,YAAY,UAGxB,CAAC;AAGF,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB3F;AAGD,wBAAsB,cAAc,CAChC,SAAS,GAAE,MAA2B,EACtC,OAAO,GAAE,MAAyB,GACnC,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB;AAGD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAWtE;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,GAAG,IAAI,CAmBzE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAE3E;AAQD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAmB3E;AAGD,wBAAsB,oBAAoB,CACtC,SAAS,GAAE,MAA2B,EACtC,OAAO,GAAE,MAAyB,GACnC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAYpC;AAKD,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAE1B,aAAa,EAAE,OAAO,CAAC;CAC1B;AAMD,wBAAsB,eAAe,CACjC,kBAAkB,EAAE,MAAM,EAC1B,SAAS,GAAE,MAA2B,EACtC,OAAO,GAAE,MAAyB,GACnC,OAAO,CAAC,UAAU,CAAC,CAcrB"}
|