browser-debugger-cli 0.6.0 → 0.6.2

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 (699) hide show
  1. package/README.md +65 -6
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +23 -52
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +27 -24
  5. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
  6. package/dist/__testutils__/daemonHelpers.d.ts +13 -1
  7. package/dist/__testutils__/daemonHelpers.d.ts.map +1 -1
  8. package/dist/__testutils__/daemonHelpers.js +54 -5
  9. package/dist/__testutils__/daemonHelpers.js.map +1 -1
  10. package/dist/__testutils__/testCleanup.js +1 -1
  11. package/dist/__testutils__/testCleanup.js.map +1 -1
  12. package/dist/cdp/protocol.d.ts +0 -48
  13. package/dist/cdp/protocol.d.ts.map +1 -1
  14. package/dist/cdp/protocol.js +9 -101
  15. package/dist/cdp/protocol.js.map +1 -1
  16. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  17. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  18. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  19. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  20. package/dist/commands/cdp.d.ts.map +1 -1
  21. package/dist/commands/cdp.js +4 -37
  22. package/dist/commands/cdp.js.map +1 -1
  23. package/dist/commands/cleanup.d.ts.map +1 -1
  24. package/dist/commands/cleanup.js +25 -23
  25. package/dist/commands/cleanup.js.map +1 -1
  26. package/dist/commands/console.d.ts.map +1 -1
  27. package/dist/commands/console.js +3 -8
  28. package/dist/commands/console.js.map +1 -1
  29. package/dist/commands/details.d.ts.map +1 -1
  30. package/dist/commands/details.js +1 -1
  31. package/dist/commands/details.js.map +1 -1
  32. package/dist/commands/dom/a11y.d.ts +18 -0
  33. package/dist/commands/dom/a11y.d.ts.map +1 -0
  34. package/dist/commands/dom/a11y.js +134 -0
  35. package/dist/commands/dom/a11y.js.map +1 -0
  36. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
  37. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  38. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
  39. package/dist/commands/dom/evalHelpers.js.map +1 -0
  40. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  41. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  42. package/dist/commands/dom/formFillHelpers.js +185 -0
  43. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  44. package/dist/commands/dom/formInteraction.d.ts +17 -0
  45. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  46. package/dist/commands/dom/formInteraction.js +239 -0
  47. package/dist/commands/dom/formInteraction.js.map +1 -0
  48. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  49. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  50. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  51. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  52. package/dist/commands/dom/helpers.d.ts +34 -0
  53. package/dist/commands/dom/helpers.d.ts.map +1 -0
  54. package/dist/commands/dom/helpers.js +244 -0
  55. package/dist/commands/dom/helpers.js.map +1 -0
  56. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  57. package/dist/commands/dom/index.d.ts.map +1 -0
  58. package/dist/commands/dom/index.js +175 -0
  59. package/dist/commands/dom/index.js.map +1 -0
  60. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  61. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  62. package/dist/commands/dom/reactEventHelpers.js +274 -0
  63. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  64. package/dist/commands/network.js +1 -1
  65. package/dist/commands/network.js.map +1 -1
  66. package/dist/commands/peek.d.ts.map +1 -1
  67. package/dist/commands/peek.js +49 -52
  68. package/dist/commands/peek.js.map +1 -1
  69. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  70. package/dist/commands/shared/CommandRunner.js +3 -2
  71. package/dist/commands/shared/CommandRunner.js.map +1 -1
  72. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  73. package/dist/commands/shared/commonOptions.js +3 -1
  74. package/dist/commands/shared/commonOptions.js.map +1 -1
  75. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  76. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  77. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  78. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  79. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  80. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  81. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  82. package/dist/commands/shared/startHelpers.js.map +1 -0
  83. package/dist/commands/shared/validation.d.ts +44 -0
  84. package/dist/commands/shared/validation.d.ts.map +1 -0
  85. package/dist/commands/shared/validation.js +68 -0
  86. package/dist/commands/shared/validation.js.map +1 -0
  87. package/dist/commands/start.d.ts.map +1 -1
  88. package/dist/commands/start.js +9 -25
  89. package/dist/commands/start.js.map +1 -1
  90. package/dist/commands/status.d.ts.map +1 -1
  91. package/dist/commands/status.js +6 -4
  92. package/dist/commands/status.js.map +1 -1
  93. package/dist/commands/stop.d.ts.map +1 -1
  94. package/dist/commands/stop.js +16 -19
  95. package/dist/commands/stop.js.map +1 -1
  96. package/dist/commands/tail.d.ts.map +1 -1
  97. package/dist/commands/tail.js +49 -44
  98. package/dist/commands/tail.js.map +1 -1
  99. package/dist/commands/types.d.ts +46 -0
  100. package/dist/commands/types.d.ts.map +1 -0
  101. package/dist/commands/types.js +8 -0
  102. package/dist/commands/types.js.map +1 -0
  103. package/dist/commands.d.ts.map +1 -1
  104. package/dist/commands.js +3 -1
  105. package/dist/commands.js.map +1 -1
  106. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  107. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  108. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  109. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  110. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  111. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  112. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  113. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  114. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  115. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  116. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  117. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  118. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  119. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  120. package/dist/connection/cdp.d.ts +34 -11
  121. package/dist/connection/cdp.d.ts.map +1 -1
  122. package/dist/connection/cdp.js +61 -45
  123. package/dist/connection/cdp.js.map +1 -1
  124. package/dist/connection/config.d.ts +63 -0
  125. package/dist/connection/config.d.ts.map +1 -0
  126. package/dist/connection/config.js +46 -0
  127. package/dist/connection/config.js.map +1 -0
  128. package/dist/connection/errors.d.ts +6 -21
  129. package/dist/connection/errors.d.ts.map +1 -1
  130. package/dist/connection/errors.js +7 -26
  131. package/dist/connection/errors.js.map +1 -1
  132. package/dist/connection/events.d.ts +30 -0
  133. package/dist/connection/events.d.ts.map +1 -0
  134. package/dist/connection/events.js +8 -0
  135. package/dist/connection/events.js.map +1 -0
  136. package/dist/connection/handlers.d.ts +3 -5
  137. package/dist/connection/handlers.d.ts.map +1 -1
  138. package/dist/connection/handlers.js +10 -12
  139. package/dist/connection/handlers.js.map +1 -1
  140. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  141. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  142. package/dist/connection/launcher/binaryResolver.js +78 -0
  143. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  144. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  145. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  146. package/dist/connection/launcher/flagsBuilder.js +84 -0
  147. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  148. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  149. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  150. package/dist/connection/launcher/preferencesLoader.js +89 -0
  151. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  152. package/dist/connection/launcher.d.ts +24 -1
  153. package/dist/connection/launcher.d.ts.map +1 -1
  154. package/dist/connection/launcher.js +30 -205
  155. package/dist/connection/launcher.js.map +1 -1
  156. package/dist/connection/pageReadiness.d.ts +8 -8
  157. package/dist/connection/pageReadiness.d.ts.map +1 -1
  158. package/dist/connection/pageReadiness.js +36 -52
  159. package/dist/connection/pageReadiness.js.map +1 -1
  160. package/dist/connection/portReservation.d.ts +40 -0
  161. package/dist/connection/portReservation.d.ts.map +1 -0
  162. package/dist/connection/portReservation.js +55 -0
  163. package/dist/connection/portReservation.js.map +1 -0
  164. package/dist/connection/typed-cdp.d.ts +2 -1
  165. package/dist/connection/typed-cdp.d.ts.map +1 -1
  166. package/dist/connection/typed-cdp.js.map +1 -1
  167. package/dist/connection/types.d.ts +103 -0
  168. package/dist/connection/types.d.ts.map +1 -0
  169. package/dist/connection/types.js +8 -0
  170. package/dist/connection/types.js.map +1 -0
  171. package/dist/constants.d.ts +6 -83
  172. package/dist/constants.d.ts.map +1 -1
  173. package/dist/constants.js +6 -83
  174. package/dist/constants.js.map +1 -1
  175. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  176. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  177. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  178. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  179. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  180. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  181. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  182. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  183. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  184. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  185. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  186. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  187. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  188. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  189. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  190. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  191. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +19 -0
  192. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +1 -0
  193. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +212 -0
  194. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +1 -0
  195. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  196. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  197. package/dist/daemon/errors.d.ts +65 -0
  198. package/dist/daemon/errors.d.ts.map +1 -0
  199. package/dist/daemon/errors.js +82 -0
  200. package/dist/daemon/errors.js.map +1 -0
  201. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  202. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  203. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  204. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  205. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  206. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  207. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  208. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  209. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  210. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  211. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  212. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  213. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  214. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  215. package/dist/daemon/handlers/pendingRequests.js +57 -0
  216. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  217. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  218. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  219. package/dist/daemon/handlers/requestHandlers.js +61 -0
  220. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  221. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  222. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  223. package/dist/daemon/handlers/responseHandler.js +195 -0
  224. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  225. package/dist/daemon/ipcServer.d.ts +19 -41
  226. package/dist/daemon/ipcServer.d.ts.map +1 -1
  227. package/dist/daemon/ipcServer.js +83 -655
  228. package/dist/daemon/ipcServer.js.map +1 -1
  229. package/dist/daemon/launcher.d.ts.map +1 -1
  230. package/dist/daemon/launcher.js +10 -6
  231. package/dist/daemon/launcher.js.map +1 -1
  232. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  233. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  234. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  235. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  236. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  237. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  238. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  239. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  240. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  241. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  242. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  243. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  244. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  245. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  246. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  247. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  248. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  249. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  250. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  251. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  252. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  253. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  254. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  255. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  256. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  257. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  258. package/dist/daemon/server/JsonlParser.js +57 -0
  259. package/dist/daemon/server/JsonlParser.js.map +1 -0
  260. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  261. package/dist/daemon/server/SocketServer.js +2 -2
  262. package/dist/daemon/server/SocketServer.js.map +1 -1
  263. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  264. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  265. package/dist/daemon/server/WorkerManager.js +10 -19
  266. package/dist/daemon/server/WorkerManager.js.map +1 -1
  267. package/dist/daemon/services/SessionService.d.ts +87 -0
  268. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  269. package/dist/daemon/services/SessionService.js +45 -0
  270. package/dist/daemon/services/SessionService.js.map +1 -0
  271. package/dist/daemon/startSession.d.ts.map +1 -1
  272. package/dist/daemon/startSession.js +54 -31
  273. package/dist/daemon/startSession.js.map +1 -1
  274. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  275. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  276. package/dist/daemon/worker/commandRegistry.js +20 -215
  277. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  278. package/dist/daemon/worker.d.ts +3 -12
  279. package/dist/daemon/worker.d.ts.map +1 -1
  280. package/dist/daemon/worker.js +47 -367
  281. package/dist/daemon/worker.js.map +1 -1
  282. package/dist/index.js +1 -1
  283. package/dist/index.js.map +1 -1
  284. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  285. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  286. package/dist/ipc/__tests__/client.contract.test.js +259 -42
  287. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  288. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  289. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  290. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  291. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  292. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  293. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  294. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  295. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  296. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  297. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  298. package/dist/ipc/__tests__/jsonl.unit.test.js +103 -0
  299. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  300. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  301. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  302. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  303. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  304. package/dist/ipc/client.d.ts +93 -84
  305. package/dist/ipc/client.d.ts.map +1 -1
  306. package/dist/ipc/client.js +121 -192
  307. package/dist/ipc/client.js.map +1 -1
  308. package/dist/ipc/index.d.ts +17 -0
  309. package/dist/ipc/index.d.ts.map +1 -0
  310. package/dist/ipc/index.js +23 -0
  311. package/dist/ipc/index.js.map +1 -0
  312. package/dist/ipc/protocol/commands.d.ts +144 -0
  313. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  314. package/dist/ipc/protocol/commands.js +23 -0
  315. package/dist/ipc/protocol/commands.js.map +1 -0
  316. package/dist/ipc/protocol/guards.d.ts +47 -0
  317. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  318. package/dist/ipc/protocol/guards.js +62 -0
  319. package/dist/ipc/protocol/guards.js.map +1 -0
  320. package/dist/ipc/protocol/index.d.ts +9 -0
  321. package/dist/ipc/protocol/index.d.ts.map +1 -0
  322. package/dist/ipc/protocol/index.js +8 -0
  323. package/dist/ipc/protocol/index.js.map +1 -0
  324. package/dist/ipc/protocol/messages.d.ts +64 -0
  325. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  326. package/dist/ipc/protocol/messages.js +8 -0
  327. package/dist/ipc/protocol/messages.js.map +1 -0
  328. package/dist/ipc/session/errors.d.ts +25 -0
  329. package/dist/ipc/session/errors.d.ts.map +1 -0
  330. package/dist/ipc/{types.js → session/errors.js} +11 -6
  331. package/dist/ipc/session/errors.js.map +1 -0
  332. package/dist/ipc/session/index.d.ts +16 -0
  333. package/dist/ipc/session/index.d.ts.map +1 -0
  334. package/dist/ipc/session/index.js +7 -0
  335. package/dist/ipc/session/index.js.map +1 -0
  336. package/dist/ipc/session/lifecycle.d.ts +125 -0
  337. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  338. package/dist/ipc/session/lifecycle.js +7 -0
  339. package/dist/ipc/session/lifecycle.js.map +1 -0
  340. package/dist/ipc/session/queries.d.ts +94 -0
  341. package/dist/ipc/session/queries.d.ts.map +1 -0
  342. package/dist/ipc/session/queries.js +7 -0
  343. package/dist/ipc/session/queries.js.map +1 -0
  344. package/dist/ipc/session/types.d.ts +28 -0
  345. package/dist/ipc/session/types.d.ts.map +1 -0
  346. package/dist/ipc/session/types.js +7 -0
  347. package/dist/ipc/session/types.js.map +1 -0
  348. package/dist/ipc/transport/IPCError.d.ts +82 -0
  349. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  350. package/dist/ipc/transport/IPCError.js +109 -0
  351. package/dist/ipc/transport/IPCError.js.map +1 -0
  352. package/dist/ipc/transport/errors.d.ts +11 -0
  353. package/dist/ipc/transport/errors.d.ts.map +1 -0
  354. package/dist/ipc/transport/errors.js +28 -0
  355. package/dist/ipc/transport/errors.js.map +1 -0
  356. package/dist/ipc/transport/index.d.ts +16 -0
  357. package/dist/ipc/transport/index.d.ts.map +1 -0
  358. package/dist/ipc/transport/index.js +77 -0
  359. package/dist/ipc/transport/index.js.map +1 -0
  360. package/dist/ipc/transport/jsonl.d.ts +39 -0
  361. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  362. package/dist/ipc/transport/jsonl.js +61 -0
  363. package/dist/ipc/transport/jsonl.js.map +1 -0
  364. package/dist/ipc/transport/socket.d.ts +27 -0
  365. package/dist/ipc/transport/socket.d.ts.map +1 -0
  366. package/dist/ipc/transport/socket.js +49 -0
  367. package/dist/ipc/transport/socket.js.map +1 -0
  368. package/dist/ipc/transport/validation.d.ts +21 -0
  369. package/dist/ipc/transport/validation.d.ts.map +1 -0
  370. package/dist/ipc/transport/validation.js +23 -0
  371. package/dist/ipc/transport/validation.js.map +1 -0
  372. package/dist/ipc/utils/errors.d.ts +25 -0
  373. package/dist/ipc/utils/errors.d.ts.map +1 -0
  374. package/dist/ipc/utils/errors.js +29 -0
  375. package/dist/ipc/utils/errors.js.map +1 -0
  376. package/dist/ipc/utils/index.d.ts +12 -0
  377. package/dist/ipc/utils/index.d.ts.map +1 -0
  378. package/dist/ipc/utils/index.js +11 -0
  379. package/dist/ipc/utils/index.js.map +1 -0
  380. package/dist/ipc/utils/requestId.d.ts +23 -0
  381. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  382. package/dist/ipc/utils/requestId.js +27 -0
  383. package/dist/ipc/utils/requestId.js.map +1 -0
  384. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  385. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  386. package/dist/ipc/utils/responseValidator.js.map +1 -0
  387. package/dist/ipc/utils/session.d.ts +36 -0
  388. package/dist/ipc/utils/session.d.ts.map +1 -0
  389. package/dist/ipc/utils/session.js +37 -0
  390. package/dist/ipc/utils/session.js.map +1 -0
  391. package/dist/ipc/utils/types.d.ts +17 -0
  392. package/dist/ipc/utils/types.d.ts.map +1 -0
  393. package/dist/ipc/utils/types.js +7 -0
  394. package/dist/ipc/utils/types.js.map +1 -0
  395. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  396. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  397. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  398. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  399. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  400. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  401. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  402. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  403. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  404. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  405. package/dist/session/__tests__/lock.contract.test.js +77 -0
  406. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  407. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  408. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  409. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  410. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  411. package/dist/session/chrome.d.ts +20 -0
  412. package/dist/session/chrome.d.ts.map +1 -1
  413. package/dist/session/chrome.js +81 -17
  414. package/dist/session/chrome.js.map +1 -1
  415. package/dist/session/cleanup.d.ts +36 -2
  416. package/dist/session/cleanup.d.ts.map +1 -1
  417. package/dist/session/cleanup.js +201 -73
  418. package/dist/session/cleanup.js.map +1 -1
  419. package/dist/session/lock.d.ts.map +1 -1
  420. package/dist/session/lock.js +102 -91
  421. package/dist/session/lock.js.map +1 -1
  422. package/dist/session/metadata.d.ts +10 -3
  423. package/dist/session/metadata.d.ts.map +1 -1
  424. package/dist/session/metadata.js +24 -6
  425. package/dist/session/metadata.js.map +1 -1
  426. package/dist/session/paths.d.ts +0 -9
  427. package/dist/session/paths.d.ts.map +1 -1
  428. package/dist/session/paths.js +0 -11
  429. package/dist/session/paths.js.map +1 -1
  430. package/dist/session/pid.d.ts +15 -0
  431. package/dist/session/pid.d.ts.map +1 -1
  432. package/dist/session/pid.js +39 -21
  433. package/dist/session/pid.js.map +1 -1
  434. package/dist/session/process.d.ts +4 -41
  435. package/dist/session/process.d.ts.map +1 -1
  436. package/dist/session/process.js +4 -85
  437. package/dist/session/process.js.map +1 -1
  438. package/dist/session/statusData.d.ts +50 -0
  439. package/dist/session/statusData.d.ts.map +1 -0
  440. package/dist/session/statusData.js +51 -0
  441. package/dist/session/statusData.js.map +1 -0
  442. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +10 -0
  443. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +1 -0
  444. package/dist/telemetry/__tests__/a11y.unit.test.js +265 -0
  445. package/dist/telemetry/__tests__/a11y.unit.test.js.map +1 -0
  446. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  447. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  448. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  449. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  450. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  451. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  452. package/dist/telemetry/__tests__/network.contract.test.js +2 -64
  453. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  454. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  455. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  456. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  457. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  458. package/dist/telemetry/a11y.d.ts +78 -0
  459. package/dist/telemetry/a11y.d.ts.map +1 -0
  460. package/dist/telemetry/a11y.js +280 -0
  461. package/dist/telemetry/a11y.js.map +1 -0
  462. package/dist/telemetry/console.d.ts.map +1 -1
  463. package/dist/telemetry/console.js +19 -28
  464. package/dist/telemetry/console.js.map +1 -1
  465. package/dist/telemetry/dialogs.d.ts.map +1 -1
  466. package/dist/telemetry/dialogs.js +4 -8
  467. package/dist/telemetry/dialogs.js.map +1 -1
  468. package/dist/telemetry/dom.d.ts +1 -1
  469. package/dist/telemetry/dom.d.ts.map +1 -1
  470. package/dist/telemetry/dom.js +83 -60
  471. package/dist/telemetry/dom.js.map +1 -1
  472. package/dist/telemetry/filters.d.ts +5 -18
  473. package/dist/telemetry/filters.d.ts.map +1 -1
  474. package/dist/telemetry/filters.js +36 -56
  475. package/dist/telemetry/filters.js.map +1 -1
  476. package/dist/telemetry/navigation.d.ts.map +1 -1
  477. package/dist/telemetry/navigation.js +5 -8
  478. package/dist/telemetry/navigation.js.map +1 -1
  479. package/dist/telemetry/network.d.ts.map +1 -1
  480. package/dist/telemetry/network.js +105 -104
  481. package/dist/telemetry/network.js.map +1 -1
  482. package/dist/telemetry/utils.d.ts +85 -0
  483. package/dist/telemetry/utils.d.ts.map +1 -0
  484. package/dist/telemetry/utils.js +138 -0
  485. package/dist/telemetry/utils.js.map +1 -0
  486. package/dist/types/dom.d.ts +66 -0
  487. package/dist/types/dom.d.ts.map +1 -0
  488. package/dist/types/dom.js +8 -0
  489. package/dist/types/dom.js.map +1 -0
  490. package/dist/types.d.ts +86 -77
  491. package/dist/types.d.ts.map +1 -1
  492. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  493. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  494. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  495. package/dist/ui/OutputBuilder.js.map +1 -0
  496. package/dist/ui/errors/CommandError.d.ts +16 -2
  497. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  498. package/dist/ui/errors/CommandError.js +2 -1
  499. package/dist/ui/errors/CommandError.js.map +1 -1
  500. package/dist/ui/errors/index.d.ts +2 -3
  501. package/dist/ui/errors/index.d.ts.map +1 -1
  502. package/dist/ui/errors/index.js +1 -3
  503. package/dist/ui/errors/index.js.map +1 -1
  504. package/dist/ui/errors/utils.d.ts +6 -0
  505. package/dist/ui/errors/utils.d.ts.map +1 -1
  506. package/dist/ui/errors/utils.js +8 -3
  507. package/dist/ui/errors/utils.js.map +1 -1
  508. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +2 -0
  509. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +1 -0
  510. package/dist/ui/formatters/__tests__/semantic.unit.test.js +111 -0
  511. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +1 -0
  512. package/dist/ui/formatters/a11y.d.ts +30 -0
  513. package/dist/ui/formatters/a11y.d.ts.map +1 -0
  514. package/dist/ui/formatters/a11y.js +178 -0
  515. package/dist/ui/formatters/a11y.js.map +1 -0
  516. package/dist/ui/formatters/dom.d.ts +3 -18
  517. package/dist/ui/formatters/dom.d.ts.map +1 -1
  518. package/dist/ui/formatters/dom.js +4 -27
  519. package/dist/ui/formatters/dom.js.map +1 -1
  520. package/dist/ui/formatters/preview.d.ts +10 -8
  521. package/dist/ui/formatters/preview.d.ts.map +1 -1
  522. package/dist/ui/formatters/preview.js +45 -17
  523. package/dist/ui/formatters/preview.js.map +1 -1
  524. package/dist/ui/formatters/semantic.d.ts +36 -0
  525. package/dist/ui/formatters/semantic.d.ts.map +1 -0
  526. package/dist/ui/formatters/semantic.js +98 -0
  527. package/dist/ui/formatters/semantic.js.map +1 -0
  528. package/dist/ui/formatters/status.d.ts +1 -1
  529. package/dist/ui/formatters/status.d.ts.map +1 -1
  530. package/dist/ui/formatters/status.js +9 -31
  531. package/dist/ui/formatters/status.js.map +1 -1
  532. package/dist/ui/formatting.d.ts +2 -270
  533. package/dist/ui/formatting.d.ts.map +1 -1
  534. package/dist/ui/formatting.js +8 -331
  535. package/dist/ui/formatting.js.map +1 -1
  536. package/dist/ui/logging/index.d.ts +1 -1
  537. package/dist/ui/logging/index.d.ts.map +1 -1
  538. package/dist/ui/logging/index.js +1 -1
  539. package/dist/ui/logging/index.js.map +1 -1
  540. package/dist/ui/logging/logger.d.ts +3 -23
  541. package/dist/ui/logging/logger.d.ts.map +1 -1
  542. package/dist/ui/logging/logger.js +2 -27
  543. package/dist/ui/logging/logger.js.map +1 -1
  544. package/dist/ui/messages/chrome.d.ts +15 -7
  545. package/dist/ui/messages/chrome.d.ts.map +1 -1
  546. package/dist/ui/messages/chrome.js +23 -32
  547. package/dist/ui/messages/chrome.js.map +1 -1
  548. package/dist/ui/messages/commands.d.ts +9 -19
  549. package/dist/ui/messages/commands.d.ts.map +1 -1
  550. package/dist/ui/messages/commands.js +14 -51
  551. package/dist/ui/messages/commands.js.map +1 -1
  552. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  553. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  554. package/dist/ui/messages/consoleMessages.js +3 -6
  555. package/dist/ui/messages/consoleMessages.js.map +1 -1
  556. package/dist/ui/messages/debug.d.ts +0 -14
  557. package/dist/ui/messages/debug.d.ts.map +1 -1
  558. package/dist/ui/messages/debug.js +0 -18
  559. package/dist/ui/messages/debug.js.map +1 -1
  560. package/dist/ui/messages/errors.d.ts +0 -34
  561. package/dist/ui/messages/errors.d.ts.map +1 -1
  562. package/dist/ui/messages/errors.js +3 -81
  563. package/dist/ui/messages/errors.js.map +1 -1
  564. package/dist/ui/messages/internal.d.ts +0 -7
  565. package/dist/ui/messages/internal.d.ts.map +1 -1
  566. package/dist/ui/messages/internal.js +0 -12
  567. package/dist/ui/messages/internal.js.map +1 -1
  568. package/dist/ui/messages/preview.d.ts +14 -1
  569. package/dist/ui/messages/preview.d.ts.map +1 -1
  570. package/dist/ui/messages/preview.js +24 -7
  571. package/dist/ui/messages/preview.js.map +1 -1
  572. package/dist/ui/messages/session.d.ts.map +1 -1
  573. package/dist/ui/messages/session.js +7 -23
  574. package/dist/ui/messages/session.js.map +1 -1
  575. package/dist/ui/messages/validation.d.ts.map +1 -1
  576. package/dist/ui/messages/validation.js +7 -8
  577. package/dist/ui/messages/validation.js.map +1 -1
  578. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  579. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  580. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  581. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  582. package/dist/utils/__tests__/errors.unit.test.d.ts +12 -0
  583. package/dist/utils/__tests__/errors.unit.test.d.ts.map +1 -0
  584. package/dist/utils/__tests__/errors.unit.test.js +255 -0
  585. package/dist/utils/__tests__/errors.unit.test.js.map +1 -0
  586. package/dist/utils/__tests__/http.unit.test.d.ts +12 -0
  587. package/dist/utils/__tests__/http.unit.test.d.ts.map +1 -0
  588. package/dist/utils/__tests__/http.unit.test.js +218 -0
  589. package/dist/utils/__tests__/http.unit.test.js.map +1 -0
  590. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  591. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  592. package/dist/utils/__tests__/objects.test.js +50 -0
  593. package/dist/utils/__tests__/objects.test.js.map +1 -0
  594. package/dist/utils/__tests__/process.unit.test.d.ts +14 -0
  595. package/dist/utils/__tests__/process.unit.test.d.ts.map +1 -0
  596. package/dist/utils/__tests__/process.unit.test.js +124 -0
  597. package/dist/utils/__tests__/process.unit.test.js.map +1 -0
  598. package/dist/utils/__tests__/session.contract.test.js +14 -4
  599. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  600. package/dist/utils/__tests__/url.test.d.ts +2 -0
  601. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  602. package/dist/utils/__tests__/url.test.js +42 -0
  603. package/dist/utils/__tests__/url.test.js.map +1 -0
  604. package/dist/utils/atomicFile.d.ts +31 -5
  605. package/dist/utils/atomicFile.d.ts.map +1 -1
  606. package/dist/utils/atomicFile.js +52 -13
  607. package/dist/utils/atomicFile.js.map +1 -1
  608. package/dist/utils/concurrency.d.ts +54 -0
  609. package/dist/utils/concurrency.d.ts.map +1 -0
  610. package/dist/utils/concurrency.js +78 -0
  611. package/dist/utils/concurrency.js.map +1 -0
  612. package/dist/utils/daemonErrors.d.ts +60 -0
  613. package/dist/utils/daemonErrors.d.ts.map +1 -0
  614. package/dist/utils/daemonErrors.js +58 -0
  615. package/dist/utils/daemonErrors.js.map +1 -0
  616. package/dist/utils/errors.d.ts +28 -0
  617. package/dist/utils/errors.d.ts.map +1 -0
  618. package/dist/utils/errors.js +33 -0
  619. package/dist/utils/errors.js.map +1 -0
  620. package/dist/utils/exitCodes.d.ts +41 -5
  621. package/dist/utils/exitCodes.d.ts.map +1 -1
  622. package/dist/utils/exitCodes.js +43 -9
  623. package/dist/utils/exitCodes.js.map +1 -1
  624. package/dist/utils/http.d.ts +9 -4
  625. package/dist/utils/http.d.ts.map +1 -1
  626. package/dist/utils/http.js +44 -10
  627. package/dist/utils/http.js.map +1 -1
  628. package/dist/utils/levenshtein.d.ts +45 -0
  629. package/dist/utils/levenshtein.d.ts.map +1 -0
  630. package/dist/utils/levenshtein.js +85 -0
  631. package/dist/utils/levenshtein.js.map +1 -0
  632. package/dist/utils/objects.d.ts +16 -1
  633. package/dist/utils/objects.d.ts.map +1 -1
  634. package/dist/utils/objects.js +16 -1
  635. package/dist/utils/objects.js.map +1 -1
  636. package/dist/utils/process.d.ts +45 -0
  637. package/dist/utils/process.d.ts.map +1 -0
  638. package/dist/utils/process.js +91 -0
  639. package/dist/utils/process.js.map +1 -0
  640. package/dist/utils/url.d.ts +10 -3
  641. package/dist/utils/url.d.ts.map +1 -1
  642. package/dist/utils/url.js +42 -29
  643. package/dist/utils/url.js.map +1 -1
  644. package/dist/utils/validation.d.ts +101 -0
  645. package/dist/utils/validation.d.ts.map +1 -0
  646. package/dist/utils/validation.js +131 -0
  647. package/dist/utils/validation.js.map +1 -0
  648. package/package.json +22 -1
  649. package/dist/commands/dom.d.ts.map +0 -1
  650. package/dist/commands/dom.js +0 -244
  651. package/dist/commands/dom.js.map +0 -1
  652. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  653. package/dist/commands/domEvalHelpers.js.map +0 -1
  654. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  655. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  656. package/dist/commands/domOptionsBuilder.js +0 -86
  657. package/dist/commands/domOptionsBuilder.js.map +0 -1
  658. package/dist/commands/domSelectorParser.d.ts +0 -20
  659. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  660. package/dist/commands/domSelectorParser.js +0 -20
  661. package/dist/commands/domSelectorParser.js.map +0 -1
  662. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  663. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  664. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  665. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  666. package/dist/commands/shared/sessionController.d.ts +0 -21
  667. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  668. package/dist/commands/shared/sessionController.js +0 -54
  669. package/dist/commands/shared/sessionController.js.map +0 -1
  670. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  671. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  672. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  673. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  674. package/dist/connection/domOperations.d.ts +0 -48
  675. package/dist/connection/domOperations.d.ts.map +0 -1
  676. package/dist/connection/domOperations.js +0 -106
  677. package/dist/connection/domOperations.js.map +0 -1
  678. package/dist/connection/finder.d.ts +0 -12
  679. package/dist/connection/finder.d.ts.map +0 -1
  680. package/dist/connection/finder.js +0 -17
  681. package/dist/connection/finder.js.map +0 -1
  682. package/dist/ipc/commands.d.ts +0 -260
  683. package/dist/ipc/commands.d.ts.map +0 -1
  684. package/dist/ipc/commands.js +0 -77
  685. package/dist/ipc/commands.js.map +0 -1
  686. package/dist/ipc/responseValidator.d.ts.map +0 -1
  687. package/dist/ipc/responseValidator.js.map +0 -1
  688. package/dist/ipc/types.d.ts +0 -226
  689. package/dist/ipc/types.d.ts.map +0 -1
  690. package/dist/ipc/types.js.map +0 -1
  691. package/dist/session/fileOps.d.ts +0 -25
  692. package/dist/session/fileOps.d.ts.map +0 -1
  693. package/dist/session/fileOps.js +0 -39
  694. package/dist/session/fileOps.js.map +0 -1
  695. package/dist/session/queryCache.d.ts +0 -36
  696. package/dist/session/queryCache.d.ts.map +0 -1
  697. package/dist/session/queryCache.js +0 -66
  698. package/dist/session/queryCache.js.map +0 -1
  699. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/session/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAepC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC5D,gBAAgB,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAEnC;IACC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6CAA6C;QAC7C,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,GAAG,CAAC,qDAAqD,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnF,GAAG,CAAC,8DAA8D,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/session/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAyBpC;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC9B,QAAgB,EAChB,KAAc,EACd,OAAoC;IAEpC,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,CAAC,qDAAqD,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxF,GAAG,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,KAAK,CAAC,wCAAwC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAyB;IAC5D,gBAAgB,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAoC;IACtE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -17,7 +17,6 @@ declare const SESSION_FILES: {
17
17
  readonly DAEMON_PID: "daemon.pid";
18
18
  readonly DAEMON_SOCKET: "daemon.sock";
19
19
  readonly DAEMON_LOCK: "daemon.lock";
20
- readonly DOM_QUERY_CACHE: "last-query.json";
21
20
  };
