@vforsh/argus-watcher 0.3.0 → 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.
Files changed (489) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/artifacts.d.ts +9 -5
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +22 -6
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/buffer/LogBuffer.d.ts +14 -10
  7. package/dist/buffer/LogBuffer.d.ts.map +1 -1
  8. package/dist/buffer/LogBuffer.js +15 -40
  9. package/dist/buffer/LogBuffer.js.map +1 -1
  10. package/dist/buffer/NetBuffer.d.ts +0 -6
  11. package/dist/buffer/NetBuffer.d.ts.map +1 -1
  12. package/dist/buffer/NetBuffer.js +0 -12
  13. package/dist/buffer/NetBuffer.js.map +1 -1
  14. package/dist/cdp/accessibility.d.ts.map +1 -1
  15. package/dist/cdp/accessibility.js +4 -4
  16. package/dist/cdp/accessibility.js.map +1 -1
  17. package/dist/cdp/authCookieShapes.d.ts +26 -0
  18. package/dist/cdp/authCookieShapes.d.ts.map +1 -0
  19. package/dist/cdp/authCookieShapes.js +41 -0
  20. package/dist/cdp/authCookieShapes.js.map +1 -0
  21. package/dist/cdp/{auth.d.ts → authCookies.d.ts} +11 -15
  22. package/dist/cdp/authCookies.d.ts.map +1 -0
  23. package/dist/cdp/authCookies.js +186 -0
  24. package/dist/cdp/authCookies.js.map +1 -0
  25. package/dist/cdp/authPageState.d.ts +28 -0
  26. package/dist/cdp/authPageState.d.ts.map +1 -0
  27. package/dist/cdp/authPageState.js +62 -0
  28. package/dist/cdp/authPageState.js.map +1 -0
  29. package/dist/cdp/authSnapshot.d.ts +16 -0
  30. package/dist/cdp/authSnapshot.d.ts.map +1 -0
  31. package/dist/cdp/authSnapshot.js +47 -0
  32. package/dist/cdp/authSnapshot.js.map +1 -0
  33. package/dist/cdp/browserCookies.d.ts.map +1 -1
  34. package/dist/cdp/browserCookies.js +18 -111
  35. package/dist/cdp/browserCookies.js.map +1 -1
  36. package/dist/cdp/cdpValues.d.ts +12 -0
  37. package/dist/cdp/cdpValues.d.ts.map +1 -0
  38. package/dist/cdp/cdpValues.js +18 -0
  39. package/dist/cdp/cdpValues.js.map +1 -0
  40. package/dist/cdp/connection.d.ts +42 -6
  41. package/dist/cdp/connection.d.ts.map +1 -1
  42. package/dist/cdp/connection.js +57 -5
  43. package/dist/cdp/connection.js.map +1 -1
  44. package/dist/cdp/dom/info.d.ts.map +1 -1
  45. package/dist/cdp/dom/info.js +3 -3
  46. package/dist/cdp/dom/info.js.map +1 -1
  47. package/dist/cdp/dom/mutate.d.ts +109 -0
  48. package/dist/cdp/dom/mutate.d.ts.map +1 -0
  49. package/dist/cdp/dom/mutate.js +174 -0
  50. package/dist/cdp/dom/mutate.js.map +1 -0
  51. package/dist/cdp/dom/selector.d.ts +1 -1
  52. package/dist/cdp/dom/selector.d.ts.map +1 -1
  53. package/dist/cdp/dom/selector.js +10 -10
  54. package/dist/cdp/dom/selector.js.map +1 -1
  55. package/dist/cdp/dom/tree.js +2 -2
  56. package/dist/cdp/dom/tree.js.map +1 -1
  57. package/dist/cdp/dom.d.ts +2 -10
  58. package/dist/cdp/dom.d.ts.map +1 -1
  59. package/dist/cdp/dom.js +1 -5
  60. package/dist/cdp/dom.js.map +1 -1
  61. package/dist/cdp/editor.d.ts +36 -0
  62. package/dist/cdp/editor.d.ts.map +1 -1
  63. package/dist/cdp/editor.js +32 -5
  64. package/dist/cdp/editor.js.map +1 -1
  65. package/dist/cdp/eval.d.ts.map +1 -1
  66. package/dist/cdp/eval.js +18 -56
  67. package/dist/cdp/eval.js.map +1 -1
  68. package/dist/cdp/ffmpeg.d.ts +37 -0
  69. package/dist/cdp/ffmpeg.d.ts.map +1 -0
  70. package/dist/cdp/ffmpeg.js +98 -0
  71. package/dist/cdp/ffmpeg.js.map +1 -0
  72. package/dist/cdp/ignoreList.d.ts.map +1 -1
  73. package/dist/cdp/ignoreList.js +2 -1
  74. package/dist/cdp/ignoreList.js.map +1 -1
  75. package/dist/cdp/keyboard.d.ts.map +1 -1
  76. package/dist/cdp/keyboard.js +2 -3
  77. package/dist/cdp/keyboard.js.map +1 -1
  78. package/dist/cdp/locate.js +37 -2
  79. package/dist/cdp/locate.js.map +1 -1
  80. package/dist/cdp/mouse.d.ts.map +1 -1
  81. package/dist/cdp/mouse.js +15 -50
  82. package/dist/cdp/mouse.js.map +1 -1
  83. package/dist/cdp/networkBody.d.ts.map +1 -1
  84. package/dist/cdp/networkBody.js +8 -11
  85. package/dist/cdp/networkBody.js.map +1 -1
  86. package/dist/cdp/networkCapture.d.ts.map +1 -1
  87. package/dist/cdp/networkCapture.js +9 -18
  88. package/dist/cdp/networkCapture.js.map +1 -1
  89. package/dist/cdp/networkRealtimeCapture.d.ts.map +1 -1
  90. package/dist/cdp/networkRealtimeCapture.js +8 -17
  91. package/dist/cdp/networkRealtimeCapture.js.map +1 -1
  92. package/dist/cdp/pageIndicator.d.ts.map +1 -1
  93. package/dist/cdp/pageIndicator.js +4 -27
  94. package/dist/cdp/pageIndicator.js.map +1 -1
  95. package/dist/cdp/pageState.d.ts +66 -0
  96. package/dist/cdp/pageState.d.ts.map +1 -0
  97. package/dist/cdp/pageState.js +75 -0
  98. package/dist/cdp/pageState.js.map +1 -0
  99. package/dist/cdp/protocol.d.ts +630 -0
  100. package/dist/cdp/protocol.d.ts.map +1 -0
  101. package/dist/cdp/protocol.js +15 -0
  102. package/dist/cdp/protocol.js.map +1 -0
  103. package/dist/cdp/recording.d.ts.map +1 -1
  104. package/dist/cdp/recording.js +13 -127
  105. package/dist/cdp/recording.js.map +1 -1
  106. package/dist/cdp/redaction.d.ts +4 -1
  107. package/dist/cdp/redaction.d.ts.map +1 -1
  108. package/dist/cdp/redaction.js +4 -10
  109. package/dist/cdp/redaction.js.map +1 -1
  110. package/dist/cdp/remoteObject.d.ts +9 -3
  111. package/dist/cdp/remoteObject.d.ts.map +1 -1
  112. package/dist/cdp/remoteObject.js.map +1 -1
  113. package/dist/cdp/scenarioBridge.d.ts.map +1 -1
  114. package/dist/cdp/scenarioBridge.js +2 -2
  115. package/dist/cdp/scenarioBridge.js.map +1 -1
  116. package/dist/cdp/screenshot.js +2 -2
  117. package/dist/cdp/screenshot.js.map +1 -1
  118. package/dist/cdp/selectBestFrame.d.ts +8 -1
  119. package/dist/cdp/selectBestFrame.d.ts.map +1 -1
  120. package/dist/cdp/selectBestFrame.js +8 -3
  121. package/dist/cdp/selectBestFrame.js.map +1 -1
  122. package/dist/cdp/storage.d.ts.map +1 -1
  123. package/dist/cdp/storage.js +2 -11
  124. package/dist/cdp/storage.js.map +1 -1
  125. package/dist/cdp/text-filter.d.ts.map +1 -1
  126. package/dist/cdp/text-filter.js +2 -11
  127. package/dist/cdp/text-filter.js.map +1 -1
  128. package/dist/cdp/tracing.d.ts.map +1 -1
  129. package/dist/cdp/tracing.js +16 -39
  130. package/dist/cdp/tracing.js.map +1 -1
  131. package/dist/cdp/visualCapture.d.ts.map +1 -1
  132. package/dist/cdp/visualCapture.js +7 -9
  133. package/dist/cdp/visualCapture.js.map +1 -1
  134. package/dist/cdp/watcher.d.ts +2 -0
  135. package/dist/cdp/watcher.d.ts.map +1 -1
  136. package/dist/cdp/watcher.js +2 -10
  137. package/dist/cdp/watcher.js.map +1 -1
  138. package/dist/cdp/watcherEvents.d.ts +27 -3
  139. package/dist/cdp/watcherEvents.d.ts.map +1 -1
  140. package/dist/cdp/watcherEvents.js +46 -29
  141. package/dist/cdp/watcherEvents.js.map +1 -1
  142. package/dist/deferred.d.ts +14 -0
  143. package/dist/deferred.d.ts.map +1 -0
  144. package/dist/deferred.js +16 -0
  145. package/dist/deferred.js.map +1 -0
  146. package/dist/emulation/EmulationController.d.ts +7 -0
  147. package/dist/emulation/EmulationController.d.ts.map +1 -1
  148. package/dist/emulation/EmulationController.js +31 -75
  149. package/dist/emulation/EmulationController.js.map +1 -1
  150. package/dist/errors.d.ts +29 -0
  151. package/dist/errors.d.ts.map +1 -0
  152. package/dist/errors.js +31 -0
  153. package/dist/errors.js.map +1 -0
  154. package/dist/events.d.ts +3 -52
  155. package/dist/events.d.ts.map +1 -1
  156. package/dist/http/endpoints.d.ts +54 -0
  157. package/dist/http/endpoints.d.ts.map +1 -0
  158. package/dist/http/endpoints.js +75 -0
  159. package/dist/http/endpoints.js.map +1 -0
  160. package/dist/http/httpUtils.d.ts +47 -3
  161. package/dist/http/httpUtils.d.ts.map +1 -1
  162. package/dist/http/httpUtils.js +75 -29
  163. package/dist/http/httpUtils.js.map +1 -1
  164. package/dist/http/router.js +2 -2
  165. package/dist/http/router.js.map +1 -1
  166. package/dist/http/routes/authCookies.d.ts.map +1 -1
  167. package/dist/http/routes/authCookies.js +7 -93
  168. package/dist/http/routes/authCookies.js.map +1 -1
  169. package/dist/http/routes/defineDomTargetRoute.d.ts +3 -5
  170. package/dist/http/routes/defineDomTargetRoute.d.ts.map +1 -1
  171. package/dist/http/routes/defineDomTargetRoute.js +2 -3
  172. package/dist/http/routes/defineDomTargetRoute.js.map +1 -1
  173. package/dist/http/routes/defineExtensionRoute.d.ts +30 -0
  174. package/dist/http/routes/defineExtensionRoute.d.ts.map +1 -0
  175. package/dist/http/routes/defineExtensionRoute.js +33 -0
  176. package/dist/http/routes/defineExtensionRoute.js.map +1 -0
  177. package/dist/http/routes/defineRoute.d.ts +8 -8
  178. package/dist/http/routes/defineRoute.d.ts.map +1 -1
  179. package/dist/http/routes/defineRoute.js +11 -13
  180. package/dist/http/routes/defineRoute.js.map +1 -1
  181. package/dist/http/routes/domSelectorRoute.d.ts.map +1 -1
  182. package/dist/http/routes/domSelectorRoute.js +4 -7
  183. package/dist/http/routes/domSelectorRoute.js.map +1 -1
  184. package/dist/http/routes/extensionTarget.d.ts +11 -0
  185. package/dist/http/routes/extensionTarget.d.ts.map +1 -0
  186. package/dist/http/routes/extensionTarget.js +8 -0
  187. package/dist/http/routes/extensionTarget.js.map +1 -0
  188. package/dist/http/routes/getAuthCookies.js +1 -1
  189. package/dist/http/routes/getAuthCookies.js.map +1 -1
  190. package/dist/http/routes/getAuthState.js +1 -1
  191. package/dist/http/routes/getAuthState.js.map +1 -1
  192. package/dist/http/routes/getExtensionDiagnostics.d.ts.map +1 -1
  193. package/dist/http/routes/getExtensionDiagnostics.js +5 -9
  194. package/dist/http/routes/getExtensionDiagnostics.js.map +1 -1
  195. package/dist/http/routes/getExtensionTabs.d.ts.map +1 -1
  196. package/dist/http/routes/getExtensionTabs.js +10 -16
  197. package/dist/http/routes/getExtensionTabs.js.map +1 -1
  198. package/dist/http/routes/getLogCursor.js +1 -1
  199. package/dist/http/routes/getLogCursor.js.map +1 -1
  200. package/dist/http/routes/getLogs.d.ts.map +1 -1
  201. package/dist/http/routes/getLogs.js +8 -8
  202. package/dist/http/routes/getLogs.js.map +1 -1
  203. package/dist/http/routes/getNet.js +2 -2
  204. package/dist/http/routes/getNet.js.map +1 -1
  205. package/dist/http/routes/getNetRequest.js +3 -3
  206. package/dist/http/routes/getNetRequest.js.map +1 -1
  207. package/dist/http/routes/getNetRequestBody.d.ts.map +1 -1
  208. package/dist/http/routes/getNetRequestBody.js +8 -7
  209. package/dist/http/routes/getNetRequestBody.js.map +1 -1
  210. package/dist/http/routes/getNetRequests.js +2 -2
  211. package/dist/http/routes/getNetRequests.js.map +1 -1
  212. package/dist/http/routes/getNetSse.js +2 -2
  213. package/dist/http/routes/getNetSse.js.map +1 -1
  214. package/dist/http/routes/getNetTail.d.ts.map +1 -1
  215. package/dist/http/routes/getNetTail.js +3 -3
  216. package/dist/http/routes/getNetTail.js.map +1 -1
  217. package/dist/http/routes/getNetWebSocketConnection.d.ts.map +1 -1
  218. package/dist/http/routes/getNetWebSocketConnection.js +8 -8
  219. package/dist/http/routes/getNetWebSocketConnection.js.map +1 -1
  220. package/dist/http/routes/getNetWebSockets.js +2 -2
  221. package/dist/http/routes/getNetWebSockets.js.map +1 -1
  222. package/dist/http/routes/getStatus.d.ts.map +1 -1
  223. package/dist/http/routes/getStatus.js +3 -0
  224. package/dist/http/routes/getStatus.js.map +1 -1
  225. package/dist/http/routes/getTail.js +7 -7
  226. package/dist/http/routes/getTail.js.map +1 -1
  227. package/dist/http/routes/getTargets.d.ts.map +1 -1
  228. package/dist/http/routes/getTargets.js +5 -10
  229. package/dist/http/routes/getTargets.js.map +1 -1
  230. package/dist/http/routes/logEpochQuery.d.ts +8 -1
  231. package/dist/http/routes/logEpochQuery.d.ts.map +1 -1
  232. package/dist/http/routes/logEpochQuery.js +18 -28
  233. package/dist/http/routes/logEpochQuery.js.map +1 -1
  234. package/dist/http/routes/netFilters.d.ts +10 -0
  235. package/dist/http/routes/netFilters.d.ts.map +1 -1
  236. package/dist/http/routes/netFilters.js +41 -28
  237. package/dist/http/routes/netFilters.js.map +1 -1
  238. package/dist/http/routes/netMock.d.ts.map +1 -1
  239. package/dist/http/routes/netMock.js +3 -116
  240. package/dist/http/routes/netMock.js.map +1 -1
  241. package/dist/http/routes/netRequestLookup.js +3 -13
  242. package/dist/http/routes/netRequestLookup.js.map +1 -1
  243. package/dist/http/routes/postAttach.d.ts.map +1 -1
  244. package/dist/http/routes/postAttach.js +8 -18
  245. package/dist/http/routes/postAttach.js.map +1 -1
  246. package/dist/http/routes/postAuthStateLoad.d.ts.map +1 -1
  247. package/dist/http/routes/postAuthStateLoad.js +2 -17
  248. package/dist/http/routes/postAuthStateLoad.js.map +1 -1
  249. package/dist/http/routes/postCodeEdit.d.ts.map +1 -1
  250. package/dist/http/routes/postCodeEdit.js +2 -10
  251. package/dist/http/routes/postCodeEdit.js.map +1 -1
  252. package/dist/http/routes/postCodeGrep.d.ts.map +1 -1
  253. package/dist/http/routes/postCodeGrep.js +2 -10
  254. package/dist/http/routes/postCodeGrep.js.map +1 -1
  255. package/dist/http/routes/postCodeList.d.ts.map +1 -1
  256. package/dist/http/routes/postCodeList.js +2 -7
  257. package/dist/http/routes/postCodeList.js.map +1 -1
  258. package/dist/http/routes/postCodeRead.d.ts.map +1 -1
  259. package/dist/http/routes/postCodeRead.js +2 -13
  260. package/dist/http/routes/postCodeRead.js.map +1 -1
  261. package/dist/http/routes/postDetach.d.ts.map +1 -1
  262. package/dist/http/routes/postDetach.js +8 -18
  263. package/dist/http/routes/postDetach.js.map +1 -1
  264. package/dist/http/routes/postDialog.d.ts.map +1 -1
  265. package/dist/http/routes/postDialog.js +5 -13
  266. package/dist/http/routes/postDialog.js.map +1 -1
  267. package/dist/http/routes/postDomAdd.d.ts.map +1 -1
  268. package/dist/http/routes/postDomAdd.js +3 -31
  269. package/dist/http/routes/postDomAdd.js.map +1 -1
  270. package/dist/http/routes/postDomFill.d.ts.map +1 -1
  271. package/dist/http/routes/postDomFill.js +2 -10
  272. package/dist/http/routes/postDomFill.js.map +1 -1
  273. package/dist/http/routes/postDomFocus.d.ts.map +1 -1
  274. package/dist/http/routes/postDomFocus.js +2 -0
  275. package/dist/http/routes/postDomFocus.js.map +1 -1
  276. package/dist/http/routes/postDomHover.d.ts.map +1 -1
  277. package/dist/http/routes/postDomHover.js +2 -0
  278. package/dist/http/routes/postDomHover.js.map +1 -1
  279. package/dist/http/routes/postDomInfo.d.ts.map +1 -1
  280. package/dist/http/routes/postDomInfo.js +3 -3
  281. package/dist/http/routes/postDomInfo.js.map +1 -1
  282. package/dist/http/routes/postDomKeydown.d.ts.map +1 -1
  283. package/dist/http/routes/postDomKeydown.js +2 -27
  284. package/dist/http/routes/postDomKeydown.js.map +1 -1
  285. package/dist/http/routes/postDomModify.d.ts.map +1 -1
  286. package/dist/http/routes/postDomModify.js +4 -19
  287. package/dist/http/routes/postDomModify.js.map +1 -1
  288. package/dist/http/routes/postDomRemove.d.ts.map +1 -1
  289. package/dist/http/routes/postDomRemove.js +5 -5
  290. package/dist/http/routes/postDomRemove.js.map +1 -1
  291. package/dist/http/routes/postDomScroll.d.ts.map +1 -1
  292. package/dist/http/routes/postDomScroll.js +5 -27
  293. package/dist/http/routes/postDomScroll.js.map +1 -1
  294. package/dist/http/routes/postDomScrollTo.d.ts.map +1 -1
  295. package/dist/http/routes/postDomScrollTo.js +2 -30
  296. package/dist/http/routes/postDomScrollTo.js.map +1 -1
  297. package/dist/http/routes/postDomSetFile.d.ts.map +1 -1
  298. package/dist/http/routes/postDomSetFile.js +2 -17
  299. package/dist/http/routes/postDomSetFile.js.map +1 -1
  300. package/dist/http/routes/postDomTree.d.ts.map +1 -1
  301. package/dist/http/routes/postDomTree.js +3 -3
  302. package/dist/http/routes/postDomTree.js.map +1 -1
  303. package/dist/http/routes/postEmulation.d.ts.map +1 -1
  304. package/dist/http/routes/postEmulation.js +3 -47
  305. package/dist/http/routes/postEmulation.js.map +1 -1
  306. package/dist/http/routes/postEval.d.ts.map +1 -1
  307. package/dist/http/routes/postEval.js +2 -7
  308. package/dist/http/routes/postEval.js.map +1 -1
  309. package/dist/http/routes/postLocate.d.ts.map +1 -1
  310. package/dist/http/routes/postLocate.js +5 -17
  311. package/dist/http/routes/postLocate.js.map +1 -1
  312. package/dist/http/routes/postRecord.d.ts.map +1 -1
  313. package/dist/http/routes/postRecord.js +4 -66
  314. package/dist/http/routes/postRecord.js.map +1 -1
  315. package/dist/http/routes/postReload.d.ts.map +1 -1
  316. package/dist/http/routes/postReload.js +2 -1
  317. package/dist/http/routes/postReload.js.map +1 -1
  318. package/dist/http/routes/postScreenshot.d.ts.map +1 -1
  319. package/dist/http/routes/postScreenshot.js +2 -32
  320. package/dist/http/routes/postScreenshot.js.map +1 -1
  321. package/dist/http/routes/postSnapshot.d.ts.map +1 -1
  322. package/dist/http/routes/postSnapshot.js +2 -10
  323. package/dist/http/routes/postSnapshot.js.map +1 -1
  324. package/dist/http/routes/postThrottle.d.ts.map +1 -1
  325. package/dist/http/routes/postThrottle.js +2 -15
  326. package/dist/http/routes/postThrottle.js.map +1 -1
  327. package/dist/http/routes/postTraceStart.d.ts.map +1 -1
  328. package/dist/http/routes/postTraceStart.js +2 -1
  329. package/dist/http/routes/postTraceStart.js.map +1 -1
  330. package/dist/http/routes/postTraceStop.d.ts.map +1 -1
  331. package/dist/http/routes/postTraceStop.js +2 -1
  332. package/dist/http/routes/postTraceStop.js.map +1 -1
  333. package/dist/http/routes/postVisibility.d.ts.map +1 -1
  334. package/dist/http/routes/postVisibility.js +2 -7
  335. package/dist/http/routes/postVisibility.js.map +1 -1
  336. package/dist/http/routes/storage.d.ts.map +1 -1
  337. package/dist/http/routes/storage.js +2 -16
  338. package/dist/http/routes/storage.js.map +1 -1
  339. package/dist/http/server.d.ts +9 -36
  340. package/dist/http/server.d.ts.map +1 -1
  341. package/dist/http/server.js.map +1 -1
  342. package/dist/index.d.ts +3 -1
  343. package/dist/index.d.ts.map +1 -1
  344. package/dist/index.js +1 -0
  345. package/dist/index.js.map +1 -1
  346. package/dist/internal.d.ts +18 -0
  347. package/dist/internal.d.ts.map +1 -0
  348. package/dist/internal.js +16 -0
  349. package/dist/internal.js.map +1 -0
  350. package/dist/native-messaging/control-session-manager.d.ts +3 -12
  351. package/dist/native-messaging/control-session-manager.d.ts.map +1 -1
  352. package/dist/native-messaging/control-session-manager.js +13 -32
  353. package/dist/native-messaging/control-session-manager.js.map +1 -1
  354. package/dist/native-messaging/pendingRequests.d.ts +31 -0
  355. package/dist/native-messaging/pendingRequests.d.ts.map +1 -0
  356. package/dist/native-messaging/pendingRequests.js +47 -0
  357. package/dist/native-messaging/pendingRequests.js.map +1 -0
  358. package/dist/native-messaging/session-manager.d.ts +35 -31
  359. package/dist/native-messaging/session-manager.d.ts.map +1 -1
  360. package/dist/native-messaging/session-manager.js +54 -86
  361. package/dist/native-messaging/session-manager.js.map +1 -1
  362. package/dist/native-messaging/types.d.ts +6 -211
  363. package/dist/native-messaging/types.d.ts.map +1 -1
  364. package/dist/native-messaging/types.js +5 -3
  365. package/dist/native-messaging/types.js.map +1 -1
  366. package/dist/net/NetMockController.d.ts.map +1 -1
  367. package/dist/net/NetMockController.js +7 -5
  368. package/dist/net/NetMockController.js.map +1 -1
  369. package/dist/net/NetMockInterception.d.ts +2 -1
  370. package/dist/net/NetMockInterception.d.ts.map +1 -1
  371. package/dist/net/NetMockInterception.js +4 -3
  372. package/dist/net/NetMockInterception.js.map +1 -1
  373. package/dist/net/filtering.d.ts +2 -2
  374. package/dist/net/filtering.d.ts.map +1 -1
  375. package/dist/net/filtering.js.map +1 -1
  376. package/dist/runtime/shutdownLatch.d.ts +16 -0
  377. package/dist/runtime/shutdownLatch.d.ts.map +1 -0
  378. package/dist/runtime/shutdownLatch.js +17 -0
  379. package/dist/runtime/shutdownLatch.js.map +1 -0
  380. package/dist/runtime/watcherIndicator.d.ts +45 -0
  381. package/dist/runtime/watcherIndicator.d.ts.map +1 -0
  382. package/dist/runtime/watcherIndicator.js +62 -0
  383. package/dist/runtime/watcherIndicator.js.map +1 -0
  384. package/dist/runtime/watcherInject.d.ts +25 -1
  385. package/dist/runtime/watcherInject.d.ts.map +1 -1
  386. package/dist/runtime/watcherInject.js +48 -6
  387. package/dist/runtime/watcherInject.js.map +1 -1
  388. package/dist/runtime/watcherServices.d.ts.map +1 -1
  389. package/dist/runtime/watcherServices.js +44 -57
  390. package/dist/runtime/watcherServices.js.map +1 -1
  391. package/dist/runtime/watcherSetup.d.ts +3 -0
  392. package/dist/runtime/watcherSetup.d.ts.map +1 -1
  393. package/dist/runtime/watcherSetup.js +2 -0
  394. package/dist/runtime/watcherSetup.js.map +1 -1
  395. package/dist/sourcemaps/resolveLocation.d.ts +14 -5
  396. package/dist/sourcemaps/resolveLocation.d.ts.map +1 -1
  397. package/dist/sourcemaps/resolveLocation.js +10 -68
  398. package/dist/sourcemaps/resolveLocation.js.map +1 -1
  399. package/dist/sourcemaps/sourceMappingUrl.d.ts +27 -0
  400. package/dist/sourcemaps/sourceMappingUrl.d.ts.map +1 -0
  401. package/dist/sourcemaps/sourceMappingUrl.js +57 -0
  402. package/dist/sourcemaps/sourceMappingUrl.js.map +1 -0
  403. package/dist/sourcemaps/sourcemapResolver.d.ts +30 -0
  404. package/dist/sourcemaps/sourcemapResolver.d.ts.map +1 -0
  405. package/dist/sourcemaps/sourcemapResolver.js +152 -0
  406. package/dist/sourcemaps/sourcemapResolver.js.map +1 -0
  407. package/dist/sources/cdp-source.d.ts.map +1 -1
  408. package/dist/sources/cdp-source.js +3 -2
  409. package/dist/sources/cdp-source.js.map +1 -1
  410. package/dist/sources/extension-control-source.d.ts.map +1 -1
  411. package/dist/sources/extension-control-source.js +9 -3
  412. package/dist/sources/extension-control-source.js.map +1 -1
  413. package/dist/sources/extension-delegating-session.d.ts +19 -8
  414. package/dist/sources/extension-delegating-session.d.ts.map +1 -1
  415. package/dist/sources/extension-delegating-session.js +4 -0
  416. package/dist/sources/extension-delegating-session.js.map +1 -1
  417. package/dist/sources/extension-frame-runtime.d.ts +2 -1
  418. package/dist/sources/extension-frame-runtime.d.ts.map +1 -1
  419. package/dist/sources/extension-frame-runtime.js +37 -17
  420. package/dist/sources/extension-frame-runtime.js.map +1 -1
  421. package/dist/sources/extension-frame-snapshot.d.ts +31 -0
  422. package/dist/sources/extension-frame-snapshot.d.ts.map +1 -0
  423. package/dist/sources/extension-frame-snapshot.js +73 -0
  424. package/dist/sources/extension-frame-snapshot.js.map +1 -0
  425. package/dist/sources/extension-frame-state.d.ts +3 -17
  426. package/dist/sources/extension-frame-state.d.ts.map +1 -1
  427. package/dist/sources/extension-frame-state.js +5 -30
  428. package/dist/sources/extension-frame-state.js.map +1 -1
  429. package/dist/sources/extension-session-events.d.ts +5 -2
  430. package/dist/sources/extension-session-events.d.ts.map +1 -1
  431. package/dist/sources/extension-session-events.js +7 -4
  432. package/dist/sources/extension-session-events.js.map +1 -1
  433. package/dist/sources/extension-source.d.ts.map +1 -1
  434. package/dist/sources/extension-source.js +49 -23
  435. package/dist/sources/extension-source.js.map +1 -1
  436. package/dist/sources/extension-target-recovery.d.ts.map +1 -1
  437. package/dist/sources/extension-target-recovery.js +3 -6
  438. package/dist/sources/extension-target-recovery.js.map +1 -1
  439. package/dist/sources/types.d.ts +5 -0
  440. package/dist/sources/types.d.ts.map +1 -1
  441. package/dist/sources/types.js +0 -5
  442. package/dist/sources/types.js.map +1 -1
  443. package/dist/startWatcherRuntime.d.ts.map +1 -1
  444. package/dist/startWatcherRuntime.js +31 -134
  445. package/dist/startWatcherRuntime.js.map +1 -1
  446. package/dist/stickyController.d.ts +51 -0
  447. package/dist/stickyController.d.ts.map +1 -0
  448. package/dist/stickyController.js +64 -0
  449. package/dist/stickyController.js.map +1 -0
  450. package/dist/throttle/ThrottleController.d.ts +1 -0
  451. package/dist/throttle/ThrottleController.d.ts.map +1 -1
  452. package/dist/throttle/ThrottleController.js +20 -61
  453. package/dist/throttle/ThrottleController.js.map +1 -1
  454. package/dist/visibility/VisibilityController.d.ts +9 -12
  455. package/dist/visibility/VisibilityController.d.ts.map +1 -1
  456. package/dist/visibility/VisibilityController.js +28 -36
  457. package/dist/visibility/VisibilityController.js.map +1 -1
  458. package/package.json +6 -2
  459. package/dist/cdp/auth.d.ts.map +0 -1
  460. package/dist/cdp/auth.js +0 -349
  461. package/dist/cdp/auth.js.map +0 -1
  462. package/dist/cdp/dom/fill.d.ts +0 -23
  463. package/dist/cdp/dom/fill.d.ts.map +0 -1
  464. package/dist/cdp/dom/fill.js +0 -59
  465. package/dist/cdp/dom/fill.js.map +0 -1
  466. package/dist/cdp/dom/insert.d.ts +0 -19
  467. package/dist/cdp/dom/insert.d.ts.map +0 -1
  468. package/dist/cdp/dom/insert.js +0 -30
  469. package/dist/cdp/dom/insert.js.map +0 -1
  470. package/dist/cdp/dom/modify.d.ts +0 -50
  471. package/dist/cdp/dom/modify.d.ts.map +0 -1
  472. package/dist/cdp/dom/modify.js +0 -100
  473. package/dist/cdp/dom/modify.js.map +0 -1
  474. package/dist/cdp/dom/remove.d.ts +0 -17
  475. package/dist/cdp/dom/remove.d.ts.map +0 -1
  476. package/dist/cdp/dom/remove.js +0 -27
  477. package/dist/cdp/dom/remove.js.map +0 -1
  478. package/dist/cdp/dom/setFile.d.ts +0 -21
  479. package/dist/cdp/dom/setFile.d.ts.map +0 -1
  480. package/dist/cdp/dom/setFile.js +0 -25
  481. package/dist/cdp/dom/setFile.js.map +0 -1
  482. package/dist/cdp/dom/types.d.ts +0 -16
  483. package/dist/cdp/dom/types.d.ts.map +0 -1
  484. package/dist/cdp/dom/types.js +0 -2
  485. package/dist/cdp/dom/types.js.map +0 -1
  486. package/dist/sources/extension-log-events.d.ts +0 -15
  487. package/dist/sources/extension-log-events.d.ts.map +0 -1
  488. package/dist/sources/extension-log-events.js +0 -101
  489. package/dist/sources/extension-log-events.js.map +0 -1
