browser-debugger-cli 0.5.1 → 0.6.1

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 (822) hide show
  1. package/README.md +60 -10
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -59
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +1 -1
  5. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
  6. package/dist/__testutils__/testCleanup.js +1 -1
  7. package/dist/__testutils__/testCleanup.js.map +1 -1
  8. package/dist/cdp/protocol.d.ts +73 -0
  9. package/dist/cdp/protocol.d.ts.map +1 -0
  10. package/dist/cdp/protocol.js +121 -0
  11. package/dist/cdp/protocol.js.map +1 -0
  12. package/dist/cdp/schema.d.ts +159 -0
  13. package/dist/cdp/schema.d.ts.map +1 -0
  14. package/dist/cdp/schema.js +256 -0
  15. package/dist/cdp/schema.js.map +1 -0
  16. package/dist/cdp/types.d.ts +139 -0
  17. package/dist/cdp/types.d.ts.map +1 -0
  18. package/dist/cdp/types.js +7 -0
  19. package/dist/cdp/types.js.map +1 -0
  20. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  21. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  22. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  23. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  24. package/dist/commands/cdp.d.ts +10 -1
  25. package/dist/commands/cdp.d.ts.map +1 -1
  26. package/dist/commands/cdp.js +331 -27
  27. package/dist/commands/cdp.js.map +1 -1
  28. package/dist/commands/cleanup.d.ts.map +1 -1
  29. package/dist/commands/cleanup.js +7 -20
  30. package/dist/commands/cleanup.js.map +1 -1
  31. package/dist/commands/console.d.ts.map +1 -1
  32. package/dist/commands/console.js +3 -8
  33. package/dist/commands/console.js.map +1 -1
  34. package/dist/commands/details.d.ts.map +1 -1
  35. package/dist/commands/details.js +1 -1
  36. package/dist/commands/details.js.map +1 -1
  37. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +9 -19
  38. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  39. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +15 -14
  40. package/dist/commands/dom/evalHelpers.js.map +1 -0
  41. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  42. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  43. package/dist/commands/dom/formFillHelpers.js +185 -0
  44. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  45. package/dist/commands/dom/formInteraction.d.ts +17 -0
  46. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  47. package/dist/commands/dom/formInteraction.js +239 -0
  48. package/dist/commands/dom/formInteraction.js.map +1 -0
  49. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  50. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  51. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  52. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  53. package/dist/commands/dom/helpers.d.ts +34 -0
  54. package/dist/commands/dom/helpers.d.ts.map +1 -0
  55. package/dist/commands/dom/helpers.js +244 -0
  56. package/dist/commands/dom/helpers.js.map +1 -0
  57. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  58. package/dist/commands/dom/index.d.ts.map +1 -0
  59. package/dist/commands/dom/index.js +154 -0
  60. package/dist/commands/dom/index.js.map +1 -0
  61. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  62. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  63. package/dist/commands/dom/reactEventHelpers.js +274 -0
  64. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  65. package/dist/commands/network.js +1 -1
  66. package/dist/commands/network.js.map +1 -1
  67. package/dist/commands/peek.d.ts.map +1 -1
  68. package/dist/commands/peek.js +52 -51
  69. package/dist/commands/peek.js.map +1 -1
  70. package/dist/commands/shared/CommandRunner.d.ts +2 -0
  71. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  72. package/dist/commands/shared/CommandRunner.js +16 -3
  73. package/dist/commands/shared/CommandRunner.js.map +1 -1
  74. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  75. package/dist/commands/shared/commonOptions.js +5 -3
  76. package/dist/commands/shared/commonOptions.js.map +1 -1
  77. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  78. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  79. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  80. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  81. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  82. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  83. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  84. package/dist/commands/shared/startHelpers.js.map +1 -0
  85. package/dist/commands/shared/validation.d.ts +44 -0
  86. package/dist/commands/shared/validation.d.ts.map +1 -0
  87. package/dist/commands/shared/validation.js +68 -0
  88. package/dist/commands/shared/validation.js.map +1 -0
  89. package/dist/commands/start.d.ts.map +1 -1
  90. package/dist/commands/start.js +23 -30
  91. package/dist/commands/start.js.map +1 -1
  92. package/dist/commands/status.d.ts.map +1 -1
  93. package/dist/commands/status.js +8 -6
  94. package/dist/commands/status.js.map +1 -1
  95. package/dist/commands/stop.d.ts.map +1 -1
  96. package/dist/commands/stop.js +7 -18
  97. package/dist/commands/stop.js.map +1 -1
  98. package/dist/commands/tail.d.ts.map +1 -1
  99. package/dist/commands/tail.js +53 -45
  100. package/dist/commands/tail.js.map +1 -1
  101. package/dist/commands/types.d.ts +43 -0
  102. package/dist/commands/types.d.ts.map +1 -0
  103. package/dist/commands/types.js +8 -0
  104. package/dist/commands/types.js.map +1 -0
  105. package/dist/commands.d.ts.map +1 -1
  106. package/dist/commands.js +3 -1
  107. package/dist/commands.js.map +1 -1
  108. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  109. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  110. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  111. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  112. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  113. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  114. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  115. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  116. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  117. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  118. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  119. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  120. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  121. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  122. package/dist/connection/cdp.d.ts +34 -11
  123. package/dist/connection/cdp.d.ts.map +1 -1
  124. package/dist/connection/cdp.js +75 -46
  125. package/dist/connection/cdp.js.map +1 -1
  126. package/dist/connection/config.d.ts +63 -0
  127. package/dist/connection/config.d.ts.map +1 -0
  128. package/dist/connection/config.js +46 -0
  129. package/dist/connection/config.js.map +1 -0
  130. package/dist/connection/errors.d.ts +6 -21
  131. package/dist/connection/errors.d.ts.map +1 -1
  132. package/dist/connection/errors.js +7 -26
  133. package/dist/connection/errors.js.map +1 -1
  134. package/dist/connection/events.d.ts +30 -0
  135. package/dist/connection/events.d.ts.map +1 -0
  136. package/dist/connection/events.js +8 -0
  137. package/dist/connection/events.js.map +1 -0
  138. package/dist/connection/handlers.d.ts +35 -5
  139. package/dist/connection/handlers.d.ts.map +1 -1
  140. package/dist/connection/handlers.js +34 -10
  141. package/dist/connection/handlers.js.map +1 -1
  142. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  143. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  144. package/dist/connection/launcher/binaryResolver.js +78 -0
  145. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  146. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  147. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  148. package/dist/connection/launcher/flagsBuilder.js +84 -0
  149. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  150. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  151. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  152. package/dist/connection/launcher/preferencesLoader.js +89 -0
  153. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  154. package/dist/connection/launcher.d.ts +24 -1
  155. package/dist/connection/launcher.d.ts.map +1 -1
  156. package/dist/connection/launcher.js +38 -201
  157. package/dist/connection/launcher.js.map +1 -1
  158. package/dist/connection/pageReadiness.d.ts +8 -8
  159. package/dist/connection/pageReadiness.d.ts.map +1 -1
  160. package/dist/connection/pageReadiness.js +42 -58
  161. package/dist/connection/pageReadiness.js.map +1 -1
  162. package/dist/connection/portReservation.d.ts +40 -0
  163. package/dist/connection/portReservation.d.ts.map +1 -0
  164. package/dist/connection/portReservation.js +55 -0
  165. package/dist/connection/portReservation.js.map +1 -0
  166. package/dist/connection/typed-cdp.d.ts +145 -0
  167. package/dist/connection/typed-cdp.d.ts.map +1 -0
  168. package/dist/connection/typed-cdp.js +120 -0
  169. package/dist/connection/typed-cdp.js.map +1 -0
  170. package/dist/connection/types.d.ts +103 -0
  171. package/dist/connection/types.d.ts.map +1 -0
  172. package/dist/connection/types.js +8 -0
  173. package/dist/connection/types.js.map +1 -0
  174. package/dist/constants.d.ts +0 -83
  175. package/dist/constants.d.ts.map +1 -1
  176. package/dist/constants.js +0 -83
  177. package/dist/constants.js.map +1 -1
  178. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  179. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  180. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  181. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  182. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  183. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  184. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  185. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  186. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  187. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  188. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  189. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  190. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  191. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  192. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  193. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  194. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  195. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  196. package/dist/daemon/errors.d.ts +65 -0
  197. package/dist/daemon/errors.d.ts.map +1 -0
  198. package/dist/daemon/errors.js +82 -0
  199. package/dist/daemon/errors.js.map +1 -0
  200. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  201. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  202. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  203. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  204. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  205. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  206. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  207. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  208. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  209. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  210. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  211. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  212. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  213. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  214. package/dist/daemon/handlers/pendingRequests.js +57 -0
  215. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  216. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  217. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  218. package/dist/daemon/handlers/requestHandlers.js +61 -0
  219. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  220. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  221. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  222. package/dist/daemon/handlers/responseHandler.js +195 -0
  223. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  224. package/dist/daemon/ipcServer.d.ts +19 -41
  225. package/dist/daemon/ipcServer.d.ts.map +1 -1
  226. package/dist/daemon/ipcServer.js +83 -655
  227. package/dist/daemon/ipcServer.js.map +1 -1
  228. package/dist/daemon/launcher.d.ts.map +1 -1
  229. package/dist/daemon/launcher.js +6 -3
  230. package/dist/daemon/launcher.js.map +1 -1
  231. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  232. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  233. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  234. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  235. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  236. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  237. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  238. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  239. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  240. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  241. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  242. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  243. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  244. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  245. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  246. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  247. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  248. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  249. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  250. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  251. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  252. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  253. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  254. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  255. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  256. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  257. package/dist/daemon/server/JsonlParser.js +57 -0
  258. package/dist/daemon/server/JsonlParser.js.map +1 -0
  259. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  260. package/dist/daemon/server/SocketServer.js +2 -2
  261. package/dist/daemon/server/SocketServer.js.map +1 -1
  262. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  263. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  264. package/dist/daemon/server/WorkerManager.js +10 -19
  265. package/dist/daemon/server/WorkerManager.js.map +1 -1
  266. package/dist/daemon/services/SessionService.d.ts +87 -0
  267. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  268. package/dist/daemon/services/SessionService.js +45 -0
  269. package/dist/daemon/services/SessionService.js.map +1 -0
  270. package/dist/daemon/startSession.d.ts.map +1 -1
  271. package/dist/daemon/startSession.js +54 -31
  272. package/dist/daemon/startSession.js.map +1 -1
  273. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  274. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  275. package/dist/daemon/worker/commandRegistry.js +20 -215
  276. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  277. package/dist/daemon/worker.d.ts +3 -12
  278. package/dist/daemon/worker.d.ts.map +1 -1
  279. package/dist/daemon/worker.js +47 -367
  280. package/dist/daemon/worker.js.map +1 -1
  281. package/dist/index.js +1 -1
  282. package/dist/index.js.map +1 -1
  283. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  284. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  285. package/dist/ipc/__tests__/client.contract.test.js +8 -23
  286. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  287. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  288. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  289. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  290. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  291. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  292. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  293. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  294. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  295. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  296. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  297. package/dist/ipc/__tests__/jsonl.unit.test.js +85 -0
  298. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  299. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  300. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  301. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  302. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  303. package/dist/ipc/client.d.ts +93 -84
  304. package/dist/ipc/client.d.ts.map +1 -1
  305. package/dist/ipc/client.js +121 -192
  306. package/dist/ipc/client.js.map +1 -1
  307. package/dist/ipc/index.d.ts +17 -0
  308. package/dist/ipc/index.d.ts.map +1 -0
  309. package/dist/ipc/index.js +23 -0
  310. package/dist/ipc/index.js.map +1 -0
  311. package/dist/ipc/protocol/commands.d.ts +144 -0
  312. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  313. package/dist/ipc/protocol/commands.js +23 -0
  314. package/dist/ipc/protocol/commands.js.map +1 -0
  315. package/dist/ipc/protocol/guards.d.ts +47 -0
  316. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  317. package/dist/ipc/protocol/guards.js +62 -0
  318. package/dist/ipc/protocol/guards.js.map +1 -0
  319. package/dist/ipc/protocol/index.d.ts +9 -0
  320. package/dist/ipc/protocol/index.d.ts.map +1 -0
  321. package/dist/ipc/protocol/index.js +8 -0
  322. package/dist/ipc/protocol/index.js.map +1 -0
  323. package/dist/ipc/protocol/messages.d.ts +64 -0
  324. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  325. package/dist/ipc/protocol/messages.js +8 -0
  326. package/dist/ipc/protocol/messages.js.map +1 -0
  327. package/dist/ipc/session/errors.d.ts +25 -0
  328. package/dist/ipc/session/errors.d.ts.map +1 -0
  329. package/dist/ipc/{types.js → session/errors.js} +11 -6
  330. package/dist/ipc/session/errors.js.map +1 -0
  331. package/dist/ipc/session/index.d.ts +16 -0
  332. package/dist/ipc/session/index.d.ts.map +1 -0
  333. package/dist/ipc/session/index.js +7 -0
  334. package/dist/ipc/session/index.js.map +1 -0
  335. package/dist/ipc/session/lifecycle.d.ts +125 -0
  336. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  337. package/dist/ipc/session/lifecycle.js +7 -0
  338. package/dist/ipc/session/lifecycle.js.map +1 -0
  339. package/dist/ipc/session/queries.d.ts +94 -0
  340. package/dist/ipc/session/queries.d.ts.map +1 -0
  341. package/dist/ipc/session/queries.js +7 -0
  342. package/dist/ipc/session/queries.js.map +1 -0
  343. package/dist/ipc/session/types.d.ts +28 -0
  344. package/dist/ipc/session/types.d.ts.map +1 -0
  345. package/dist/ipc/session/types.js +7 -0
  346. package/dist/ipc/session/types.js.map +1 -0
  347. package/dist/ipc/transport/IPCError.d.ts +82 -0
  348. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  349. package/dist/ipc/transport/IPCError.js +109 -0
  350. package/dist/ipc/transport/IPCError.js.map +1 -0
  351. package/dist/ipc/transport/errors.d.ts +11 -0
  352. package/dist/ipc/transport/errors.d.ts.map +1 -0
  353. package/dist/ipc/transport/errors.js +28 -0
  354. package/dist/ipc/transport/errors.js.map +1 -0
  355. package/dist/ipc/transport/index.d.ts +16 -0
  356. package/dist/ipc/transport/index.d.ts.map +1 -0
  357. package/dist/ipc/transport/index.js +77 -0
  358. package/dist/ipc/transport/index.js.map +1 -0
  359. package/dist/ipc/transport/jsonl.d.ts +23 -0
  360. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  361. package/dist/ipc/transport/jsonl.js +36 -0
  362. package/dist/ipc/transport/jsonl.js.map +1 -0
  363. package/dist/ipc/transport/socket.d.ts +27 -0
  364. package/dist/ipc/transport/socket.d.ts.map +1 -0
  365. package/dist/ipc/transport/socket.js +49 -0
  366. package/dist/ipc/transport/socket.js.map +1 -0
  367. package/dist/ipc/transport/validation.d.ts +21 -0
  368. package/dist/ipc/transport/validation.d.ts.map +1 -0
  369. package/dist/ipc/transport/validation.js +23 -0
  370. package/dist/ipc/transport/validation.js.map +1 -0
  371. package/dist/ipc/utils/errors.d.ts +25 -0
  372. package/dist/ipc/utils/errors.d.ts.map +1 -0
  373. package/dist/ipc/utils/errors.js +29 -0
  374. package/dist/ipc/utils/errors.js.map +1 -0
  375. package/dist/ipc/utils/index.d.ts +12 -0
  376. package/dist/ipc/utils/index.d.ts.map +1 -0
  377. package/dist/ipc/utils/index.js +11 -0
  378. package/dist/ipc/utils/index.js.map +1 -0
  379. package/dist/ipc/utils/requestId.d.ts +23 -0
  380. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  381. package/dist/ipc/utils/requestId.js +27 -0
  382. package/dist/ipc/utils/requestId.js.map +1 -0
  383. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  384. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  385. package/dist/ipc/utils/responseValidator.js.map +1 -0
  386. package/dist/ipc/utils/session.d.ts +36 -0
  387. package/dist/ipc/utils/session.d.ts.map +1 -0
  388. package/dist/ipc/utils/session.js +37 -0
  389. package/dist/ipc/utils/session.js.map +1 -0
  390. package/dist/ipc/utils/types.d.ts +17 -0
  391. package/dist/ipc/utils/types.d.ts.map +1 -0
  392. package/dist/ipc/utils/types.js +7 -0
  393. package/dist/ipc/utils/types.js.map +1 -0
  394. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  395. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  396. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  397. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  398. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  399. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  400. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  401. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  402. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  403. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  404. package/dist/session/__tests__/lock.contract.test.js +77 -0
  405. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  406. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  407. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  408. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  409. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  410. package/dist/session/chrome.d.ts +20 -0
  411. package/dist/session/chrome.d.ts.map +1 -1
  412. package/dist/session/chrome.js +80 -16
  413. package/dist/session/chrome.js.map +1 -1
  414. package/dist/session/cleanup.d.ts +15 -2
  415. package/dist/session/cleanup.d.ts.map +1 -1
  416. package/dist/session/cleanup.js +100 -72
  417. package/dist/session/cleanup.js.map +1 -1
  418. package/dist/session/lock.d.ts.map +1 -1
  419. package/dist/session/lock.js +101 -90
  420. package/dist/session/lock.js.map +1 -1
  421. package/dist/session/metadata.d.ts +10 -3
  422. package/dist/session/metadata.d.ts.map +1 -1
  423. package/dist/session/metadata.js +24 -6
  424. package/dist/session/metadata.js.map +1 -1
  425. package/dist/session/paths.d.ts +0 -9
  426. package/dist/session/paths.d.ts.map +1 -1
  427. package/dist/session/paths.js +0 -11
  428. package/dist/session/paths.js.map +1 -1
  429. package/dist/session/pid.d.ts +15 -0
  430. package/dist/session/pid.d.ts.map +1 -1
  431. package/dist/session/pid.js +39 -21
  432. package/dist/session/pid.js.map +1 -1
  433. package/dist/session/process.d.ts +4 -41
  434. package/dist/session/process.d.ts.map +1 -1
  435. package/dist/session/process.js +4 -85
  436. package/dist/session/process.js.map +1 -1
  437. package/dist/session/statusData.d.ts +50 -0
  438. package/dist/session/statusData.d.ts.map +1 -0
  439. package/dist/session/statusData.js +51 -0
  440. package/dist/session/statusData.js.map +1 -0
  441. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  442. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  443. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  444. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  445. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  446. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  447. package/dist/telemetry/__tests__/network.contract.test.js +126 -157
  448. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  449. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  450. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  451. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  452. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  453. package/dist/telemetry/console.d.ts.map +1 -1
  454. package/dist/telemetry/console.js +19 -27
  455. package/dist/telemetry/console.js.map +1 -1
  456. package/dist/telemetry/dialogs.d.ts.map +1 -1
  457. package/dist/telemetry/dialogs.js +4 -8
  458. package/dist/telemetry/dialogs.js.map +1 -1
  459. package/dist/telemetry/dom.d.ts.map +1 -1
  460. package/dist/telemetry/dom.js +51 -57
  461. package/dist/telemetry/dom.js.map +1 -1
  462. package/dist/telemetry/filters.d.ts +5 -18
  463. package/dist/telemetry/filters.d.ts.map +1 -1
  464. package/dist/telemetry/filters.js +36 -56
  465. package/dist/telemetry/filters.js.map +1 -1
  466. package/dist/telemetry/navigation.d.ts.map +1 -1
  467. package/dist/telemetry/navigation.js +5 -8
  468. package/dist/telemetry/navigation.js.map +1 -1
  469. package/dist/telemetry/network.d.ts.map +1 -1
  470. package/dist/telemetry/network.js +105 -104
  471. package/dist/telemetry/network.js.map +1 -1
  472. package/dist/telemetry/utils.d.ts +85 -0
  473. package/dist/telemetry/utils.d.ts.map +1 -0
  474. package/dist/telemetry/utils.js +138 -0
  475. package/dist/telemetry/utils.js.map +1 -0
  476. package/dist/types/dom.d.ts +66 -0
  477. package/dist/types/dom.d.ts.map +1 -0
  478. package/dist/types/dom.js +8 -0
  479. package/dist/types/dom.js.map +1 -0
  480. package/dist/types.d.ts +15 -224
  481. package/dist/types.d.ts.map +1 -1
  482. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  483. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  484. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  485. package/dist/ui/OutputBuilder.js.map +1 -0
  486. package/dist/ui/errors/CommandError.d.ts +16 -2
  487. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  488. package/dist/ui/errors/CommandError.js +2 -1
  489. package/dist/ui/errors/CommandError.js.map +1 -1
  490. package/dist/ui/errors/index.d.ts +2 -3
  491. package/dist/ui/errors/index.d.ts.map +1 -1
  492. package/dist/ui/errors/index.js +1 -3
  493. package/dist/ui/errors/index.js.map +1 -1
  494. package/dist/ui/errors/utils.d.ts +6 -0
  495. package/dist/ui/errors/utils.d.ts.map +1 -1
  496. package/dist/ui/errors/utils.js +8 -3
  497. package/dist/ui/errors/utils.js.map +1 -1
  498. package/dist/ui/formatters/dom.d.ts +3 -18
  499. package/dist/ui/formatters/dom.d.ts.map +1 -1
  500. package/dist/ui/formatters/dom.js +4 -27
  501. package/dist/ui/formatters/dom.js.map +1 -1
  502. package/dist/ui/formatters/preview.d.ts +8 -8
  503. package/dist/ui/formatters/preview.d.ts.map +1 -1
  504. package/dist/ui/formatters/preview.js +18 -13
  505. package/dist/ui/formatters/preview.js.map +1 -1
  506. package/dist/ui/formatters/status.d.ts +1 -1
  507. package/dist/ui/formatters/status.d.ts.map +1 -1
  508. package/dist/ui/formatters/status.js +8 -30
  509. package/dist/ui/formatters/status.js.map +1 -1
  510. package/dist/ui/formatting.d.ts +2 -270
  511. package/dist/ui/formatting.d.ts.map +1 -1
  512. package/dist/ui/formatting.js +8 -331
  513. package/dist/ui/formatting.js.map +1 -1
  514. package/dist/ui/logging/index.d.ts +1 -1
  515. package/dist/ui/logging/index.d.ts.map +1 -1
  516. package/dist/ui/logging/index.js +1 -1
  517. package/dist/ui/logging/index.js.map +1 -1
  518. package/dist/ui/logging/logger.d.ts +3 -23
  519. package/dist/ui/logging/logger.d.ts.map +1 -1
  520. package/dist/ui/logging/logger.js +2 -27
  521. package/dist/ui/logging/logger.js.map +1 -1
  522. package/dist/ui/messages/chrome.d.ts +15 -7
  523. package/dist/ui/messages/chrome.d.ts.map +1 -1
  524. package/dist/ui/messages/chrome.js +23 -32
  525. package/dist/ui/messages/chrome.js.map +1 -1
  526. package/dist/ui/messages/commands.d.ts +2 -18
  527. package/dist/ui/messages/commands.d.ts.map +1 -1
  528. package/dist/ui/messages/commands.js +5 -50
  529. package/dist/ui/messages/commands.js.map +1 -1
  530. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  531. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  532. package/dist/ui/messages/consoleMessages.js +3 -6
  533. package/dist/ui/messages/consoleMessages.js.map +1 -1
  534. package/dist/ui/messages/debug.d.ts +0 -14
  535. package/dist/ui/messages/debug.d.ts.map +1 -1
  536. package/dist/ui/messages/debug.js +0 -18
  537. package/dist/ui/messages/debug.js.map +1 -1
  538. package/dist/ui/messages/errors.d.ts +27 -34
  539. package/dist/ui/messages/errors.d.ts.map +1 -1
  540. package/dist/ui/messages/errors.js +17 -67
  541. package/dist/ui/messages/errors.js.map +1 -1
  542. package/dist/ui/messages/internal.d.ts +0 -7
  543. package/dist/ui/messages/internal.d.ts.map +1 -1
  544. package/dist/ui/messages/internal.js +0 -12
  545. package/dist/ui/messages/internal.js.map +1 -1
  546. package/dist/ui/messages/preview.d.ts +14 -1
  547. package/dist/ui/messages/preview.d.ts.map +1 -1
  548. package/dist/ui/messages/preview.js +24 -7
  549. package/dist/ui/messages/preview.js.map +1 -1
  550. package/dist/ui/messages/session.d.ts.map +1 -1
  551. package/dist/ui/messages/session.js +11 -26
  552. package/dist/ui/messages/session.js.map +1 -1
  553. package/dist/ui/messages/validation.d.ts +22 -4
  554. package/dist/ui/messages/validation.d.ts.map +1 -1
  555. package/dist/ui/messages/validation.js +25 -5
  556. package/dist/ui/messages/validation.js.map +1 -1
  557. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  558. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  559. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  560. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  561. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  562. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  563. package/dist/utils/__tests__/objects.test.js +50 -0
  564. package/dist/utils/__tests__/objects.test.js.map +1 -0
  565. package/dist/utils/__tests__/session.contract.test.js +13 -3
  566. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  567. package/dist/utils/__tests__/url.test.d.ts +2 -0
  568. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  569. package/dist/utils/__tests__/url.test.js +42 -0
  570. package/dist/utils/__tests__/url.test.js.map +1 -0
  571. package/dist/utils/atomicFile.d.ts +31 -5
  572. package/dist/utils/atomicFile.d.ts.map +1 -1
  573. package/dist/utils/atomicFile.js +52 -13
  574. package/dist/utils/atomicFile.js.map +1 -1
  575. package/dist/utils/concurrency.d.ts +54 -0
  576. package/dist/utils/concurrency.d.ts.map +1 -0
  577. package/dist/utils/concurrency.js +78 -0
  578. package/dist/utils/concurrency.js.map +1 -0
  579. package/dist/utils/daemonErrors.d.ts +60 -0
  580. package/dist/utils/daemonErrors.d.ts.map +1 -0
  581. package/dist/utils/daemonErrors.js +58 -0
  582. package/dist/utils/daemonErrors.js.map +1 -0
  583. package/dist/utils/errors.d.ts +3 -57
  584. package/dist/utils/errors.d.ts.map +1 -1
  585. package/dist/utils/errors.js +3 -58
  586. package/dist/utils/errors.js.map +1 -1
  587. package/dist/utils/exitCodes.d.ts +41 -5
  588. package/dist/utils/exitCodes.d.ts.map +1 -1
  589. package/dist/utils/exitCodes.js +43 -9
  590. package/dist/utils/exitCodes.js.map +1 -1
  591. package/dist/utils/http.d.ts +9 -4
  592. package/dist/utils/http.d.ts.map +1 -1
  593. package/dist/utils/http.js +44 -10
  594. package/dist/utils/http.js.map +1 -1
  595. package/dist/utils/levenshtein.d.ts +45 -0
  596. package/dist/utils/levenshtein.d.ts.map +1 -0
  597. package/dist/utils/levenshtein.js +85 -0
  598. package/dist/utils/levenshtein.js.map +1 -0
  599. package/dist/utils/objects.d.ts +16 -1
  600. package/dist/utils/objects.d.ts.map +1 -1
  601. package/dist/utils/objects.js +16 -1
  602. package/dist/utils/objects.js.map +1 -1
  603. package/dist/utils/process.d.ts +45 -0
  604. package/dist/utils/process.d.ts.map +1 -0
  605. package/dist/utils/process.js +91 -0
  606. package/dist/utils/process.js.map +1 -0
  607. package/dist/utils/url.d.ts +10 -3
  608. package/dist/utils/url.d.ts.map +1 -1
  609. package/dist/utils/url.js +42 -29
  610. package/dist/utils/url.js.map +1 -1
  611. package/dist/utils/validation.d.ts +96 -7
  612. package/dist/utils/validation.d.ts.map +1 -1
  613. package/dist/utils/validation.js +122 -11
  614. package/dist/utils/validation.js.map +1 -1
  615. package/package.json +2 -1
  616. package/dist/cli/commands/__tests__/start.unit.test.d.ts +0 -2
  617. package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +0 -1
  618. package/dist/cli/commands/__tests__/start.unit.test.js +0 -131
  619. package/dist/cli/commands/__tests__/start.unit.test.js.map +0 -1
  620. package/dist/cli/commands/cleanup.d.ts +0 -9
  621. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  622. package/dist/cli/commands/cleanup.js +0 -148
  623. package/dist/cli/commands/cleanup.js.map +0 -1
  624. package/dist/cli/commands/details.d.ts +0 -9
  625. package/dist/cli/commands/details.d.ts.map +0 -1
  626. package/dist/cli/commands/details.js +0 -120
  627. package/dist/cli/commands/details.js.map +0 -1
  628. package/dist/cli/commands/peek.d.ts +0 -9
  629. package/dist/cli/commands/peek.d.ts.map +0 -1
  630. package/dist/cli/commands/peek.js +0 -64
  631. package/dist/cli/commands/peek.js.map +0 -1
  632. package/dist/cli/commands/query.d.ts +0 -9
  633. package/dist/cli/commands/query.d.ts.map +0 -1
  634. package/dist/cli/commands/query.js +0 -125
  635. package/dist/cli/commands/query.js.map +0 -1
  636. package/dist/cli/commands/start.d.ts +0 -83
  637. package/dist/cli/commands/start.d.ts.map +0 -1
  638. package/dist/cli/commands/start.js +0 -204
  639. package/dist/cli/commands/start.js.map +0 -1
  640. package/dist/cli/commands/status.d.ts +0 -9
  641. package/dist/cli/commands/status.d.ts.map +0 -1
  642. package/dist/cli/commands/status.js +0 -75
  643. package/dist/cli/commands/status.js.map +0 -1
  644. package/dist/cli/commands/stop.d.ts +0 -9
  645. package/dist/cli/commands/stop.d.ts.map +0 -1
  646. package/dist/cli/commands/stop.js +0 -133
  647. package/dist/cli/commands/stop.js.map +0 -1
  648. package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
  649. package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
  650. package/dist/cli/formatters/detailsFormatter.js +0 -63
  651. package/dist/cli/formatters/detailsFormatter.js.map +0 -1
  652. package/dist/cli/formatters/previewFormatter.d.ts +0 -27
  653. package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
  654. package/dist/cli/formatters/previewFormatter.js +0 -155
  655. package/dist/cli/formatters/previewFormatter.js.map +0 -1
  656. package/dist/cli/formatters/statusFormatter.d.ts +0 -42
  657. package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
  658. package/dist/cli/formatters/statusFormatter.js +0 -126
  659. package/dist/cli/formatters/statusFormatter.js.map +0 -1
  660. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  661. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  662. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  663. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  664. package/dist/cli/handlers/OutputBuilder.d.ts +0 -59
  665. package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
  666. package/dist/cli/handlers/OutputBuilder.js +0 -136
  667. package/dist/cli/handlers/OutputBuilder.js.map +0 -1
  668. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  669. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  670. package/dist/cli/handlers/OutputWriter.js +0 -34
  671. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  672. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  673. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  674. package/dist/cli/handlers/PreviewWriter.js +0 -118
  675. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  676. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  677. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  678. package/dist/cli/handlers/SessionLock.js +0 -35
  679. package/dist/cli/handlers/SessionLock.js.map +0 -1
  680. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  681. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  682. package/dist/cli/handlers/SessionLoop.js +0 -47
  683. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  684. package/dist/cli/handlers/ShutdownController.d.ts +0 -41
  685. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  686. package/dist/cli/handlers/ShutdownController.js +0 -94
  687. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  688. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  689. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  690. package/dist/cli/handlers/SignalHandler.js +0 -81
  691. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  692. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  693. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  694. package/dist/cli/handlers/TargetSetup.js +0 -87
  695. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  696. package/dist/cli/handlers/sessionController.d.ts +0 -62
  697. package/dist/cli/handlers/sessionController.d.ts.map +0 -1
  698. package/dist/cli/handlers/sessionController.js +0 -316
  699. package/dist/cli/handlers/sessionController.js.map +0 -1
  700. package/dist/cli/registry.d.ts +0 -11
  701. package/dist/cli/registry.d.ts.map +0 -1
  702. package/dist/cli/registry.js +0 -21
  703. package/dist/cli/registry.js.map +0 -1
  704. package/dist/collectors/console.d.ts +0 -19
  705. package/dist/collectors/console.d.ts.map +0 -1
  706. package/dist/collectors/console.js +0 -87
  707. package/dist/collectors/console.js.map +0 -1
  708. package/dist/collectors/dom.d.ts +0 -21
  709. package/dist/collectors/dom.d.ts.map +0 -1
  710. package/dist/collectors/dom.js +0 -99
  711. package/dist/collectors/dom.js.map +0 -1
  712. package/dist/collectors/network.d.ts +0 -32
  713. package/dist/collectors/network.d.ts.map +0 -1
  714. package/dist/collectors/network.js +0 -191
  715. package/dist/collectors/network.js.map +0 -1
  716. package/dist/commands/dom.d.ts.map +0 -1
  717. package/dist/commands/dom.js +0 -243
  718. package/dist/commands/dom.js.map +0 -1
  719. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  720. package/dist/commands/domEvalHelpers.js.map +0 -1
  721. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  722. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  723. package/dist/commands/domOptionsBuilder.js +0 -86
  724. package/dist/commands/domOptionsBuilder.js.map +0 -1
  725. package/dist/commands/domSelectorParser.d.ts +0 -20
  726. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  727. package/dist/commands/domSelectorParser.js +0 -20
  728. package/dist/commands/domSelectorParser.js.map +0 -1
  729. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  730. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  731. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  732. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  733. package/dist/commands/shared/sessionController.d.ts +0 -21
  734. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  735. package/dist/commands/shared/sessionController.js +0 -54
  736. package/dist/commands/shared/sessionController.js.map +0 -1
  737. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  738. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  739. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  740. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  741. package/dist/connection/domOperations.d.ts +0 -48
  742. package/dist/connection/domOperations.d.ts.map +0 -1
  743. package/dist/connection/domOperations.js +0 -104
  744. package/dist/connection/domOperations.js.map +0 -1
  745. package/dist/connection/finder.d.ts +0 -12
  746. package/dist/connection/finder.d.ts.map +0 -1
  747. package/dist/connection/finder.js +0 -17
  748. package/dist/connection/finder.js.map +0 -1
  749. package/dist/connection/tabs.d.ts +0 -52
  750. package/dist/connection/tabs.d.ts.map +0 -1
  751. package/dist/connection/tabs.js +0 -227
  752. package/dist/connection/tabs.js.map +0 -1
  753. package/dist/help/machineReadableHelp.d.ts +0 -100
  754. package/dist/help/machineReadableHelp.d.ts.map +0 -1
  755. package/dist/help/machineReadableHelp.js +0 -139
  756. package/dist/help/machineReadableHelp.js.map +0 -1
  757. package/dist/ipc/commands.d.ts +0 -260
  758. package/dist/ipc/commands.d.ts.map +0 -1
  759. package/dist/ipc/commands.js +0 -77
  760. package/dist/ipc/commands.js.map +0 -1
  761. package/dist/ipc/responseValidator.d.ts.map +0 -1
  762. package/dist/ipc/responseValidator.js.map +0 -1
  763. package/dist/ipc/types.d.ts +0 -226
  764. package/dist/ipc/types.d.ts.map +0 -1
  765. package/dist/ipc/types.js.map +0 -1
  766. package/dist/session/BdgSession.d.ts +0 -91
  767. package/dist/session/BdgSession.d.ts.map +0 -1
  768. package/dist/session/BdgSession.js +0 -230
  769. package/dist/session/BdgSession.js.map +0 -1
  770. package/dist/session/fileOps.d.ts +0 -25
  771. package/dist/session/fileOps.d.ts.map +0 -1
  772. package/dist/session/fileOps.js +0 -39
  773. package/dist/session/fileOps.js.map +0 -1
  774. package/dist/session/queryCache.d.ts +0 -36
  775. package/dist/session/queryCache.d.ts.map +0 -1
  776. package/dist/session/queryCache.js +0 -66
  777. package/dist/session/queryCache.js.map +0 -1
  778. package/dist/ui/errors/SystemErrors.d.ts +0 -22
  779. package/dist/ui/errors/SystemErrors.d.ts.map +0 -1
  780. package/dist/ui/errors/SystemErrors.js +0 -23
  781. package/dist/ui/errors/SystemErrors.js.map +0 -1
  782. package/dist/ui/errors.d.ts +0 -39
  783. package/dist/ui/errors.d.ts.map +0 -1
  784. package/dist/ui/errors.js +0 -48
  785. package/dist/ui/errors.js.map +0 -1
  786. package/dist/ui/messages/deprecation.d.ts +0 -30
  787. package/dist/ui/messages/deprecation.d.ts.map +0 -1
  788. package/dist/ui/messages/deprecation.js +0 -49
  789. package/dist/ui/messages/deprecation.js.map +0 -1
  790. package/dist/ui/messages/index.d.ts +0 -12
  791. package/dist/ui/messages/index.d.ts.map +0 -1
  792. package/dist/ui/messages/index.js +0 -12
  793. package/dist/ui/messages/index.js.map +0 -1
  794. package/dist/utils/__tests__/filters.unit.test.d.ts +0 -2
  795. package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
  796. package/dist/utils/__tests__/filters.unit.test.js +0 -239
  797. package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
  798. package/dist/utils/cdpHandlers.d.ts +0 -31
  799. package/dist/utils/cdpHandlers.d.ts.map +0 -1
  800. package/dist/utils/cdpHandlers.js +0 -38
  801. package/dist/utils/cdpHandlers.js.map +0 -1
  802. package/dist/utils/chromeDiagnostics.d.ts +0 -16
  803. package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
  804. package/dist/utils/chromeDiagnostics.js +0 -37
  805. package/dist/utils/chromeDiagnostics.js.map +0 -1
  806. package/dist/utils/filters.d.ts +0 -148
  807. package/dist/utils/filters.d.ts.map +0 -1
  808. package/dist/utils/filters.js +0 -358
  809. package/dist/utils/filters.js.map +0 -1
  810. package/dist/utils/logger.d.ts +0 -98
  811. package/dist/utils/logger.d.ts.map +0 -1
  812. package/dist/utils/logger.js +0 -93
  813. package/dist/utils/logger.js.map +0 -1
  814. package/dist/utils/pageReadiness.d.ts +0 -46
  815. package/dist/utils/pageReadiness.d.ts.map +0 -1
  816. package/dist/utils/pageReadiness.js +0 -270
  817. package/dist/utils/pageReadiness.js.map +0 -1
  818. package/dist/utils/session.d.ts +0 -200
  819. package/dist/utils/session.d.ts.map +0 -1
  820. package/dist/utils/session.js +0 -498
  821. package/dist/utils/session.js.map +0 -1
  822. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -1,498 +0,0 @@
