@vforsh/argus-watcher 0.3.1 → 0.4.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/dist/.tsbuildinfo +1 -1
- package/dist/artifacts.d.ts +9 -5
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +22 -6
- package/dist/artifacts.js.map +1 -1
- package/dist/buffer/LogBuffer.d.ts +14 -10
- package/dist/buffer/LogBuffer.d.ts.map +1 -1
- package/dist/buffer/LogBuffer.js +15 -40
- package/dist/buffer/LogBuffer.js.map +1 -1
- package/dist/buffer/NetBuffer.d.ts +0 -6
- package/dist/buffer/NetBuffer.d.ts.map +1 -1
- package/dist/buffer/NetBuffer.js +0 -12
- package/dist/buffer/NetBuffer.js.map +1 -1
- package/dist/cdp/accessibility.d.ts.map +1 -1
- package/dist/cdp/accessibility.js +4 -4
- package/dist/cdp/accessibility.js.map +1 -1
- package/dist/cdp/authCookieShapes.d.ts +26 -0
- package/dist/cdp/authCookieShapes.d.ts.map +1 -0
- package/dist/cdp/authCookieShapes.js +41 -0
- package/dist/cdp/authCookieShapes.js.map +1 -0
- package/dist/cdp/{auth.d.ts → authCookies.d.ts} +11 -15
- package/dist/cdp/authCookies.d.ts.map +1 -0
- package/dist/cdp/authCookies.js +186 -0
- package/dist/cdp/authCookies.js.map +1 -0
- package/dist/cdp/authPageState.d.ts +28 -0
- package/dist/cdp/authPageState.d.ts.map +1 -0
- package/dist/cdp/authPageState.js +62 -0
- package/dist/cdp/authPageState.js.map +1 -0
- package/dist/cdp/authSnapshot.d.ts +16 -0
- package/dist/cdp/authSnapshot.d.ts.map +1 -0
- package/dist/cdp/authSnapshot.js +47 -0
- package/dist/cdp/authSnapshot.js.map +1 -0
- package/dist/cdp/browserCookies.d.ts.map +1 -1
- package/dist/cdp/browserCookies.js +18 -111
- package/dist/cdp/browserCookies.js.map +1 -1
- package/dist/cdp/cdpValues.d.ts +12 -0
- package/dist/cdp/cdpValues.d.ts.map +1 -0
- package/dist/cdp/cdpValues.js +18 -0
- package/dist/cdp/cdpValues.js.map +1 -0
- package/dist/cdp/connection.d.ts +41 -7
- package/dist/cdp/connection.d.ts.map +1 -1
- package/dist/cdp/connection.js +57 -5
- package/dist/cdp/connection.js.map +1 -1
- package/dist/cdp/dom/info.d.ts.map +1 -1
- package/dist/cdp/dom/info.js +3 -3
- package/dist/cdp/dom/info.js.map +1 -1
- package/dist/cdp/dom/mutate.d.ts +109 -0
- package/dist/cdp/dom/mutate.d.ts.map +1 -0
- package/dist/cdp/dom/mutate.js +174 -0
- package/dist/cdp/dom/mutate.js.map +1 -0
- package/dist/cdp/dom/selector.d.ts +1 -1
- package/dist/cdp/dom/selector.d.ts.map +1 -1
- package/dist/cdp/dom/selector.js +10 -10
- package/dist/cdp/dom/selector.js.map +1 -1
- package/dist/cdp/dom/tree.js +2 -2
- package/dist/cdp/dom/tree.js.map +1 -1
- package/dist/cdp/dom.d.ts +2 -10
- package/dist/cdp/dom.d.ts.map +1 -1
- package/dist/cdp/dom.js +1 -5
- package/dist/cdp/dom.js.map +1 -1
- package/dist/cdp/editor.d.ts +36 -0
- package/dist/cdp/editor.d.ts.map +1 -1
- package/dist/cdp/editor.js +32 -5
- package/dist/cdp/editor.js.map +1 -1
- package/dist/cdp/eval.js +10 -13
- package/dist/cdp/eval.js.map +1 -1
- package/dist/cdp/ffmpeg.d.ts +37 -0
- package/dist/cdp/ffmpeg.d.ts.map +1 -0
- package/dist/cdp/ffmpeg.js +98 -0
- package/dist/cdp/ffmpeg.js.map +1 -0
- package/dist/cdp/ignoreList.d.ts.map +1 -1
- package/dist/cdp/ignoreList.js +2 -1
- package/dist/cdp/ignoreList.js.map +1 -1
- package/dist/cdp/keyboard.d.ts.map +1 -1
- package/dist/cdp/keyboard.js +2 -3
- package/dist/cdp/keyboard.js.map +1 -1
- package/dist/cdp/locate.js +2 -2
- package/dist/cdp/locate.js.map +1 -1
- package/dist/cdp/mouse.d.ts.map +1 -1
- package/dist/cdp/mouse.js +15 -50
- package/dist/cdp/mouse.js.map +1 -1
- package/dist/cdp/networkBody.d.ts.map +1 -1
- package/dist/cdp/networkBody.js +8 -11
- package/dist/cdp/networkBody.js.map +1 -1
- package/dist/cdp/networkCapture.d.ts.map +1 -1
- package/dist/cdp/networkCapture.js +9 -18
- package/dist/cdp/networkCapture.js.map +1 -1
- package/dist/cdp/networkRealtimeCapture.d.ts.map +1 -1
- package/dist/cdp/networkRealtimeCapture.js +8 -17
- package/dist/cdp/networkRealtimeCapture.js.map +1 -1
- package/dist/cdp/pageIndicator.d.ts.map +1 -1
- package/dist/cdp/pageIndicator.js +4 -27
- package/dist/cdp/pageIndicator.js.map +1 -1
- package/dist/cdp/pageState.d.ts +66 -0
- package/dist/cdp/pageState.d.ts.map +1 -0
- package/dist/cdp/pageState.js +75 -0
- package/dist/cdp/pageState.js.map +1 -0
- package/dist/cdp/protocol.d.ts +630 -0
- package/dist/cdp/protocol.d.ts.map +1 -0
- package/dist/cdp/protocol.js +15 -0
- package/dist/cdp/protocol.js.map +1 -0
- package/dist/cdp/recording.d.ts.map +1 -1
- package/dist/cdp/recording.js +13 -127
- package/dist/cdp/recording.js.map +1 -1
- package/dist/cdp/redaction.d.ts +4 -1
- package/dist/cdp/redaction.d.ts.map +1 -1
- package/dist/cdp/redaction.js +4 -10
- package/dist/cdp/redaction.js.map +1 -1
- package/dist/cdp/remoteObject.d.ts +9 -3
- package/dist/cdp/remoteObject.d.ts.map +1 -1
- package/dist/cdp/remoteObject.js.map +1 -1
- package/dist/cdp/scenarioBridge.d.ts.map +1 -1
- package/dist/cdp/scenarioBridge.js +2 -2
- package/dist/cdp/scenarioBridge.js.map +1 -1
- package/dist/cdp/screenshot.js +2 -2
- package/dist/cdp/screenshot.js.map +1 -1
- package/dist/cdp/selectBestFrame.d.ts +8 -1
- package/dist/cdp/selectBestFrame.d.ts.map +1 -1
- package/dist/cdp/selectBestFrame.js +8 -3
- package/dist/cdp/selectBestFrame.js.map +1 -1
- package/dist/cdp/storage.d.ts.map +1 -1
- package/dist/cdp/storage.js +2 -11
- package/dist/cdp/storage.js.map +1 -1
- package/dist/cdp/text-filter.d.ts.map +1 -1
- package/dist/cdp/text-filter.js +2 -11
- package/dist/cdp/text-filter.js.map +1 -1
- package/dist/cdp/tracing.d.ts.map +1 -1
- package/dist/cdp/tracing.js +16 -39
- package/dist/cdp/tracing.js.map +1 -1
- package/dist/cdp/visualCapture.d.ts.map +1 -1
- package/dist/cdp/visualCapture.js +7 -9
- package/dist/cdp/visualCapture.js.map +1 -1
- package/dist/cdp/watcher.d.ts +2 -0
- package/dist/cdp/watcher.d.ts.map +1 -1
- package/dist/cdp/watcher.js +2 -10
- package/dist/cdp/watcher.js.map +1 -1
- package/dist/cdp/watcherEvents.d.ts +27 -3
- package/dist/cdp/watcherEvents.d.ts.map +1 -1
- package/dist/cdp/watcherEvents.js +46 -29
- package/dist/cdp/watcherEvents.js.map +1 -1
- package/dist/deferred.d.ts +14 -0
- package/dist/deferred.d.ts.map +1 -0
- package/dist/deferred.js +16 -0
- package/dist/deferred.js.map +1 -0
- package/dist/emulation/EmulationController.d.ts +7 -0
- package/dist/emulation/EmulationController.d.ts.map +1 -1
- package/dist/emulation/EmulationController.js +31 -75
- package/dist/emulation/EmulationController.js.map +1 -1
- package/dist/errors.d.ts +29 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +31 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +3 -52
- package/dist/events.d.ts.map +1 -1
- package/dist/http/endpoints.d.ts +54 -0
- package/dist/http/endpoints.d.ts.map +1 -0
- package/dist/http/endpoints.js +75 -0
- package/dist/http/endpoints.js.map +1 -0
- package/dist/http/httpUtils.d.ts +47 -3
- package/dist/http/httpUtils.d.ts.map +1 -1
- package/dist/http/httpUtils.js +75 -29
- package/dist/http/httpUtils.js.map +1 -1
- package/dist/http/router.js +2 -2
- package/dist/http/router.js.map +1 -1
- package/dist/http/routes/authCookies.d.ts.map +1 -1
- package/dist/http/routes/authCookies.js +7 -93
- package/dist/http/routes/authCookies.js.map +1 -1
- package/dist/http/routes/defineDomTargetRoute.d.ts +3 -5
- package/dist/http/routes/defineDomTargetRoute.d.ts.map +1 -1
- package/dist/http/routes/defineDomTargetRoute.js +2 -3
- package/dist/http/routes/defineDomTargetRoute.js.map +1 -1
- package/dist/http/routes/defineExtensionRoute.d.ts +30 -0
- package/dist/http/routes/defineExtensionRoute.d.ts.map +1 -0
- package/dist/http/routes/defineExtensionRoute.js +33 -0
- package/dist/http/routes/defineExtensionRoute.js.map +1 -0
- package/dist/http/routes/defineRoute.d.ts +8 -8
- package/dist/http/routes/defineRoute.d.ts.map +1 -1
- package/dist/http/routes/defineRoute.js +11 -13
- package/dist/http/routes/defineRoute.js.map +1 -1
- package/dist/http/routes/domSelectorRoute.d.ts.map +1 -1
- package/dist/http/routes/domSelectorRoute.js +4 -7
- package/dist/http/routes/domSelectorRoute.js.map +1 -1
- package/dist/http/routes/extensionTarget.d.ts +11 -0
- package/dist/http/routes/extensionTarget.d.ts.map +1 -0
- package/dist/http/routes/extensionTarget.js +8 -0
- package/dist/http/routes/extensionTarget.js.map +1 -0
- package/dist/http/routes/getAuthCookies.js +1 -1
- package/dist/http/routes/getAuthCookies.js.map +1 -1
- package/dist/http/routes/getAuthState.js +1 -1
- package/dist/http/routes/getAuthState.js.map +1 -1
- package/dist/http/routes/getExtensionDiagnostics.d.ts.map +1 -1
- package/dist/http/routes/getExtensionDiagnostics.js +5 -9
- package/dist/http/routes/getExtensionDiagnostics.js.map +1 -1
- package/dist/http/routes/getExtensionTabs.d.ts.map +1 -1
- package/dist/http/routes/getExtensionTabs.js +10 -16
- package/dist/http/routes/getExtensionTabs.js.map +1 -1
- package/dist/http/routes/getLogCursor.js +1 -1
- package/dist/http/routes/getLogCursor.js.map +1 -1
- package/dist/http/routes/getLogs.d.ts.map +1 -1
- package/dist/http/routes/getLogs.js +8 -8
- package/dist/http/routes/getLogs.js.map +1 -1
- package/dist/http/routes/getNet.js +2 -2
- package/dist/http/routes/getNet.js.map +1 -1
- package/dist/http/routes/getNetRequest.js +3 -3
- package/dist/http/routes/getNetRequest.js.map +1 -1
- package/dist/http/routes/getNetRequestBody.d.ts.map +1 -1
- package/dist/http/routes/getNetRequestBody.js +8 -7
- package/dist/http/routes/getNetRequestBody.js.map +1 -1
- package/dist/http/routes/getNetRequests.js +2 -2
- package/dist/http/routes/getNetRequests.js.map +1 -1
- package/dist/http/routes/getNetSse.js +2 -2
- package/dist/http/routes/getNetSse.js.map +1 -1
- package/dist/http/routes/getNetTail.d.ts.map +1 -1
- package/dist/http/routes/getNetTail.js +3 -3
- package/dist/http/routes/getNetTail.js.map +1 -1
- package/dist/http/routes/getNetWebSocketConnection.d.ts.map +1 -1
- package/dist/http/routes/getNetWebSocketConnection.js +8 -8
- package/dist/http/routes/getNetWebSocketConnection.js.map +1 -1
- package/dist/http/routes/getNetWebSockets.js +2 -2
- package/dist/http/routes/getNetWebSockets.js.map +1 -1
- package/dist/http/routes/getStatus.d.ts.map +1 -1
- package/dist/http/routes/getStatus.js +3 -0
- package/dist/http/routes/getStatus.js.map +1 -1
- package/dist/http/routes/getTail.js +7 -7
- package/dist/http/routes/getTail.js.map +1 -1
- package/dist/http/routes/getTargets.d.ts.map +1 -1
- package/dist/http/routes/getTargets.js +5 -10
- package/dist/http/routes/getTargets.js.map +1 -1
- package/dist/http/routes/logEpochQuery.d.ts +8 -1
- package/dist/http/routes/logEpochQuery.d.ts.map +1 -1
- package/dist/http/routes/logEpochQuery.js +18 -28
- package/dist/http/routes/logEpochQuery.js.map +1 -1
- package/dist/http/routes/netFilters.d.ts +10 -0
- package/dist/http/routes/netFilters.d.ts.map +1 -1
- package/dist/http/routes/netFilters.js +41 -28
- package/dist/http/routes/netFilters.js.map +1 -1
- package/dist/http/routes/netMock.d.ts.map +1 -1
- package/dist/http/routes/netMock.js +3 -116
- package/dist/http/routes/netMock.js.map +1 -1
- package/dist/http/routes/netRequestLookup.js +3 -13
- package/dist/http/routes/netRequestLookup.js.map +1 -1
- package/dist/http/routes/postAttach.d.ts.map +1 -1
- package/dist/http/routes/postAttach.js +8 -18
- package/dist/http/routes/postAttach.js.map +1 -1
- package/dist/http/routes/postAuthStateLoad.d.ts.map +1 -1
- package/dist/http/routes/postAuthStateLoad.js +2 -17
- package/dist/http/routes/postAuthStateLoad.js.map +1 -1
- package/dist/http/routes/postCodeEdit.d.ts.map +1 -1
- package/dist/http/routes/postCodeEdit.js +2 -10
- package/dist/http/routes/postCodeEdit.js.map +1 -1
- package/dist/http/routes/postCodeGrep.d.ts.map +1 -1
- package/dist/http/routes/postCodeGrep.js +2 -10
- package/dist/http/routes/postCodeGrep.js.map +1 -1
- package/dist/http/routes/postCodeList.d.ts.map +1 -1
- package/dist/http/routes/postCodeList.js +2 -7
- package/dist/http/routes/postCodeList.js.map +1 -1
- package/dist/http/routes/postCodeRead.d.ts.map +1 -1
- package/dist/http/routes/postCodeRead.js +2 -13
- package/dist/http/routes/postCodeRead.js.map +1 -1
- package/dist/http/routes/postDetach.d.ts.map +1 -1
- package/dist/http/routes/postDetach.js +8 -18
- package/dist/http/routes/postDetach.js.map +1 -1
- package/dist/http/routes/postDialog.d.ts.map +1 -1
- package/dist/http/routes/postDialog.js +5 -13
- package/dist/http/routes/postDialog.js.map +1 -1
- package/dist/http/routes/postDomAdd.d.ts.map +1 -1
- package/dist/http/routes/postDomAdd.js +3 -31
- package/dist/http/routes/postDomAdd.js.map +1 -1
- package/dist/http/routes/postDomFill.d.ts.map +1 -1
- package/dist/http/routes/postDomFill.js +2 -10
- package/dist/http/routes/postDomFill.js.map +1 -1
- package/dist/http/routes/postDomFocus.d.ts.map +1 -1
- package/dist/http/routes/postDomFocus.js +2 -0
- package/dist/http/routes/postDomFocus.js.map +1 -1
- package/dist/http/routes/postDomHover.d.ts.map +1 -1
- package/dist/http/routes/postDomHover.js +2 -0
- package/dist/http/routes/postDomHover.js.map +1 -1
- package/dist/http/routes/postDomInfo.d.ts.map +1 -1
- package/dist/http/routes/postDomInfo.js +3 -3
- package/dist/http/routes/postDomInfo.js.map +1 -1
- package/dist/http/routes/postDomKeydown.d.ts.map +1 -1
- package/dist/http/routes/postDomKeydown.js +2 -27
- package/dist/http/routes/postDomKeydown.js.map +1 -1
- package/dist/http/routes/postDomModify.d.ts.map +1 -1
- package/dist/http/routes/postDomModify.js +4 -19
- package/dist/http/routes/postDomModify.js.map +1 -1
- package/dist/http/routes/postDomRemove.d.ts.map +1 -1
- package/dist/http/routes/postDomRemove.js +5 -5
- package/dist/http/routes/postDomRemove.js.map +1 -1
- package/dist/http/routes/postDomScroll.d.ts.map +1 -1
- package/dist/http/routes/postDomScroll.js +5 -27
- package/dist/http/routes/postDomScroll.js.map +1 -1
- package/dist/http/routes/postDomScrollTo.d.ts.map +1 -1
- package/dist/http/routes/postDomScrollTo.js +2 -30
- package/dist/http/routes/postDomScrollTo.js.map +1 -1
- package/dist/http/routes/postDomSetFile.d.ts.map +1 -1
- package/dist/http/routes/postDomSetFile.js +2 -17
- package/dist/http/routes/postDomSetFile.js.map +1 -1
- package/dist/http/routes/postDomTree.d.ts.map +1 -1
- package/dist/http/routes/postDomTree.js +3 -3
- package/dist/http/routes/postDomTree.js.map +1 -1
- package/dist/http/routes/postEmulation.d.ts.map +1 -1
- package/dist/http/routes/postEmulation.js +3 -47
- package/dist/http/routes/postEmulation.js.map +1 -1
- package/dist/http/routes/postEval.d.ts.map +1 -1
- package/dist/http/routes/postEval.js +2 -7
- package/dist/http/routes/postEval.js.map +1 -1
- package/dist/http/routes/postLocate.d.ts.map +1 -1
- package/dist/http/routes/postLocate.js +5 -17
- package/dist/http/routes/postLocate.js.map +1 -1
- package/dist/http/routes/postRecord.d.ts.map +1 -1
- package/dist/http/routes/postRecord.js +4 -66
- package/dist/http/routes/postRecord.js.map +1 -1
- package/dist/http/routes/postReload.d.ts.map +1 -1
- package/dist/http/routes/postReload.js +2 -1
- package/dist/http/routes/postReload.js.map +1 -1
- package/dist/http/routes/postScreenshot.d.ts.map +1 -1
- package/dist/http/routes/postScreenshot.js +2 -32
- package/dist/http/routes/postScreenshot.js.map +1 -1
- package/dist/http/routes/postSnapshot.d.ts.map +1 -1
- package/dist/http/routes/postSnapshot.js +2 -10
- package/dist/http/routes/postSnapshot.js.map +1 -1
- package/dist/http/routes/postThrottle.d.ts.map +1 -1
- package/dist/http/routes/postThrottle.js +2 -15
- package/dist/http/routes/postThrottle.js.map +1 -1
- package/dist/http/routes/postTraceStart.d.ts.map +1 -1
- package/dist/http/routes/postTraceStart.js +2 -1
- package/dist/http/routes/postTraceStart.js.map +1 -1
- package/dist/http/routes/postTraceStop.d.ts.map +1 -1
- package/dist/http/routes/postTraceStop.js +2 -1
- package/dist/http/routes/postTraceStop.js.map +1 -1
- package/dist/http/routes/postVisibility.d.ts.map +1 -1
- package/dist/http/routes/postVisibility.js +2 -7
- package/dist/http/routes/postVisibility.js.map +1 -1
- package/dist/http/routes/storage.d.ts.map +1 -1
- package/dist/http/routes/storage.js +2 -16
- package/dist/http/routes/storage.js.map +1 -1
- package/dist/http/server.d.ts +9 -36
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +18 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +16 -0
- package/dist/internal.js.map +1 -0
- package/dist/native-messaging/control-session-manager.d.ts +3 -12
- package/dist/native-messaging/control-session-manager.d.ts.map +1 -1
- package/dist/native-messaging/control-session-manager.js +13 -32
- package/dist/native-messaging/control-session-manager.js.map +1 -1
- package/dist/native-messaging/pendingRequests.d.ts +31 -0
- package/dist/native-messaging/pendingRequests.d.ts.map +1 -0
- package/dist/native-messaging/pendingRequests.js +47 -0
- package/dist/native-messaging/pendingRequests.js.map +1 -0
- package/dist/native-messaging/session-manager.d.ts +35 -31
- package/dist/native-messaging/session-manager.d.ts.map +1 -1
- package/dist/native-messaging/session-manager.js +54 -86
- package/dist/native-messaging/session-manager.js.map +1 -1
- package/dist/native-messaging/types.d.ts +6 -211
- package/dist/native-messaging/types.d.ts.map +1 -1
- package/dist/native-messaging/types.js +5 -3
- package/dist/native-messaging/types.js.map +1 -1
- package/dist/net/NetMockController.d.ts.map +1 -1
- package/dist/net/NetMockController.js +7 -5
- package/dist/net/NetMockController.js.map +1 -1
- package/dist/net/NetMockInterception.d.ts +2 -1
- package/dist/net/NetMockInterception.d.ts.map +1 -1
- package/dist/net/NetMockInterception.js +4 -3
- package/dist/net/NetMockInterception.js.map +1 -1
- package/dist/net/filtering.d.ts +2 -2
- package/dist/net/filtering.d.ts.map +1 -1
- package/dist/net/filtering.js.map +1 -1
- package/dist/runtime/shutdownLatch.d.ts +16 -0
- package/dist/runtime/shutdownLatch.d.ts.map +1 -0
- package/dist/runtime/shutdownLatch.js +17 -0
- package/dist/runtime/shutdownLatch.js.map +1 -0
- package/dist/runtime/watcherIndicator.d.ts +45 -0
- package/dist/runtime/watcherIndicator.d.ts.map +1 -0
- package/dist/runtime/watcherIndicator.js +62 -0
- package/dist/runtime/watcherIndicator.js.map +1 -0
- package/dist/runtime/watcherInject.d.ts +25 -1
- package/dist/runtime/watcherInject.d.ts.map +1 -1
- package/dist/runtime/watcherInject.js +48 -6
- package/dist/runtime/watcherInject.js.map +1 -1
- package/dist/runtime/watcherServices.d.ts.map +1 -1
- package/dist/runtime/watcherServices.js +44 -57
- package/dist/runtime/watcherServices.js.map +1 -1
- package/dist/runtime/watcherSetup.d.ts +3 -0
- package/dist/runtime/watcherSetup.d.ts.map +1 -1
- package/dist/runtime/watcherSetup.js +2 -0
- package/dist/runtime/watcherSetup.js.map +1 -1
- package/dist/sourcemaps/resolveLocation.d.ts +14 -5
- package/dist/sourcemaps/resolveLocation.d.ts.map +1 -1
- package/dist/sourcemaps/resolveLocation.js +10 -68
- package/dist/sourcemaps/resolveLocation.js.map +1 -1
- package/dist/sourcemaps/sourceMappingUrl.d.ts +27 -0
- package/dist/sourcemaps/sourceMappingUrl.d.ts.map +1 -0
- package/dist/sourcemaps/sourceMappingUrl.js +57 -0
- package/dist/sourcemaps/sourceMappingUrl.js.map +1 -0
- package/dist/sourcemaps/sourcemapResolver.d.ts +30 -0
- package/dist/sourcemaps/sourcemapResolver.d.ts.map +1 -0
- package/dist/sourcemaps/sourcemapResolver.js +152 -0
- package/dist/sourcemaps/sourcemapResolver.js.map +1 -0
- package/dist/sources/cdp-source.d.ts.map +1 -1
- package/dist/sources/cdp-source.js +3 -2
- package/dist/sources/cdp-source.js.map +1 -1
- package/dist/sources/extension-control-source.d.ts.map +1 -1
- package/dist/sources/extension-control-source.js +9 -3
- package/dist/sources/extension-control-source.js.map +1 -1
- package/dist/sources/extension-delegating-session.d.ts +18 -8
- package/dist/sources/extension-delegating-session.d.ts.map +1 -1
- package/dist/sources/extension-delegating-session.js +4 -1
- package/dist/sources/extension-delegating-session.js.map +1 -1
- package/dist/sources/extension-frame-runtime.d.ts +0 -1
- package/dist/sources/extension-frame-runtime.d.ts.map +1 -1
- package/dist/sources/extension-frame-runtime.js +3 -8
- package/dist/sources/extension-frame-runtime.js.map +1 -1
- package/dist/sources/extension-frame-snapshot.d.ts +31 -0
- package/dist/sources/extension-frame-snapshot.d.ts.map +1 -0
- package/dist/sources/extension-frame-snapshot.js +73 -0
- package/dist/sources/extension-frame-snapshot.js.map +1 -0
- package/dist/sources/extension-frame-state.d.ts +1 -12
- package/dist/sources/extension-frame-state.d.ts.map +1 -1
- package/dist/sources/extension-frame-state.js +1 -24
- package/dist/sources/extension-frame-state.js.map +1 -1
- package/dist/sources/extension-session-events.d.ts +5 -2
- package/dist/sources/extension-session-events.d.ts.map +1 -1
- package/dist/sources/extension-session-events.js +7 -4
- package/dist/sources/extension-session-events.js.map +1 -1
- package/dist/sources/extension-source.d.ts.map +1 -1
- package/dist/sources/extension-source.js +40 -10
- package/dist/sources/extension-source.js.map +1 -1
- package/dist/sources/extension-target-recovery.d.ts.map +1 -1
- package/dist/sources/extension-target-recovery.js +3 -6
- package/dist/sources/extension-target-recovery.js.map +1 -1
- package/dist/sources/types.d.ts +3 -0
- package/dist/sources/types.d.ts.map +1 -1
- package/dist/sources/types.js +0 -5
- package/dist/sources/types.js.map +1 -1
- package/dist/startWatcherRuntime.d.ts.map +1 -1
- package/dist/startWatcherRuntime.js +31 -134
- package/dist/startWatcherRuntime.js.map +1 -1
- package/dist/stickyController.d.ts +51 -0
- package/dist/stickyController.d.ts.map +1 -0
- package/dist/stickyController.js +64 -0
- package/dist/stickyController.js.map +1 -0
- package/dist/throttle/ThrottleController.d.ts +1 -0
- package/dist/throttle/ThrottleController.d.ts.map +1 -1
- package/dist/throttle/ThrottleController.js +20 -61
- package/dist/throttle/ThrottleController.js.map +1 -1
- package/dist/visibility/VisibilityController.d.ts +9 -12
- package/dist/visibility/VisibilityController.d.ts.map +1 -1
- package/dist/visibility/VisibilityController.js +28 -36
- package/dist/visibility/VisibilityController.js.map +1 -1
- package/package.json +6 -2
- package/dist/cdp/auth.d.ts.map +0 -1
- package/dist/cdp/auth.js +0 -349
- package/dist/cdp/auth.js.map +0 -1
- package/dist/cdp/dom/fill.d.ts +0 -23
- package/dist/cdp/dom/fill.d.ts.map +0 -1
- package/dist/cdp/dom/fill.js +0 -59
- package/dist/cdp/dom/fill.js.map +0 -1
- package/dist/cdp/dom/insert.d.ts +0 -19
- package/dist/cdp/dom/insert.d.ts.map +0 -1
- package/dist/cdp/dom/insert.js +0 -30
- package/dist/cdp/dom/insert.js.map +0 -1
- package/dist/cdp/dom/modify.d.ts +0 -50
- package/dist/cdp/dom/modify.d.ts.map +0 -1
- package/dist/cdp/dom/modify.js +0 -100
- package/dist/cdp/dom/modify.js.map +0 -1
- package/dist/cdp/dom/remove.d.ts +0 -17
- package/dist/cdp/dom/remove.d.ts.map +0 -1
- package/dist/cdp/dom/remove.js +0 -27
- package/dist/cdp/dom/remove.js.map +0 -1
- package/dist/cdp/dom/setFile.d.ts +0 -21
- package/dist/cdp/dom/setFile.d.ts.map +0 -1
- package/dist/cdp/dom/setFile.js +0 -25
- package/dist/cdp/dom/setFile.js.map +0 -1
- package/dist/cdp/dom/types.d.ts +0 -16
- package/dist/cdp/dom/types.d.ts.map +0 -1
- package/dist/cdp/dom/types.js +0 -2
- package/dist/cdp/dom/types.js.map +0 -1
- package/dist/sources/extension-log-events.d.ts +0 -15
- package/dist/sources/extension-log-events.d.ts.map +0 -1
- package/dist/sources/extension-log-events.js +0 -101
- package/dist/sources/extension-log-events.js.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { startHttpServer } from './http/server.js';
|
|
2
2
|
import { announceWatcher, removeWatcher, startRegistryHeartbeat } from './registry/registry.js';
|
|
3
|
-
import { createPageIndicatorController, validatePageIndicatorOptions } from './cdp/pageIndicator.js';
|
|
4
3
|
import { ElementRefRegistry } from './cdp/elementRefs.js';
|
|
5
4
|
import { DialogTracker } from './dialogs/DialogTracker.js';
|
|
6
|
-
import {
|
|
5
|
+
import { createInjectOnAttach } from './runtime/watcherInject.js';
|
|
6
|
+
import { createIndicatorBinding } from './runtime/watcherIndicator.js';
|
|
7
|
+
import { createShutdownLatch } from './runtime/shutdownLatch.js';
|
|
7
8
|
import { normalizeWatcherSetup } from './runtime/watcherSetup.js';
|
|
8
9
|
import { createWatcherRuntimeServices } from './runtime/watcherServices.js';
|
|
9
10
|
/**
|
|
@@ -11,12 +12,10 @@ import { createWatcherRuntimeServices } from './runtime/watcherServices.js';
|
|
|
11
12
|
*/
|
|
12
13
|
export const createWatcherHandle = async (options, watcherId) => {
|
|
13
14
|
const setup = normalizeWatcherSetup(options, watcherId);
|
|
14
|
-
const { sourceMode, host, port, pageConsoleLogging, events, buffer, netBuffer, realtimeNetBuffer, record, fileLogger, emulationController, throttleController, visibilityController, netMockController, } = setup;
|
|
15
|
-
|
|
16
|
-
let readyForShutdown = false;
|
|
17
|
-
let shutdownRequested = false;
|
|
18
|
-
let closeOnce = null;
|
|
15
|
+
const { sourceMode, host, port, pageConsoleLogging, sourcemaps, events, buffer, netBuffer, realtimeNetBuffer, record, fileLogger, emulationController, throttleController, visibilityController, netMockController, } = setup;
|
|
16
|
+
const shutdown = createShutdownLatch();
|
|
19
17
|
let cdpStatus = { attached: false, target: null };
|
|
18
|
+
let pageNavigations = 0;
|
|
20
19
|
const dialogTracker = new DialogTracker();
|
|
21
20
|
const elementRefs = new ElementRefRegistry();
|
|
22
21
|
const logToPageConsole = (message) => {
|
|
@@ -36,13 +35,6 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
36
35
|
.catch(() => { });
|
|
37
36
|
});
|
|
38
37
|
};
|
|
39
|
-
validatePageIndicatorOptions(options.pageIndicator);
|
|
40
|
-
const indicatorEnabled = options.pageIndicator?.enabled === true;
|
|
41
|
-
let indicatorController = null;
|
|
42
|
-
let indicatorAttachedAt = null;
|
|
43
|
-
if (indicatorEnabled) {
|
|
44
|
-
indicatorController = createPageIndicatorController(options.pageIndicator);
|
|
45
|
-
}
|
|
46
38
|
const updateCdpStatus = (status) => {
|
|
47
39
|
const prevAttached = cdpStatus.attached;
|
|
48
40
|
cdpStatus = status;
|
|
@@ -65,104 +57,22 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
65
57
|
});
|
|
66
58
|
}
|
|
67
59
|
};
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
watcherPid: process.pid,
|
|
73
|
-
targetTitle: target?.title ?? null,
|
|
74
|
-
targetUrl: target?.url ?? null,
|
|
75
|
-
attachedAt: indicatorAttachedAt ?? Date.now(),
|
|
76
|
-
});
|
|
77
|
-
const onIndicatorNavigation = (session, info) => {
|
|
78
|
-
if (!indicatorController) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Reinstall the indicator after the top page navigates, but keep showing the currently selected
|
|
83
|
-
* watcher target when extension mode is attached to an iframe. Otherwise a parent-page
|
|
84
|
-
* navigation can overwrite the modal with stale top-level metadata.
|
|
85
|
-
*/
|
|
86
|
-
const indicatorTarget = cdpStatus.attached
|
|
87
|
-
? {
|
|
88
|
-
title: cdpStatus.target?.title ?? null,
|
|
89
|
-
url: cdpStatus.target?.url ?? info.url,
|
|
90
|
-
}
|
|
91
|
-
: {
|
|
92
|
-
title: null,
|
|
93
|
-
url: info.url,
|
|
94
|
-
};
|
|
95
|
-
indicatorController.onNavigation(session, buildIndicatorInfo(indicatorTarget));
|
|
96
|
-
};
|
|
97
|
-
const onIndicatorLoad = () => {
|
|
98
|
-
indicatorController?.reinstall();
|
|
99
|
-
};
|
|
100
|
-
const getIndicatorSession = () => sourceHandle.pageSession ?? sourceHandle.session;
|
|
101
|
-
const onIndicatorAttach = (session, target) => {
|
|
102
|
-
if (!indicatorController) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
indicatorAttachedAt = Date.now();
|
|
106
|
-
indicatorController.onAttach(session, {
|
|
107
|
-
id: target.id,
|
|
108
|
-
title: target.title,
|
|
109
|
-
url: target.url,
|
|
110
|
-
type: target.type ?? 'page',
|
|
111
|
-
parentId: target.parentId ?? null,
|
|
112
|
-
webSocketDebuggerUrl: '',
|
|
113
|
-
}, buildIndicatorInfo({ title: target.title, url: target.url }));
|
|
114
|
-
};
|
|
115
|
-
const maybeInjectOnAttach = async (session, target) => {
|
|
116
|
-
if (!options.inject?.script) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (!session.isAttached()) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
const trimmedScript = options.inject.script.trim();
|
|
123
|
-
if (trimmedScript === '') {
|
|
124
|
-
console.warn(`[Watcher] Inject script is empty for watcher ${record.id}. Skipping.`);
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
const attachedAt = Date.now();
|
|
128
|
-
const exposeArgus = options.inject.exposeArgus ?? true;
|
|
129
|
-
const argusPayload = exposeArgus
|
|
130
|
-
? {
|
|
131
|
-
watcherId: record.id,
|
|
132
|
-
watcherHost: record.host,
|
|
133
|
-
watcherPort: record.port,
|
|
134
|
-
watcherPid: record.pid,
|
|
135
|
-
attachedAt,
|
|
136
|
-
target: {
|
|
137
|
-
title: target.title ?? null,
|
|
138
|
-
url: target.url ?? null,
|
|
139
|
-
type: target.type ?? 'page',
|
|
140
|
-
parentId: target.parentId ?? null,
|
|
141
|
-
},
|
|
142
|
-
}
|
|
143
|
-
: null;
|
|
144
|
-
const expression = buildInjectExpression(trimmedScript, argusPayload);
|
|
145
|
-
try {
|
|
146
|
-
await session.sendAndWait('Page.addScriptToEvaluateOnNewDocument', { source: expression });
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
console.warn(`[Watcher] Failed to register inject script for watcher ${record.id}: ${formatWatcherError(error)}`);
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
await session.sendAndWait('Runtime.evaluate', { expression, silent: true });
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
console.warn(`[Watcher] Failed to run inject script for watcher ${record.id}: ${formatWatcherError(error)}`);
|
|
156
|
-
}
|
|
157
|
-
};
|
|
60
|
+
const indicator = createIndicatorBinding({ options: options.pageIndicator, record, getCdpStatus: () => cdpStatus });
|
|
61
|
+
const injectOnAttach = createInjectOnAttach(options.inject, record);
|
|
62
|
+
/** Dialogs, network capture, and the indicator all belong to the page, never to a selected iframe. */
|
|
63
|
+
const getPageSession = () => sourceHandle.pageSession ?? sourceHandle.session;
|
|
158
64
|
const handleSourceLog = (event) => {
|
|
159
65
|
buffer.add(event);
|
|
160
66
|
fileLogger?.writeEvent(event);
|
|
161
67
|
};
|
|
162
68
|
const handlePageNavigation = (info) => {
|
|
69
|
+
pageNavigations += 1;
|
|
163
70
|
elementRefs.reset();
|
|
71
|
+
// A rebuilt bundle keeps its URL on most dev servers, so drop cached maps rather than
|
|
72
|
+
// reporting locations from the previous build.
|
|
73
|
+
sourcemaps.clear();
|
|
164
74
|
fileLogger?.rotate(info);
|
|
165
|
-
|
|
75
|
+
indicator.onNavigation(getPageSession(), info);
|
|
166
76
|
runtimeEditor?.reset();
|
|
167
77
|
};
|
|
168
78
|
const handlePageIntl = (info) => {
|
|
@@ -177,11 +87,11 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
177
87
|
// Visibility lock is sticky across detaches; restore it before we
|
|
178
88
|
// forward the attach to other services so downstream flows (boot
|
|
179
89
|
// waits, indicator paints) benefit immediately.
|
|
180
|
-
await visibilityController.onAttach(
|
|
90
|
+
await visibilityController.onAttach(getPageSession());
|
|
181
91
|
await netMockController.onAttach();
|
|
182
92
|
await networkCapture?.onAttached();
|
|
183
|
-
|
|
184
|
-
await
|
|
93
|
+
indicator.onAttach(session, target);
|
|
94
|
+
await injectOnAttach(session, target);
|
|
185
95
|
};
|
|
186
96
|
const handleTargetChanged = (session, target) => {
|
|
187
97
|
elementRefs.reset();
|
|
@@ -196,7 +106,7 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
196
106
|
reason: null,
|
|
197
107
|
});
|
|
198
108
|
void netMockController.onTargetChanged();
|
|
199
|
-
|
|
109
|
+
indicator.onAttach(session, target);
|
|
200
110
|
};
|
|
201
111
|
const handleSourceDetach = (reason) => {
|
|
202
112
|
elementRefs.reset();
|
|
@@ -204,7 +114,7 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
204
114
|
runtimeEditor?.rebind();
|
|
205
115
|
networkCapture?.onDetached();
|
|
206
116
|
netMockController.onDetach();
|
|
207
|
-
|
|
117
|
+
indicator.onDetach();
|
|
208
118
|
recorder.onDetached(reason);
|
|
209
119
|
if (reason != null) {
|
|
210
120
|
traceRecorder.onDetached(reason);
|
|
@@ -214,17 +124,17 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
214
124
|
onLog: handleSourceLog,
|
|
215
125
|
onStatus: updateCdpStatus,
|
|
216
126
|
onPageNavigation: handlePageNavigation,
|
|
217
|
-
onPageLoad:
|
|
127
|
+
onPageLoad: indicator.onLoad,
|
|
218
128
|
onPageIntl: handlePageIntl,
|
|
219
129
|
onAttach: handleSourceAttach,
|
|
220
130
|
onTargetChanged: handleTargetChanged,
|
|
221
131
|
onDetach: handleSourceDetach,
|
|
222
132
|
onRecordingStateChange: (recording) => {
|
|
223
|
-
|
|
133
|
+
indicator.setRecording(recording);
|
|
224
134
|
},
|
|
225
135
|
});
|
|
226
136
|
netMockController.bind({
|
|
227
|
-
pageSession:
|
|
137
|
+
pageSession: getPageSession(),
|
|
228
138
|
getSelectedTarget: () => {
|
|
229
139
|
const context = sourceHandle.getNetFilterContext?.() ?? null;
|
|
230
140
|
const frameId = context?.selectedFrameId ?? null;
|
|
@@ -235,7 +145,7 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
235
145
|
};
|
|
236
146
|
},
|
|
237
147
|
});
|
|
238
|
-
const dialogSession =
|
|
148
|
+
const dialogSession = getPageSession();
|
|
239
149
|
dialogSession.onEvent('Page.javascriptDialogOpening', (params) => {
|
|
240
150
|
const dialog = parseDialogStatus(params);
|
|
241
151
|
if (!dialog) {
|
|
@@ -255,8 +165,9 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
255
165
|
elementRefs,
|
|
256
166
|
getWatcher: () => record,
|
|
257
167
|
getCdpStatus: () => cdpStatus,
|
|
168
|
+
getCounters: () => ({ pageNavigations }),
|
|
258
169
|
getDialog: () => dialogTracker.getActive(),
|
|
259
|
-
pageCdpSession:
|
|
170
|
+
pageCdpSession: getPageSession(),
|
|
260
171
|
cdpSession: sourceHandle.session,
|
|
261
172
|
traceRecorder,
|
|
262
173
|
screenshotter,
|
|
@@ -279,11 +190,7 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
279
190
|
});
|
|
280
191
|
},
|
|
281
192
|
onShutdown: () => {
|
|
282
|
-
|
|
283
|
-
shutdownRequested = true;
|
|
284
|
-
return;
|
|
285
|
-
}
|
|
286
|
-
void closeOnce();
|
|
193
|
+
void shutdown.close();
|
|
287
194
|
},
|
|
288
195
|
});
|
|
289
196
|
record.port = server.port;
|
|
@@ -295,13 +202,9 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
295
202
|
});
|
|
296
203
|
await announceWatcher(record);
|
|
297
204
|
const heartbeat = startRegistryHeartbeat(() => record, options.heartbeatMs ?? 15_000);
|
|
298
|
-
|
|
299
|
-
if (closing) {
|
|
300
|
-
return;
|
|
301
|
-
}
|
|
302
|
-
closing = true;
|
|
205
|
+
shutdown.arm(async () => {
|
|
303
206
|
heartbeat.stop();
|
|
304
|
-
|
|
207
|
+
indicator.stop();
|
|
305
208
|
if (cdpStatus.attached) {
|
|
306
209
|
logToPageConsole('detached (reason=watcher_stopped)');
|
|
307
210
|
}
|
|
@@ -312,17 +215,11 @@ export const createWatcherHandle = async (options, watcherId) => {
|
|
|
312
215
|
await server.close();
|
|
313
216
|
await removeWatcher(record.id);
|
|
314
217
|
events.clearListeners();
|
|
315
|
-
};
|
|
316
|
-
readyForShutdown = true;
|
|
317
|
-
if (shutdownRequested) {
|
|
318
|
-
void closeOnce();
|
|
319
|
-
}
|
|
218
|
+
});
|
|
320
219
|
return {
|
|
321
220
|
watcher: record,
|
|
322
221
|
events,
|
|
323
|
-
close:
|
|
324
|
-
await closeOnce?.();
|
|
325
|
-
},
|
|
222
|
+
close: shutdown.close,
|
|
326
223
|
};
|
|
327
224
|
};
|
|
328
225
|
const parseDialogStatus = (params) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startWatcherRuntime.js","sourceRoot":"","sources":["../src/startWatcherRuntime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"startWatcherRuntime.js","sourceRoot":"","sources":["../src/startWatcherRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ErrorDetail } from '@vforsh/argus-core';
|
|
2
|
+
import type { CdpSessionHandle } from './cdp/connection.js';
|
|
3
|
+
/**
|
|
4
|
+
* The "desired state survives detach" machine, written once.
|
|
5
|
+
*
|
|
6
|
+
* Emulation, throttle, and visibility each implemented it separately — closure state for
|
|
7
|
+
* `desired`/`applied`/`lastError`, set-then-apply-if-attached, clear-then-same, and an
|
|
8
|
+
* `onAttach` that re-applies and warns. They had already drifted: Visibility threw from
|
|
9
|
+
* `setLock` instead of returning an error, and Emulation carries a baseline the others
|
|
10
|
+
* do not. The pattern clearly accretes, so the next one gets it for free.
|
|
11
|
+
*/
|
|
12
|
+
/** Snapshot of a sticky controller's state. */
|
|
13
|
+
export type StickyState<TState> = {
|
|
14
|
+
/** Whether the desired state is currently live on a CDP session. */
|
|
15
|
+
applied: boolean;
|
|
16
|
+
/** Desired state, or `null` when cleared. */
|
|
17
|
+
state: TState | null;
|
|
18
|
+
/** Why the last apply failed, if it did. */
|
|
19
|
+
lastError: ErrorDetail | null;
|
|
20
|
+
};
|
|
21
|
+
/** Outcome of a set or clear, including whether a session was attached to apply it to. */
|
|
22
|
+
export type StickyResult<TState> = StickyState<TState> & {
|
|
23
|
+
attached: boolean;
|
|
24
|
+
};
|
|
25
|
+
export type StickyControllerOptions<TState> = {
|
|
26
|
+
/** Label used in the re-apply warning. */
|
|
27
|
+
label: string;
|
|
28
|
+
/** Push the desired state onto a session. */
|
|
29
|
+
apply: (session: CdpSessionHandle, state: TState) => Promise<void>;
|
|
30
|
+
/** Undo the state on a session. */
|
|
31
|
+
clear: (session: CdpSessionHandle) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Runs on every attach before re-applying, for state that must be sampled from a
|
|
34
|
+
* fresh session (emulation captures the baseline user-agent this way).
|
|
35
|
+
*/
|
|
36
|
+
onBeforeReapply?: (session: CdpSessionHandle) => Promise<void>;
|
|
37
|
+
};
|
|
38
|
+
/** A controller whose desired state is re-applied on every attach. */
|
|
39
|
+
export type StickyController<TState> = {
|
|
40
|
+
/** Read the current state without touching a session. */
|
|
41
|
+
getState: () => StickyState<TState>;
|
|
42
|
+
/** Set the desired state and apply it now when a session is attached. */
|
|
43
|
+
setDesired: (state: TState, session: CdpSessionHandle | null) => Promise<StickyResult<TState>>;
|
|
44
|
+
/** Clear the desired state and undo it now when a session is attached. */
|
|
45
|
+
clearDesired: (session: CdpSessionHandle | null) => Promise<StickyResult<TState>>;
|
|
46
|
+
/** Re-apply the desired state to a freshly attached session. */
|
|
47
|
+
onAttach: (session: CdpSessionHandle) => Promise<void>;
|
|
48
|
+
};
|
|
49
|
+
/** Build a {@link StickyController}. */
|
|
50
|
+
export declare const createStickyController: <TState>(options: StickyControllerOptions<TState>) => StickyController<TState>;
|
|
51
|
+
//# sourceMappingURL=stickyController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickyController.d.ts","sourceRoot":"","sources":["../src/stickyController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAG3D;;;;;;;;GAQG;AAEH,+CAA+C;AAC/C,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI;IACjC,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,4CAA4C;IAC5C,SAAS,EAAE,WAAW,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,0FAA0F;AAC1F,MAAM,MAAM,YAAY,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9E,MAAM,MAAM,uBAAuB,CAAC,MAAM,IAAI;IAC7C,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,6CAA6C;IAC7C,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,mCAAmC;IACnC,KAAK,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,CAAA;AAED,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACtC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;IACnC,yEAAyE;IACzE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9F,0EAA0E;IAC1E,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IACjF,gEAAgE;IAChE,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,sBAAsB,GAAI,MAAM,EAAE,SAAS,uBAAuB,CAAC,MAAM,CAAC,KAAG,gBAAgB,CAAC,MAAM,CAmEhH,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { formatError } from '@vforsh/argus-core';
|
|
2
|
+
/** Build a {@link StickyController}. */
|
|
3
|
+
export const createStickyController = (options) => {
|
|
4
|
+
let desired = null;
|
|
5
|
+
let applied = false;
|
|
6
|
+
let lastError = null;
|
|
7
|
+
const getState = () => ({ applied, state: desired, lastError });
|
|
8
|
+
/** Run one CDP mutation, recording success or failure in the shared state. */
|
|
9
|
+
const run = async (session, action, appliedOnSuccess) => {
|
|
10
|
+
try {
|
|
11
|
+
await action();
|
|
12
|
+
applied = appliedOnSuccess;
|
|
13
|
+
lastError = null;
|
|
14
|
+
return { attached: true, applied: true, state: desired, lastError: null };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
applied = false;
|
|
18
|
+
lastError = { message: formatError(error) };
|
|
19
|
+
return { attached: true, applied: false, state: desired, lastError };
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const detached = () => {
|
|
23
|
+
applied = false;
|
|
24
|
+
return { attached: false, applied: false, state: desired, lastError };
|
|
25
|
+
};
|
|
26
|
+
return {
|
|
27
|
+
getState,
|
|
28
|
+
setDesired: async (state, session) => {
|
|
29
|
+
desired = state;
|
|
30
|
+
lastError = null;
|
|
31
|
+
if (!session?.isAttached()) {
|
|
32
|
+
return detached();
|
|
33
|
+
}
|
|
34
|
+
return await run(session, () => options.apply(session, state), true);
|
|
35
|
+
},
|
|
36
|
+
clearDesired: async (session) => {
|
|
37
|
+
desired = null;
|
|
38
|
+
lastError = null;
|
|
39
|
+
if (!session?.isAttached()) {
|
|
40
|
+
return detached();
|
|
41
|
+
}
|
|
42
|
+
// A successful clear leaves nothing applied, which is why `applied` goes false.
|
|
43
|
+
return await run(session, () => options.clear(session), false);
|
|
44
|
+
},
|
|
45
|
+
onAttach: async (session) => {
|
|
46
|
+
await options.onBeforeReapply?.(session);
|
|
47
|
+
if (!desired) {
|
|
48
|
+
applied = false;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
await options.apply(session, desired);
|
|
53
|
+
applied = true;
|
|
54
|
+
lastError = null;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
applied = false;
|
|
58
|
+
lastError = { message: formatError(error) };
|
|
59
|
+
console.warn(`[${options.label}] Failed to re-apply on attach: ${lastError.message}`);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=stickyController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickyController.js","sourceRoot":"","sources":["../src/stickyController.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,6 @@ export type ThrottleController = {
|
|
|
8
8
|
clearDesired: (session: CdpSessionHandle | null) => Promise<ThrottleClearResponse>;
|
|
9
9
|
onAttach: (session: CdpSessionHandle) => Promise<void>;
|
|
10
10
|
};
|
|
11
|
+
/** Desired CPU throttle rate, re-applied on every attach until cleared. */
|
|
11
12
|
export declare const createThrottleController: () => ThrottleController;
|
|
12
13
|
//# sourceMappingURL=ThrottleController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThrottleController.d.ts","sourceRoot":"","sources":["../../src/throttle/ThrottleController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC3H,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"ThrottleController.d.ts","sourceRoot":"","sources":["../../src/throttle/ThrottleController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,sBAAsB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC3H,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAI5D,MAAM,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,sBAAsB,CAAA;IACjE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC5F,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAClF,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,wBAAwB,QAAO,kBAsB3C,CAAA"}
|
|
@@ -1,67 +1,26 @@
|
|
|
1
1
|
import { applyThrottle, clearThrottle } from '../cdp/throttle.js';
|
|
2
|
+
import { createStickyController } from '../stickyController.js';
|
|
3
|
+
/** Desired CPU throttle rate, re-applied on every attach until cleared. */
|
|
2
4
|
export const createThrottleController = () => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
ok: true,
|
|
8
|
-
attached: ctx.attached,
|
|
9
|
-
applied,
|
|
10
|
-
state: desired,
|
|
11
|
-
lastError,
|
|
5
|
+
const sticky = createStickyController({
|
|
6
|
+
label: 'Throttle',
|
|
7
|
+
apply: (session, state) => applyThrottle(session, state.rate),
|
|
8
|
+
clear: (session) => clearThrottle(session),
|
|
12
9
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
lastError = { message: error instanceof Error ? error.message : String(error) };
|
|
28
|
-
return { ok: true, attached: true, applied: false, state: desired, error: lastError };
|
|
29
|
-
}
|
|
10
|
+
return {
|
|
11
|
+
getStatus: (ctx) => {
|
|
12
|
+
const { applied, state, lastError } = sticky.getState();
|
|
13
|
+
return { ok: true, attached: ctx.attached, applied, state, lastError };
|
|
14
|
+
},
|
|
15
|
+
setDesired: async (rate, session) => {
|
|
16
|
+
const { attached, applied, state, lastError } = await sticky.setDesired({ rate }, session);
|
|
17
|
+
return { ok: true, attached, applied, state, ...(lastError ? { error: lastError } : {}) };
|
|
18
|
+
},
|
|
19
|
+
clearDesired: async (session) => {
|
|
20
|
+
const { attached, applied, lastError } = await sticky.clearDesired(session);
|
|
21
|
+
return { ok: true, attached, applied, state: null, ...(lastError ? { error: lastError } : {}) };
|
|
22
|
+
},
|
|
23
|
+
onAttach: sticky.onAttach,
|
|
30
24
|
};
|
|
31
|
-
const clearDesired = async (session) => {
|
|
32
|
-
desired = null;
|
|
33
|
-
lastError = null;
|
|
34
|
-
if (!session || !session.isAttached()) {
|
|
35
|
-
applied = false;
|
|
36
|
-
return { ok: true, attached: false, applied: false, state: null };
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
await clearThrottle(session);
|
|
40
|
-
applied = false;
|
|
41
|
-
return { ok: true, attached: true, applied: true, state: null };
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
applied = false;
|
|
45
|
-
lastError = { message: error instanceof Error ? error.message : String(error) };
|
|
46
|
-
return { ok: true, attached: true, applied: false, state: null, error: lastError };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
const onAttach = async (session) => {
|
|
50
|
-
if (!desired) {
|
|
51
|
-
applied = false;
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
await applyThrottle(session, desired.rate);
|
|
56
|
-
applied = true;
|
|
57
|
-
lastError = null;
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
applied = false;
|
|
61
|
-
lastError = { message: error instanceof Error ? error.message : String(error) };
|
|
62
|
-
console.warn(`[Throttle] Failed to re-apply throttle on attach: ${lastError.message}`);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
return { getStatus, setDesired, clearDesired, onAttach };
|
|
66
25
|
};
|
|
67
26
|
//# sourceMappingURL=ThrottleController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThrottleController.js","sourceRoot":"","sources":["../../src/throttle/ThrottleController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"ThrottleController.js","sourceRoot":"","sources":["../../src/throttle/ThrottleController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAS/D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAuB,EAAE;IAChE,MAAM,MAAM,GAAG,sBAAsB,CAAgB;QACpD,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;QAC7D,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;KAC1C,CAAC,CAAA;IAEF,OAAO;QACN,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;YACvD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;QACvE,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACnC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;YAC1F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QAC1F,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QAChG,CAAC;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KACzB,CAAA;AACF,CAAC,CAAA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { VisibilityLock } from '@vforsh/argus-core';
|
|
2
2
|
import type { CdpSessionHandle } from '../cdp/connection.js';
|
|
3
3
|
/**
|
|
4
|
-
* Tracks the desired "show" lock and (re)applies it to the attached CDP
|
|
5
|
-
* session. Mirrors EmulationController / ThrottleController: the desired
|
|
6
|
-
* state survives detaches and is re-applied on the next attach, so
|
|
4
|
+
* Tracks the desired "show" lock and (re)applies it to the attached CDP session, so
|
|
7
5
|
* `argus page show` is sticky until `argus page hide`.
|
|
6
|
+
*
|
|
7
|
+
* Implementation notes:
|
|
8
|
+
* - `Page.bringToFront` is best-effort — a one-shot hint that raises the tab at call time.
|
|
9
|
+
* Failure is swallowed; some environments (headless, minimized OS windows, extension
|
|
10
|
+
* transport without a focused window) no-op it.
|
|
11
|
+
* - `Emulation.setFocusEmulationEnabled({ enabled: true })` is the mechanism that keeps
|
|
12
|
+
* the page unthrottled while its window is covered. Session-scoped, so it must be
|
|
13
|
+
* re-applied after every reattach.
|
|
8
14
|
*/
|
|
9
15
|
export type VisibilityController = {
|
|
10
16
|
/** Current desired lock (what the next attach would apply). */
|
|
@@ -14,14 +20,5 @@ export type VisibilityController = {
|
|
|
14
20
|
/** Called on every (re)attach; re-sends CDP commands when lock is `shown`. */
|
|
15
21
|
onAttach: (session: CdpSessionHandle) => Promise<void>;
|
|
16
22
|
};
|
|
17
|
-
/**
|
|
18
|
-
* Implementation notes:
|
|
19
|
-
* - `Page.bringToFront` is best-effort — a one-shot hint that raises the tab
|
|
20
|
-
* at call time. Failure is swallowed; some environments (headless, minimized
|
|
21
|
-
* OS windows, extension transport without a focused window) no-op it.
|
|
22
|
-
* - `Emulation.setFocusEmulationEnabled({ enabled: true })` is the mechanism
|
|
23
|
-
* that keeps the page unthrottled while its window is covered. Session-
|
|
24
|
-
* scoped, so it must be re-applied after every reattach.
|
|
25
|
-
*/
|
|
26
23
|
export declare const createVisibilityController: () => VisibilityController;
|
|
27
24
|
//# sourceMappingURL=VisibilityController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisibilityController.d.ts","sourceRoot":"","sources":["../../src/visibility/VisibilityController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"VisibilityController.d.ts","sourceRoot":"","sources":["../../src/visibility/VisibilityController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,cAAc,CAAA;IAChC,0FAA0F;IAC1F,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClF,8EAA8E;IAC9E,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACtD,CAAA;AAgBD,eAAO,MAAM,0BAA0B,QAAO,oBAyB7C,CAAA"}
|