@@ -0,0 +1,186 @@
1
+ import { compareCookieIdentity, cookieMatchesHost, getLikelySiteDomain, getOriginHost, isLikelyAuthCookieName, matchesCookieDomain, matchesCookieIdentity, normalizeCookieDomainFilter, } from '@vforsh/argus-core';
2
+ import { inspectPageState } from './authPageState.js';
3
+ import { normalizeSetCookieInput, toAuthCookie, toStateCookie } from './authCookieShapes.js';
4
+ /** Read cookies for the attached page and return a normalized auth response. */
5
+ export const inspectAuthCookies = async (session, options) => {
6
+ const { origin } = await inspectPageState(session);
7
+ const raw = await readRawCookies(session);
8
+ const cookies = raw.map((cookie) => toAuthCookie(toStateCookie(cookie), options.includeValues === true)).sort(compareCookieIdentity);
9
+ const normalizedDomain = normalizeCookieDomainFilter(options.domain);
10
+ return {
11
+ ok: true,
12
+ origin,
13
+ cookies: cookies.filter((cookie) => matchesCookieDomain(cookie.domain, normalizedDomain)),
14
+ };
15
+ };
16
+ /** Read a single cookie by exact identity from the current browser context. */
17
+ export const inspectAuthCookie = async (session, options) => {
18
+ const pageState = await inspectPageState(session);
19
+ const cookie = await findContextCookie(session, pageState, options, options.readBrowserCookies);
20
+ return {
21
+ ok: true,
22
+ origin: pageState.origin,
23
+ cookie: cookie ? toAuthCookie(cookie, options.includeValue === true) : null,
24
+ };
25
+ };
26
+ /** Upsert a cookie via CDP and return the stored metadata back to the caller. */
27
+ export const setAuthCookie = async (session, options) => {
28
+ const pageState = await inspectPageState(session);
29
+ const cookie = normalizeSetCookieInput(options.cookie);
30
+ const payload = await session.sendAndWait('Network.setCookie', {
31
+ name: cookie.name,
32
+ value: cookie.value,
33
+ domain: cookie.domain,
34
+ path: cookie.path,
35
+ secure: cookie.secure,
36
+ httpOnly: cookie.httpOnly,
37
+ sameSite: cookie.sameSite ?? undefined,
38
+ expires: cookie.session ? undefined : (cookie.expires ?? undefined),
39
+ }, { timeoutMs: 5_000 });
40
+ if (payload.success === false) {
41
+ throw new Error(`Chrome rejected cookie ${cookie.name}`);
42
+ }
43
+ const stored = await findContextCookie(session, pageState, cookie, options.readBrowserCookies);
44
+ return {
45
+ ok: true,
46
+ origin: pageState.origin,
47
+ cookie: toAuthCookie(stored ?? cookie, false),
48
+ };
49
+ };
50
+ /** Delete a cookie by exact identity from the current browser context. */
51
+ export const deleteAuthCookie = async (session, options) => {
52
+ const pageState = await inspectPageState(session);
53
+ const existing = await findContextCookie(session, pageState, options, options.readBrowserCookies);
54
+ if (!existing) {
55
+ return {
56
+ ok: true,
57
+ origin: pageState.origin,
58
+ deleted: false,
59
+ cookie: toCookieIdentity(options),
60
+ };
61
+ }
62
+ await deleteCookie(session, existing);
63
+ return {
64
+ ok: true,
65
+ origin: pageState.origin,
66
+ deleted: true,
67
+ cookie: toCookieIdentity(existing),
68
+ };
69
+ };
70
+ /** Delete cookies from the current browser context using an explicit scope + filter set. */
71
+ export const clearAuthCookies = async (session, options) => {
72
+ const pageState = await inspectPageState(session);
73
+ const cookies = await readStateCookies(session, options.readBrowserCookies, { url: pageState.url });
74
+ const matcher = createClearCookieMatcher(pageState, options);
75
+ const targets = cookies.filter((cookie) => matcher(cookie) && matchesCookieClearFilters(cookie, options));
76
+ for (const cookie of targets) {
77
+ await deleteCookie(session, cookie);
78
+ }
79
+ return {
80
+ ok: true,
81
+ origin: pageState.origin,
82
+ scope: options.scope,
83
+ scopeValue: resolveClearScopeValue(pageState, options),
84
+ sessionOnly: options.sessionOnly === true,
85
+ authOnly: options.authOnly === true,
86
+ cleared: targets.length,
87
+ cookies: targets.map((cookie) => toCookieIdentity(cookie)).sort(compareCookieIdentity),
88
+ };
89
+ };
90
+ /**
91
+ * Read every cookie visible to the attached context, merged and domain-filtered.
92
+ *
93
+ * Prefers the source's browser-scoped reader (the extension transport can see more than the page
94
+ * can) and merges in page-scoped cookies, keyed by identity so the browser copy wins.
95
+ */
96
+ export const readStateCookies = async (session, readBrowserCookiesFromSource, query) => {
97
+ const [browserCookies, pageCookies] = await Promise.all([
98
+ readBrowserCookiesFromSource ? readBrowserCookiesFromSource(query) : readBrowserCookiesFromSession(session),
99
+ readRawCookies(session),
100
+ ]);
101
+ return mergeStateCookies(browserCookies, pageCookies.map(toStateCookie))
102
+ .filter((cookie) => matchesCookieDomain(cookie.domain, query.domain ?? null))
103
+ .sort(compareCookieIdentity);
104
+ };
105
+ const findContextCookie = async (session, pageState, identity, readBrowserCookiesFromSource) => {
106
+ const cookies = await readStateCookies(session, readBrowserCookiesFromSource, { url: pageState.url });
107
+ return cookies.find((cookie) => matchesCookieIdentity(cookie, identity)) ?? null;
108
+ };
109
+ const deleteCookie = async (session, cookie) => {
110
+ await session.sendAndWait('Network.deleteCookies', { name: cookie.name, domain: cookie.domain, path: cookie.path }, { timeoutMs: 5_000 });
111
+ };
112
+ const readRawCookies = async (session) => {
113
+ const payload = await session.sendAndWait('Network.getCookies', {}, { timeoutMs: 5000 });
114
+ return payload.cookies ?? [];
115
+ };
116
+ const readBrowserCookiesFromSession = async (session) => {
117
+ try {
118
+ const payload = await session.sendAndWait('Storage.getCookies', {}, { timeoutMs: 5000 });
119
+ return (payload.cookies ?? []).map(toStateCookie);
120
+ }
121
+ catch {
122
+ // Older/partial CDP targets may not expose Storage.getCookies. Fall back to page-scoped cookies.
123
+ return (await readRawCookies(session)).map(toStateCookie);
124
+ }
125
+ };
126
+ const mergeStateCookies = (...groups) => {
127
+ const merged = new Map();
128
+ for (const group of groups) {
129
+ for (const cookie of group) {
130
+ merged.set(serializeCookieIdentity(cookie), cookie);
131
+ }
132
+ }
133
+ return Array.from(merged.values());
134
+ };
135
+ const toCookieIdentity = (cookie) => ({
136
+ name: cookie.name ?? '',
137
+ domain: cookie.domain ?? '',
138
+ path: cookie.path ?? '/',
139
+ });
140
+ const serializeCookieIdentity = (cookie) => `${normalizeCookieDomainFilter(cookie.domain ?? '') ?? ''}\t${cookie.path ?? '/'}\t${cookie.name ?? ''}`;
141
+ const createClearCookieMatcher = (pageState, options) => {
142
+ switch (options.scope) {
143
+ case 'browserContext':
144
+ return () => true;
145
+ case 'domain': {
146
+ const normalizedDomain = normalizeCookieDomainFilter(options.domain);
147
+ return (cookie) => matchesCookieDomain(cookie.domain, normalizedDomain);
148
+ }
149
+ case 'site': {
150
+ const siteDomain = getLikelySiteDomain(pageState.origin);
151
+ if (!siteDomain) {
152
+ throw new Error(`Cannot determine site domain from ${pageState.origin}`);
153
+ }
154
+ return (cookie) => matchesCookieDomain(cookie.domain, siteDomain);
155
+ }
156
+ case 'origin': {
157
+ const host = getOriginHost(pageState.origin);
158
+ if (!host) {
159
+ throw new Error(`Cannot determine origin host from ${pageState.origin}`);
160
+ }
161
+ return (cookie) => cookieMatchesHost(cookie.domain, host);
162
+ }
163
+ }
164
+ };
165
+ const matchesCookieClearFilters = (cookie, options) => {
166
+ if (options.sessionOnly && !cookie.session) {
167
+ return false;
168
+ }
169
+ if (options.authOnly && !isLikelyAuthCookieName(cookie.name)) {
170
+ return false;
171
+ }
172
+ return true;
173
+ };
174
+ const resolveClearScopeValue = (pageState, options) => {
175
+ switch (options.scope) {
176
+ case 'browserContext':
177
+ return null;
178
+ case 'domain':
179
+ return normalizeCookieDomainFilter(options.domain);
180
+ case 'site':
181
+ return getLikelySiteDomain(pageState.origin);
182
+ case 'origin':
183
+ return getOriginHost(pageState.origin);
184
+ }
185
+ };
186
+ //# sourceMappingURL=authCookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authCookies.js","sourceRoot":"","sources":["../../src/cdp/authCookies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { CdpSessionHandle } from './connection.js';
2
+ type RawStorageEntry = {
3
+ name?: string;
4
+ value?: string;
5
+ };
6
+ /** One read of everything the auth commands need from the live page. */
7
+ export type PageState = {
8
+ url: string;
9
+ origin: string;
10
+ title: string | null;
11
+ localStorage: RawStorageEntry[];
12
+ sessionStorage: RawStorageEntry[];
13
+ };
14
+ /**
15
+ * Read the page's URL, origin, title, and web storage in one evaluation.
16
+ *
17
+ * Shared by cookie CRUD and auth-state export: the CRUD side needs the live origin so `--for-origin`
18
+ * filtering can tell first-party cookies from cross-site noise without duplicating URL resolution,
19
+ * and the snapshot side needs the storage as well.
20
+ */
21
+ export declare const inspectPageState: (session: CdpSessionHandle) => Promise<PageState>;
22
+ /** Project raw web-storage entries onto the snapshot shape, dropping malformed ones. */
23
+ export declare const normalizeStorageEntries: (entries: RawStorageEntry[]) => Array<{
24
+ name: string;
25
+ value: string;
26
+ }>;
27
+ export {};
28
+ //# sourceMappingURL=authPageState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authPageState.d.ts","sourceRoot":"","sources":["../../src/cdp/authPageState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,KAAK,eAAe,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAUD,wEAAwE;AACxE,MAAM,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,cAAc,EAAE,eAAe,EAAE,CAAA;CACjC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,SAAS,CAmCnF,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,GAAI,SAAS,eAAe,EAAE,KAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMrG,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { evaluateInPage } from './pageState.js';
2
+ /**
3
+ * Read the page's URL, origin, title, and web storage in one evaluation.
4
+ *
5
+ * Shared by cookie CRUD and auth-state export: the CRUD side needs the live origin so `--for-origin`
6
+ * filtering can tell first-party cookies from cross-site noise without duplicating URL resolution,
7
+ * and the snapshot side needs the storage as well.
8
+ */
9
+ export const inspectPageState = async (session) => {
10
+ const state = await evaluateInPage(session, `(() => {
11
+ try {
12
+ const url = String(location.href)
13
+ const origin = new URL(url).origin
14
+ const collectStorage = (storage) => {
15
+ const entries = []
16
+ for (let index = 0; index < storage.length; index++) {
17
+ const key = storage.key(index)
18
+ if (key == null) {
19
+ continue
20
+ }
21
+ entries.push({ name: key, value: storage.getItem(key) ?? '' })
22
+ }
23
+ entries.sort((left, right) => left.name.localeCompare(right.name))
24
+ return entries
25
+ }
26
+
27
+ return {
28
+ url,
29
+ origin,
30
+ title: typeof document.title === 'string' && document.title.trim() ? document.title.trim() : null,
31
+ localStorage: collectStorage(localStorage),
32
+ sessionStorage: collectStorage(sessionStorage),
33
+ }
34
+ } catch {
35
+ throw new Error('Cannot determine origin: page is on a non-http URL (e.g., about:blank)')
36
+ }
37
+ })()`, { timeoutMs: 5000, failureMessage: 'Failed to inspect page auth state' });
38
+ return normalizePageState(state);
39
+ };
40
+ /** Project raw web-storage entries onto the snapshot shape, dropping malformed ones. */
41
+ export const normalizeStorageEntries = (entries) => entries
42
+ .filter((entry) => typeof entry?.name === 'string')
43
+ .map((entry) => ({
44
+ name: entry.name ?? '',
45
+ value: typeof entry.value === 'string' ? entry.value : '',
46
+ }));
47
+ const normalizePageState = (value) => {
48
+ const snapshot = typeof value === 'object' && value ? value : {};
49
+ const url = typeof snapshot.url === 'string' ? snapshot.url : '';
50
+ const origin = typeof snapshot.origin === 'string' ? snapshot.origin : '';
51
+ if (!url || !origin) {
52
+ throw new Error('Failed to inspect page auth state');
53
+ }
54
+ return {
55
+ url,
56
+ origin,
57
+ title: typeof snapshot.title === 'string' && snapshot.title.trim() ? snapshot.title : null,
58
+ localStorage: Array.isArray(snapshot.localStorage) ? snapshot.localStorage : [],
59
+ sessionStorage: Array.isArray(snapshot.sessionStorage) ? snapshot.sessionStorage : [],
60
+ };
61
+ };
62
+ //# sourceMappingURL=authPageState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authPageState.js","sourceRoot":"","sources":["../../src/cdp/authPageState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAyB/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAyB,EAAsB,EAAE;IACvF,MAAM,KAAK,GAAG,MAAM,cAAc,CACjC,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2BM,EACN,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,mCAAmC,EAAE,CACxE,CAAA;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAA0B,EAA0C,EAAE,CAC7G,OAAO;KACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC;KAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;IACtB,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;CACzD,CAAC,CAAC,CAAA;AAEL,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAa,EAAE;IACxD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAE,KAA0B,CAAC,CAAC,CAAC,EAAE,CAAA;IACtF,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAChE,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzE,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACrD,CAAC;IAED,OAAO;QACN,GAAG;QACH,MAAM;QACN,KAAK,EAAE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC1F,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QAC/E,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;KACrF,CAAA;AACF,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { type AuthStateSnapshot } from '@vforsh/argus-core';
2
+ import type { CdpSessionHandle } from './connection.js';
3
+ import { type BrowserCookieReader } from './authCookies.js';
4
+ /** Provenance recorded on an exported snapshot. */
5
+ export type SnapshotMetadataInput = {
6
+ exportedAt: string;
7
+ watcherId: string;
8
+ watcherSource: 'cdp' | 'extension' | null;
9
+ };
10
+ /** Read a portable auth-state snapshot for the attached page. */
11
+ export declare const inspectAuthState: (session: CdpSessionHandle, options: {
12
+ domain?: string;
13
+ readBrowserCookies?: BrowserCookieReader;
14
+ metadata: SnapshotMetadataInput;
15
+ }) => Promise<AuthStateSnapshot>;
16
+ //# sourceMappingURL=authSnapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authSnapshot.d.ts","sourceRoot":"","sources":["../../src/cdp/authSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,KAAK,iBAAiB,EAEtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE7E,mDAAmD;AACnD,MAAM,MAAM,qBAAqB,GAAG;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,KAAK,GAAG,WAAW,GAAG,IAAI,CAAA;CACzC,CAAA;AAED,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,GAC5B,SAAS,gBAAgB,EACzB,SAAS;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,qBAAqB,CAAA;CAAE,KACrG,OAAO,CAAC,iBAAiB,CAuB3B,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { AUTH_STATE_METADATA_SCHEMA_VERSION, getLikelySiteDomain, isLikelyAuthCookieName, normalizeCookieDomainFilter, } from '@vforsh/argus-core';
2
+ import { inspectPageState, normalizeStorageEntries } from './authPageState.js';
3
+ import { readStateCookies } from './authCookies.js';
4
+ /** Read a portable auth-state snapshot for the attached page. */
5
+ export const inspectAuthState = async (session, options) => {
6
+ const pageState = await inspectPageState(session);
7
+ const siteDomain = getLikelySiteDomain(pageState.origin);
8
+ const normalizedDomain = normalizeCookieDomainFilter(options.domain) ?? siteDomain;
9
+ const cookies = await readStateCookies(session, options.readBrowserCookies, {
10
+ domain: normalizedDomain,
11
+ url: pageState.url,
12
+ });
13
+ return {
14
+ ok: true,
15
+ url: pageState.url,
16
+ origin: pageState.origin,
17
+ cookies,
18
+ origins: [
19
+ {
20
+ origin: pageState.origin,
21
+ localStorage: normalizeStorageEntries(pageState.localStorage),
22
+ sessionStorage: normalizeStorageEntries(pageState.sessionStorage),
23
+ },
24
+ ],
25
+ metadata: buildSnapshotMetadata(pageState, cookies, siteDomain, options.metadata),
26
+ };
27
+ };
28
+ const buildSnapshotMetadata = (pageState, cookies, siteDomain, input) => ({
29
+ schemaVersion: AUTH_STATE_METADATA_SCHEMA_VERSION,
30
+ exportedAt: input.exportedAt,
31
+ source: {
32
+ watcherId: input.watcherId,
33
+ watcherSource: input.watcherSource,
34
+ },
35
+ page: {
36
+ title: pageState.title,
37
+ siteDomain,
38
+ },
39
+ capture: {
40
+ cookieCount: cookies.length,
41
+ },
42
+ authHints: {
43
+ authCookieNames: Array.from(new Set(cookies.map((cookie) => cookie.name).filter(isLikelyAuthCookieName))).sort((a, b) => a.localeCompare(b)),
44
+ },
45
+ recommendedStartupUrl: pageState.url,
46
+ });
47
+ //# sourceMappingURL=authSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authSnapshot.js","sourceRoot":"","sources":["../../src/cdp/authSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kCAAkC,EAClC,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,GAI3B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAkB,MAAM,oBAAoB,CAAA;AAC9F,OAAO,EAAE,gBAAgB,EAA4B,MAAM,kBAAkB,CAAA;AAS7E,iEAAiE;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACpC,OAAyB,EACzB,OAAuG,EAC1E,EAAE;IAC/B,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAA;IAClF,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAC3E,MAAM,EAAE,gBAAgB;QACxB,GAAG,EAAE,SAAS,CAAC,GAAG;KAClB,CAAC,CAAA;IAEF,OAAO;QACN,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,OAAO;QACP,OAAO,EAAE;YACR;gBACC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,YAAY,EAAE,uBAAuB,CAAC,SAAS,CAAC,YAAY,CAAC;gBAC7D,cAAc,EAAE,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC;aACjE;SACD;QACD,QAAQ,EAAE,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;KACjF,CAAA;AACF,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAC7B,SAAsD,EACtD,OAA0B,EAC1B,UAAyB,EACzB,KAA4B,EACA,EAAE,CAAC,CAAC;IAChC,aAAa,EAAE,kCAAkC;IACjD,UAAU,EAAE,KAAK,CAAC,UAAU;IAC5B,MAAM,EAAE;QACP,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;KAClC;IACD,IAAI,EAAE;QACL,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,UAAU;KACV;IACD,OAAO,EAAE;QACR,WAAW,EAAE,OAAO,CAAC,MAAM;KAC3B;IACD,SAAS,EAAE;QACV,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;KAC5I;IACD,qBAAqB,EAAE,SAAS,CAAC,GAAG;CACpC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"browserCookies.d.ts","sourceRoot":"","sources":["../../src/cdp/browserCookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAkC/D;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,QAAQ,aAAa,EAAE,aAAa,MAAM,MAAM,GAAG,IAAI,MACjD,OAAO,oBAAoB,KAAG,OAAO,CAAC,eAAe,EAAE,CAc7D,CAAA"}
1
+ {"version":3,"file":"browserCookies.d.ts","sourceRoot":"","sources":["../../src/cdp/browserCookies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAuB/D;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,QAAQ,aAAa,EAAE,aAAa,MAAM,MAAM,GAAG,IAAI,MACjD,OAAO,oBAAoB,KAAG,OAAO,CAAC,eAAe,EAAE,CAmB7D,CAAA"}
@@ -1,7 +1,5 @@
1
1
  import { matchesCookieDomain, normalizeCookieDomainFilter } from '@vforsh/argus-core';
2
- const TARGET_INFO_REQUEST_ID = 1;
3
- const STORAGE_GET_COOKIES_REQUEST_ID = 2;
4
- const STORAGE_GET_COOKIES_FALLBACK_REQUEST_ID = 3;
2
+ import { openCdpConnection } from './connection.js';
5
3
  /**
6
4
  * Browser-target cookies are the only reliable way to capture sibling subdomain auth in CDP mode.
7
5
  * Page-target `Network.getCookies` only sees the current document's request scope.
@@ -14,10 +12,16 @@ export const createCdpBrowserCookieReader = (chrome, getTargetId) => async (quer
14
12
  if (!wsUrl) {
15
13
  throw new Error(`Chrome browser websocket missing at ${host}:${port}`);
16
14
  }
17
- const browserContextId = await readTargetBrowserContextId(wsUrl, getTargetId());
18
- const payload = await readBrowserCookiesPayload(wsUrl, browserContextId);
19
- const normalizedDomain = normalizeCookieDomainFilter(query.domain ?? null);
20
- return (payload.cookies ?? []).map(normalizeBrowserCookie).filter((cookie) => matchesCookieDomain(cookie.domain, normalizedDomain));
15
+ const connection = await openCdpConnection(wsUrl);
16
+ try {
17
+ const browserContextId = await readTargetBrowserContextId(connection, getTargetId());
18
+ const payload = await readBrowserCookiesPayload(connection, browserContextId);
19
+ const normalizedDomain = normalizeCookieDomainFilter(query.domain ?? null);
20
+ return (payload.cookies ?? []).map(normalizeBrowserCookie).filter((cookie) => matchesCookieDomain(cookie.domain, normalizedDomain));
21
+ }
22
+ finally {
23
+ connection.close();
24
+ }
21
25
  };
22
26
  const fetchChromeVersion = async (host, port) => {
23
27
  const response = await fetch(`http://${host}:${port}/json/version`, {
@@ -39,122 +43,25 @@ const normalizeBrowserCookie = (cookie) => ({
39
43
  expires: typeof cookie.expires === 'number' && Number.isFinite(cookie.expires) ? cookie.expires : null,
40
44
  sameSite: cookie.sameSite ?? null,
41
45
  });
42
- const readTargetBrowserContextId = async (wsUrl, targetId) => {
46
+ const readTargetBrowserContextId = async (connection, targetId) => {
43
47
  if (!targetId) {
44
48
  return null;
45
49
  }
46
- const response = await sendBrowserCommand(wsUrl, {
47
- id: TARGET_INFO_REQUEST_ID,
48
- method: 'Target.getTargetInfo',
49
- params: { targetId },
50
- });
50
+ const response = await connection.sendAndWait('Target.getTargetInfo', { targetId }, { timeoutMs: 5_000 });
51
51
  return response.targetInfo?.browserContextId ?? null;
52
52
  };
53
- const readBrowserCookiesPayload = async (wsUrl, browserContextId) => {
53
+ const readBrowserCookiesPayload = async (connection, browserContextId) => {
54
+ const options = { timeoutMs: 5_000 };
54
55
  try {
55
- return await sendBrowserCommand(wsUrl, {
56
- id: STORAGE_GET_COOKIES_REQUEST_ID,
57
- method: 'Storage.getCookies',
58
- params: browserContextId ? { browserContextId } : undefined,
59
- });
56
+ return await connection.sendAndWait('Storage.getCookies', browserContextId ? { browserContextId } : {}, options);
60
57
  }
61
58
  catch (error) {
62
59
  if (!browserContextId || !isMissingBrowserContextError(error)) {
63
60
  throw error;
64
61
  }
65
- return await sendBrowserCommand(wsUrl, {
66
- id: STORAGE_GET_COOKIES_FALLBACK_REQUEST_ID,
67
- method: 'Storage.getCookies',
68
- });
62
+ // Chrome drops the context between our two calls when the target closes mid-read.
63
+ return await connection.sendAndWait('Storage.getCookies', {}, options);
69
64
  }
70
65
  };
71
66
  const isMissingBrowserContextError = (error) => error instanceof Error && /browser context/i.test(error.message);
72
- const sendBrowserCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
73
- const WebSocketConstructor = getWebSocketCtor();
74
- if (!WebSocketConstructor) {
75
- throw new Error('WebSocket unavailable. Node 18+ required.');
76
- }
77
- const ws = new WebSocketConstructor(wsUrl);
78
- return await new Promise((resolve, reject) => {
79
- let settled = false;
80
- const timer = setTimeout(() => finish(undefined, new Error(`CDP command timed out after ${timeoutMs}ms`)), timeoutMs);
81
- const cleanup = () => {
82
- clearTimeout(timer);
83
- ws.removeEventListener?.('open', onOpen);
84
- ws.removeEventListener?.('message', onMessage);
85
- ws.removeEventListener?.('error', onError);
86
- ws.removeEventListener?.('close', onClose);
87
- };
88
- const finish = (result, error) => {
89
- if (settled) {
90
- return;
91
- }
92
- settled = true;
93
- cleanup();
94
- try {
95
- ws.close();
96
- }
97
- catch { }
98
- if (error) {
99
- reject(error);
100
- return;
101
- }
102
- resolve(result);
103
- };
104
- const onOpen = () => {
105
- try {
106
- ws.send(JSON.stringify(payload));
107
- }
108
- catch (error) {
109
- finish(undefined, error instanceof Error ? error : new Error(String(error)));
110
- }
111
- };
112
- const onMessage = (event) => {
113
- const text = toMessageText(event.data);
114
- if (!text) {
115
- return;
116
- }
117
- try {
118
- const message = JSON.parse(text);
119
- if (message.id !== payload.id) {
120
- return;
121
- }
122
- if (message.error?.message) {
123
- finish(undefined, new Error(message.error.message));
124
- return;
125
- }
126
- finish(message.result);
127
- }
128
- catch (error) {
129
- finish(undefined, error instanceof Error ? error : new Error(String(error)));
130
- }
131
- };
132
- const onError = () => {
133
- finish(undefined, new Error('WebSocket error'));
134
- };
135
- const onClose = () => {
136
- finish(undefined, new Error('WebSocket closed before response'));
137
- };
138
- ws.addEventListener('open', onOpen);
139
- ws.addEventListener('message', onMessage);
140
- ws.addEventListener('error', onError);
141
- ws.addEventListener('close', onClose);
142
- });
143
- };
144
- const getWebSocketCtor = () => {
145
- const ctor = globalThis.WebSocket;
146
- return ctor ?? null;
147
- };
148
- const toMessageText = (data) => {
149
- if (typeof data === 'string') {
150
- return data;
151
- }
152
- if (data instanceof ArrayBuffer) {
153
- return Buffer.from(data).toString('utf8');
154
- }
155
- if (Buffer.isBuffer(data)) {
156
- return data.toString('utf8');
157
- }
158
- return null;
159
- };
160
67
  //# sourceMappingURL=browserCookies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browserCookies.js","sourceRoot":"","sources":["../../src/cdp/browserCookies.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AA+BrF,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAChC,MAAM,8BAA8B,GAAG,CAAC,CAAA;AACxC,MAAM,uCAAuC,GAAG,CAAC,CAAA;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACxC,CAAC,MAAqB,EAAE,WAAgC,EAAE,EAAE,CAC5D,KAAK,EAAE,KAA2B,EAA8B,EAAE;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAA;IAChC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAA;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACxE,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;IAE1E,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;AACpI,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,IAAY,EAAE,IAAY,EAAkC,EAAE;IAC/F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,eAAe,EAAE;QACnE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;KAClC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,MAAwB,EAAmB,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;IACvB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;IAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;IAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI;IAChC,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;IACtG,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;CACjC,CAAC,CAAA;AAEF,MAAM,0BAA0B,GAAG,KAAK,EAAE,KAAa,EAAE,QAAuB,EAA0B,EAAE;IAC3G,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAiD,KAAK,EAAE;QAChG,EAAE,EAAE,sBAAsB;QAC1B,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,EAAE,QAAQ,EAAE;KACpB,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAC,UAAU,EAAE,gBAAgB,IAAI,IAAI,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,KAAK,EAAE,KAAa,EAAE,gBAA+B,EAAiC,EAAE;IACzH,IAAI,CAAC;QACJ,OAAO,MAAM,kBAAkB,CAAuB,KAAK,EAAE;YAC5D,EAAE,EAAE,8BAA8B;YAClC,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,CAAA;QACZ,CAAC;QAED,OAAO,MAAM,kBAAkB,CAAuB,KAAK,EAAE;YAC5D,EAAE,EAAE,uCAAuC;YAC3C,MAAM,EAAE,oBAAoB;SAC5B,CAAC,CAAA;IACH,CAAC;AACF,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,YAAY,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAElI,MAAM,kBAAkB,GAAG,KAAK,EAC/B,KAAa,EACb,OAIC,EACD,SAAS,GAAG,KAAK,EACJ,EAAE;IACf,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAA;IAC/C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAE1C,OAAO,MAAM,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/C,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,+BAA+B,SAAS,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QAErH,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,EAAE,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACxC,EAAE,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YAC9C,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1C,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,CAAC,MAAU,EAAE,KAAa,EAAQ,EAAE;YAClD,IAAI,OAAO,EAAE,CAAC;gBACb,OAAM;YACP,CAAC;YACD,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,EAAE,CAAA;YACT,IAAI,CAAC;gBACJ,EAAE,CAAC,KAAK,EAAE,CAAA;YACX,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACV,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,CAAA;gBACb,OAAM;YACP,CAAC;YACD,OAAO,CAAC,MAAW,CAAC,CAAA;QACrB,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,GAAS,EAAE;YACzB,IAAI,CAAC;gBACJ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC7E,CAAC;QACF,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAQ,EAAE;YACrD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAM;YACP,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA8D,CAAA;gBAC7F,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;oBAC/B,OAAM;gBACP,CAAC;gBACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC5B,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;oBACnD,OAAM;gBACP,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,MAAW,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC7E,CAAC;QACF,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,GAAS,EAAE;YAC1B,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAA;QACjE,CAAC,CAAA;QAED,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACzC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACrC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,GAAyB,EAAE;IACnD,MAAM,IAAI,GAAI,UAA4C,CAAC,SAAS,CAAA;IACpE,OAAO,IAAI,IAAI,IAAI,CAAA;AACpB,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,IAAa,EAAiB,EAAE;IACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"browserCookies.js","sourceRoot":"","sources":["../../src/cdp/browserCookies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Narrowing helpers for CDP event payloads.
3
+ *
4
+ * Every field on a `Network.*` payload is optional and untyped at runtime, so both capture modules
5
+ * had grown identical private copies of these two. Keeping one pair means the two capture paths
6
+ * cannot disagree about what "absent" looks like on the wire.
7
+ */
8
+ /** A finite number, or `null` for anything else (absent, `NaN`, a string). */
9
+ export declare const pickNumber: (value: unknown) => number | null;
10
+ /** A non-empty trimmed string, or `null`. Chrome sends `''` for fields it has no value for. */
11
+ export declare const normalizeString: (value: unknown) => string | null;
12
+ //# sourceMappingURL=cdpValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdpValues.d.ts","sourceRoot":"","sources":["../../src/cdp/cdpValues.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,IAA4E,CAAA;AAEjI,+FAA+F;AAC/F,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,IAMzD,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Narrowing helpers for CDP event payloads.
3
+ *
4
+ * Every field on a `Network.*` payload is optional and untyped at runtime, so both capture modules
5
+ * had grown identical private copies of these two. Keeping one pair means the two capture paths
6
+ * cannot disagree about what "absent" looks like on the wire.
7
+ */
8
+ /** A finite number, or `null` for anything else (absent, `NaN`, a string). */
9
+ export const pickNumber = (value) => (typeof value === 'number' && Number.isFinite(value) ? value : null);
10
+ /** A non-empty trimmed string, or `null`. Chrome sends `''` for fields it has no value for. */
11
+ export const normalizeString = (value) => {
12
+ if (typeof value !== 'string') {
13
+ return null;
14
+ }
15
+ const trimmed = value.trim();
16
+ return trimmed || null;
17
+ };
18
+ //# sourceMappingURL=cdpValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdpValues.js","sourceRoot":"","sources":["../../src/cdp/cdpValues.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAiB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAEjI,+FAA+F;AAC/F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAiB,EAAE;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,OAAO,OAAO,IAAI,IAAI,CAAA;AACvB,CAAC,CAAA"}