1
- import { spawnSync } from 'child_process';
2
- import * as fs from 'fs';
3
- import * as os from 'os';
4
- import * as path from 'path';
5
- import { AtomicFileWriter } from './atomicFile.js';
6
- /**
7
- * Session file paths relative to ~/.bdg/
8
- * Centralized definition for all session-related files.
9
- */
10
- const SESSION_FILES = {
11
- PID: 'session.pid',
12
- OUTPUT: 'session.json',
13
- LOCK: 'session.lock',
14
- METADATA: 'session.meta.json',
15
- CHROME_PID: 'chrome.pid',
16
- PREVIEW: 'session.preview.json',
17
- FULL: 'session.full.json',
18
- };
19
- /**
20
- * Get the session directory path (~/.bdg)
21
- */
22
- export function getSessionDir() {
23
- return path.join(os.homedir(), '.bdg');
24
- }
25
- /**
26
- * Get the path to a session file by type.
27
- *
28
- * @param fileType - The type of session file
29
- * @returns Full path to the session file
30
- */
31
- export function getSessionFilePath(fileType) {
32
- return path.join(getSessionDir(), SESSION_FILES[fileType]);
33
- }
34
- /**
35
- * Ensure the session directory exists
36
- */
37
- export function ensureSessionDir() {
38
- const dir = getSessionDir();
39
- if (!fs.existsSync(dir)) {
40
- fs.mkdirSync(dir, { recursive: true });
41
- }
42
- }
43
- /**
44
- * Get the path to the PID file
45
- */
46
- export function getPidFilePath() {
47
- return getSessionFilePath('PID');
48
- }
49
- /**
50
- * Get the path to the output JSON file
51
- */
52
- export function getOutputFilePath() {
53
- return getSessionFilePath('OUTPUT');
54
- }
55
- /**
56
- * Get the path to the session lock file
57
- */
58
- export function getLockFilePath() {
59
- return getSessionFilePath('LOCK');
60
- }
61
- /**
62
- * Get the path to the session metadata file
63
- */
64
- export function getMetadataFilePath() {
65
- return getSessionFilePath('METADATA');
66
- }
67
- /**
68
- * Get the path to the persistent Chrome PID cache file.
69
- * This file survives session cleanup so aggressive cleanup can still find Chrome.
70
- */
71
- export function getChromePidCachePath() {
72
- return getSessionFilePath('CHROME_PID');
73
- }
74
- /**
75
- * Write the current process PID to the session file atomically
76
- *
77
- * @param pid - Process ID to write
78
- */
79
- export function writePid(pid) {
80
- ensureSessionDir();
81
- const pidPath = getPidFilePath();
82
- AtomicFileWriter.writeSync(pidPath, pid.toString());
83
- }
84
- /**
85
- * Read the PID from the session file
86
- *
87
- * @returns The PID if file exists and is valid, null otherwise
88
- */
89
- export function readPid() {
90
- const pidPath = getPidFilePath();
91
- if (!fs.existsSync(pidPath)) {
92
- return null;
93
- }
94
- try {
95
- const pidStr = fs.readFileSync(pidPath, 'utf-8').trim();
96
- const pid = parseInt(pidStr, 10);
97
- if (isNaN(pid)) {
98
- return null;
99
- }
100
- return pid;
101
- }
102
- catch {
103
- return null;
104
- }
105
- }
106
- /**
107
- * Check if a process with the given PID is alive
108
- *
109
- * @param pid - Process ID to check
110
- * @returns True if process is running, false otherwise
111
- */
112
- export function isProcessAlive(pid) {
113
- try {
114
- // Sending signal 0 checks if process exists without actually sending a signal
115
- process.kill(pid, 0);
116
- return true;
117
- }
118
- catch {
119
- // ESRCH error means process doesn't exist
120
- return false;
121
- }
122
- }
123
- /**
124
- * Remove the PID file
125
- */
126
- export function cleanupPidFile() {
127
- const pidPath = getPidFilePath();
128
- if (fs.existsSync(pidPath)) {
129
- try {
130
- fs.unlinkSync(pidPath);
131
- }
132
- catch {
133
- // Ignore errors during cleanup
134
- }
135
- }
136
- }
137
- /**
138
- * Write session output to the JSON file
139
- *
140
- * @param output - The BdgOutput data to write
141
- * @param compact - If true, use compact JSON format (no indentation)
142
- */
143
- export function writeSessionOutput(output, compact = false) {
144
- ensureSessionDir();
145
- const outputPath = getOutputFilePath();
146
- const jsonString = compact ? JSON.stringify(output) : JSON.stringify(output, null, 2);
147
- AtomicFileWriter.writeSync(outputPath, jsonString);
148
- }
149
- /**
150
- * Acquire session lock atomically.
151
- *
152
- * Uses exclusive file creation (wx flag) to ensure only one session can run.
153
- *
154
- * @returns True if lock was acquired, false if another session is running
155
- */
156
- export function acquireSessionLock() {
157
- ensureSessionDir();
158
- const lockPath = getLockFilePath();
159
- try {
160
- // 'wx' flag creates file exclusively - fails if exists
161
- fs.writeFileSync(lockPath, process.pid.toString(), { flag: 'wx' });
162
- return true;
163
- }
164
- catch (error) {
165
- if (error instanceof Error && 'code' in error && error.code === 'EEXIST') {
166
- // Lock file exists - check if process is still alive
167
- try {
168
- const lockPidStr = fs.readFileSync(lockPath, 'utf-8').trim();
169
- const lockPid = parseInt(lockPidStr, 10);
170
- if (!isNaN(lockPid) && isProcessAlive(lockPid)) {
171
- // Lock is held by active process
172
- return false;
173
- }
174
- else {
175
- // Stale lock file - remove it and try again
176
- fs.unlinkSync(lockPath);
177
- return acquireSessionLock();
178
- }
179
- }
180
- catch {
181
- // Can't read lock file - assume it's stale
182
- try {
183
- fs.unlinkSync(lockPath);
184
- return acquireSessionLock();
185
- }
186
- catch {
187
- return false;
188
- }
189
- }
190
- }
191
- return false;
192
- }
193
- }
194
- /**
195
- * Release session lock.
196
- *
197
- * Removes the lock file to allow other sessions to start.
198
- */
199
- export function releaseSessionLock() {
200
- const lockPath = getLockFilePath();
201
- try {
202
- if (fs.existsSync(lockPath)) {
203
- fs.unlinkSync(lockPath);
204
- }
205
- }
206
- catch {
207
- // Ignore errors during cleanup
208
- }
209
- }
210
- /**
211
- * Write session metadata.
212
- *
213
- * @param metadata - Session metadata to write
214
- */
215
- export function writeSessionMetadata(metadata) {
216
- ensureSessionDir();
217
- const metaPath = getMetadataFilePath();
218
- AtomicFileWriter.writeSync(metaPath, JSON.stringify(metadata, null, 2));
219
- }
220
- /**
221
- * Read session metadata.
222
- *
223
- * @returns Session metadata if file exists and is valid, null otherwise
224
- */
225
- export function readSessionMetadata() {
226
- const metaPath = getMetadataFilePath();
227
- if (!fs.existsSync(metaPath)) {
228
- return null;
229
- }
230
- try {
231
- const content = fs.readFileSync(metaPath, 'utf-8');
232
- return JSON.parse(content);
233
- }
234
- catch {
235
- return null;
236
- }
237
- }
238
- /**
239
- * Write Chrome PID to persistent cache.
240
- * This survives session cleanup so aggressive cleanup can find Chrome later.
241
- *
242
- * @param chromePid - Chrome process ID to cache
243
- */
244
- export function writeChromePid(chromePid) {
245
- ensureSessionDir();
246
- const cachePath = getChromePidCachePath();
247
- AtomicFileWriter.writeSync(cachePath, chromePid.toString());
248
- }
249
- /**
250
- * Read Chrome PID from persistent cache.
251
- *
252
- * @returns Chrome PID if cached and process is alive, null otherwise
253
- */
254
- export function readChromePid() {
255
- const cachePath = getChromePidCachePath();
256
- if (!fs.existsSync(cachePath)) {
257
- return null;
258
- }
259
- try {
260
- const pidStr = fs.readFileSync(cachePath, 'utf-8').trim();
261
- const pid = parseInt(pidStr, 10);
262
- if (isNaN(pid)) {
263
- return null;
264
- }
265
- // Only return the PID if the process is still alive
266
- // This prevents trying to kill stale PIDs
267
- if (!isProcessAlive(pid)) {
268
- // Clean up stale cache
269
- try {
270
- fs.unlinkSync(cachePath);
271
- }
272
- catch {
273
- // Ignore cleanup errors
274
- }
275
- return null;
276
- }
277
- return pid;
278
- }
279
- catch {
280
- return null;
281
- }
282
- }
283
- /**
284
- * Remove Chrome PID from persistent cache.
285
- */
286
- export function clearChromePid() {
287
- const cachePath = getChromePidCachePath();
288
- try {
289
- if (fs.existsSync(cachePath)) {
290
- fs.unlinkSync(cachePath);
291
- }
292
- }
293
- catch {
294
- // Ignore errors during cleanup
295
- }
296
- }
297
- /**
298
- * Kill a Chrome process using cross-platform approach.
299
- *
300
- * Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
301
- * Unix/macOS: Uses `process.kill(-pid, signal)` to kill process group
302
- *
303
- * @param pid - Chrome process ID to kill
304
- * @param signal - Signal to send (Unix only, default 'SIGTERM'). Ignored on Windows.
305
- * @throws Error if kill operation fails
306
- */
307
- export function killChromeProcess(pid, signal = 'SIGTERM') {
308
- const isWindows = process.platform === 'win32';
309
- if (isWindows) {
310
- // Windows: Use taskkill to kill process tree
311
- // /T = kill process tree, /F = force kill
312
- const result = spawnSync(`taskkill /pid ${pid} /T /F`, {
313
- shell: true,
314
- encoding: 'utf-8',
315
- });
316
- // Check for spawn errors (command not found, etc.)
317
- if (result.error) {
318
- throw result.error;
319
- }
320
- // Check exit status - taskkill returns non-zero on failure
321
- // Common exit codes:
322
- // - 0: Success
323
- // - 128: Process not found
324
- // - 1: Access denied or other error
325
- if (result.status !== 0) {
326
- const errorMsg = (result.stderr ?? result.stdout).trim() || 'Unknown error';
327
- throw new Error(`taskkill failed (exit code ${result.status}): ${errorMsg}`);
328
- }
329
- // Log stderr for debugging (taskkill sometimes writes to stderr even on success)
330
- if (result.stderr?.trim()) {
331
- console.error(`taskkill stderr: ${result.stderr.trim()}`);
332
- }
333
- }
334
- else {
335
- // Unix/macOS: Kill process group (negative PID)
336
- // This kills Chrome and all child processes
337
- process.kill(-pid, signal);
338
- }
339
- }
340
- /**
341
- * Get the path to the partial output file (lightweight preview, metadata only)
342
- */
343
- export function getPartialFilePath() {
344
- return getSessionFilePath('PREVIEW');
345
- }
346
- /**
347
- * Get the path to the full output file (complete data with bodies)
348
- */
349
- export function getFullFilePath() {
350
- return getSessionFilePath('FULL');
351
- }
352
- /**
353
- * Write partial session output for live preview (async version).
354
- *
355
- * Uses atomic write (tmp file + rename) to prevent corruption.
356
- * Non-blocking version for periodic writes during collection.
357
- *
358
- * @param output - The partial BdgOutput data to write
359
- * @param compact - If true, use compact JSON format (no indentation)
360
- * @returns Promise that resolves when write completes
361
- */
362
- export async function writePartialOutputAsync(output, compact = false) {
363
- const startTime = Date.now();
364
- ensureSessionDir();
365
- const partialPath = getPartialFilePath();
366
- // JSON.stringify is synchronous and blocks event loop - measure it separately
367
- const stringifyStart = Date.now();
368
- const jsonString = compact ? JSON.stringify(output) : JSON.stringify(output, null, 2);
369
- const stringifyDuration = Date.now() - stringifyStart;
370
- // Calculate size savings when using compact mode
371
- const sizeKB = (jsonString.length / 1024).toFixed(1);
372
- if (compact) {
373
- // Estimate pretty-printed size (rough heuristic: 30% larger due to indentation)
374
- const estimatedPrettyKB = ((jsonString.length * 1.3) / 1024).toFixed(1);
375
- const savedKB = (parseFloat(estimatedPrettyKB) - parseFloat(sizeKB)).toFixed(1);
376
- console.error(`[PERF] Preview JSON.stringify: ${stringifyDuration}ms (${sizeKB}KB compact, saved ~${savedKB}KB)`);
377
- }
378
- else {
379
- console.error(`[PERF] Preview JSON.stringify: ${stringifyDuration}ms (${sizeKB}KB)`);
380
- }
381
- // Write atomically
382
- const ioStart = Date.now();
383
- await AtomicFileWriter.writeAsync(partialPath, jsonString);
384
- const ioDuration = Date.now() - ioStart;
385
- const totalDuration = Date.now() - startTime;
386
- console.error(`[PERF] Preview write: ${totalDuration}ms (stringify: ${stringifyDuration}ms, I/O: ${ioDuration}ms)`);
387
- }
388
- /**
389
- * Write full session output for details view (async version).
390
- *
391
- * Uses atomic write (tmp file + rename) to prevent corruption.
392
- * Non-blocking version for periodic writes during collection.
393
- *
394
- * @param output - The full BdgOutput data to write
395
- * @param compact - If true, use compact JSON format (no indentation)
396
- * @returns Promise that resolves when write completes
397
- */
398
- export async function writeFullOutputAsync(output, compact = false) {
399
- const startTime = Date.now();
400
- ensureSessionDir();
401
- const fullPath = getFullFilePath();
402
- // JSON.stringify is synchronous and blocks event loop - measure it separately
403
- const stringifyStart = Date.now();
404
- const jsonString = compact ? JSON.stringify(output) : JSON.stringify(output, null, 2);
405
- const stringifyDuration = Date.now() - stringifyStart;
406
- // Calculate size savings when using compact mode
407
- const sizeMB = (jsonString.length / 1024 / 1024).toFixed(1);
408
- if (compact) {
409
- // Estimate pretty-printed size (rough heuristic: 30% larger due to indentation)
410
- const estimatedPrettyMB = ((jsonString.length * 1.3) / 1024 / 1024).toFixed(1);
411
- const savedMB = (parseFloat(estimatedPrettyMB) - parseFloat(sizeMB)).toFixed(1);
412
- console.error(`[PERF] Full JSON.stringify: ${stringifyDuration}ms (${sizeMB}MB compact, saved ~${savedMB}MB)`);
413
- }
414
- else {
415
- console.error(`[PERF] Full JSON.stringify: ${stringifyDuration}ms (${sizeMB}MB)`);
416
- }
417
- // Write atomically
418
- const ioStart = Date.now();
419
- await AtomicFileWriter.writeAsync(fullPath, jsonString);
420
- const ioDuration = Date.now() - ioStart;
421
- const totalDuration = Date.now() - startTime;
422
- console.error(`[PERF] Full write: ${totalDuration}ms (stringify: ${stringifyDuration}ms, I/O: ${ioDuration}ms)`);
423
- }
424
- /**
425
- * Read partial session output for live preview (lightweight metadata).
426
- *
427
- * @returns The partial BdgOutput data if file exists and is valid, null otherwise
428
- */
429
- export function readPartialOutput() {
430
- const partialPath = getPartialFilePath();
431
- if (!fs.existsSync(partialPath)) {
432
- return null;
433
- }
434
- try {
435
- const content = fs.readFileSync(partialPath, 'utf-8');
436
- return JSON.parse(content);
437
- }
438
- catch {
439
- return null;
440
- }
441
- }
442
- /**
443
- * Read full session output for details view (complete data with bodies).
444
- *
445
- * @returns The full BdgOutput data if file exists and is valid, null otherwise
446
- */
447
- export function readFullOutput() {
448
- const fullPath = getFullFilePath();
449
- if (!fs.existsSync(fullPath)) {
450
- return null;
451
- }
452
- try {
453
- const content = fs.readFileSync(fullPath, 'utf-8');
454
- return JSON.parse(content);
455
- }
456
- catch {
457
- return null;
458
- }
459
- }
460
- /**
461
- * Cleanup all session files.
462
- *
463
- * Removes PID, lock, metadata, preview, full, and output files.
464
- */
465
- export function cleanupSession() {
466
- cleanupPidFile();
467
- releaseSessionLock();
468
- const metaPath = getMetadataFilePath();
469
- if (fs.existsSync(metaPath)) {
470
- try {
471
- fs.unlinkSync(metaPath);
472
- }
473
- catch {
474
- // Ignore errors
475
- }
476
- }
477
- // Clean up preview file (lightweight)
478
- const partialPath = getPartialFilePath();
479
- if (fs.existsSync(partialPath)) {
480
- try {
481
- fs.unlinkSync(partialPath);
482
- }
483
- catch {
484
- // Ignore errors
485
- }
486
- }
487
- // Clean up full file (complete data)
488
- const fullPath = getFullFilePath();
489
- if (fs.existsSync(fullPath)) {
490
- try {
491
- fs.unlinkSync(fullPath);
492
- }
493
- catch {
494
- // Ignore errors
495
- }
496
- }
497
- }
498
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}