22
21
  /**
23
22
  * Session file type for type-safe path generation
@@ -48,14 +47,6 @@ export declare function getSessionFilePath(fileType: SessionFileType): string;
48
47
  * Get the path to the daemon's Unix domain socket.
49
48
  */
50
49
  export declare function getDaemonSocketPath(): string;
51
- /**
52
- * Get the path to the DOM query cache file.
53
- *
54
- * WHY: Stores last DOM query results for index-based element references.
55
- *
56
- * @returns Full path to DOM query cache file
57
- */
58
- export declare function getDomQueryCachePath(): string;
59
50
  /**
60
51
  * Ensure the session directory exists.
61
52
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/session/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,QAAA,MAAM,aAAa;;;;;;;;;;CAUT,CAAC;AAIX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAOtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/session/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,QAAA,MAAM,aAAa;;;;;;;;;CAST,CAAC;AAIX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,aAAa,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAOtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
@@ -20,7 +20,6 @@ const SESSION_FILES = {
20
20
  DAEMON_PID: 'daemon.pid',
21
21
  DAEMON_SOCKET: 'daemon.sock',
22
22
  DAEMON_LOCK: 'daemon.lock',
23
- DOM_QUERY_CACHE: 'last-query.json',
24
23
  };
25
24
  const SESSION_DIR_OVERRIDE_ENV = 'BDG_SESSION_DIR';
26
25
  /**
@@ -58,16 +57,6 @@ export function getSessionFilePath(fileType) {
58
57
  export function getDaemonSocketPath() {
59
58
  return getSessionFilePath('DAEMON_SOCKET');
60
59
  }
61
- /**
62
- * Get the path to the DOM query cache file.
63
- *
64
- * WHY: Stores last DOM query results for index-based element references.
65
- *
66
- * @returns Full path to DOM query cache file
67
- */
68
- export function getDomQueryCachePath() {
69
- return getSessionFilePath('DOM_QUERY_CACHE');
70
- }
71
60
  /**
72
61
  * Ensure the session directory exists.
73
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/session/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;GAGG;AACH,MAAM,aAAa,GAAG;IACpB,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,mBAAmB;IAC7B,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEX,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AAOnD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/session/paths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;GAGG;AACH,MAAM,aAAa,GAAG;IACpB,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,mBAAmB;IAC7B,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AAOnD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,kBAAkB,CAAC,eAAe,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
@@ -4,6 +4,21 @@
4
4
  * Handles reading/writing the main session PID file for tracking active sessions.
5
5
  * WHY: Centralized PID operations prevent inconsistencies in session tracking.
6
6
  */
