@vforsh/argus-watcher 0.1.1 → 0.1.3

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 (327) hide show
  1. package/README.md +66 -14
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/artifacts.d.ts +13 -0
  4. package/dist/artifacts.d.ts.map +1 -0
  5. package/dist/artifacts.js +27 -0
  6. package/dist/artifacts.js.map +1 -0
  7. package/dist/buffer/LogBuffer.d.ts +8 -3
  8. package/dist/buffer/LogBuffer.d.ts.map +1 -1
  9. package/dist/buffer/LogBuffer.js +9 -1
  10. package/dist/buffer/LogBuffer.js.map +1 -1
  11. package/dist/buffer/NetBuffer.d.ts +29 -0
  12. package/dist/buffer/NetBuffer.d.ts.map +1 -0
  13. package/dist/buffer/NetBuffer.js +85 -0
  14. package/dist/buffer/NetBuffer.js.map +1 -0
  15. package/dist/cdp/accessibility.d.ts +18 -0
  16. package/dist/cdp/accessibility.d.ts.map +1 -0
  17. package/dist/cdp/accessibility.js +300 -0
  18. package/dist/cdp/accessibility.js.map +1 -0
  19. package/dist/cdp/connection.d.ts +24 -0
  20. package/dist/cdp/connection.d.ts.map +1 -0
  21. package/dist/cdp/connection.js +131 -0
  22. package/dist/cdp/connection.js.map +1 -0
  23. package/dist/cdp/dom/fill.d.ts +22 -0
  24. package/dist/cdp/dom/fill.d.ts.map +1 -0
  25. package/dist/cdp/dom/fill.js +59 -0
  26. package/dist/cdp/dom/fill.js.map +1 -0
  27. package/dist/cdp/dom/info.d.ts +14 -0
  28. package/dist/cdp/dom/info.d.ts.map +1 -0
  29. package/dist/cdp/dom/info.js +52 -0
  30. package/dist/cdp/dom/info.js.map +1 -0
  31. package/dist/cdp/dom/insert.d.ts +19 -0
  32. package/dist/cdp/dom/insert.d.ts.map +1 -0
  33. package/dist/cdp/dom/insert.js +30 -0
  34. package/dist/cdp/dom/insert.js.map +1 -0
  35. package/dist/cdp/dom/modify.d.ts +50 -0
  36. package/dist/cdp/dom/modify.d.ts.map +1 -0
  37. package/dist/cdp/dom/modify.js +100 -0
  38. package/dist/cdp/dom/modify.js.map +1 -0
  39. package/dist/cdp/dom/remove.d.ts +17 -0
  40. package/dist/cdp/dom/remove.d.ts.map +1 -0
  41. package/dist/cdp/dom/remove.js +27 -0
  42. package/dist/cdp/dom/remove.js.map +1 -0
  43. package/dist/cdp/dom/selector.d.ts +19 -0
  44. package/dist/cdp/dom/selector.d.ts.map +1 -0
  45. package/dist/cdp/dom/selector.js +64 -0
  46. package/dist/cdp/dom/selector.js.map +1 -0
  47. package/dist/cdp/dom/setFile.d.ts +21 -0
  48. package/dist/cdp/dom/setFile.d.ts.map +1 -0
  49. package/dist/cdp/dom/setFile.js +82 -0
  50. package/dist/cdp/dom/setFile.js.map +1 -0
  51. package/dist/cdp/dom/submit.d.ts +15 -0
  52. package/dist/cdp/dom/submit.d.ts.map +1 -0
  53. package/dist/cdp/dom/submit.js +130 -0
  54. package/dist/cdp/dom/submit.js.map +1 -0
  55. package/dist/cdp/dom/tree.d.ts +16 -0
  56. package/dist/cdp/dom/tree.d.ts.map +1 -0
  57. package/dist/cdp/dom/tree.js +100 -0
  58. package/dist/cdp/dom/tree.js.map +1 -0
  59. package/dist/cdp/dom/types.d.ts +16 -0
  60. package/dist/cdp/dom/types.d.ts.map +1 -0
  61. package/dist/cdp/dom/types.js +2 -0
  62. package/dist/cdp/dom/types.js.map +1 -0
  63. package/dist/cdp/dom.d.ts +17 -0
  64. package/dist/cdp/dom.d.ts.map +1 -0
  65. package/dist/cdp/dom.js +10 -0
  66. package/dist/cdp/dom.js.map +1 -0
  67. package/dist/cdp/emulation.d.ts +16 -0
  68. package/dist/cdp/emulation.d.ts.map +1 -0
  69. package/dist/cdp/emulation.js +40 -0
  70. package/dist/cdp/emulation.js.map +1 -0
  71. package/dist/cdp/eval.d.ts +10 -0
  72. package/dist/cdp/eval.d.ts.map +1 -0
  73. package/dist/cdp/eval.js +34 -0
  74. package/dist/cdp/eval.js.map +1 -0
  75. package/dist/cdp/keyboard.d.ts +38 -0
  76. package/dist/cdp/keyboard.d.ts.map +1 -0
  77. package/dist/cdp/keyboard.js +148 -0
  78. package/dist/cdp/keyboard.js.map +1 -0
  79. package/dist/cdp/mouse.d.ts +49 -0
  80. package/dist/cdp/mouse.d.ts.map +1 -0
  81. package/dist/cdp/mouse.js +199 -0
  82. package/dist/cdp/mouse.js.map +1 -0
  83. package/dist/cdp/networkCapture.d.ts +11 -0
  84. package/dist/cdp/networkCapture.d.ts.map +1 -0
  85. package/dist/cdp/networkCapture.js +99 -0
  86. package/dist/cdp/networkCapture.js.map +1 -0
  87. package/dist/cdp/pageIndicator.d.ts +41 -0
  88. package/dist/cdp/pageIndicator.d.ts.map +1 -0
  89. package/dist/cdp/pageIndicator.js +395 -0
  90. package/dist/cdp/pageIndicator.js.map +1 -0
  91. package/dist/cdp/redaction.d.ts +3 -0
  92. package/dist/cdp/redaction.d.ts.map +1 -0
  93. package/dist/cdp/redaction.js +35 -0
  94. package/dist/cdp/redaction.js.map +1 -0
  95. package/dist/cdp/remoteObject.d.ts +6 -0
  96. package/dist/cdp/remoteObject.d.ts.map +1 -0
  97. package/dist/cdp/remoteObject.js +94 -0
  98. package/dist/cdp/remoteObject.js.map +1 -0
  99. package/dist/cdp/screenshot.d.ts +10 -0
  100. package/dist/cdp/screenshot.d.ts.map +1 -0
  101. package/dist/cdp/screenshot.js +87 -0
  102. package/dist/cdp/screenshot.js.map +1 -0
  103. package/dist/cdp/storageLocal.d.ts +8 -0
  104. package/dist/cdp/storageLocal.d.ts.map +1 -0
  105. package/dist/cdp/storageLocal.js +70 -0
  106. package/dist/cdp/storageLocal.js.map +1 -0
  107. package/dist/cdp/text-filter.d.ts +19 -0
  108. package/dist/cdp/text-filter.d.ts.map +1 -0
  109. package/dist/cdp/text-filter.js +54 -0
  110. package/dist/cdp/text-filter.js.map +1 -0
  111. package/dist/cdp/throttle.d.ts +6 -0
  112. package/dist/cdp/throttle.d.ts.map +1 -0
  113. package/dist/cdp/throttle.js +9 -0
  114. package/dist/cdp/throttle.js.map +1 -0
  115. package/dist/cdp/tracing.d.ts +14 -0
  116. package/dist/cdp/tracing.d.ts.map +1 -0
  117. package/dist/cdp/tracing.js +115 -0
  118. package/dist/cdp/tracing.js.map +1 -0
  119. package/dist/cdp/watcher.d.ts +17 -2
  120. package/dist/cdp/watcher.d.ts.map +1 -1
  121. package/dist/cdp/watcher.js +125 -99
  122. package/dist/cdp/watcher.js.map +1 -1
  123. package/dist/emulation/EmulationController.d.ts +12 -0
  124. package/dist/emulation/EmulationController.d.ts.map +1 -0
  125. package/dist/emulation/EmulationController.js +83 -0
  126. package/dist/emulation/EmulationController.js.map +1 -0
  127. package/dist/events.d.ts +86 -0
  128. package/dist/events.d.ts.map +1 -0
  129. package/dist/events.js +2 -0
  130. package/dist/events.js.map +1 -0
  131. package/dist/fileLogs/WatcherFileLogger.d.ts +5 -2
  132. package/dist/fileLogs/WatcherFileLogger.d.ts.map +1 -1
  133. package/dist/fileLogs/WatcherFileLogger.js +30 -12
  134. package/dist/fileLogs/WatcherFileLogger.js.map +1 -1
  135. package/dist/http/httpUtils.d.ts +25 -0
  136. package/dist/http/httpUtils.d.ts.map +1 -0
  137. package/dist/http/httpUtils.js +170 -0
  138. package/dist/http/httpUtils.js.map +1 -0
  139. package/dist/http/router.d.ts +5 -0
  140. package/dist/http/router.d.ts.map +1 -0
  141. package/dist/http/router.js +81 -0
  142. package/dist/http/router.js.map +1 -0
  143. package/dist/http/routes/getEmulation.d.ts +3 -0
  144. package/dist/http/routes/getEmulation.d.ts.map +1 -0
  145. package/dist/http/routes/getEmulation.js +8 -0
  146. package/dist/http/routes/getEmulation.js.map +1 -0
  147. package/dist/http/routes/getLogs.d.ts +3 -0
  148. package/dist/http/routes/getLogs.d.ts.map +1 -0
  149. package/dist/http/routes/getLogs.js +28 -0
  150. package/dist/http/routes/getLogs.js.map +1 -0
  151. package/dist/http/routes/getNet.d.ts +3 -0
  152. package/dist/http/routes/getNet.d.ts.map +1 -0
  153. package/dist/http/routes/getNet.js +17 -0
  154. package/dist/http/routes/getNet.js.map +1 -0
  155. package/dist/http/routes/getNetTail.d.ts +3 -0
  156. package/dist/http/routes/getNetTail.d.ts.map +1 -0
  157. package/dist/http/routes/getNetTail.js +18 -0
  158. package/dist/http/routes/getNetTail.js.map +1 -0
  159. package/dist/http/routes/getStatus.d.ts +3 -0
  160. package/dist/http/routes/getStatus.d.ts.map +1 -0
  161. package/dist/http/routes/getStatus.js +21 -0
  162. package/dist/http/routes/getStatus.js.map +1 -0
  163. package/dist/http/routes/getTail.d.ts +3 -0
  164. package/dist/http/routes/getTail.d.ts.map +1 -0
  165. package/dist/http/routes/getTail.js +28 -0
  166. package/dist/http/routes/getTail.js.map +1 -0
  167. package/dist/http/routes/getTargets.d.ts +3 -0
  168. package/dist/http/routes/getTargets.d.ts.map +1 -0
  169. package/dist/http/routes/getTargets.js +16 -0
  170. package/dist/http/routes/getTargets.js.map +1 -0
  171. package/dist/http/routes/getThrottle.d.ts +3 -0
  172. package/dist/http/routes/getThrottle.d.ts.map +1 -0
  173. package/dist/http/routes/getThrottle.js +8 -0
  174. package/dist/http/routes/getThrottle.js.map +1 -0
  175. package/dist/http/routes/postAttach.d.ts +3 -0
  176. package/dist/http/routes/postAttach.d.ts.map +1 -0
  177. package/dist/http/routes/postAttach.js +23 -0
  178. package/dist/http/routes/postAttach.js.map +1 -0
  179. package/dist/http/routes/postDetach.d.ts +3 -0
  180. package/dist/http/routes/postDetach.d.ts.map +1 -0
  181. package/dist/http/routes/postDetach.js +23 -0
  182. package/dist/http/routes/postDetach.js.map +1 -0
  183. package/dist/http/routes/postDomAdd.d.ts +7 -0
  184. package/dist/http/routes/postDomAdd.d.ts.map +1 -0
  185. package/dist/http/routes/postDomAdd.js +97 -0
  186. package/dist/http/routes/postDomAdd.js.map +1 -0
  187. package/dist/http/routes/postDomClick.d.ts +3 -0
  188. package/dist/http/routes/postDomClick.d.ts.map +1 -0
  189. package/dist/http/routes/postDomClick.js +85 -0
  190. package/dist/http/routes/postDomClick.js.map +1 -0
  191. package/dist/http/routes/postDomFill.d.ts +3 -0
  192. package/dist/http/routes/postDomFill.d.ts.map +1 -0
  193. package/dist/http/routes/postDomFill.js +58 -0
  194. package/dist/http/routes/postDomFill.js.map +1 -0
  195. package/dist/http/routes/postDomFocus.d.ts +3 -0
  196. package/dist/http/routes/postDomFocus.d.ts.map +1 -0
  197. package/dist/http/routes/postDomFocus.js +40 -0
  198. package/dist/http/routes/postDomFocus.js.map +1 -0
  199. package/dist/http/routes/postDomHover.d.ts +3 -0
  200. package/dist/http/routes/postDomHover.d.ts.map +1 -0
  201. package/dist/http/routes/postDomHover.js +40 -0
  202. package/dist/http/routes/postDomHover.js.map +1 -0
  203. package/dist/http/routes/postDomInfo.d.ts +3 -0
  204. package/dist/http/routes/postDomInfo.d.ts.map +1 -0
  205. package/dist/http/routes/postDomInfo.js +40 -0
  206. package/dist/http/routes/postDomInfo.js.map +1 -0
  207. package/dist/http/routes/postDomKeydown.d.ts +3 -0
  208. package/dist/http/routes/postDomKeydown.d.ts.map +1 -0
  209. package/dist/http/routes/postDomKeydown.js +36 -0
  210. package/dist/http/routes/postDomKeydown.js.map +1 -0
  211. package/dist/http/routes/postDomModify.d.ts +3 -0
  212. package/dist/http/routes/postDomModify.d.ts.map +1 -0
  213. package/dist/http/routes/postDomModify.js +45 -0
  214. package/dist/http/routes/postDomModify.js.map +1 -0
  215. package/dist/http/routes/postDomRemove.d.ts +3 -0
  216. package/dist/http/routes/postDomRemove.d.ts.map +1 -0
  217. package/dist/http/routes/postDomRemove.js +39 -0
  218. package/dist/http/routes/postDomRemove.js.map +1 -0
  219. package/dist/http/routes/postDomScroll.d.ts +3 -0
  220. package/dist/http/routes/postDomScroll.d.ts.map +1 -0
  221. package/dist/http/routes/postDomScroll.js +75 -0
  222. package/dist/http/routes/postDomScroll.js.map +1 -0
  223. package/dist/http/routes/postDomScrollTo.d.ts +3 -0
  224. package/dist/http/routes/postDomScrollTo.d.ts.map +1 -0
  225. package/dist/http/routes/postDomScrollTo.js +69 -0
  226. package/dist/http/routes/postDomScrollTo.js.map +1 -0
  227. package/dist/http/routes/postDomSetFile.d.ts +3 -0
  228. package/dist/http/routes/postDomSetFile.d.ts.map +1 -0
  229. package/dist/http/routes/postDomSetFile.js +67 -0
  230. package/dist/http/routes/postDomSetFile.js.map +1 -0
  231. package/dist/http/routes/postDomSubmit.d.ts +3 -0
  232. package/dist/http/routes/postDomSubmit.d.ts.map +1 -0
  233. package/dist/http/routes/postDomSubmit.js +49 -0
  234. package/dist/http/routes/postDomSubmit.js.map +1 -0
  235. package/dist/http/routes/postDomTree.d.ts +3 -0
  236. package/dist/http/routes/postDomTree.d.ts.map +1 -0
  237. package/dist/http/routes/postDomTree.js +41 -0
  238. package/dist/http/routes/postDomTree.js.map +1 -0
  239. package/dist/http/routes/postEmulation.d.ts +3 -0
  240. package/dist/http/routes/postEmulation.d.ts.map +1 -0
  241. package/dist/http/routes/postEmulation.js +70 -0
  242. package/dist/http/routes/postEmulation.js.map +1 -0
  243. package/dist/http/routes/postEval.d.ts +3 -0
  244. package/dist/http/routes/postEval.d.ts.map +1 -0
  245. package/dist/http/routes/postEval.js +26 -0
  246. package/dist/http/routes/postEval.js.map +1 -0
  247. package/dist/http/routes/postReload.d.ts +3 -0
  248. package/dist/http/routes/postReload.d.ts.map +1 -0
  249. package/dist/http/routes/postReload.js +20 -0
  250. package/dist/http/routes/postReload.js.map +1 -0
  251. package/dist/http/routes/postScreenshot.d.ts +3 -0
  252. package/dist/http/routes/postScreenshot.d.ts.map +1 -0
  253. package/dist/http/routes/postScreenshot.js +17 -0
  254. package/dist/http/routes/postScreenshot.js.map +1 -0
  255. package/dist/http/routes/postShutdown.d.ts +3 -0
  256. package/dist/http/routes/postShutdown.d.ts.map +1 -0
  257. package/dist/http/routes/postShutdown.js +13 -0
  258. package/dist/http/routes/postShutdown.js.map +1 -0
  259. package/dist/http/routes/postSnapshot.d.ts +3 -0
  260. package/dist/http/routes/postSnapshot.d.ts.map +1 -0
  261. package/dist/http/routes/postSnapshot.js +28 -0
  262. package/dist/http/routes/postSnapshot.js.map +1 -0
  263. package/dist/http/routes/postStorageLocal.d.ts +3 -0
  264. package/dist/http/routes/postStorageLocal.d.ts.map +1 -0
  265. package/dist/http/routes/postStorageLocal.js +31 -0
  266. package/dist/http/routes/postStorageLocal.js.map +1 -0
  267. package/dist/http/routes/postThrottle.d.ts +3 -0
  268. package/dist/http/routes/postThrottle.d.ts.map +1 -0
  269. package/dist/http/routes/postThrottle.js +38 -0
  270. package/dist/http/routes/postThrottle.js.map +1 -0
  271. package/dist/http/routes/postTraceStart.d.ts +3 -0
  272. package/dist/http/routes/postTraceStart.d.ts.map +1 -0
  273. package/dist/http/routes/postTraceStart.js +17 -0
  274. package/dist/http/routes/postTraceStart.js.map +1 -0
  275. package/dist/http/routes/postTraceStop.d.ts +3 -0
  276. package/dist/http/routes/postTraceStop.d.ts.map +1 -0
  277. package/dist/http/routes/postTraceStop.js +17 -0
  278. package/dist/http/routes/postTraceStop.js.map +1 -0
  279. package/dist/http/routes/types.d.ts +9 -0
  280. package/dist/http/routes/types.d.ts.map +1 -0
  281. package/dist/http/routes/types.js +10 -0
  282. package/dist/http/routes/types.js.map +1 -0
  283. package/dist/http/server.d.ts +40 -1
  284. package/dist/http/server.d.ts.map +1 -1
  285. package/dist/http/server.js +3 -82
  286. package/dist/http/server.js.map +1 -1
  287. package/dist/index.d.ts +117 -14
  288. package/dist/index.d.ts.map +1 -1
  289. package/dist/index.js +331 -44
  290. package/dist/index.js.map +1 -1
  291. package/dist/native-messaging/messaging.d.ts +18 -0
  292. package/dist/native-messaging/messaging.d.ts.map +1 -0
  293. package/dist/native-messaging/messaging.js +94 -0
  294. package/dist/native-messaging/messaging.js.map +1 -0
  295. package/dist/native-messaging/session-manager.d.ts +105 -0
  296. package/dist/native-messaging/session-manager.d.ts.map +1 -0
  297. package/dist/native-messaging/session-manager.js +259 -0
  298. package/dist/native-messaging/session-manager.js.map +1 -0
  299. package/dist/native-messaging/types.d.ts +79 -0
  300. package/dist/native-messaging/types.d.ts.map +1 -0
  301. package/dist/native-messaging/types.js +6 -0
  302. package/dist/native-messaging/types.js.map +1 -0
  303. package/dist/registry/registry.d.ts +9 -2
  304. package/dist/registry/registry.d.ts.map +1 -1
  305. package/dist/registry/registry.js +53 -9
  306. package/dist/registry/registry.js.map +1 -1
  307. package/dist/scripts/install-host.d.ts +10 -0
  308. package/dist/scripts/install-host.d.ts.map +1 -0
  309. package/dist/scripts/install-host.js +189 -0
  310. package/dist/scripts/install-host.js.map +1 -0
  311. package/dist/sources/cdp-source.d.ts +24 -0
  312. package/dist/sources/cdp-source.d.ts.map +1 -0
  313. package/dist/sources/cdp-source.js +48 -0
  314. package/dist/sources/cdp-source.js.map +1 -0
  315. package/dist/sources/extension-source.d.ts +15 -0
  316. package/dist/sources/extension-source.d.ts.map +1 -0
  317. package/dist/sources/extension-source.js +256 -0
  318. package/dist/sources/extension-source.js.map +1 -0
  319. package/dist/sources/types.d.ts +92 -0
  320. package/dist/sources/types.d.ts.map +1 -0
  321. package/dist/sources/types.js +7 -0
  322. package/dist/sources/types.js.map +1 -0
  323. package/dist/throttle/ThrottleController.d.ts +12 -0
  324. package/dist/throttle/ThrottleController.d.ts.map +1 -0
  325. package/dist/throttle/ThrottleController.js +67 -0
  326. package/dist/throttle/ThrottleController.js.map +1 -0
  327. package/package.json +8 -2
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EACN,6BAA6B,EAC7B,4BAA4B,GAG5B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AA6JrE;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAA4B,EAA0B,EAAE;IAC1F,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAE1D,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAA;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,CAAA;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAA;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAA;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC5D,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IAE3D,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACpF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACnD,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAA;IAC7E,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEnE,uEAAuE;IACvE,MAAM,UAAU,GAAG,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IAExE,0CAA0C;IAC1C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,SAAS,CAAA;IAElE,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAwB,CAAA;IACnD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,gBAAgB,GAAG,KAAK,CAAA;IAC5B,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAC7B,IAAI,SAAS,GAAiC,IAAI,CAAA;IAClD,IAAI,SAAS,GAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAElE,MAAM,UAAU,GAAG,WAAW;QAC7B,CAAC,CAAC,IAAI,iBAAiB,CAAC;YACtB,SAAS;YACT,SAAS;YACT,OAAO;YACP,MAAM,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACjD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ;YACR,iBAAiB;YACjB,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa;SACrD,CAAC;QACH,CAAC,CAAC,IAAI,CAAA;IAEP,MAAM,MAAM,GAAkB;QAC7B,EAAE,EAAE,SAAS;QACb,IAAI;QACJ,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,SAAS;QACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QACvD,MAAM,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACjD,iBAAiB;QACjB,MAAM,EAAE,UAAU;KAClB,CAAA;IAED,8EAA8E;IAC9E,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAA;IAE9C,+DAA+D;IAC/D,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAA;IAEvD,oFAAoF;IACpF,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAA;IAErD,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAQ,EAAE;QAClD,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;YACnC,OAAM;QACP,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YACzC,OAAM;QACP,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,SAAS,OAAO,OAAO,EAAE,CAAA;QACxD,cAAc,CAAC,GAAG,EAAE;YACnB,YAAY,EAAE,OAAO;iBACnB,WAAW,CAAC,kBAAkB,EAAE;gBAChC,UAAU,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;gBACzD,MAAM,EAAE,IAAI;aACZ,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACH,CAAC,CAAA;IAED,4CAA4C;IAC5C,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACnD,MAAM,gBAAgB,GAAG,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAA;IACxF,IAAI,mBAAmB,GAAmC,IAAI,CAAA;IAC9D,IAAI,mBAAmB,GAAkB,IAAI,CAAA;IAE7C,IAAI,gBAAgB,EAAE,CAAC;QACtB,mBAAmB,GAAG,6BAA6B,CAAC,OAAO,CAAC,aAAc,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,kBAAkB,GAAG,CAAC,MAA2D,EAAE,EAAE,CAAC,CAAC;QAC5F,SAAS;QACT,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,UAAU,EAAE,OAAO,CAAC,GAAG;QACvB,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI;QAClC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI;QAC9B,UAAU,EAAE,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE;KAC7C,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,KAAK,EAChC,OAAmC,EACnC,MAAsG,EACtF,EAAE;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC7B,OAAM;QACP,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC3B,OAAM;QACP,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAClD,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,gDAAgD,MAAM,CAAC,EAAE,aAAa,CAAC,CAAA;YACpF,OAAM;QACP,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAA;QACtD,MAAM,YAAY,GAAG,WAAW;YAC/B,CAAC,CAAC;gBACA,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,WAAW,EAAE,MAAM,CAAC,IAAI;gBACxB,WAAW,EAAE,MAAM,CAAC,IAAI;gBACxB,UAAU,EAAE,MAAM,CAAC,GAAG;gBACtB,UAAU;gBACV,MAAM,EAAE;oBACP,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;oBAC3B,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;iBACjC;aACD;YACF,CAAC,CAAC,IAAI,CAAA;QAEP,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;QAErE,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,WAAW,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,0DAA0D,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC3G,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,qDAAqD,MAAM,CAAC,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACtG,CAAC;IACF,CAAC,CAAA;IAED,8CAA8C;IAC9C,IAAI,YAA6B,CAAA;IACjC,IAAI,cAAc,GAA4D,IAAI,CAAA;IAClF,IAAI,aAAqD,CAAA;IACzD,IAAI,aAAqD,CAAA;IAEzD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAChC,iBAAiB;QACjB,YAAY,GAAG,qBAAqB,CAAC;YACpC,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACjB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC9B,CAAC;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACpB,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAA;oBACvC,SAAS,GAAG,MAAM,CAAA;oBAElB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAA;wBAC3C,gBAAgB,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAA;wBACzC,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;4BAC/B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;4BACd,SAAS;4BACT,MAAM,EAAE,MAAM,CAAC,MAAM;yBACrB,CAAC,CAAA;oBACH,CAAC;yBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC;wBAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;4BAC/B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;4BACd,SAAS;4BACT,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;yBAClC,CAAC,CAAA;oBACH,CAAC;gBACF,CAAC;gBACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;gBACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACpB,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC9B,CAAC;gBACD,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;oBACnC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC3C,MAAM,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC1C,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC3C,CAAC;aACD;YACD,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YACjF,gBAAgB;SAChB,CAAC,CAAA;QAEF,6CAA6C;QAC7C,aAAa,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACtG,aAAa,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACvG,CAAC;SAAM,CAAC;QACP,WAAW;QACX,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/G,aAAa,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAA;QACvG,aAAa,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAA;QAEvG,YAAY,GAAG,eAAe,CAAC;YAC9B,MAAM;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa;YACb,MAAM,EAAE;gBACP,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBACjB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC9B,CAAC;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACpB,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAA;oBACvC,SAAS,GAAG,MAAM,CAAA;oBAElB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAA;wBAC3C,gBAAgB,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAA;wBACzC,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;4BAC/B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;4BACd,SAAS;4BACT,MAAM,EAAE,MAAM,CAAC,MAAM;yBACrB,CAAC,CAAA;oBACH,CAAC;yBAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC;wBAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;4BAC/B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;4BACd,SAAS;4BACT,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;yBAClC,CAAC,CAAA;oBACH,CAAC;gBACF,CAAC;gBACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBACxB,IAAI,mBAAmB,EAAE,CAAC;wBACzB,mBAAmB,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;oBAC5G,CAAC;gBACF,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBAChB,IAAI,mBAAmB,EAAE,CAAC;wBACzB,mBAAmB,CAAC,SAAS,EAAE,CAAA;oBAChC,CAAC;gBACF,CAAC;gBACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACpB,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC9B,CAAC;gBACD,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;oBACnC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC3C,MAAM,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBAC1C,MAAM,cAAc,EAAE,UAAU,EAAE,CAAA;oBAClC,IAAI,mBAAmB,EAAE,CAAC;wBACzB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;wBAChC,mBAAmB,CAAC,QAAQ,CAC3B,OAAO,EACP;4BACC,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,GAAG,EAAE,MAAM,CAAC,GAAG;4BACf,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;4BAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;4BACjC,oBAAoB,EAAE,EAAE;yBACxB,EACD,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAC5D,CAAA;oBACF,CAAC;oBACD,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC3C,CAAC;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACpB,cAAc,EAAE,UAAU,EAAE,CAAA;oBAC5B,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;oBAChC,mBAAmB,EAAE,QAAQ,EAAE,CAAA;gBAChC,CAAC;aACD;YACD,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YACjF,gBAAgB;SAChB,CAAC,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;QACpC,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,SAAS;QACT,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;QAC7B,UAAU,EAAE,YAAY,CAAC,OAAO;QAChC,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,kBAAkB;QAClB,2BAA2B;QAC3B,YAAY,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACnE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,kBAAkB,KAAK,MAAM,EAAE,CAAC;gBACnC,gBAAgB,CAAC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;gBACjC,GAAG,KAAK;gBACR,SAAS;aACT,CAAC,CAAA;QACH,CAAC;QACD,UAAU,EAAE,GAAG,EAAE;YAChB,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,iBAAiB,GAAG,IAAI,CAAA;gBACxB,OAAM;YACP,CAAC;YACD,KAAK,SAAS,EAAE,CAAA;QACjB,CAAC;KACD,CAAC,CAAA;IAEF,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACzB,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;IAE7B,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,CAAA;IACrF,SAAS,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,OAAO,EAAE,CAAC;YACb,OAAM;QACP,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;QACd,SAAS,CAAC,IAAI,EAAE,CAAA;QAChB,mBAAmB,EAAE,IAAI,EAAE,CAAA;QAC3B,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACxB,gBAAgB,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QACD,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;QACzB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAA;QACzB,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAA;QAC3C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9B,MAAM,CAAC,cAAc,EAAE,CAAA;IACxB,CAAC,CAAA;IACD,gBAAgB,GAAG,IAAI,CAAA;IACvB,IAAI,iBAAiB,EAAE,CAAC;QACvB,KAAK,SAAS,EAAE,CAAA;IACjB,CAAC;IAED,OAAO;QACN,OAAO,EAAE,MAAM;QACf,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,SAAS,EAAE,EAAE,CAAA;QACpB,CAAC;KACD,CAAA;AACF,CAAC,CAAA;AASD,MAAM,uBAAuB,GAAG,CAAC,IAAwB,EAAE,SAAiB,EAAU,EAAE;IACvF,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,QAAiB,EAAU,EAAE;IACrD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAA;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,QAAQ,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAC7B,MAAc,EACd,YAOQ,EACC,EAAE;IACX,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1B,IAAI,YAAY,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAClE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9D,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAc,EAAU,EAAE;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,eAAe,CAAA;IACvB,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACrB,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Native Messaging protocol handler for stdin/stdout communication.
3
+ * Chrome Native Messaging uses length-prefixed 32-bit messages.
4
+ */
5
+ import type { ExtensionToHost, HostToExtension } from './types.js';
6
+ export type NativeMessagingHandler = {
7
+ onMessage: (callback: (message: ExtensionToHost) => void) => void;
8
+ onDisconnect: (callback: () => void) => void;
9
+ send: (message: HostToExtension) => void;
10
+ start: () => void;
11
+ stop: () => void;
12
+ };
13
+ /**
14
+ * Create a Native Messaging handler for stdin/stdout communication.
15
+ * Messages are length-prefixed with a 32-bit little-endian integer.
16
+ */
17
+ export declare const createNativeMessaging: () => NativeMessagingHandler;
18
+ //# sourceMappingURL=messaging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/native-messaging/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,KAAK,IAAI,CAAA;IACjE,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAA;IACxC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,IAAI,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,sBAoGxC,CAAA"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Native Messaging protocol handler for stdin/stdout communication.
3
+ * Chrome Native Messaging uses length-prefixed 32-bit messages.
4
+ */
5
+ /**
6
+ * Create a Native Messaging handler for stdin/stdout communication.
7
+ * Messages are length-prefixed with a 32-bit little-endian integer.
8
+ */
9
+ export const createNativeMessaging = () => {
10
+ let messageCallback = null;
11
+ let disconnectCallback = null;
12
+ let buffer = Buffer.alloc(0);
13
+ let running = false;
14
+ const processBuffer = () => {
15
+ // Need at least 4 bytes for the length prefix
16
+ while (buffer.length >= 4) {
17
+ const messageLength = buffer.readUInt32LE(0);
18
+ // Wait for the full message
19
+ if (buffer.length < 4 + messageLength) {
20
+ break;
21
+ }
22
+ // Extract the message
23
+ const messageBytes = buffer.subarray(4, 4 + messageLength);
24
+ buffer = buffer.subarray(4 + messageLength);
25
+ try {
26
+ const message = JSON.parse(messageBytes.toString('utf8'));
27
+ if (messageCallback) {
28
+ messageCallback(message);
29
+ }
30
+ }
31
+ catch (err) {
32
+ console.error('[NativeMessaging] Failed to parse message:', err);
33
+ }
34
+ }
35
+ };
36
+ const onData = (chunk) => {
37
+ buffer = Buffer.concat([buffer, chunk]);
38
+ processBuffer();
39
+ };
40
+ const onEnd = () => {
41
+ running = false;
42
+ if (disconnectCallback) {
43
+ disconnectCallback();
44
+ }
45
+ };
46
+ return {
47
+ onMessage: (callback) => {
48
+ messageCallback = callback;
49
+ },
50
+ onDisconnect: (callback) => {
51
+ disconnectCallback = callback;
52
+ },
53
+ send: (message) => {
54
+ if (!running) {
55
+ return;
56
+ }
57
+ const messageStr = JSON.stringify(message);
58
+ const messageBytes = Buffer.from(messageStr, 'utf8');
59
+ const lengthPrefix = Buffer.alloc(4);
60
+ lengthPrefix.writeUInt32LE(messageBytes.length, 0);
61
+ process.stdout.write(lengthPrefix);
62
+ process.stdout.write(messageBytes);
63
+ },
64
+ start: () => {
65
+ if (running) {
66
+ return;
67
+ }
68
+ running = true;
69
+ console.error('[NativeMessaging] Starting...');
70
+ console.error('[NativeMessaging] stdin.isTTY:', process.stdin.isTTY);
71
+ console.error('[NativeMessaging] stdin.readable:', process.stdin.readable);
72
+ // Set stdin to raw mode for binary data
73
+ if (process.stdin.setRawMode) {
74
+ process.stdin.setRawMode(true);
75
+ }
76
+ process.stdin.resume();
77
+ process.stdin.on('data', onData);
78
+ process.stdin.on('end', onEnd);
79
+ process.stdin.on('close', onEnd);
80
+ console.error('[NativeMessaging] Started, listening on stdin');
81
+ },
82
+ stop: () => {
83
+ if (!running) {
84
+ return;
85
+ }
86
+ running = false;
87
+ process.stdin.removeListener('data', onData);
88
+ process.stdin.removeListener('end', onEnd);
89
+ process.stdin.removeListener('close', onEnd);
90
+ process.stdin.pause();
91
+ },
92
+ };
93
+ };
94
+ //# sourceMappingURL=messaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/native-messaging/messaging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Session manager for CDP sessions routed through the Chrome extension.
3
+ * Implements CdpSessionHandle interface using Native Messaging.
4
+ */
5
+ import type { NativeMessagingHandler } from './messaging.js';
6
+ import type { TabInfo } from './types.js';
7
+ import type { CdpSessionHandle } from '../cdp/connection.js';
8
+ export type ExtensionSession = {
9
+ tabId: number;
10
+ url: string;
11
+ title: string;
12
+ faviconUrl?: string;
13
+ attachedAt: number;
14
+ handle: CdpSessionHandle;
15
+ enabledDomains: Set<string>;
16
+ };
17
+ export type SessionManagerEvents = {
18
+ onAttach: (session: ExtensionSession) => void;
19
+ onDetach: (tabId: number, reason: string) => void;
20
+ onTabsUpdated: (tabs: TabInfo[]) => void;
21
+ };
22
+ /**
23
+ * Manages CDP sessions with tabs attached via the Chrome extension.
24
+ */
25
+ export declare class SessionManager {
26
+ private messaging;
27
+ private sessions;
28
+ private pendingRequests;
29
+ private eventHandlers;
30
+ private events;
31
+ private pendingTabsRequest;
32
+ constructor(messaging: NativeMessagingHandler, events: SessionManagerEvents);
33
+ /**
34
+ * Set up message handling from the extension.
35
+ */
36
+ private setupMessageHandling;
37
+ /**
38
+ * Handle a message from the extension.
39
+ */
40
+ private handleMessage;
41
+ /**
42
+ * Handle tab attachment notification.
43
+ */
44
+ private handleTabAttached;
45
+ /**
46
+ * Handle tab detachment notification.
47
+ */
48
+ private handleTabDetached;
49
+ /**
50
+ * Handle CDP event from the extension.
51
+ */
52
+ private handleCdpEvent;
53
+ /**
54
+ * Handle CDP response from the extension.
55
+ */
56
+ private handleCdpResponse;
57
+ /**
58
+ * Handle list tabs response from the extension.
59
+ */
60
+ private handleListTabsResponse;
61
+ /**
62
+ * Create a session for an attached tab.
63
+ */
64
+ private createSession;
65
+ /**
66
+ * Request to attach to a tab.
67
+ */
68
+ attachTab(tabId: number): void;
69
+ /**
70
+ * Request to detach from a tab.
71
+ */
72
+ detachTab(tabId: number): void;
73
+ /**
74
+ * Request to enable a CDP domain for a tab.
75
+ */
76
+ enableDomain(tabId: number, domain: string): void;
77
+ /**
78
+ * Request list of available tabs.
79
+ */
80
+ listTabs(filter?: {
81
+ url?: string;
82
+ title?: string;
83
+ }): Promise<TabInfo[]>;
84
+ /**
85
+ * Get a session by tab ID.
86
+ */
87
+ getSession(tabId: number): ExtensionSession | undefined;
88
+ /**
89
+ * Get all active sessions.
90
+ */
91
+ listSessions(): ExtensionSession[];
92
+ /**
93
+ * Check if a tab is attached.
94
+ */
95
+ isAttached(tabId: number): boolean;
96
+ /**
97
+ * Get the first attached session (for single-tab mode).
98
+ */
99
+ getFirstSession(): ExtensionSession | undefined;
100
+ /**
101
+ * Create an error for when no tab is attached.
102
+ */
103
+ private createNotAttachedError;
104
+ }
105
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/native-messaging/session-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAAoC,OAAO,EAAmC,MAAM,YAAY,CAAA;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,MAAM,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,gBAAgB,CAAA;IACxB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACxC,CAAA;AAID;;GAEG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,aAAa,CAAuD;IAC5E,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,kBAAkB,CAGX;gBAEH,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,oBAAoB;IAM3E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgErB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASjD;;OAEG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoB7E;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIvD;;OAEG;IACH,YAAY,IAAI,gBAAgB,EAAE;IAIlC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,eAAe,IAAI,gBAAgB,GAAG,SAAS;IAO/C;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAK9B"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * Session manager for CDP sessions routed through the Chrome extension.
3
+ * Implements CdpSessionHandle interface using Native Messaging.
4
+ */
5
+ let nextRequestId = 1;
6
+ /**
7
+ * Manages CDP sessions with tabs attached via the Chrome extension.
8
+ */
9
+ export class SessionManager {
10
+ messaging;
11
+ sessions = new Map();
12
+ pendingRequests = new Map();
13
+ eventHandlers = new Map();
14
+ events;
15
+ pendingTabsRequest = null;
16
+ constructor(messaging, events) {
17
+ this.messaging = messaging;
18
+ this.events = events;
19
+ this.setupMessageHandling();
20
+ }
21
+ /**
22
+ * Set up message handling from the extension.
23
+ */
24
+ setupMessageHandling() {
25
+ this.messaging.onMessage((message) => {
26
+ this.handleMessage(message);
27
+ });
28
+ }
29
+ /**
30
+ * Handle a message from the extension.
31
+ */
32
+ handleMessage(message) {
33
+ switch (message.type) {
34
+ case 'tab_attached':
35
+ this.handleTabAttached(message);
36
+ break;
37
+ case 'tab_detached':
38
+ this.handleTabDetached(message);
39
+ break;
40
+ case 'cdp_event':
41
+ this.handleCdpEvent(message);
42
+ break;
43
+ case 'cdp_response':
44
+ this.handleCdpResponse(message);
45
+ break;
46
+ case 'list_tabs_response':
47
+ this.handleListTabsResponse(message);
48
+ break;
49
+ }
50
+ }
51
+ /**
52
+ * Handle tab attachment notification.
53
+ */
54
+ handleTabAttached(message) {
55
+ const session = this.createSession(message.tabId, message.url, message.title, message.faviconUrl);
56
+ this.events.onAttach(session);
57
+ }
58
+ /**
59
+ * Handle tab detachment notification.
60
+ */
61
+ handleTabDetached(message) {
62
+ const session = this.sessions.get(message.tabId);
63
+ if (session) {
64
+ this.sessions.delete(message.tabId);
65
+ this.eventHandlers.delete(message.tabId);
66
+ }
67
+ this.events.onDetach(message.tabId, message.reason);
68
+ }
69
+ /**
70
+ * Handle CDP event from the extension.
71
+ */
72
+ handleCdpEvent(message) {
73
+ const tabHandlers = this.eventHandlers.get(message.tabId);
74
+ if (!tabHandlers) {
75
+ return;
76
+ }
77
+ const methodHandlers = tabHandlers.get(message.method);
78
+ if (!methodHandlers || methodHandlers.size === 0) {
79
+ return;
80
+ }
81
+ for (const handler of methodHandlers) {
82
+ try {
83
+ handler(message.params);
84
+ }
85
+ catch {
86
+ // Ignore handler errors
87
+ }
88
+ }
89
+ }
90
+ /**
91
+ * Handle CDP response from the extension.
92
+ */
93
+ handleCdpResponse(message) {
94
+ const pending = this.pendingRequests.get(message.requestId);
95
+ if (!pending) {
96
+ return;
97
+ }
98
+ this.pendingRequests.delete(message.requestId);
99
+ clearTimeout(pending.timeout);
100
+ if (message.error) {
101
+ pending.reject(new Error(message.error.message));
102
+ }
103
+ else {
104
+ pending.resolve(message.result);
105
+ }
106
+ }
107
+ /**
108
+ * Handle list tabs response from the extension.
109
+ */
110
+ handleListTabsResponse(message) {
111
+ if (this.pendingTabsRequest) {
112
+ this.pendingTabsRequest.resolve(message.tabs);
113
+ this.pendingTabsRequest = null;
114
+ }
115
+ this.events.onTabsUpdated(message.tabs);
116
+ }
117
+ /**
118
+ * Create a session for an attached tab.
119
+ */
120
+ createSession(tabId, url, title, faviconUrl) {
121
+ const enabledDomains = new Set();
122
+ const tabHandlers = new Map();
123
+ this.eventHandlers.set(tabId, tabHandlers);
124
+ const handle = {
125
+ isAttached: () => this.sessions.has(tabId),
126
+ sendAndWait: async (method, params, options) => {
127
+ if (!this.sessions.has(tabId)) {
128
+ throw this.createNotAttachedError();
129
+ }
130
+ const requestId = nextRequestId++;
131
+ const timeoutMs = options?.timeoutMs ?? 30000;
132
+ return new Promise((resolve, reject) => {
133
+ const timeout = setTimeout(() => {
134
+ this.pendingRequests.delete(requestId);
135
+ reject(new Error(`CDP request timed out after ${timeoutMs}ms`));
136
+ }, timeoutMs);
137
+ this.pendingRequests.set(requestId, { requestId, resolve, reject, timeout });
138
+ const message = {
139
+ type: 'cdp_command',
140
+ requestId,
141
+ tabId,
142
+ method,
143
+ params,
144
+ };
145
+ this.messaging.send(message);
146
+ });
147
+ },
148
+ onEvent: (method, handler) => {
149
+ let methodHandlers = tabHandlers.get(method);
150
+ if (!methodHandlers) {
151
+ methodHandlers = new Set();
152
+ tabHandlers.set(method, methodHandlers);
153
+ }
154
+ methodHandlers.add(handler);
155
+ return () => {
156
+ methodHandlers?.delete(handler);
157
+ };
158
+ },
159
+ };
160
+ const session = {
161
+ tabId,
162
+ url,
163
+ title,
164
+ faviconUrl,
165
+ attachedAt: Date.now(),
166
+ handle,
167
+ enabledDomains,
168
+ };
169
+ this.sessions.set(tabId, session);
170
+ return session;
171
+ }
172
+ /**
173
+ * Request to attach to a tab.
174
+ */
175
+ attachTab(tabId) {
176
+ const message = {
177
+ type: 'attach_tab',
178
+ tabId,
179
+ };
180
+ this.messaging.send(message);
181
+ }
182
+ /**
183
+ * Request to detach from a tab.
184
+ */
185
+ detachTab(tabId) {
186
+ const message = {
187
+ type: 'detach_tab',
188
+ tabId,
189
+ };
190
+ this.messaging.send(message);
191
+ }
192
+ /**
193
+ * Request to enable a CDP domain for a tab.
194
+ */
195
+ enableDomain(tabId, domain) {
196
+ const message = {
197
+ type: 'enable_domain',
198
+ tabId,
199
+ domain,
200
+ };
201
+ this.messaging.send(message);
202
+ }
203
+ /**
204
+ * Request list of available tabs.
205
+ */
206
+ async listTabs(filter) {
207
+ return new Promise((resolve, reject) => {
208
+ this.pendingTabsRequest = { resolve, reject };
209
+ const message = {
210
+ type: 'list_tabs',
211
+ filter,
212
+ };
213
+ this.messaging.send(message);
214
+ // Timeout after 5 seconds
215
+ setTimeout(() => {
216
+ if (this.pendingTabsRequest) {
217
+ this.pendingTabsRequest.reject(new Error('List tabs request timed out'));
218
+ this.pendingTabsRequest = null;
219
+ }
220
+ }, 5000);
221
+ });
222
+ }
223
+ /**
224
+ * Get a session by tab ID.
225
+ */
226
+ getSession(tabId) {
227
+ return this.sessions.get(tabId);
228
+ }
229
+ /**
230
+ * Get all active sessions.
231
+ */
232
+ listSessions() {
233
+ return [...this.sessions.values()];
234
+ }
235
+ /**
236
+ * Check if a tab is attached.
237
+ */
238
+ isAttached(tabId) {
239
+ return this.sessions.has(tabId);
240
+ }
241
+ /**
242
+ * Get the first attached session (for single-tab mode).
243
+ */
244
+ getFirstSession() {
245
+ for (const session of this.sessions.values()) {
246
+ return session;
247
+ }
248
+ return undefined;
249
+ }
250
+ /**
251
+ * Create an error for when no tab is attached.
252
+ */
253
+ createNotAttachedError() {
254
+ const error = new Error('No tab attached via extension');
255
+ error.code = 'cdp_not_attached';
256
+ return error;
257
+ }
258
+ }
259
+ //# sourceMappingURL=session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/native-messaging/session-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Message types for Native Messaging communication between
3
+ * the Chrome extension and argus-watcher (extension source).
4
+ */
5
+ export type TabAttachedMessage = {
6
+ type: 'tab_attached';
7
+ tabId: number;
8
+ url: string;
9
+ title: string;
10
+ faviconUrl?: string;
11
+ };
12
+ export type TabDetachedMessage = {
13
+ type: 'tab_detached';
14
+ tabId: number;
15
+ reason: string;
16
+ };
17
+ export type CdpEventMessage = {
18
+ type: 'cdp_event';
19
+ tabId: number;
20
+ method: string;
21
+ params: unknown;
22
+ };
23
+ export type CdpResponseMessage = {
24
+ type: 'cdp_response';
25
+ requestId: number;
26
+ result?: unknown;
27
+ error?: {
28
+ code?: number;
29
+ message: string;
30
+ };
31
+ };
32
+ export type ListTabsResponseMessage = {
33
+ type: 'list_tabs_response';
34
+ tabs: TabInfo[];
35
+ };
36
+ export type TabInfo = {
37
+ tabId: number;
38
+ url: string;
39
+ title: string;
40
+ faviconUrl?: string;
41
+ attached: boolean;
42
+ };
43
+ export type ExtensionToHost = TabAttachedMessage | TabDetachedMessage | CdpEventMessage | CdpResponseMessage | ListTabsResponseMessage;
44
+ export type AttachTabMessage = {
45
+ type: 'attach_tab';
46
+ tabId: number;
47
+ };
48
+ export type DetachTabMessage = {
49
+ type: 'detach_tab';
50
+ tabId: number;
51
+ };
52
+ export type CdpCommandMessage = {
53
+ type: 'cdp_command';
54
+ requestId: number;
55
+ tabId: number;
56
+ method: string;
57
+ params?: Record<string, unknown>;
58
+ };
59
+ export type ListTabsMessage = {
60
+ type: 'list_tabs';
61
+ filter?: {
62
+ url?: string;
63
+ title?: string;
64
+ };
65
+ };
66
+ export type EnableDomainMessage = {
67
+ type: 'enable_domain';
68
+ tabId: number;
69
+ domain: string;
70
+ };
71
+ export type HostToExtension = AttachTabMessage | DetachTabMessage | CdpCommandMessage | ListTabsMessage | EnableDomainMessage;
72
+ export type PendingRequest = {
73
+ requestId: number;
74
+ resolve: (result: unknown) => void;
75
+ reject: (error: Error) => void;
76
+ timeout: ReturnType<typeof setTimeout>;
77
+ };
78
+ export type CdpEventHandler = (params: unknown) => void;
79
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/native-messaging/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,cAAc,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,oBAAoB,CAAA;IAC1B,IAAI,EAAE,OAAO,EAAE,CAAA;CACf,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,GAAG,uBAAuB,CAAA;AAMtI,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,aAAa,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,GAAG,mBAAmB,CAAA;AAM7H,MAAM,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC9B,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Message types for Native Messaging communication between
3
+ * the Chrome extension and argus-watcher (extension source).
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/native-messaging/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,9 +1,16 @@
1
1
  import type { WatcherRecord } from '@vforsh/argus-core';
