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
@@ -5,35 +5,21 @@
5
5
  * WHY: Centralized cleanup logic ensures consistent cleanup across error paths and normal shutdown.
6
6
  */
7
7
  import * as fs from 'fs';
8
- import { getErrorMessage } from '../ui/errors/index.js';
8
+ import { getErrorMessage } from '../connection/errors.js';
9
9
  import { createLogger } from '../ui/logging/index.js';
10
10
  import { readChromePid, clearChromePid } from './chrome.js';
11
- import { safeDeleteFile } from './fileOps.js';
12
11
  import { acquireSessionLock, releaseSessionLock } from './lock.js';
13
12
  import { getSessionFilePath, ensureSessionDir } from './paths.js';
14
- import { readPid, cleanupPidFile } from './pid.js';
13
+ import { readPid, cleanupPidFile, readPidFromFile } from './pid.js';
15
14
  import { isProcessAlive, killChromeProcess } from './process.js';
16
15
  const log = createLogger('cleanup');
17
- function readPidFromFile(filePath) {
18
- if (!fs.existsSync(filePath)) {
19
- return null;
20
- }
21
- try {
22
- const pidStr = fs.readFileSync(filePath, 'utf-8').trim();
23
- const pid = parseInt(pidStr, 10);
24
- return Number.isNaN(pid) ? null : pid;
25
- }
26
- catch {
27
- return null;
28
- }
29
- }
30
16
  function killOrphanedWorker(pid) {
31
17
  try {
32
18
  process.kill(pid, 'SIGKILL');
33
- log(`Force killed orphaned worker process ${pid}`);
19
+ log.info(`Force killed orphaned worker process ${pid}`);
34
20
  }
35
21
  catch (error) {
36
- log(`Failed to kill orphaned worker process ${pid}: ${getErrorMessage(error)}`);
22
+ log.info(`Failed to kill orphaned worker process ${pid}: ${getErrorMessage(error)}`);
37
23
  }
38
24
  }