7
+ /**
8
+ * Read and parse a PID from a file.
9
+ *
10
+ * @param filePath - Path to the PID file
11
+ * @returns Parsed PID or null if file doesn't exist or contains invalid data
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const daemonPid = readPidFromFile('/path/to/daemon.pid');
16
+ * if (daemonPid && isProcessAlive(daemonPid)) {
17
+ * console.log('Daemon is running');
18
+ * }
19
+ * ```
20
+ */
21
+ export declare function readPidFromFile(filePath: string): number | null;
7
22
  /**
8
23
  * Write the current process PID to the session file atomically.
9
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/session/pid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,IAAI,MAAM,GAAG,IAAI,CAmBvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAUrC"}
1
+ {"version":3,"file":"pid.d.ts","sourceRoot":"","sources":["../../src/session/pid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,IAAI,MAAM,GAAG,IAAI,CAGvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAQrC"}
@@ -5,8 +5,41 @@
5
5
  * WHY: Centralized PID operations prevent inconsistencies in session tracking.
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 { AtomicFileWriter } from '../utils/atomicFile.js';
9
11
  import { getSessionFilePath, ensureSessionDir } from './paths.js';
12
+ const log = createLogger('session');
13
+ /**
14
+ * Read and parse a PID from a file.
15
+ *
16
+ * @param filePath - Path to the PID file
17
+ * @returns Parsed PID or null if file doesn't exist or contains invalid data
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const daemonPid = readPidFromFile('/path/to/daemon.pid');
22
+ * if (daemonPid && isProcessAlive(daemonPid)) {
23
+ * console.log('Daemon is running');
24
+ * }
25
+ * ```
26
+ */
27
+ export function readPidFromFile(filePath) {
28
+ if (!fs.existsSync(filePath)) {
29
+ return null;
30
+ }
31
+ try {
32
+ const pidStr = fs.readFileSync(filePath, 'utf-8').trim();
33
+ const pid = parseInt(pidStr, 10);
34
+ if (Number.isNaN(pid)) {
35
+ return null;
36
+ }
37
+ return pid;
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
10
43
  /**
11
44
  * Write the current process PID to the session file atomically.
12
45
  *
@@ -39,20 +72,7 @@ export function writePid(pid) {
39
72
  */
40
73
  export function readPid() {
41
74
  const pidPath = getSessionFilePath('PID');
42
- if (!fs.existsSync(pidPath)) {
43
- return null;
44
- }
45
- try {
46
- const pidStr = fs.readFileSync(pidPath, 'utf-8').trim();
47
- const pid = parseInt(pidStr, 10);
48
- if (isNaN(pid)) {
49
- return null;
50
- }
51
- return pid;
52
- }
53
- catch {
54
- return null;
55
- }
75
+ return readPidFromFile(pidPath);
56
76
  }
57
77
  /**
58
78
  * Remove the PID file.
@@ -61,13 +81,11 @@ export function readPid() {
61
81
  */
62
82
  export function cleanupPidFile() {
63
83
  const pidPath = getSessionFilePath('PID');
64
- if (fs.existsSync(pidPath)) {
65
- try {
66
- fs.unlinkSync(pidPath);
67
- }
68
- catch {
69
- // Ignore errors during cleanup
70
- }
84
+ try {
85
+ fs.rmSync(pidPath, { force: true });
86
+ }
87
+ catch (error) {
88
+ log.debug(`Failed to cleanup PID file: ${getErrorMessage(error)}`);
71
89
  }
72
90
  }
73
91
  //# sourceMappingURL=pid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pid.js","sourceRoot":"","sources":["../../src/session/pid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,gBAAgB,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pid.js","sourceRoot":"","sources":["../../src/session/pid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,gBAAgB,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -1,45 +1,8 @@
1
1
  /**
2
- * Process management utilities for checking process liveness and killing processes.
2
+ * Process management utilities for session management.
3
3
  *
4
- * WHY: Centralized cross-platform process operations for session management.
4
+ * @deprecated Import from \@/utils/process.ts instead.
5
+ * This module re-exports for backward compatibility but will be removed in future versions.
5
6
  */
6
- /**
7
- * Check if a process with the given PID is alive.
8
- *
9
- * Uses signal 0 to check process existence without sending an actual signal.
10
- * Works on Unix/Linux/macOS. On Windows, falls back to tasklist check.
11
- *
12
- * @param pid - Process ID to check
13
- * @returns True if process is running, false otherwise
14
- *
15
- * @example
16
- * ```typescript
17
- * if (isProcessAlive(12345)) {
18
- * console.log('Process is still running');
19
- * }
20
- * ```
21
- */
22
- export declare function isProcessAlive(pid: number): boolean;
23
- /**
24
- * Kill a Chrome process using cross-platform approach.
25
- *
26
- * Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
27
- * Unix/macOS: Uses `process.kill(-pid, signal)` to kill process group
28
- *
29
- * WHY: Chrome spawns multiple child processes. We need to kill the entire process tree.
30
- *
31
- * @param pid - Chrome process ID to kill
32
- * @param signal - Signal to send (Unix only, default 'SIGTERM'). Ignored on Windows.
33
- * @throws Error if kill operation fails
34
- *
35
- * @example
36
- * ```typescript
37
- * try {
38
- * killChromeProcess(chromePid, 'SIGKILL'); // Force kill
39
- * } catch (error) {
40
- * console.error('Failed to kill Chrome:', error);
41
- * }
42
- * ```
43
- */
44
- export declare function killChromeProcess(pid: number, signal?: NodeJS.Signals): void;
7
+ export { isProcessAlive, killChromeProcess } from '../utils/process.js';
45
8
  //# sourceMappingURL=process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,IAAI,CAmCvF"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,89 +1,8 @@
1
1
  /**
2
- * Process management utilities for checking process liveness and killing processes.
2
+ * Process management utilities for session management.
3
3
  *
4
- * WHY: Centralized cross-platform process operations for session management.
4
+ * @deprecated Import from \@/utils/process.ts instead.
5
+ * This module re-exports for backward compatibility but will be removed in future versions.
5
6
  */
6
- import { spawnSync } from 'child_process';
7
- import { taskkillStderr, taskkillFailedError } from '../ui/messages/internal.js';
8
- /**
9
- * Check if a process with the given PID is alive.
10
- *
11
- * Uses signal 0 to check process existence without sending an actual signal.
12
- * Works on Unix/Linux/macOS. On Windows, falls back to tasklist check.
13
- *
14
- * @param pid - Process ID to check
15
- * @returns True if process is running, false otherwise
16
- *
17
- * @example
18
- * ```typescript
19
- * if (isProcessAlive(12345)) {
20
- * console.log('Process is still running');
21
- * }
22
- * ```
23
- */
24
- export function isProcessAlive(pid) {
25
- try {
26
- // Sending signal 0 checks if process exists without actually sending a signal
27
- process.kill(pid, 0);
28
- return true;
29
- }
30
- catch {
31
- // ESRCH error means process doesn't exist
32
- return false;
33
- }
34
- }
35
- /**
36
- * Kill a Chrome process using cross-platform approach.
37
- *
38
- * Windows: Uses `taskkill /pid <pid> /T /F` to kill process tree
39
- * Unix/macOS: Uses `process.kill(-pid, signal)` to kill process group
40
- *
41
- * WHY: Chrome spawns multiple child processes. We need to kill the entire process tree.
42
- *
43
- * @param pid - Chrome process ID to kill
44
- * @param signal - Signal to send (Unix only, default 'SIGTERM'). Ignored on Windows.
45
- * @throws Error if kill operation fails
46
- *
47
- * @example
48
- * ```typescript
49
- * try {
50
- * killChromeProcess(chromePid, 'SIGKILL'); // Force kill
51
- * } catch (error) {
52
- * console.error('Failed to kill Chrome:', error);
53
- * }
54
- * ```
55
- */
56
- export function killChromeProcess(pid, signal = 'SIGTERM') {
57
- const isWindows = process.platform === 'win32';
58
- if (isWindows) {
59
- // Windows: Use taskkill to kill process tree
60
- // /T = kill process tree, /F = force kill
61
- const result = spawnSync(`taskkill /pid ${pid} /T /F`, {
62
- shell: true,
63
- encoding: 'utf-8',
64
- });
65
- // Check for spawn errors (command not found, etc.)
66
- if (result.error) {
67
- throw result.error;
68
- }
69
- // Check exit status - taskkill returns non-zero on failure
70
- // Common exit codes:
71
- // - 0: Success
72
- // - 128: Process not found
73
- // - 1: Access denied or other error
74
- if (result.status !== 0 && result.status !== null) {
75
- const errorMsg = (result.stderr ?? result.stdout).trim() || 'Unknown error';
76
- throw new Error(taskkillFailedError(result.status, errorMsg));
77
- }
78
- // Log stderr for debugging (taskkill sometimes writes to stderr even on success)
79
- if (result.stderr?.trim()) {
80
- console.error(taskkillStderr(result.stderr.trim()));
81
- }
82
- }
83
- else {
84
- // Unix/macOS: Kill process group (negative PID)
85
- // This kills Chrome and all child processes
86
- process.kill(-pid, signal);
87
- }
88
- }
7
+ export { isProcessAlive, killChromeProcess } from '../utils/process.js';
89
8
  //# sourceMappingURL=process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,8EAA8E;QAC9E,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,SAAyB,SAAS;IAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,6CAA6C;QAC7C,0CAA0C;QAC1C,MAAM,MAAM,GAAG,SAAS,CAAC,iBAAiB,GAAG,QAAQ,EAAE;YACrD,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,mDAAmD;QACnD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QAED,2DAA2D;QAC3D,qBAAqB;QACrB,eAAe;QACf,2BAA2B;QAC3B,oCAAoC;QACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,iFAAiF;QACjF,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,4CAA4C;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/session/process.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Business logic for building session status data.
3
+ *
4
+ * Extracts status calculation logic from formatters to maintain separation of concerns.
5
+ * Formatters should only handle presentation, not business logic.
6
+ */
7
+ /**
8
+ * Duration information for a session
9
+ */
10
+ export interface DurationInfo {
11
+ /** Total duration in milliseconds */
12
+ durationMs: number;
13
+ /** Duration in seconds */
14
+ durationSec: number;
15
+ /** Minutes component */
16
+ minutes: number;
17
+ /** Seconds component */
18
+ seconds: number;
19
+ /** Formatted duration string (e.g., "5m 23s" or "42s") */
20
+ formatted: string;
21
+ }
22
+ /**
23
+ * Calculate session duration from start time
24
+ *
25
+ * @param startTime - Session start timestamp in milliseconds
26
+ * @param now - Current timestamp (defaults to Date.now())
27
+ * @returns Duration breakdown with formatted string
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const duration = calculateDuration(Date.now() - 323000);
32
+ * // { durationMs: 323000, durationSec: 323, minutes: 5, seconds: 23, formatted: "5m 23s" }
33
+ * ```
34
+ */
35
+ export declare function calculateDuration(startTime: number, now?: number): DurationInfo;
36
+ /**
37
+ * Format "time ago" string from timestamp
38
+ *
39
+ * @param timestamp - Timestamp in milliseconds
40
+ * @param now - Current timestamp (defaults to Date.now())
41
+ * @returns Human-readable time ago string (e.g., "5m ago", "2h ago")
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * formatTimeAgo(Date.now() - 75000); // "1m ago"
46
+ * formatTimeAgo(Date.now() - 7200000); // "2h ago"
47
+ * ```
48
+ */
49
+ export declare function formatTimeAgo(timestamp: number, now?: number): string;
50
+ //# sourceMappingURL=statusData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusData.d.ts","sourceRoot":"","sources":["../../src/session/statusData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,YAAY,CAQnF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAOzE"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Business logic for building session status data.
3
+ *
4
+ * Extracts status calculation logic from formatters to maintain separation of concerns.
5
+ * Formatters should only handle presentation, not business logic.
6
+ */
7
+ /**
8
+ * Calculate session duration from start time
9
+ *
10
+ * @param startTime - Session start timestamp in milliseconds
11
+ * @param now - Current timestamp (defaults to Date.now())
12
+ * @returns Duration breakdown with formatted string
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const duration = calculateDuration(Date.now() - 323000);
17
+ * // { durationMs: 323000, durationSec: 323, minutes: 5, seconds: 23, formatted: "5m 23s" }
18
+ * ```
19
+ */
20
+ export function calculateDuration(startTime, now = Date.now()) {
21
+ const durationMs = now - startTime;
22
+ const durationSec = Math.floor(durationMs / 1000);
23
+ const minutes = Math.floor(durationSec / 60);
24
+ const seconds = durationSec % 60;
25
+ const formatted = minutes > 0 ? `${minutes}m ${seconds}s` : `${seconds}s`;
26
+ return { durationMs, durationSec, minutes, seconds, formatted };
27
+ }
28
+ /**
29
+ * Format "time ago" string from timestamp
30
+ *
31
+ * @param timestamp - Timestamp in milliseconds
32
+ * @param now - Current timestamp (defaults to Date.now())
33
+ * @returns Human-readable time ago string (e.g., "5m ago", "2h ago")
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * formatTimeAgo(Date.now() - 75000); // "1m ago"
38
+ * formatTimeAgo(Date.now() - 7200000); // "2h ago"
39
+ * ```
40
+ */
41
+ export function formatTimeAgo(timestamp, now = Date.now()) {
42
+ const secondsAgo = Math.floor((now - timestamp) / 1000);
43
+ if (secondsAgo < 60)
44
+ return `${secondsAgo}s ago`;
45
+ const minutesAgo = Math.floor(secondsAgo / 60);
46
+ if (minutesAgo < 60)
47
+ return `${minutesAgo}m ago`;
48
+ const hoursAgo = Math.floor(minutesAgo / 60);
49
+ return `${hoursAgo}h ago`;
50
+ }
51
+ //# sourceMappingURL=statusData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusData.js","sourceRoot":"","sources":["../../src/session/statusData.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnE,MAAM,UAAU,GAAG,GAAG,GAAG,SAAS,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,GAAG,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;IAE1E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IACxD,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,UAAU,OAAO,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAC/C,IAAI,UAAU,GAAG,EAAE;QAAE,OAAO,GAAG,UAAU,OAAO,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAC7C,OAAO,GAAG,QAAQ,OAAO,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Unit tests for accessibility tree pure functions.
3
+ *
4
+ * Tests the contract of pure functions:
5
+ * - buildTreeFromRawNodes: Tree construction from CDP nodes
6
+ * - parseQueryPattern: Pattern string parsing
7
+ * - queryA11yTree: Tree querying logic
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=a11y.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y.unit.test.d.ts","sourceRoot":"","sources":["../../../src/telemetry/__tests__/a11y.unit.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}