2
- /** Write watcher entry to registry. */
2
+ /**
3
+ * Resolve a unique watcher ID. If the requested ID is taken by a live watcher,
4
+ * appends `-2`, `-3`, etc. until a free slot is found.
5
+ * Stale entries (dead process) are cleaned up automatically.
6
+ * Returns the ID that should be used.
7
+ */
8
+ export declare const resolveUniqueWatcherId: (id: string) => Promise<string>;
9
+ /** Write watcher entry to registry (locked read-modify-write). */
3
10
  export declare const announceWatcher: (watcher: WatcherRecord) => Promise<void>;
4
11
  /** Refresh watcher entry in registry. */
5
12
  export declare const updateWatcherHeartbeat: (watcher: WatcherRecord) => Promise<void>;
6
- /** Remove watcher entry from registry by id. */
13
+ /** Remove watcher entry from registry by id (locked read-modify-write). */
7
14
  export declare const removeWatcher: (id: string) => Promise<void>;
8
15
  /** Periodically refresh registry entry until stopped. */
9
16
  export declare const startRegistryHeartbeat: (getWatcher: () => WatcherRecord, intervalMs?: number) => {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,uCAAuC;AACvC,eAAO,MAAM,eAAe,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAI1E,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,sBAAsB,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAEjF,CAAA;AAED,gDAAgD;AAChD,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAI5D,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,aAAa,EAAE,mBAAmB,KAAG;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAU/G,CAAA"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,MAAM,CAoCvE,CAAA;AAWD,kEAAkE;AAClE,eAAO,MAAM,eAAe,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAE1E,CAAA;AAED,yCAAyC;AACzC,eAAO,MAAM,sBAAsB,GAAU,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAEjF,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAE5D,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,aAAa,EAAE,mBAAmB,KAAG;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAU/G,CAAA"}