39
25
  function killCachedChromeProcess(reason) {
@@ -41,14 +27,14 @@ function killCachedChromeProcess(reason) {
41
27
  if (!chromePid) {
42
28
  return;
43
29
  }
44
- log(`Killing cached Chrome process ${chromePid} (${reason})`);
30
+ log.info(`Killing cached Chrome process ${chromePid} (${reason})`);
45
31
  let killSucceeded = false;
46
32
  try {
47
33
  killChromeProcess(chromePid, 'SIGKILL');
48
34
  killSucceeded = true;
49
35
  }
50
36
  catch (error) {
51
- log(`Failed to kill Chrome process ${chromePid}: ${getErrorMessage(error)}`);
37
+ log.info(`Failed to kill Chrome process ${chromePid}: ${getErrorMessage(error)}`);
52
38
  }
53
39
  finally {
54
40
  if (killSucceeded || !isProcessAlive(chromePid)) {
@@ -78,36 +64,29 @@ function killCachedChromeProcess(reason) {
78
64
  */
79
65
  export function cleanupStaleSession() {
80
66
  ensureSessionDir();
81
- // Try to acquire the session lock
82
67
  const lockAcquired = acquireSessionLock();
83
68
  if (!lockAcquired) {
84
- // Lock is held by another process - check if it's still alive
85
69
  const lockPath = getSessionFilePath('LOCK');
86
70
  try {
87
71
  const lockPidStr = fs.readFileSync(lockPath, 'utf-8').trim();
88
72
  const lockPid = parseInt(lockPidStr, 10);
89
- if (!isNaN(lockPid) && isProcessAlive(lockPid)) {
90
- // Active session is running - don't clean up
73
+ if (!Number.isNaN(lockPid) && isProcessAlive(lockPid)) {
91
74
  return false;
92
75
  }
93
76
  }
94
- catch {
95
- // Can't read lock file - will clean it up below
77
+ catch (error) {
78
+ log.debug(`Failed to read stale session lock: ${getErrorMessage(error)}`);
96
79
  }
97
- // Lock exists but process is dead - force acquire
98
80
  try {
99
- fs.unlinkSync(lockPath);
81
+ fs.rmSync(lockPath, { force: true });
100
82
  }
101
- catch {
102
- // Ignore if already deleted
83
+ catch (error) {
84
+ log.debug(`Failed to remove stale session lock: ${getErrorMessage(error)}`);
103
85
  }
104
- // Try to acquire lock again
105
86
  if (!acquireSessionLock()) {
106
- // Still can't acquire - another process may have grabbed it
107
87
  return false;
108
88
  }
109
89
  }
110
- // We now hold the lock - check if session and daemon processes are alive
111
90
  try {
112
91
  const sessionPid = readPid();
113
92
  let sessionAlive = sessionPid !== null && isProcessAlive(sessionPid);
@@ -115,7 +94,7 @@ export function cleanupStaleSession() {
115
94
  const daemonPid = readPidFromFile(daemonPidPath);
116
95
  const daemonAlive = daemonPid !== null && isProcessAlive(daemonPid);
117
96
  if (sessionAlive && !daemonAlive && sessionPid !== null) {
118
- log(`Detected orphaned worker process (PID ${sessionPid}) with no daemon - forcing cleanup`);
97
+ log.info(`Detected orphaned worker process (PID ${sessionPid}) with no daemon - forcing cleanup`);
119
98
  killCachedChromeProcess('orphaned worker cleanup');
120
99
  killOrphanedWorker(sessionPid);
121
100
  sessionAlive = isProcessAlive(sessionPid);
@@ -126,44 +105,99 @@ export function cleanupStaleSession() {
126
105
  if (daemonAlive) {
127
106
  return false;
128
107
  }
129
- // All processes are dead - clean up stale artifacts
130
- log('Removing stale session files...');
108
+ log.info('Removing stale session files...');
131
109
  killCachedChromeProcess('stale session cleanup');
132
- // Remove session PID
133
110
  cleanupPidFile();
134
- // Remove all session files using helper
135
- safeDeleteFile(getSessionFilePath('METADATA'), 'metadata file', log);
136
- safeDeleteFile(daemonPidPath, 'daemon PID file', log);
137
- safeDeleteFile(getSessionFilePath('DAEMON_SOCKET'), 'daemon socket', log);
138
- safeDeleteFile(getSessionFilePath('DAEMON_LOCK'), 'daemon lock', log);
139
- log('Stale session cleanup complete');
111
+ try {
112
+ fs.rmSync(getSessionFilePath('METADATA'), { force: true });
113
+ }
114
+ catch (error) {
115
+ log.debug(`Failed to remove metadata file: ${getErrorMessage(error)}`);
116
+ }
117
+ try {
118
+ fs.rmSync(daemonPidPath, { force: true });
119
+ }
120
+ catch (error) {
121
+ log.debug(`Failed to remove daemon PID file: ${getErrorMessage(error)}`);
122
+ }
123
+ try {
124
+ fs.rmSync(getSessionFilePath('DAEMON_SOCKET'), { force: true });
125
+ }
126
+ catch (error) {
127
+ log.debug(`Failed to remove daemon socket: ${getErrorMessage(error)}`);
128
+ }
129
+ try {
130
+ fs.rmSync(getSessionFilePath('DAEMON_LOCK'), { force: true });
131
+ }
132
+ catch (error) {
133
+ log.debug(`Failed to remove daemon lock: ${getErrorMessage(error)}`);
134
+ }
135
+ log.info('Stale session cleanup complete');
140
136
  return true;
141
137
  }
142
138
  finally {
143
- // Always release the lock
144
139
  releaseSessionLock();
145
140
  }
146
141
  }
147
142
  /**
148
143
  * Cleanup all session files after a session ends.
149
144
  *
150
- * Removes PID, lock, and metadata files.
145
+ * Removes session-specific files while preserving chrome-profile directory
146
+ * which contains user preferences, cookies, and cached data.
147
+ *
148
+ * Files removed:
149
+ * - session.pid (worker PID)
150
+ * - session.lock (session lock)
151
+ * - session.meta.json (session metadata)
152
+ * - daemon.pid, daemon.sock, daemon.lock (daemon files)
153
+ *
154
+ * Files preserved:
155
+ * - session.json (output file - user needs to read it)
156
+ * - chrome.pid (for emergency cleanup - auto-removed if Chrome is dead)
157
+ * - chrome-profile/ directory (cookies, preferences, cache)
158
+ *
151
159
  * Safe to call multiple times (idempotent).
152
160
  *
153
- * WHY: Ensures clean slate for next session, prevents stale file accumulation.
161
+ * WHY: Ensures clean slate for next session while preserving user preferences.
154
162
  */
155
163
  export function cleanupSession() {
164
+ // Clean up worker session files
156
165
  cleanupPidFile();
157
166
  releaseSessionLock();
158
- const metaPath = getSessionFilePath('METADATA');
159
- if (fs.existsSync(metaPath)) {
160
- try {
161
- fs.unlinkSync(metaPath);
162
- }
163
- catch {
164
- // Ignore errors
165
- }
167
+ // Remove session metadata
168
+ try {
169
+ fs.rmSync(getSessionFilePath('METADATA'), { force: true });
170
+ }
171
+ catch (error) {
172
+ log.debug(`Failed to remove metadata file: ${getErrorMessage(error)}`);
173
+ }
174
+ // NOTE: chrome.pid is intentionally NOT removed here
175
+ // It's used for emergency cleanup (bdg cleanup --chrome)
176
+ // and is automatically cleaned when Chrome process dies (via readChromePid)
177
+ // Remove daemon files
178
+ try {
179
+ fs.rmSync(getSessionFilePath('DAEMON_PID'), { force: true });
180
+ }
181
+ catch (error) {
182
+ log.debug(`Failed to remove daemon PID file: ${getErrorMessage(error)}`);
183
+ }
184
+ try {
185
+ fs.rmSync(getSessionFilePath('DAEMON_SOCKET'), { force: true });
186
+ }
187
+ catch (error) {
188
+ log.debug(`Failed to remove daemon socket: ${getErrorMessage(error)}`);
189
+ }
190
+ try {
191
+ fs.rmSync(getSessionFilePath('DAEMON_LOCK'), { force: true });
192
+ }
193
+ catch (error) {
194
+ log.debug(`Failed to remove daemon lock: ${getErrorMessage(error)}`);
166
195
  }
196
+ // NOTE: session.json (OUTPUT) is intentionally NOT removed
197
+ // User needs to read the output file after session ends
198
+ // They can manually delete it or use `bdg cleanup` to remove all files
199
+ // NOTE: chrome-profile/ directory is intentionally NOT removed
200
+ // to preserve user preferences, cookies, and cached data across sessions
167
201
  }
168
202
  /**
169
203
  * Cleanup stale daemon PID file if daemon process is dead.
@@ -180,48 +214,42 @@ export function cleanupStaleDaemonPid() {
180
214
  try {
181
215
  const daemonPidStr = fs.readFileSync(daemonPidPath, 'utf-8').trim();
182
216
  const daemonPid = parseInt(daemonPidStr, 10);
183
- // If daemon is still alive, don't clean up
184
- if (!isNaN(daemonPid) && isProcessAlive(daemonPid)) {
217
+ if (!Number.isNaN(daemonPid) && isProcessAlive(daemonPid)) {
185
218
  return false;
186
219
  }
187
- // Daemon is dead - clean up stale PID and lock files
188
- log(`Daemon not running (stale PID ${daemonPid}), cleaning up...`);
189
- // Remove daemon PID
220
+ log.info(`Daemon not running (stale PID ${daemonPid}), cleaning up...`);
190
221
  try {
191
- fs.unlinkSync(daemonPidPath);
192
- log('Removed stale daemon PID file');
222
+ fs.rmSync(daemonPidPath, { force: true });
223
+ log.info('Removed stale daemon PID file');
193
224
  }
194
225
  catch (error) {
195
- log(`Failed to remove daemon PID: ${getErrorMessage(error)}`);
226
+ log.info(`Failed to remove daemon PID: ${getErrorMessage(error)}`);
196
227
  }
197
- // Remove daemon socket
198
228
  const socketPath = getSessionFilePath('DAEMON_SOCKET');
199
229
  if (fs.existsSync(socketPath)) {
200
230
  try {
201
- fs.unlinkSync(socketPath);
202
- log('Removed stale daemon socket');
231
+ fs.rmSync(socketPath, { force: true });
232
+ log.info('Removed stale daemon socket');
203
233
  }
204
234
  catch (error) {
205
- log(`Failed to remove daemon socket: ${getErrorMessage(error)}`);
235
+ log.info(`Failed to remove daemon socket: ${getErrorMessage(error)}`);
206
236
  }
207
237
  }
208
- // Remove daemon lock
209
238
  const lockPath = getSessionFilePath('DAEMON_LOCK');
210
239
  if (fs.existsSync(lockPath)) {
211
240
  try {
212
- fs.unlinkSync(lockPath);
213
- log('Removed stale daemon lock');
241
+ fs.rmSync(lockPath, { force: true });
242
+ log.info('Removed stale daemon lock');
214
243
  }
215
244
  catch (error) {
216
- log(`Failed to remove daemon lock: ${getErrorMessage(error)}`);
245
+ log.info(`Failed to remove daemon lock: ${getErrorMessage(error)}`);
217
246
  }
218
247
  }
219
248
  return true;
220
249
  }
221
250
  catch {
222
- // Can't read daemon PID - will clean it up
223
251
  try {
224
- fs.unlinkSync(daemonPidPath);
252
+ fs.rmSync(daemonPidPath, { force: true });
225
253
  return true;
226
254
  }
227
255
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/session/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/session/cleanup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/session/lock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAmC5C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAUzC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAmC3C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/session/lock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkHH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -5,8 +5,105 @@
5
5
  * WHY: Prevents race conditions when multiple bdg processes try to start simultaneously.
6
6
  */
7
7
  import * as fs from 'fs';
8
+ import { getErrorMessage } from '../connection/errors.js';
9
+ import { createLogger } from '../ui/logging/index.js';
8
10
  import { getSessionFilePath, ensureSessionDir } from './paths.js';
9
11
  import { isProcessAlive } from './process.js';
12
+ const log = createLogger('session');
13
+ /**
14
+ * Type guard for NodeJS errno exceptions.
15
+ *
16
+ * @param e - Unknown error to check
17
+ * @returns True if error has errno code property
18
+ */
19
+ function isErrnoException(e) {
20
+ return typeof e === 'object' && e !== null && 'code' in e;
21
+ }
22
+ /**
23
+ * Read PID from lock file.
24
+ *
25
+ * @param lockPath - Path to lock file
26
+ * @returns Parsed PID or null if file doesn't exist or is invalid
27
+ */
28
+ function readLockPid(lockPath) {
29
+ try {
30
+ const lockPidStr = fs.readFileSync(lockPath, 'utf-8').trim();
31
+ const lockPid = parseInt(lockPidStr, 10);
32
+ return Number.isNaN(lockPid) ? null : lockPid;
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }
38
+ /**
39
+ * Try to remove stale lock file.
40
+ *
41
+ * @param lockPath - Path to lock file to remove
42
+ * @returns True if removal succeeded, false otherwise
43
+ */
44
+ function removeStaleLock(lockPath) {
45
+ try {
46
+ fs.rmSync(lockPath, { force: true });
47
+ return true;
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ /**
54
+ * Handle existing lock file by checking if owner process is still alive.
55
+ *
56
+ * @param lockPath - Path to existing lock file
57
+ * @param file - Lock file type for retry
58
+ * @returns True if lock was acquired after removing stale lock, false if active lock exists
59
+ */
60
+ function handleExistingLock(lockPath, file) {
61
+ const lockPid = readLockPid(lockPath);
62
+ if (lockPid !== null && isProcessAlive(lockPid)) {
63
+ return false;
64
+ }
65
+ if (!removeStaleLock(lockPath)) {
66
+ return false;
67
+ }
68
+ return acquireLock(file);
69
+ }
70
+ /**
71
+ * Acquire a lock file atomically.
72
+ *
73
+ * Uses exclusive file creation (wx flag) to ensure only one process can hold the lock.
74
+ * If lock exists but owner process is dead, automatically removes stale lock and retries.
75
+ *
76
+ * @param file - Lock file type to acquire
77
+ * @returns True if lock was acquired, false if another process holds it
78
+ */
79
+ function acquireLock(file) {
80
+ ensureSessionDir();
81
+ const lockPath = getSessionFilePath(file);
82
+ try {
83
+ fs.writeFileSync(lockPath, process.pid.toString(), { flag: 'wx' });
84
+ return true;
85
+ }
86
+ catch (error) {
87
+ if (isErrnoException(error) && error.code === 'EEXIST') {
88
+ return handleExistingLock(lockPath, file);
89
+ }
90
+ return false;
91
+ }
92
+ }
93
+ /**
94
+ * Release a lock file.
95
+ *
96
+ * @param file - Lock file type to release
97
+ */
98
+ function releaseLock(file) {
99
+ const lockPath = getSessionFilePath(file);
100
+ try {
101
+ fs.rmSync(lockPath, { force: true });
102
+ }
103
+ catch (error) {
104
+ log.debug(`Failed to release lock file ${file}: ${getErrorMessage(error)}`);
105
+ }
106
+ }
10
107
  /**
11
108
  * Acquire session lock atomically.
12
109
  *
@@ -24,42 +121,7 @@ import { isProcessAlive } from './process.js';
24
121
  * ```
25
122
  */
26
123
  export function acquireSessionLock() {
27
- ensureSessionDir();
28
- const lockPath = getSessionFilePath('LOCK');
29
- try {
30
- // 'wx' flag creates file exclusively - fails if exists
31
- fs.writeFileSync(lockPath, process.pid.toString(), { flag: 'wx' });
32
- return true;
33
- }
34
- catch (error) {
35
- if (error instanceof Error && 'code' in error && error.code === 'EEXIST') {
36
- // Lock file exists - check if process is still alive
37
- try {
38
- const lockPidStr = fs.readFileSync(lockPath, 'utf-8').trim();
39
- const lockPid = parseInt(lockPidStr, 10);
40
- if (!isNaN(lockPid) && isProcessAlive(lockPid)) {
41
- // Lock is held by active process
42
- return false;
43
- }
44
- else {
45
- // Stale lock file - remove it and try again
46
- fs.unlinkSync(lockPath);
47
- return acquireSessionLock();
48
- }
49
- }
50
- catch {
51
- // Can't read lock file - assume it's stale
52
- try {
53
- fs.unlinkSync(lockPath);
54
- return acquireSessionLock();
55
- }
56
- catch {
57
- return false;
58
- }
59
- }
60
- }
61
- return false;
62
- }
124
+ return acquireLock('LOCK');
63
125
  }
64
126
  /**
65
127
  * Release session lock.
@@ -68,15 +130,7 @@ export function acquireSessionLock() {
68
130
  * Safe to call multiple times (idempotent).
69
131
  */
70
132
  export function releaseSessionLock() {
71
- const lockPath = getSessionFilePath('LOCK');
72
- try {
73
- if (fs.existsSync(lockPath)) {
74
- fs.unlinkSync(lockPath);
75
- }
76
- }
77
- catch {
78
- // Ignore errors during cleanup
79
- }
133
+ releaseLock('LOCK');
80
134
  }
81
135
  /**
82
136
  * Acquire daemon lock atomically.
@@ -97,42 +151,7 @@ export function releaseSessionLock() {
97
151
  * ```
98
152
  */
99
153
  export function acquireDaemonLock() {
100
- ensureSessionDir();
101
- const lockPath = getSessionFilePath('DAEMON_LOCK');
102
- try {
103
- // 'wx' flag creates file exclusively - fails if exists
104
- fs.writeFileSync(lockPath, process.pid.toString(), { flag: 'wx' });
105
- return true;
106
- }
107
- catch (error) {
108
- if (error instanceof Error && 'code' in error && error.code === 'EEXIST') {
109
- // Lock file exists - check if process is still alive
110
- try {
111
- const lockPidStr = fs.readFileSync(lockPath, 'utf-8').trim();
112
- const lockPid = parseInt(lockPidStr, 10);
113
- if (!isNaN(lockPid) && isProcessAlive(lockPid)) {
114
- // Lock is held by active process
115
- return false;
116
- }
117
- else {
118
- // Stale lock file - remove it and try again
119
- fs.unlinkSync(lockPath);
120
- return acquireDaemonLock();
121
- }
122
- }
123
- catch {
124
- // Can't read lock file - assume it's stale
125
- try {
126
- fs.unlinkSync(lockPath);
127
- return acquireDaemonLock();
128
- }
129
- catch {
130
- return false;
131
- }
132
- }
133
- }
134
- return false;
135
- }
154
+ return acquireLock('DAEMON_LOCK');
136
155
  }
137
156
  /**
138
157
  * Release daemon lock.
@@ -141,14 +160,6 @@ export function acquireDaemonLock() {
141
160
  * Safe to call multiple times (idempotent).
142
161
  */
143
162
  export function releaseDaemonLock() {
144
- const lockPath = getSessionFilePath('DAEMON_LOCK');
145
- try {
146
- if (fs.existsSync(lockPath)) {
147
- fs.unlinkSync(lockPath);
148
- }
149
- }
150
- catch {
151
- // Ignore errors during cleanup
152
- }
163
+ releaseLock('DAEMON_LOCK');
153
164
  }
154
165
  //# sourceMappingURL=lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/session/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/session/lock.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,15 @@ export interface SessionMetadata {
17
17
  webSocketDebuggerUrl?: string | undefined;
18
18
  activeTelemetry?: TelemetryType[] | undefined;
19
19
  }
20
+ /**
21
+ * Options for reading session metadata.
22
+ */
23
+ export interface ReadSessionMetadataOptions {
24
+ /** Log a warning when metadata cannot be parsed */
25
+ warnOnCorruption?: boolean;
26
+ /** Delete corrupted metadata file to self-heal for subsequent runs */
27
+ selfHealOnCorruption?: boolean;
28
+ }
20
29
  /**
21
30
  * Write session metadata atomically.
22
31
  *
@@ -53,7 +62,5 @@ export declare function writeSessionMetadata(metadata: SessionMetadata): void;
53
62
  * }
54
63
  * ```
55
64
  */
56
- export declare function readSessionMetadata(options?: {
57
- warnOnCorruption?: boolean;
58
- }): SessionMetadata | null;
65
+ export declare function readSessionMetadata(options?: ReadSessionMetadataOptions): SessionMetadata | null;
59
66
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/session/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAIpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,eAAe,GAAG,IAAI,CAkBzB"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/session/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQ7C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AA6BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAIpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,eAAe,GAAG,IAAI,CAchG"}
@@ -5,11 +5,33 @@
5
5
  * WHY: Metadata persistence enables `bdg status` and other commands to inspect active sessions.
6
6
  */
7
7
  import * as fs from 'fs';
8
- import { getErrorMessage } from '../ui/errors/index.js';
8
+ import { getErrorMessage } from '../connection/errors.js';
9
9
  import { createLogger } from '../ui/logging/index.js';
10
10
  import { AtomicFileWriter } from '../utils/atomicFile.js';
11
11
  import { getSessionFilePath, ensureSessionDir } from './paths.js';
12
12
  const log = createLogger('session');
13
+ /**
14
+ * Handle corrupted metadata file.
15
+ *
16
+ * @param metaPath - Path to metadata file
17
+ * @param error - Error that occurred during parsing
18
+ * @param options - Error handling options
19
+ */
20
+ function handleCorruptedMetadata(metaPath, error, options) {
21
+ if (options?.warnOnCorruption) {
22
+ log.info(`Session metadata corrupted (cannot read details): ${getErrorMessage(error)}`);
23
+ log.info('Troubleshooting: Run "bdg cleanup" to remove corrupted files');
24
+ }
25
+ if (options?.selfHealOnCorruption) {
26
+ try {
27
+ fs.rmSync(metaPath, { force: true });
28
+ log.info('Removed corrupted session metadata file');
29
+ }
30
+ catch (deleteError) {
31
+ log.debug(`Failed to remove corrupted metadata: ${getErrorMessage(deleteError)}`);
32
+ }
33
+ }
34
+ }
13
35
  /**
14
36
  * Write session metadata atomically.
15
37
  *
@@ -60,11 +82,7 @@ export function readSessionMetadata(options) {
60
82
  return JSON.parse(content);
61
83
  }
62
84
  catch (error) {
63
- // P1 Fix #2: Warn when metadata is corrupted
64
- if (options?.warnOnCorruption) {
65
- log(`Session metadata corrupted (cannot read details): ${getErrorMessage(error)}`);
66
- log('Troubleshooting: Run "bdg cleanup" to remove corrupted files');
67
- }
85
+ handleCorruptedMetadata(metaPath, error, options);
68
86
  return null;
69
87
  }
70
88
  }