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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/connection/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,26 +1,55 @@
1
+ import type ProtocolMapping from 'devtools-protocol/types/protocol-mapping';
1
2
  import type { CDPConnection } from '../connection/cdp.js';
3
+ import type { TypedCDPConnection } from '../connection/typed-cdp.js';
4
+ /**
5
+ * Extract event parameter type from a CDP event.
6
+ */
7
+ type EventParams<T extends keyof ProtocolMapping.Events> = ProtocolMapping.Events[T] extends [
8
+ infer P
9
+ ] ? P : ProtocolMapping.Events[T] extends [] ? void : never;
2
10
  /**
3
11
  * Registry for managing CDP event handlers with automatic cleanup.
4
12
  *
5
13
  * Provides a centralized way to register and clean up CDP event handlers,
6
14
  * eliminating the boilerplate code repeated across all telemetry modules.
15
+ *
16
+ * Supports both legacy untyped usage and new type-safe usage with TypedCDPConnection.
7
17
  */
8
18
  export declare class CDPHandlerRegistry {
9
- private handlers;
19
+ private cleanupFunctions;
10
20
  /**
11
- * Register a CDP event handler and track it for cleanup.
21
+ * Register a CDP event handler and track it for cleanup (legacy API).
12
22
  *
13
23
  * @param cdp - CDP connection instance
14
24
  * @param event - CDP event name (e.g., 'Network.requestWillBeSent')
15
25
  * @param handler - Event handler function
26
+ *
27
+ * @deprecated Since v0.5.0. Use registerTyped() with TypedCDPConnection for type safety. Will be removed in v1.0.0.
16
28
  */
17
29
  register<T>(cdp: CDPConnection, event: string, handler: (params: T) => void): void;
18
30
  /**
19
- * Remove all registered event handlers and clear the registry.
31
+ * Register a type-safe CDP event handler and track it for cleanup.
20
32
  *
21
- * @param cdp - CDP connection instance
33
+ * @param typed - Typed CDP connection instance
34
+ * @param event - CDP event name (autocomplete available)
35
+ * @param handler - Event handler with type-safe parameters
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const registry = new CDPHandlerRegistry();
40
+ * const typed = new TypedCDPConnection(cdp);
41
+ *
42
+ * registry.registerTyped(typed, 'Network.requestWillBeSent', (event) => {
43
+ * // event is typed as Protocol.Network.RequestWillBeSentEvent
44
+ * console.log(event.request.url);
45
+ * });
46
+ * ```
47
+ */
48
+ registerTyped<T extends keyof ProtocolMapping.Events>(typed: TypedCDPConnection, event: T, handler: (params: EventParams<T>) => void): void;
49
+ /**
50
+ * Remove all registered event handlers and clear the registry.
22
51
  */
23
- cleanup(cdp: CDPConnection): void;
52
+ cleanup(): void;
24
53
  /**
25
54
  * Get the number of registered handlers.
26
55
  *
@@ -28,4 +57,5 @@ export declare class CDPHandlerRegistry {
28
57
  */
29
58
  size(): number;
30
59
  }
60
+ export {};
31
61
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA4C;IAE5D;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAKlF;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAKjC;;;;OAIG;IACH,IAAI,IAAI,MAAM;CAGf"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;IAC3F,MAAM,CAAC;CACR,GACG,CAAC,GACD,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,GAClC,IAAI,GACJ,KAAK,CAAC;AAEZ;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAKlF;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,EAClD,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GACxC,IAAI;IAKP;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;;;OAIG;IACH,IAAI,IAAI,MAAM;CAGf"}
@@ -3,28 +3,52 @@
3
3
  *
4
4
  * Provides a centralized way to register and clean up CDP event handlers,
5
5
  * eliminating the boilerplate code repeated across all telemetry modules.
6
+ *
7
+ * Supports both legacy untyped usage and new type-safe usage with TypedCDPConnection.
6
8
  */
7
9
  export class CDPHandlerRegistry {
8
- handlers = [];
10
+ cleanupFunctions = [];
9
11
  /**
10
- * Register a CDP event handler and track it for cleanup.
12
+ * Register a CDP event handler and track it for cleanup (legacy API).
11
13
  *
12
14
  * @param cdp - CDP connection instance
13
15
  * @param event - CDP event name (e.g., 'Network.requestWillBeSent')
14
16
  * @param handler - Event handler function
17
+ *
18
+ * @deprecated Since v0.5.0. Use registerTyped() with TypedCDPConnection for type safety. Will be removed in v1.0.0.
15
19
  */
16
20
  register(cdp, event, handler) {
17
- const id = cdp.on(event, handler);
18
- this.handlers.push({ event, id });
21
+ const cleanup = cdp.on(event, handler);
22
+ this.cleanupFunctions.push(cleanup);
19
23
  }
20
24
  /**
21
- * Remove all registered event handlers and clear the registry.
25
+ * Register a type-safe CDP event handler and track it for cleanup.
22
26
  *
23
- * @param cdp - CDP connection instance
27
+ * @param typed - Typed CDP connection instance
28
+ * @param event - CDP event name (autocomplete available)
29
+ * @param handler - Event handler with type-safe parameters
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const registry = new CDPHandlerRegistry();
34
+ * const typed = new TypedCDPConnection(cdp);
35
+ *
36
+ * registry.registerTyped(typed, 'Network.requestWillBeSent', (event) => {
37
+ * // event is typed as Protocol.Network.RequestWillBeSentEvent
38
+ * console.log(event.request.url);
39
+ * });
40
+ * ```
41
+ */
42
+ registerTyped(typed, event, handler) {
43
+ const cleanup = typed.on(event, handler);
44
+ this.cleanupFunctions.push(cleanup);
45
+ }
46
+ /**
47
+ * Remove all registered event handlers and clear the registry.
24
48
  */
25
- cleanup(cdp) {
26
- this.handlers.forEach(({ event, id }) => cdp.off(event, id));
27
- this.handlers.length = 0;
49
+ cleanup() {
50
+ this.cleanupFunctions.forEach((cleanup) => cleanup());
51
+ this.cleanupFunctions.length = 0;
28
52
  }
29
53
  /**
30
54
  * Get the number of registered handlers.
@@ -32,7 +56,7 @@ export class CDPHandlerRegistry {
32
56
  * @returns Number of active handlers
33
57
  */
34
58
  size() {
35
- return this.handlers.length;
59
+ return this.cleanupFunctions.length;
36
60
  }
37
61
  }
38
62
  //# sourceMappingURL=handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACrB,QAAQ,GAAyC,EAAE,CAAC;IAE5D;;;;;;OAMG;IACH,QAAQ,CAAI,GAAkB,EAAE,KAAa,EAAE,OAA4B;QACzE,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAkB;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/connection/handlers.ts"],"names":[],"mappings":"AAgBA;;;;;;;GAOG;AACH,MAAM,OAAO,kBAAkB;IACrB,gBAAgB,GAAsB,EAAE,CAAC;IAEjD;;;;;;;;OAQG;IACH,QAAQ,CAAI,GAAkB,EAAE,KAAa,EAAE,OAA4B;QACzE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CACX,KAAyB,EACzB,KAAQ,EACR,OAAyC;QAEzC,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Chrome binary resolution and validation.
3
+ *
4
+ * Handles resolving Chrome binary path from options or environment variables,
5
+ * and validates that the binary exists and is executable.
6
+ */
7
+ /**
8
+ * Options containing Chrome binary path configuration.
9
+ */
10
+ export interface BinaryResolverOptions {
11
+ /** Explicit Chrome binary path (overrides CHROME_PATH env var) */
12
+ chromePath?: string | undefined;
13
+ }
14
+ /**
15
+ * Resolve Chrome binary path from options or environment variable.
16
+ *
17
+ * Validates that the resolved binary:
18
+ * - Exists on the filesystem
19
+ * - Is a regular file (not a directory)
20
+ * - Has execute permissions
21
+ *
22
+ * @param options - Configuration with optional chromePath
23
+ * @returns Resolved and validated Chrome binary path, or undefined if not specified
24
+ * @throws ChromeLaunchError if binary path is invalid or not executable
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // From options
29
+ * const binary = resolveChromeBinary({ chromePath: '/usr/bin/google-chrome' });
30
+ *
31
+ * // From environment variable
32
+ * process.env['CHROME_PATH'] = '/opt/chrome/chrome';
33
+ * const binary = resolveChromeBinary({});
34
+ *
35
+ * // Not specified (returns undefined, launcher will use default)
36
+ * const binary = resolveChromeBinary({});
37
+ * ```
38
+ */
39
+ export declare function resolveChromeBinary(options: BinaryResolverOptions): string | undefined;
40
+ //# sourceMappingURL=binaryResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binaryResolver.d.ts","sourceRoot":"","sources":["../../../src/connection/launcher/binaryResolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAwCtF"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Chrome binary resolution and validation.
3
+ *
4
+ * Handles resolving Chrome binary path from options or environment variables,
5
+ * and validates that the binary exists and is executable.
6
+ */
7
+ import * as fs from 'fs';
8
+ import { getChromeDiagnostics } from '../../connection/diagnostics.js';
9
+ import { ChromeLaunchError, getErrorMessage } from '../../connection/errors.js';
10
+ import { formatDiagnosticsForError } from '../../ui/messages/chrome.js';
11
+ import { chromeBinaryOverrideNotFound, chromeBinaryOverrideNotExecutable, chromeBinaryOverrideIsDirectory, } from '../../ui/messages/chrome.js';
12
+ /**
13
+ * Get formatted Chrome diagnostics for error messages.
14
+ *
15
+ * Retrieves Chrome installation information and formats it for display
16
+ * in error messages. Uses cached diagnostics to avoid repeated filesystem scans.
17
+ *
18
+ * @returns Array of formatted diagnostic strings
19
+ */
20
+ function getFormattedDiagnostics() {
21
+ const diagnostics = getChromeDiagnostics();
22
+ return formatDiagnosticsForError(diagnostics);
23
+ }
24
+ /**
25
+ * Resolve Chrome binary path from options or environment variable.
26
+ *
27
+ * Validates that the resolved binary:
28
+ * - Exists on the filesystem
29
+ * - Is a regular file (not a directory)
30
+ * - Has execute permissions
31
+ *
32
+ * @param options - Configuration with optional chromePath
33
+ * @returns Resolved and validated Chrome binary path, or undefined if not specified
34
+ * @throws ChromeLaunchError if binary path is invalid or not executable
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // From options
39
+ * const binary = resolveChromeBinary({ chromePath: '/usr/bin/google-chrome' });
40
+ *
41
+ * // From environment variable
42
+ * process.env['CHROME_PATH'] = '/opt/chrome/chrome';
43
+ * const binary = resolveChromeBinary({});
44
+ *
45
+ * // Not specified (returns undefined, launcher will use default)
46
+ * const binary = resolveChromeBinary({});
47
+ * ```
48
+ */
49
+ export function resolveChromeBinary(options) {
50
+ const override = options.chromePath ?? process.env['CHROME_PATH'];
51
+ if (!override) {
52
+ return undefined;
53
+ }
54
+ const chromePath = override.trim();
55
+ if (!chromePath) {
56
+ return undefined;
57
+ }
58
+ const sourceLabel = options.chromePath ? 'chromePath option' : 'CHROME_PATH';
59
+ if (!fs.existsSync(chromePath)) {
60
+ const diagnostics = getFormattedDiagnostics();
61
+ throw new ChromeLaunchError(`${chromeBinaryOverrideNotFound(chromePath, sourceLabel)}\n\n${diagnostics.join('\n')}`);
62
+ }
63
+ try {
64
+ const stats = fs.statSync(chromePath);
65
+ if (stats.isDirectory()) {
66
+ throw new ChromeLaunchError(chromeBinaryOverrideIsDirectory(chromePath, sourceLabel));
67
+ }
68
+ fs.accessSync(chromePath, fs.constants.X_OK);
69
+ }
70
+ catch (error) {
71
+ if (error instanceof ChromeLaunchError) {
72
+ throw error;
73
+ }
74
+ throw new ChromeLaunchError(`${chromeBinaryOverrideNotExecutable(chromePath, sourceLabel)}\n\n${getErrorMessage(error)}`, error instanceof Error ? error : undefined);
75
+ }
76
+ return chromePath;
77
+ }
78
+ //# sourceMappingURL=binaryResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binaryResolver.js","sourceRoot":"","sources":["../../../src/connection/launcher/binaryResolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;GAOG;AACH,SAAS,uBAAuB;IAC9B,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,OAAO,yBAAyB,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;IAE7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,MAAM,IAAI,iBAAiB,CACzB,GAAG,4BAA4B,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,CAAC,+BAA+B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,iBAAiB,CACzB,GAAG,iCAAiC,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,EAAE,EAC5F,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Chrome command-line flags builder.
3
+ *
4
+ * Constructs the Chrome flags array from launch options, handling:
5
+ * - Base chrome-launcher defaults
6
+ * - bdg-specific flags (remote debugging, etc.)
7
+ * - Docker environment detection and GPU-disabling flags
8
+ * - Headless mode
9
+ */
10
+ /**
11
+ * Options that affect Chrome flags construction.
12
+ */
13
+ export interface FlagsBuilderOptions {
14
+ /** CDP port number for remote debugging */
15
+ port?: number | undefined;
16
+ /** Whether to ignore chrome-launcher default flags */
17
+ ignoreDefaultFlags?: boolean | undefined;
18
+ /** Whether to launch in headless mode */
19
+ headless?: boolean | undefined;
20
+ /** Additional Chrome command-line flags */
21
+ chromeFlags?: string[] | undefined;
22
+ }
23
+ /**
24
+ * Check if running inside a Docker container.
25
+ *
26
+ * Detects Docker environment by checking for:
27
+ * 1. /.dockerenv file (standard Docker indicator)
28
+ * 2. "docker" or "containerd" in /proc/self/cgroup
29
+ *
30
+ * @returns True if running in Docker, false otherwise
31
+ */
32
+ export declare function isDocker(): boolean;
33
+ /**
34
+ * Build Chrome flags array from launch options.
35
+ *
36
+ * Uses chrome-launcher default flags as base (unless ignoreDefaultFlags is true)
37
+ * and layers bdg-specific overrides on top. Headless mode uses the new headless
38
+ * implementation for better compatibility.
39
+ *
40
+ * When running in Docker, automatically adds GPU-disabling flags to work around
41
+ * graphics limitations in containerized environments.
42
+ *
43
+ * @param options - Launch options containing flag preferences
44
+ * @returns Array of Chrome command-line flags
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * // Standard flags
49
+ * const flags = buildChromeFlags({ port: 9222 });
50
+ *
51
+ * // Headless with custom flags
52
+ * const flags = buildChromeFlags({
53
+ * port: 9222,
54
+ * headless: true,
55
+ * chromeFlags: ['--window-size=1920,1080']
56
+ * });
57
+ *
58
+ * // Docker environment (auto-detects)
59
+ * const flags = buildChromeFlags({ port: 9222 });
60
+ * // Includes --disable-gpu, --no-sandbox if in Docker
61
+ * ```
62
+ */
63
+ export declare function buildChromeFlags(options: FlagsBuilderOptions): string[];
64
+ //# sourceMappingURL=flagsBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flagsBuilder.d.ts","sourceRoot":"","sources":["../../../src/connection/launcher/flagsBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACpC;AAID;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAelC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAoBvE"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Chrome command-line flags builder.
3
+ *
4
+ * Constructs the Chrome flags array from launch options, handling:
5
+ * - Base chrome-launcher defaults
6
+ * - bdg-specific flags (remote debugging, etc.)
7
+ * - Docker environment detection and GPU-disabling flags
8
+ * - Headless mode
9
+ */
10
+ import * as fs from 'fs';
11
+ import * as chromeLauncher from 'chrome-launcher';
12
+ import { BDG_CHROME_FLAGS, DEFAULT_CDP_PORT, HEADLESS_FLAG, DOCKER_CHROME_FLAGS, } from '../../constants.js';
13
+ const REMOTE_DEBUGGING_FLAG = (port) => `--remote-debugging-port=${port}`;
14
+ /**
15
+ * Check if running inside a Docker container.
16
+ *
17
+ * Detects Docker environment by checking for:
18
+ * 1. /.dockerenv file (standard Docker indicator)
19
+ * 2. "docker" or "containerd" in /proc/self/cgroup
20
+ *
21
+ * @returns True if running in Docker, false otherwise
22
+ */
23
+ export function isDocker() {
24
+ try {
25
+ if (fs.existsSync('/.dockerenv')) {
26
+ return true;
27
+ }
28
+ if (fs.existsSync('/proc/self/cgroup')) {
29
+ const cgroup = fs.readFileSync('/proc/self/cgroup', 'utf8');
30
+ return cgroup.includes('docker') || cgroup.includes('containerd');
31
+ }
32
+ return false;
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ }
38
+ /**
39
+ * Build Chrome flags array from launch options.
40
+ *
41
+ * Uses chrome-launcher default flags as base (unless ignoreDefaultFlags is true)
42
+ * and layers bdg-specific overrides on top. Headless mode uses the new headless
43
+ * implementation for better compatibility.
44
+ *
45
+ * When running in Docker, automatically adds GPU-disabling flags to work around
46
+ * graphics limitations in containerized environments.
47
+ *
48
+ * @param options - Launch options containing flag preferences
49
+ * @returns Array of Chrome command-line flags
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Standard flags
54
+ * const flags = buildChromeFlags({ port: 9222 });
55
+ *
56
+ * // Headless with custom flags
57
+ * const flags = buildChromeFlags({
58
+ * port: 9222,
59
+ * headless: true,
60
+ * chromeFlags: ['--window-size=1920,1080']
61
+ * });
62
+ *
63
+ * // Docker environment (auto-detects)
64
+ * const flags = buildChromeFlags({ port: 9222 });
65
+ * // Includes --disable-gpu, --no-sandbox if in Docker
66
+ * ```
67
+ */
68
+ export function buildChromeFlags(options) {
69
+ const port = options.port ?? DEFAULT_CDP_PORT;
70
+ const baseFlags = options.ignoreDefaultFlags ? [] : chromeLauncher.Launcher.defaultFlags();
71
+ const bdgFlags = [REMOTE_DEBUGGING_FLAG(port), ...BDG_CHROME_FLAGS];
72
+ const dockerFlags = isDocker() ? DOCKER_CHROME_FLAGS : [];
73
+ if (options.headless) {
74
+ return [
75
+ HEADLESS_FLAG,
76
+ ...baseFlags,
77
+ ...bdgFlags,
78
+ ...dockerFlags,
79
+ ...(options.chromeFlags ?? []),
80
+ ];
81
+ }
82
+ return [...baseFlags, ...bdgFlags, ...dockerFlags, ...(options.chromeFlags ?? [])];
83
+ }
84
+ //# sourceMappingURL=flagsBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flagsBuilder.js","sourceRoot":"","sources":["../../../src/connection/launcher/flagsBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,KAAK,cAAc,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,2BAA2B,IAAI,EAAE,CAAC;AAE1F;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA4B;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,gBAAgB,CAAC;IAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAE3F,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAE9E,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1D,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO;YACL,aAAa;YACb,GAAG,SAAS;YACZ,GAAG,QAAQ;YACX,GAAG,WAAW;YACd,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Chrome preferences loader.
3
+ *
4
+ * Handles loading Chrome preferences from files or inline options,
5
+ * and validates that they are JSON-serializable for chrome-launcher compatibility.
6
+ */
7
+ /**
8
+ * JSONLike type matching chrome-launcher's internal type definition.
9
+ *
10
+ * Used for Chrome preferences that must be JSON-serializable values.
11
+ * chrome-launcher enforces this constraint to ensure preferences can be
12
+ * safely serialized and passed to Chrome process.
13
+ */
14
+ type JSONLike = {
15
+ [property: string]: JSONLike;
16
+ } | readonly JSONLike[] | string | number | boolean | null;
17
+ /**
18
+ * Options for loading Chrome preferences.
19
+ */
20
+ export interface PreferencesLoaderOptions {
21
+ /** Path to JSON file containing Chrome preferences */
22
+ prefsFile?: string | undefined;
23
+ /** Inline Chrome preferences object */
24
+ prefs?: Record<string, unknown> | undefined;
25
+ }
26
+ /**
27
+ * Load Chrome preferences from file or inline options.
28
+ *
29
+ * Supports two modes:
30
+ * 1. **File-based**: Load preferences from JSON file (prefsFile)
31
+ * 2. **Inline**: Use preferences directly from options (prefs)
32
+ *
33
+ * File-based loading takes precedence over inline preferences.
34
+ *
35
+ * @param options - Options containing preferences configuration
36
+ * @returns Preferences object, or undefined if none specified
37
+ * @throws ChromeLaunchError if file doesn't exist, is invalid JSON, or wrong format
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * // From file
42
+ * const prefs = loadChromePrefs({ prefsFile: './chrome-prefs.json' });
43
+ *
44
+ * // Inline
45
+ * const prefs = loadChromePrefs({
46
+ * prefs: {
47
+ * 'profile.default_content_settings.popups': 0,
48
+ * 'download.default_directory': '/tmp/downloads'
49
+ * }
50
+ * });
51
+ * ```
52
+ */
53
+ export declare function loadChromePrefs(options: PreferencesLoaderOptions): Record<string, unknown> | undefined;
54
+ /**
55
+ * Type-safe conversion for Chrome preferences from unknown to JSONLike.
56
+ *
57
+ * chrome-launcher requires preferences to match its internal JSONLike type constraint
58
+ * for type safety. This function validates that preferences are JSON-serializable
59
+ * before casting to ensure runtime safety.
60
+ *
61
+ * @param prefs - Preferences object with unknown values from JSON parsing
62
+ * @returns Preferences compatible with chrome-launcher's JSONLike constraint, or undefined
63
+ * @throws ChromeLaunchError if preferences contain non-JSON-serializable values
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const prefs = loadChromePrefs({ prefsFile: './prefs.json' });
68
+ * const compatible = ensureJSONCompatiblePrefs(prefs);
69
+ * // Now safe to pass to chrome-launcher
70
+ * ```
71
+ */
72
+ export declare function ensureJSONCompatiblePrefs(prefs: Record<string, unknown> | undefined): Record<string, JSONLike> | undefined;
73
+ export {};
74
+ //# sourceMappingURL=preferencesLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferencesLoader.d.ts","sourceRoot":"","sources":["../../../src/connection/launcher/preferencesLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;;;;GAMG;AACH,KAAK,QAAQ,GACT;IACE,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC9B,GACD,SAAS,QAAQ,EAAE,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAkCrC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,CAetC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Chrome preferences loader.
3
+ *
4
+ * Handles loading Chrome preferences from files or inline options,
5
+ * and validates that they are JSON-serializable for chrome-launcher compatibility.
6
+ */
7
+ import * as fs from 'fs';
8
+ import { ChromeLaunchError, getErrorMessage } from '../../connection/errors.js';
9
+ import { prefsFileNotFoundError, invalidPrefsFormatError, prefsLoadError, } from '../../ui/messages/chrome.js';
10
+ /**
11
+ * Load Chrome preferences from file or inline options.
12
+ *
13
+ * Supports two modes:
14
+ * 1. **File-based**: Load preferences from JSON file (prefsFile)
15
+ * 2. **Inline**: Use preferences directly from options (prefs)
16
+ *
17
+ * File-based loading takes precedence over inline preferences.
18
+ *
19
+ * @param options - Options containing preferences configuration
20
+ * @returns Preferences object, or undefined if none specified
21
+ * @throws ChromeLaunchError if file doesn't exist, is invalid JSON, or wrong format
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // From file
26
+ * const prefs = loadChromePrefs({ prefsFile: './chrome-prefs.json' });
27
+ *
28
+ * // Inline
29
+ * const prefs = loadChromePrefs({
30
+ * prefs: {
31
+ * 'profile.default_content_settings.popups': 0,
32
+ * 'download.default_directory': '/tmp/downloads'
33
+ * }
34
+ * });
35
+ * ```
36
+ */
37
+ export function loadChromePrefs(options) {
38
+ if (options.prefsFile) {
39
+ if (!fs.existsSync(options.prefsFile)) {
40
+ throw new ChromeLaunchError(prefsFileNotFoundError(options.prefsFile), new Error('File does not exist'));
41
+ }
42
+ try {
43
+ const prefsContent = fs.readFileSync(options.prefsFile, 'utf8');
44
+ const parsed = JSON.parse(prefsContent);
45
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
46
+ throw new ChromeLaunchError(invalidPrefsFormatError(options.prefsFile, typeof parsed), new Error('Invalid JSON structure'));
47
+ }
48
+ return parsed;
49
+ }
50
+ catch (error) {
51
+ if (error instanceof ChromeLaunchError) {
52
+ throw error;
53
+ }
54
+ throw new ChromeLaunchError(prefsLoadError(options.prefsFile, getErrorMessage(error)), error instanceof Error ? error : undefined);
55
+ }
56
+ }
57
+ return options.prefs;
58
+ }
59
+ /**
60
+ * Type-safe conversion for Chrome preferences from unknown to JSONLike.
61
+ *
62
+ * chrome-launcher requires preferences to match its internal JSONLike type constraint
63
+ * for type safety. This function validates that preferences are JSON-serializable
64
+ * before casting to ensure runtime safety.
65
+ *
66
+ * @param prefs - Preferences object with unknown values from JSON parsing
67
+ * @returns Preferences compatible with chrome-launcher's JSONLike constraint, or undefined
68
+ * @throws ChromeLaunchError if preferences contain non-JSON-serializable values
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * const prefs = loadChromePrefs({ prefsFile: './prefs.json' });
73
+ * const compatible = ensureJSONCompatiblePrefs(prefs);
74
+ * // Now safe to pass to chrome-launcher
75
+ * ```
76
+ */
77
+ export function ensureJSONCompatiblePrefs(prefs) {
78
+ if (prefs === undefined) {
79
+ return undefined;
80
+ }
81
+ try {
82
+ JSON.stringify(prefs);
83
+ }
84
+ catch (error) {
85
+ throw new ChromeLaunchError(`Chrome preferences must be JSON-serializable: ${getErrorMessage(error)}`, error instanceof Error ? error : undefined);
86
+ }
87
+ return prefs;
88
+ }
89
+ //# sourceMappingURL=preferencesLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferencesLoader.js","sourceRoot":"","sources":["../../../src/connection/launcher/preferencesLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,GACf,MAAM,yBAAyB,CAAC;AA6BjC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAiC;IAEjC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,iBAAiB,CACzB,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,EACzC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,iBAAiB,CACzB,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC,EACzD,IAAI,KAAK,CAAC,wBAAwB,CAAC,CACpC,CAAC;YACJ,CAAC;YAED,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,iBAAiB,CACzB,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EACzD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAA0C;IAE1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,iDAAiD,eAAe,CAAC,KAAK,CAAC,EAAE,EACzE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;IACJ,CAAC;IAED,OAAO,KAAiC,CAAC;AAC3C,CAAC"}
@@ -1,5 +1,5 @@
1
+ import type { LaunchedChrome, Logger } from './types.js';
1
2
  import type { Options as ChromeLaunchOptions } from 'chrome-launcher';
2
- import type { LaunchedChrome } from '../types';
3
3
  /**
4
4
  * Options that control how Chrome is launched for CDP sessions.
5
5
  * Extended to support chrome-launcher advanced features.
@@ -9,6 +9,10 @@ export interface LaunchOptions extends Pick<ChromeLaunchOptions, 'logLevel' | 'c
9
9
  port?: number;
10
10
  /** Directory for Chrome profile data. Falls back to persistent ~/.bdg/chrome-profile directory */
11
11
  userDataDir?: string | undefined;
12
+ /** Base directory for creating user data dir (defaults to OS temp dir, injectable for testing) */
13
+ baseDir?: string | undefined;
14
+ /** Logger instance (defaults to console, injectable for testing or custom logging) */
15
+ logger?: Logger | undefined;
12
16
  /** When true, launches Chrome in headless mode. Defaults to standard windowed experience */
13
17
  headless?: boolean;
14
18
  /** Initial URL to open. Defaults to about:blank and is typically replaced during session setup */
@@ -20,5 +24,24 @@ export interface LaunchOptions extends Pick<ChromeLaunchOptions, 'logLevel' | 'c
20
24
  /** Override Chrome binary detection with an explicit path */
21
25
  chromePath?: string;
22
26
  }
27
+ /**
28
+ * Launch Chrome with remote debugging enabled using chrome-launcher.
29
+ *
30
+ * Supports macOS, Linux, and Windows. Chrome will be launched with
31
+ * the specified debugging port and user data directory.
32
+ *
33
+ * Validates Chrome process is alive after launch to detect immediate crashes
34
+ * or port conflicts. Includes Chrome installation diagnostics in error messages
35
+ * to aid troubleshooting.
36
+ *
37
+ * @param options - Launch configuration options
38
+ * @returns LaunchedChrome instance with PID and kill method
39
+ * @throws ChromeLaunchError if Chrome fails to launch, process dies immediately, or CDP doesn't become available
40
+ * @throws Error if user data directory cannot be created
41
+ *
42
+ * @remarks
43
+ * Chrome 136+ requires --user-data-dir with a non-default directory.
44
+ * Uses chrome-launcher for cross-platform Chrome detection and launching.
45
+ */
23
46
  export declare function launchChrome(options?: LaunchOptions): Promise<LaunchedChrome>;
24
47
  //# sourceMappingURL=launcher.d.ts.map