browser-debugger-cli 0.6.0 → 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 (653) hide show
  1. package/README.md +10 -6
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -48
  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 +0 -48
  9. package/dist/cdp/protocol.d.ts.map +1 -1
  10. package/dist/cdp/protocol.js +0 -94
  11. package/dist/cdp/protocol.js.map +1 -1
  12. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  13. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  14. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  15. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  16. package/dist/commands/cdp.d.ts.map +1 -1
  17. package/dist/commands/cdp.js +4 -37
  18. package/dist/commands/cdp.js.map +1 -1
  19. package/dist/commands/cleanup.d.ts.map +1 -1
  20. package/dist/commands/cleanup.js +4 -17
  21. package/dist/commands/cleanup.js.map +1 -1
  22. package/dist/commands/console.d.ts.map +1 -1
  23. package/dist/commands/console.js +3 -8
  24. package/dist/commands/console.js.map +1 -1
  25. package/dist/commands/details.d.ts.map +1 -1
  26. package/dist/commands/details.js +1 -1
  27. package/dist/commands/details.js.map +1 -1
  28. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
  29. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  30. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
  31. package/dist/commands/dom/evalHelpers.js.map +1 -0
  32. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  33. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  34. package/dist/commands/dom/formFillHelpers.js +185 -0
  35. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  36. package/dist/commands/dom/formInteraction.d.ts +17 -0
  37. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  38. package/dist/commands/dom/formInteraction.js +239 -0
  39. package/dist/commands/dom/formInteraction.js.map +1 -0
  40. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  41. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  42. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  43. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  44. package/dist/commands/dom/helpers.d.ts +34 -0
  45. package/dist/commands/dom/helpers.d.ts.map +1 -0
  46. package/dist/commands/dom/helpers.js +244 -0
  47. package/dist/commands/dom/helpers.js.map +1 -0
  48. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  49. package/dist/commands/dom/index.d.ts.map +1 -0
  50. package/dist/commands/{dom.js → dom/index.js} +33 -123
  51. package/dist/commands/dom/index.js.map +1 -0
  52. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  53. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  54. package/dist/commands/dom/reactEventHelpers.js +274 -0
  55. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  56. package/dist/commands/network.js +1 -1
  57. package/dist/commands/network.js.map +1 -1
  58. package/dist/commands/peek.d.ts.map +1 -1
  59. package/dist/commands/peek.js +47 -52
  60. package/dist/commands/peek.js.map +1 -1
  61. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  62. package/dist/commands/shared/CommandRunner.js +3 -2
  63. package/dist/commands/shared/CommandRunner.js.map +1 -1
  64. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  65. package/dist/commands/shared/commonOptions.js +3 -1
  66. package/dist/commands/shared/commonOptions.js.map +1 -1
  67. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  68. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  69. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  70. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  71. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  72. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  73. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  74. package/dist/commands/shared/startHelpers.js.map +1 -0
  75. package/dist/commands/shared/validation.d.ts +44 -0
  76. package/dist/commands/shared/validation.d.ts.map +1 -0
  77. package/dist/commands/shared/validation.js +68 -0
  78. package/dist/commands/shared/validation.js.map +1 -0
  79. package/dist/commands/start.d.ts.map +1 -1
  80. package/dist/commands/start.js +9 -25
  81. package/dist/commands/start.js.map +1 -1
  82. package/dist/commands/status.d.ts.map +1 -1
  83. package/dist/commands/status.js +6 -4
  84. package/dist/commands/status.js.map +1 -1
  85. package/dist/commands/stop.d.ts.map +1 -1
  86. package/dist/commands/stop.js +5 -16
  87. package/dist/commands/stop.js.map +1 -1
  88. package/dist/commands/tail.d.ts.map +1 -1
  89. package/dist/commands/tail.js +49 -44
  90. package/dist/commands/tail.js.map +1 -1
  91. package/dist/commands/types.d.ts +43 -0
  92. package/dist/commands/types.d.ts.map +1 -0
  93. package/dist/commands/types.js +8 -0
  94. package/dist/commands/types.js.map +1 -0
  95. package/dist/commands.d.ts.map +1 -1
  96. package/dist/commands.js +3 -1
  97. package/dist/commands.js.map +1 -1
  98. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  99. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  100. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  101. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  102. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  103. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  104. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  105. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  106. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  107. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  108. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  109. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  110. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  111. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  112. package/dist/connection/cdp.d.ts +34 -11
  113. package/dist/connection/cdp.d.ts.map +1 -1
  114. package/dist/connection/cdp.js +61 -45
  115. package/dist/connection/cdp.js.map +1 -1
  116. package/dist/connection/config.d.ts +63 -0
  117. package/dist/connection/config.d.ts.map +1 -0
  118. package/dist/connection/config.js +46 -0
  119. package/dist/connection/config.js.map +1 -0
  120. package/dist/connection/errors.d.ts +6 -21
  121. package/dist/connection/errors.d.ts.map +1 -1
  122. package/dist/connection/errors.js +7 -26
  123. package/dist/connection/errors.js.map +1 -1
  124. package/dist/connection/events.d.ts +30 -0
  125. package/dist/connection/events.d.ts.map +1 -0
  126. package/dist/connection/events.js +8 -0
  127. package/dist/connection/events.js.map +1 -0
  128. package/dist/connection/handlers.d.ts +3 -5
  129. package/dist/connection/handlers.d.ts.map +1 -1
  130. package/dist/connection/handlers.js +10 -12
  131. package/dist/connection/handlers.js.map +1 -1
  132. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  133. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  134. package/dist/connection/launcher/binaryResolver.js +78 -0
  135. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  136. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  137. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  138. package/dist/connection/launcher/flagsBuilder.js +84 -0
  139. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  140. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  141. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  142. package/dist/connection/launcher/preferencesLoader.js +89 -0
  143. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  144. package/dist/connection/launcher.d.ts +24 -1
  145. package/dist/connection/launcher.d.ts.map +1 -1
  146. package/dist/connection/launcher.js +30 -205
  147. package/dist/connection/launcher.js.map +1 -1
  148. package/dist/connection/pageReadiness.d.ts +8 -8
  149. package/dist/connection/pageReadiness.d.ts.map +1 -1
  150. package/dist/connection/pageReadiness.js +36 -52
  151. package/dist/connection/pageReadiness.js.map +1 -1
  152. package/dist/connection/portReservation.d.ts +40 -0
  153. package/dist/connection/portReservation.d.ts.map +1 -0
  154. package/dist/connection/portReservation.js +55 -0
  155. package/dist/connection/portReservation.js.map +1 -0
  156. package/dist/connection/typed-cdp.d.ts +2 -1
  157. package/dist/connection/typed-cdp.d.ts.map +1 -1
  158. package/dist/connection/typed-cdp.js.map +1 -1
  159. package/dist/connection/types.d.ts +103 -0
  160. package/dist/connection/types.d.ts.map +1 -0
  161. package/dist/connection/types.js +8 -0
  162. package/dist/connection/types.js.map +1 -0
  163. package/dist/constants.d.ts +0 -83
  164. package/dist/constants.d.ts.map +1 -1
  165. package/dist/constants.js +0 -83
  166. package/dist/constants.js.map +1 -1
  167. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  168. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  169. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  170. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  171. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  172. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  173. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  174. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  175. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  176. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  177. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  178. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  179. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  180. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  181. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  182. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  183. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  184. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  185. package/dist/daemon/errors.d.ts +65 -0
  186. package/dist/daemon/errors.d.ts.map +1 -0
  187. package/dist/daemon/errors.js +82 -0
  188. package/dist/daemon/errors.js.map +1 -0
  189. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  190. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  191. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  192. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  193. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  194. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  195. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  196. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  197. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  198. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  199. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  200. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  201. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  202. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  203. package/dist/daemon/handlers/pendingRequests.js +57 -0
  204. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  205. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  206. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  207. package/dist/daemon/handlers/requestHandlers.js +61 -0
  208. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  209. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  210. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  211. package/dist/daemon/handlers/responseHandler.js +195 -0
  212. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  213. package/dist/daemon/ipcServer.d.ts +19 -41
  214. package/dist/daemon/ipcServer.d.ts.map +1 -1
  215. package/dist/daemon/ipcServer.js +83 -655
  216. package/dist/daemon/ipcServer.js.map +1 -1
  217. package/dist/daemon/launcher.d.ts.map +1 -1
  218. package/dist/daemon/launcher.js +6 -3
  219. package/dist/daemon/launcher.js.map +1 -1
  220. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  221. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  222. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  223. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  224. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  225. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  226. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  227. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  228. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  229. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  230. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  231. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  232. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  233. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  234. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  235. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  236. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  237. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  238. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  239. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  240. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  241. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  242. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  243. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  244. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  245. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  246. package/dist/daemon/server/JsonlParser.js +57 -0
  247. package/dist/daemon/server/JsonlParser.js.map +1 -0
  248. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  249. package/dist/daemon/server/SocketServer.js +2 -2
  250. package/dist/daemon/server/SocketServer.js.map +1 -1
  251. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  252. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  253. package/dist/daemon/server/WorkerManager.js +10 -19
  254. package/dist/daemon/server/WorkerManager.js.map +1 -1
  255. package/dist/daemon/services/SessionService.d.ts +87 -0
  256. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  257. package/dist/daemon/services/SessionService.js +45 -0
  258. package/dist/daemon/services/SessionService.js.map +1 -0
  259. package/dist/daemon/startSession.d.ts.map +1 -1
  260. package/dist/daemon/startSession.js +54 -31
  261. package/dist/daemon/startSession.js.map +1 -1
  262. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  263. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  264. package/dist/daemon/worker/commandRegistry.js +20 -215
  265. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  266. package/dist/daemon/worker.d.ts +3 -12
  267. package/dist/daemon/worker.d.ts.map +1 -1
  268. package/dist/daemon/worker.js +47 -367
  269. package/dist/daemon/worker.js.map +1 -1
  270. package/dist/index.js +1 -1
  271. package/dist/index.js.map +1 -1
  272. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  273. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  274. package/dist/ipc/__tests__/client.contract.test.js +8 -23
  275. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  276. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  277. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  278. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  279. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  280. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  281. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  282. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  283. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  284. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  285. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  286. package/dist/ipc/__tests__/jsonl.unit.test.js +85 -0
  287. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  288. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  289. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  290. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  291. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  292. package/dist/ipc/client.d.ts +93 -84
  293. package/dist/ipc/client.d.ts.map +1 -1
  294. package/dist/ipc/client.js +121 -192
  295. package/dist/ipc/client.js.map +1 -1
  296. package/dist/ipc/index.d.ts +17 -0
  297. package/dist/ipc/index.d.ts.map +1 -0
  298. package/dist/ipc/index.js +23 -0
  299. package/dist/ipc/index.js.map +1 -0
  300. package/dist/ipc/protocol/commands.d.ts +144 -0
  301. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  302. package/dist/ipc/protocol/commands.js +23 -0
  303. package/dist/ipc/protocol/commands.js.map +1 -0
  304. package/dist/ipc/protocol/guards.d.ts +47 -0
  305. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  306. package/dist/ipc/protocol/guards.js +62 -0
  307. package/dist/ipc/protocol/guards.js.map +1 -0
  308. package/dist/ipc/protocol/index.d.ts +9 -0
  309. package/dist/ipc/protocol/index.d.ts.map +1 -0
  310. package/dist/ipc/protocol/index.js +8 -0
  311. package/dist/ipc/protocol/index.js.map +1 -0
  312. package/dist/ipc/protocol/messages.d.ts +64 -0
  313. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  314. package/dist/ipc/protocol/messages.js +8 -0
  315. package/dist/ipc/protocol/messages.js.map +1 -0
  316. package/dist/ipc/session/errors.d.ts +25 -0
  317. package/dist/ipc/session/errors.d.ts.map +1 -0
  318. package/dist/ipc/{types.js → session/errors.js} +11 -6
  319. package/dist/ipc/session/errors.js.map +1 -0
  320. package/dist/ipc/session/index.d.ts +16 -0
  321. package/dist/ipc/session/index.d.ts.map +1 -0
  322. package/dist/ipc/session/index.js +7 -0
  323. package/dist/ipc/session/index.js.map +1 -0
  324. package/dist/ipc/session/lifecycle.d.ts +125 -0
  325. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  326. package/dist/ipc/session/lifecycle.js +7 -0
  327. package/dist/ipc/session/lifecycle.js.map +1 -0
  328. package/dist/ipc/session/queries.d.ts +94 -0
  329. package/dist/ipc/session/queries.d.ts.map +1 -0
  330. package/dist/ipc/session/queries.js +7 -0
  331. package/dist/ipc/session/queries.js.map +1 -0
  332. package/dist/ipc/session/types.d.ts +28 -0
  333. package/dist/ipc/session/types.d.ts.map +1 -0
  334. package/dist/ipc/session/types.js +7 -0
  335. package/dist/ipc/session/types.js.map +1 -0
  336. package/dist/ipc/transport/IPCError.d.ts +82 -0
  337. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  338. package/dist/ipc/transport/IPCError.js +109 -0
  339. package/dist/ipc/transport/IPCError.js.map +1 -0
  340. package/dist/ipc/transport/errors.d.ts +11 -0
  341. package/dist/ipc/transport/errors.d.ts.map +1 -0
  342. package/dist/ipc/transport/errors.js +28 -0
  343. package/dist/ipc/transport/errors.js.map +1 -0
  344. package/dist/ipc/transport/index.d.ts +16 -0
  345. package/dist/ipc/transport/index.d.ts.map +1 -0
  346. package/dist/ipc/transport/index.js +77 -0
  347. package/dist/ipc/transport/index.js.map +1 -0
  348. package/dist/ipc/transport/jsonl.d.ts +23 -0
  349. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  350. package/dist/ipc/transport/jsonl.js +36 -0
  351. package/dist/ipc/transport/jsonl.js.map +1 -0
  352. package/dist/ipc/transport/socket.d.ts +27 -0
  353. package/dist/ipc/transport/socket.d.ts.map +1 -0
  354. package/dist/ipc/transport/socket.js +49 -0
  355. package/dist/ipc/transport/socket.js.map +1 -0
  356. package/dist/ipc/transport/validation.d.ts +21 -0
  357. package/dist/ipc/transport/validation.d.ts.map +1 -0
  358. package/dist/ipc/transport/validation.js +23 -0
  359. package/dist/ipc/transport/validation.js.map +1 -0
  360. package/dist/ipc/utils/errors.d.ts +25 -0
  361. package/dist/ipc/utils/errors.d.ts.map +1 -0
  362. package/dist/ipc/utils/errors.js +29 -0
  363. package/dist/ipc/utils/errors.js.map +1 -0
  364. package/dist/ipc/utils/index.d.ts +12 -0
  365. package/dist/ipc/utils/index.d.ts.map +1 -0
  366. package/dist/ipc/utils/index.js +11 -0
  367. package/dist/ipc/utils/index.js.map +1 -0
  368. package/dist/ipc/utils/requestId.d.ts +23 -0
  369. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  370. package/dist/ipc/utils/requestId.js +27 -0
  371. package/dist/ipc/utils/requestId.js.map +1 -0
  372. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  373. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  374. package/dist/ipc/utils/responseValidator.js.map +1 -0
  375. package/dist/ipc/utils/session.d.ts +36 -0
  376. package/dist/ipc/utils/session.d.ts.map +1 -0
  377. package/dist/ipc/utils/session.js +37 -0
  378. package/dist/ipc/utils/session.js.map +1 -0
  379. package/dist/ipc/utils/types.d.ts +17 -0
  380. package/dist/ipc/utils/types.d.ts.map +1 -0
  381. package/dist/ipc/utils/types.js +7 -0
  382. package/dist/ipc/utils/types.js.map +1 -0
  383. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  384. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  385. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  386. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  387. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  388. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  389. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  390. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  391. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  392. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  393. package/dist/session/__tests__/lock.contract.test.js +77 -0
  394. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  395. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  396. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  397. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  398. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  399. package/dist/session/chrome.d.ts +20 -0
  400. package/dist/session/chrome.d.ts.map +1 -1
  401. package/dist/session/chrome.js +80 -16
  402. package/dist/session/chrome.js.map +1 -1
  403. package/dist/session/cleanup.d.ts +15 -2
  404. package/dist/session/cleanup.d.ts.map +1 -1
  405. package/dist/session/cleanup.js +100 -72
  406. package/dist/session/cleanup.js.map +1 -1
  407. package/dist/session/lock.d.ts.map +1 -1
  408. package/dist/session/lock.js +101 -90
  409. package/dist/session/lock.js.map +1 -1
  410. package/dist/session/metadata.d.ts +10 -3
  411. package/dist/session/metadata.d.ts.map +1 -1
  412. package/dist/session/metadata.js +24 -6
  413. package/dist/session/metadata.js.map +1 -1
  414. package/dist/session/paths.d.ts +0 -9
  415. package/dist/session/paths.d.ts.map +1 -1
  416. package/dist/session/paths.js +0 -11
  417. package/dist/session/paths.js.map +1 -1
  418. package/dist/session/pid.d.ts +15 -0
  419. package/dist/session/pid.d.ts.map +1 -1
  420. package/dist/session/pid.js +39 -21
  421. package/dist/session/pid.js.map +1 -1
  422. package/dist/session/process.d.ts +4 -41
  423. package/dist/session/process.d.ts.map +1 -1
  424. package/dist/session/process.js +4 -85
  425. package/dist/session/process.js.map +1 -1
  426. package/dist/session/statusData.d.ts +50 -0
  427. package/dist/session/statusData.d.ts.map +1 -0
  428. package/dist/session/statusData.js +51 -0
  429. package/dist/session/statusData.js.map +1 -0
  430. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  431. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  432. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  433. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  434. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  435. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  436. package/dist/telemetry/__tests__/network.contract.test.js +2 -64
  437. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  438. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  439. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  440. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  441. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  442. package/dist/telemetry/console.d.ts.map +1 -1
  443. package/dist/telemetry/console.js +19 -28
  444. package/dist/telemetry/console.js.map +1 -1
  445. package/dist/telemetry/dialogs.d.ts.map +1 -1
  446. package/dist/telemetry/dialogs.js +4 -8
  447. package/dist/telemetry/dialogs.js.map +1 -1
  448. package/dist/telemetry/dom.d.ts.map +1 -1
  449. package/dist/telemetry/dom.js +51 -59
  450. package/dist/telemetry/dom.js.map +1 -1
  451. package/dist/telemetry/filters.d.ts +5 -18
  452. package/dist/telemetry/filters.d.ts.map +1 -1
  453. package/dist/telemetry/filters.js +36 -56
  454. package/dist/telemetry/filters.js.map +1 -1
  455. package/dist/telemetry/navigation.d.ts.map +1 -1
  456. package/dist/telemetry/navigation.js +5 -8
  457. package/dist/telemetry/navigation.js.map +1 -1
  458. package/dist/telemetry/network.d.ts.map +1 -1
  459. package/dist/telemetry/network.js +105 -104
  460. package/dist/telemetry/network.js.map +1 -1
  461. package/dist/telemetry/utils.d.ts +85 -0
  462. package/dist/telemetry/utils.d.ts.map +1 -0
  463. package/dist/telemetry/utils.js +138 -0
  464. package/dist/telemetry/utils.js.map +1 -0
  465. package/dist/types/dom.d.ts +66 -0
  466. package/dist/types/dom.d.ts.map +1 -0
  467. package/dist/types/dom.js +8 -0
  468. package/dist/types/dom.js.map +1 -0
  469. package/dist/types.d.ts +15 -83
  470. package/dist/types.d.ts.map +1 -1
  471. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  472. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  473. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  474. package/dist/ui/OutputBuilder.js.map +1 -0
  475. package/dist/ui/errors/CommandError.d.ts +16 -2
  476. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  477. package/dist/ui/errors/CommandError.js +2 -1
  478. package/dist/ui/errors/CommandError.js.map +1 -1
  479. package/dist/ui/errors/index.d.ts +2 -3
  480. package/dist/ui/errors/index.d.ts.map +1 -1
  481. package/dist/ui/errors/index.js +1 -3
  482. package/dist/ui/errors/index.js.map +1 -1
  483. package/dist/ui/errors/utils.d.ts +6 -0
  484. package/dist/ui/errors/utils.d.ts.map +1 -1
  485. package/dist/ui/errors/utils.js +8 -3
  486. package/dist/ui/errors/utils.js.map +1 -1
  487. package/dist/ui/formatters/dom.d.ts +3 -18
  488. package/dist/ui/formatters/dom.d.ts.map +1 -1
  489. package/dist/ui/formatters/dom.js +4 -27
  490. package/dist/ui/formatters/dom.js.map +1 -1
  491. package/dist/ui/formatters/preview.d.ts +8 -8
  492. package/dist/ui/formatters/preview.d.ts.map +1 -1
  493. package/dist/ui/formatters/preview.js +18 -13
  494. package/dist/ui/formatters/preview.js.map +1 -1
  495. package/dist/ui/formatters/status.d.ts +1 -1
  496. package/dist/ui/formatters/status.d.ts.map +1 -1
  497. package/dist/ui/formatters/status.js +8 -30
  498. package/dist/ui/formatters/status.js.map +1 -1
  499. package/dist/ui/formatting.d.ts +2 -270
  500. package/dist/ui/formatting.d.ts.map +1 -1
  501. package/dist/ui/formatting.js +8 -331
  502. package/dist/ui/formatting.js.map +1 -1
  503. package/dist/ui/logging/index.d.ts +1 -1
  504. package/dist/ui/logging/index.d.ts.map +1 -1
  505. package/dist/ui/logging/index.js +1 -1
  506. package/dist/ui/logging/index.js.map +1 -1
  507. package/dist/ui/logging/logger.d.ts +3 -23
  508. package/dist/ui/logging/logger.d.ts.map +1 -1
  509. package/dist/ui/logging/logger.js +2 -27
  510. package/dist/ui/logging/logger.js.map +1 -1
  511. package/dist/ui/messages/chrome.d.ts +15 -7
  512. package/dist/ui/messages/chrome.d.ts.map +1 -1
  513. package/dist/ui/messages/chrome.js +23 -32
  514. package/dist/ui/messages/chrome.js.map +1 -1
  515. package/dist/ui/messages/commands.d.ts +2 -19
  516. package/dist/ui/messages/commands.d.ts.map +1 -1
  517. package/dist/ui/messages/commands.js +5 -51
  518. package/dist/ui/messages/commands.js.map +1 -1
  519. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  520. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  521. package/dist/ui/messages/consoleMessages.js +3 -6
  522. package/dist/ui/messages/consoleMessages.js.map +1 -1
  523. package/dist/ui/messages/debug.d.ts +0 -14
  524. package/dist/ui/messages/debug.d.ts.map +1 -1
  525. package/dist/ui/messages/debug.js +0 -18
  526. package/dist/ui/messages/debug.js.map +1 -1
  527. package/dist/ui/messages/errors.d.ts +0 -34
  528. package/dist/ui/messages/errors.d.ts.map +1 -1
  529. package/dist/ui/messages/errors.js +3 -81
  530. package/dist/ui/messages/errors.js.map +1 -1
  531. package/dist/ui/messages/internal.d.ts +0 -7
  532. package/dist/ui/messages/internal.d.ts.map +1 -1
  533. package/dist/ui/messages/internal.js +0 -12
  534. package/dist/ui/messages/internal.js.map +1 -1
  535. package/dist/ui/messages/preview.d.ts +14 -1
  536. package/dist/ui/messages/preview.d.ts.map +1 -1
  537. package/dist/ui/messages/preview.js +24 -7
  538. package/dist/ui/messages/preview.js.map +1 -1
  539. package/dist/ui/messages/session.d.ts.map +1 -1
  540. package/dist/ui/messages/session.js +7 -23
  541. package/dist/ui/messages/session.js.map +1 -1
  542. package/dist/ui/messages/validation.d.ts.map +1 -1
  543. package/dist/ui/messages/validation.js +7 -8
  544. package/dist/ui/messages/validation.js.map +1 -1
  545. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  546. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  547. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  548. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  549. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  550. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  551. package/dist/utils/__tests__/objects.test.js +50 -0
  552. package/dist/utils/__tests__/objects.test.js.map +1 -0
  553. package/dist/utils/__tests__/session.contract.test.js +13 -3
  554. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  555. package/dist/utils/__tests__/url.test.d.ts +2 -0
  556. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  557. package/dist/utils/__tests__/url.test.js +42 -0
  558. package/dist/utils/__tests__/url.test.js.map +1 -0
  559. package/dist/utils/atomicFile.d.ts +31 -5
  560. package/dist/utils/atomicFile.d.ts.map +1 -1
  561. package/dist/utils/atomicFile.js +52 -13
  562. package/dist/utils/atomicFile.js.map +1 -1
  563. package/dist/utils/concurrency.d.ts +54 -0
  564. package/dist/utils/concurrency.d.ts.map +1 -0
  565. package/dist/utils/concurrency.js +78 -0
  566. package/dist/utils/concurrency.js.map +1 -0
  567. package/dist/utils/daemonErrors.d.ts +60 -0
  568. package/dist/utils/daemonErrors.d.ts.map +1 -0
  569. package/dist/utils/daemonErrors.js +58 -0
  570. package/dist/utils/daemonErrors.js.map +1 -0
  571. package/dist/utils/errors.d.ts +28 -0
  572. package/dist/utils/errors.d.ts.map +1 -0
  573. package/dist/utils/errors.js +33 -0
  574. package/dist/utils/errors.js.map +1 -0
  575. package/dist/utils/exitCodes.d.ts +41 -5
  576. package/dist/utils/exitCodes.d.ts.map +1 -1
  577. package/dist/utils/exitCodes.js +43 -9
  578. package/dist/utils/exitCodes.js.map +1 -1
  579. package/dist/utils/http.d.ts +9 -4
  580. package/dist/utils/http.d.ts.map +1 -1
  581. package/dist/utils/http.js +44 -10
  582. package/dist/utils/http.js.map +1 -1
  583. package/dist/utils/levenshtein.d.ts +45 -0
  584. package/dist/utils/levenshtein.d.ts.map +1 -0
  585. package/dist/utils/levenshtein.js +85 -0
  586. package/dist/utils/levenshtein.js.map +1 -0
  587. package/dist/utils/objects.d.ts +16 -1
  588. package/dist/utils/objects.d.ts.map +1 -1
  589. package/dist/utils/objects.js +16 -1
  590. package/dist/utils/objects.js.map +1 -1
  591. package/dist/utils/process.d.ts +45 -0
  592. package/dist/utils/process.d.ts.map +1 -0
  593. package/dist/utils/process.js +91 -0
  594. package/dist/utils/process.js.map +1 -0
  595. package/dist/utils/url.d.ts +10 -3
  596. package/dist/utils/url.d.ts.map +1 -1
  597. package/dist/utils/url.js +42 -29
  598. package/dist/utils/url.js.map +1 -1
  599. package/dist/utils/validation.d.ts +101 -0
  600. package/dist/utils/validation.d.ts.map +1 -0
  601. package/dist/utils/validation.js +131 -0
  602. package/dist/utils/validation.js.map +1 -0
  603. package/package.json +1 -1
  604. package/dist/commands/dom.d.ts.map +0 -1
  605. package/dist/commands/dom.js.map +0 -1
  606. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  607. package/dist/commands/domEvalHelpers.js.map +0 -1
  608. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  609. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  610. package/dist/commands/domOptionsBuilder.js +0 -86
  611. package/dist/commands/domOptionsBuilder.js.map +0 -1
  612. package/dist/commands/domSelectorParser.d.ts +0 -20
  613. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  614. package/dist/commands/domSelectorParser.js +0 -20
  615. package/dist/commands/domSelectorParser.js.map +0 -1
  616. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  617. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  618. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  619. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  620. package/dist/commands/shared/sessionController.d.ts +0 -21
  621. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  622. package/dist/commands/shared/sessionController.js +0 -54
  623. package/dist/commands/shared/sessionController.js.map +0 -1
  624. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  625. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  626. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  627. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  628. package/dist/connection/domOperations.d.ts +0 -48
  629. package/dist/connection/domOperations.d.ts.map +0 -1
  630. package/dist/connection/domOperations.js +0 -106
  631. package/dist/connection/domOperations.js.map +0 -1
  632. package/dist/connection/finder.d.ts +0 -12
  633. package/dist/connection/finder.d.ts.map +0 -1
  634. package/dist/connection/finder.js +0 -17
  635. package/dist/connection/finder.js.map +0 -1
  636. package/dist/ipc/commands.d.ts +0 -260
  637. package/dist/ipc/commands.d.ts.map +0 -1
  638. package/dist/ipc/commands.js +0 -77
  639. package/dist/ipc/commands.js.map +0 -1
  640. package/dist/ipc/responseValidator.d.ts.map +0 -1
  641. package/dist/ipc/responseValidator.js.map +0 -1
  642. package/dist/ipc/types.d.ts +0 -226
  643. package/dist/ipc/types.d.ts.map +0 -1
  644. package/dist/ipc/types.js.map +0 -1
  645. package/dist/session/fileOps.d.ts +0 -25
  646. package/dist/session/fileOps.d.ts.map +0 -1
  647. package/dist/session/fileOps.js +0 -39
  648. package/dist/session/fileOps.js.map +0 -1
  649. package/dist/session/queryCache.d.ts +0 -36
  650. package/dist/session/queryCache.d.ts.map +0 -1
  651. package/dist/session/queryCache.js +0 -66
  652. package/dist/session/queryCache.js.map +0 -1
  653. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Custom concurrency limiter for controlling parallel async operations.
3
+ */
4
+ /**
5
+ * Limits the number of concurrent async operations.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const limiter = new ConcurrencyLimiter(5);
10
+ * const results = await Promise.all(
11
+ * tasks.map(task => limiter.run(() => performTask(task)))
12
+ * );
13
+ * ```
14
+ */
15
+ export declare class ConcurrencyLimiter {
16
+ private readonly limit;
17
+ private running;
18
+ private queue;
19
+ /**
20
+ * Creates a new concurrency limiter.
21
+ *
22
+ * @param limit - Maximum number of concurrent operations
23
+ */
24
+ constructor(limit: number);
25
+ /**
26
+ * Executes an async function with concurrency control.
27
+ *
28
+ * @param fn - Async function to execute
29
+ * @returns Promise resolving to the function's result
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const limiter = new ConcurrencyLimiter(3);
34
+ * const result = await limiter.run(async () => {
35
+ * const response = await fetch(url);
36
+ * return response.json();
37
+ * });
38
+ * ```
39
+ */
40
+ run<T>(fn: () => Promise<T>): Promise<T>;
41
+ /**
42
+ * Gets the current number of running operations.
43
+ *
44
+ * @returns Number of currently executing operations
45
+ */
46
+ getRunningCount(): number;
47
+ /**
48
+ * Gets the current queue size.
49
+ *
50
+ * @returns Number of operations waiting to execute
51
+ */
52
+ getQueueSize(): number;
53
+ }
54
+ //# sourceMappingURL=concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IASjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IARlC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAyB;IAEtC;;;;OAIG;gBAC0B,KAAK,EAAE,MAAM;IAM1C;;;;;;;;;;;;;;OAcG;IACG,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAiB9C;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,YAAY,IAAI,MAAM;CAGvB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Custom concurrency limiter for controlling parallel async operations.
3
+ */
4
+ /**
5
+ * Limits the number of concurrent async operations.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const limiter = new ConcurrencyLimiter(5);
10
+ * const results = await Promise.all(
11
+ * tasks.map(task => limiter.run(() => performTask(task)))
12
+ * );
13
+ * ```
14
+ */
15
+ export class ConcurrencyLimiter {
16
+ limit;
17
+ running = 0;
18
+ queue = [];
19
+ /**
20
+ * Creates a new concurrency limiter.
21
+ *
22
+ * @param limit - Maximum number of concurrent operations
23
+ */
24
+ constructor(limit) {
25
+ this.limit = limit;
26
+ if (limit < 1) {
27
+ throw new Error('Concurrency limit must be at least 1');
28
+ }
29
+ }
30
+ /**
31
+ * Executes an async function with concurrency control.
32
+ *
33
+ * @param fn - Async function to execute
34
+ * @returns Promise resolving to the function's result
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const limiter = new ConcurrencyLimiter(3);
39
+ * const result = await limiter.run(async () => {
40
+ * const response = await fetch(url);
41
+ * return response.json();
42
+ * });
43
+ * ```
44
+ */
45
+ async run(fn) {
46
+ while (this.running >= this.limit) {
47
+ await new Promise((resolve) => this.queue.push(resolve));
48
+ }
49
+ this.running++;
50
+ try {
51
+ return await fn();
52
+ }
53
+ finally {
54
+ this.running--;
55
+ const next = this.queue.shift();
56
+ if (next) {
57
+ next();
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Gets the current number of running operations.
63
+ *
64
+ * @returns Number of currently executing operations
65
+ */
66
+ getRunningCount() {
67
+ return this.running;
68
+ }
69
+ /**
70
+ * Gets the current queue size.
71
+ *
72
+ * @returns Number of operations waiting to execute
73
+ */
74
+ getQueueSize() {
75
+ return this.queue.length;
76
+ }
77
+ }
78
+ //# sourceMappingURL=concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IASA;IARrB,OAAO,GAAG,CAAC,CAAC;IACZ,KAAK,GAAsB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACxC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,GAAG,CAAI,EAAoB;QAC/B,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Shared utilities for handling daemon connection errors in commands.
3
+ *
4
+ * Provides consistent error handling for peek, tail, and other commands
5
+ * that communicate with the daemon via IPC.
6
+ */
7
+ /**
8
+ * Options for daemon connection error handling.
9
+ */
10
+ export interface DaemonErrorOptions {
11
+ /** Use JSON output format */
12
+ json?: boolean | undefined;
13
+ /** Follow/watch mode (don't exit, show retry message) */
14
+ follow?: boolean | undefined;
15
+ /** Retry interval in milliseconds (for display message) */
16
+ retryIntervalMs?: number | undefined;
17
+ /** Custom exit code (defaults to RESOURCE_NOT_FOUND) */
18
+ exitCode?: number | undefined;
19
+ }
20
+ /**
21
+ * Result of handling a daemon connection error.
22
+ */
23
+ export interface DaemonErrorResult {
24
+ /** Whether the process should exit */
25
+ shouldExit: boolean;
26
+ /** Exit code to use if exiting */
27
+ exitCode?: number;
28
+ }
29
+ /**
30
+ * Handle daemon connection errors with consistent formatting and behavior.
31
+ *
32
+ * Formats and logs the error appropriately based on output mode.
33
+ * Returns whether the caller should exit and with what code.
34
+ *
35
+ * @param error - Error message to display
36
+ * @param options - Error handling options
37
+ * @returns Result indicating whether to exit
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * // One-time command
42
+ * const result = handleDaemonConnectionError('Daemon not running', {
43
+ * json: options.json,
44
+ * exitCode: EXIT_CODES.RESOURCE_NOT_FOUND
45
+ * });
46
+ * if (result.shouldExit) {
47
+ * process.exit(result.exitCode);
48
+ * }
49
+ *
50
+ * // Follow mode (retries)
51
+ * handleDaemonConnectionError('Connection lost', {
52
+ * json: options.json,
53
+ * follow: true,
54
+ * retryIntervalMs: 1000
55
+ * });
56
+ * // Returns { shouldExit: false }
57
+ * ```
58
+ */
59
+ export declare function handleDaemonConnectionError(error: string, options: DaemonErrorOptions): DaemonErrorResult;
60
+ //# sourceMappingURL=daemonErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemonErrors.d.ts","sourceRoot":"","sources":["../../src/utils/daemonErrors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,kBAAkB,GAC1B,iBAAiB,CA0BnB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Shared utilities for handling daemon connection errors in commands.
3
+ *
4
+ * Provides consistent error handling for peek, tail, and other commands
5
+ * that communicate with the daemon via IPC.
6
+ */
7
+ import { OutputBuilder } from '../ui/OutputBuilder.js';
8
+ import { genericError } from '../ui/messages/errors.js';
9
+ import { connectionLostRetryMessage, connectionLostStopHintMessage, } from '../ui/messages/preview.js';
10
+ import { EXIT_CODES } from '../utils/exitCodes.js';
11
+ /**
12
+ * Handle daemon connection errors with consistent formatting and behavior.
13
+ *
14
+ * Formats and logs the error appropriately based on output mode.
15
+ * Returns whether the caller should exit and with what code.
16
+ *
17
+ * @param error - Error message to display
18
+ * @param options - Error handling options
19
+ * @returns Result indicating whether to exit
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // One-time command
24
+ * const result = handleDaemonConnectionError('Daemon not running', {
25
+ * json: options.json,
26
+ * exitCode: EXIT_CODES.RESOURCE_NOT_FOUND
27
+ * });
28
+ * if (result.shouldExit) {
29
+ * process.exit(result.exitCode);
30
+ * }
31
+ *
32
+ * // Follow mode (retries)
33
+ * handleDaemonConnectionError('Connection lost', {
34
+ * json: options.json,
35
+ * follow: true,
36
+ * retryIntervalMs: 1000
37
+ * });
38
+ * // Returns { shouldExit: false }
39
+ * ```
40
+ */
41
+ export function handleDaemonConnectionError(error, options) {
42
+ const { json = false, follow = false, retryIntervalMs = 1000, exitCode = EXIT_CODES.RESOURCE_NOT_FOUND, } = options;
43
+ const retryMessage = retryIntervalMs >= 1000 ? `${retryIntervalMs / 1000}s` : `${retryIntervalMs}ms`;
44
+ const timestamp = new Date().toISOString();
45
+ if (json) {
46
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(error, { exitCode }), null, 2));
47
+ }
48
+ else {
49
+ console.error(genericError(error));
50
+ }
51
+ if (!follow) {
52
+ return { shouldExit: true, exitCode };
53
+ }
54
+ console.error(connectionLostRetryMessage(timestamp, retryMessage));
55
+ console.error(connectionLostStopHintMessage());
56
+ return { shouldExit: false };
57
+ }
58
+ //# sourceMappingURL=daemonErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemonErrors.js","sourceRoot":"","sources":["../../src/utils/daemonErrors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA0BlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,OAA2B;IAE3B,MAAM,EACJ,IAAI,GAAG,KAAK,EACZ,MAAM,GAAG,KAAK,EACd,eAAe,GAAG,IAAI,EACtB,QAAQ,GAAG,UAAU,CAAC,kBAAkB,GACzC,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAChB,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,CAAC;IAElF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Error handling utilities.
3
+ *
4
+ * Pure utility functions for error message extraction.
5
+ */
6
+ /**
7
+ * Extract error message from unknown error type.
8
+ *
9
+ * Safely extracts error messages from various error types:
10
+ * - Error instances → error.message
11
+ * - Unknown types → String(error)
12
+ *
13
+ * Useful for error handling when error type is unknown.
14
+ *
15
+ * @param error - Error of unknown type
16
+ * @returns Error message string
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * try {
21
+ * await someOperation();
22
+ * } catch (error) {
23
+ * console.error(`Failed: ${getErrorMessage(error)}`);
24
+ * }
25
+ * ```
26
+ */
27
+ export declare function getErrorMessage(error: unknown): string;
28
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Error handling utilities.
3
+ *
4
+ * Pure utility functions for error message extraction.
5
+ */
6
+ /**
7
+ * Extract error message from unknown error type.
8
+ *
9
+ * Safely extracts error messages from various error types:
10
+ * - Error instances → error.message
11
+ * - Unknown types → String(error)
12
+ *
13
+ * Useful for error handling when error type is unknown.
14
+ *
15
+ * @param error - Error of unknown type
16
+ * @returns Error message string
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * try {
21
+ * await someOperation();
22
+ * } catch (error) {
23
+ * console.error(`Failed: ${getErrorMessage(error)}`);
24
+ * }
25
+ * ```
26
+ */
27
+ export function getErrorMessage(error) {
28
+ if (error instanceof Error) {
29
+ return error.message;
30
+ }
31
+ return String(error);
32
+ }
33
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
@@ -1,32 +1,68 @@
1
1
  /**
2
2
  * Semantic exit codes for agent-friendly error handling.
3
3
  *
4
- * Based on Square Engineering's semantic exit code system:
5
- * - 0: Success
6
- * - 1: Generic failure (backward compatibility)
7
- * - 80-99: User errors (invalid input, permissions, resource issues)
8
- * - 100-119: Software errors (bugs, integration failures, timeouts)
4
+ * **STABILITY: These exit codes are part of bdg's stable public API.**
5
+ *
6
+ * Exit codes follow semantic ranges for predictable automation:
7
+ * - **0**: Success (command completed successfully)
8
+ * - **1**: Generic failure (backward compatibility, avoid in new code)
9
+ * - **80-99**: User errors (invalid input, permissions, resource issues)
10
+ * - **100-119**: Software errors (bugs, integration failures, timeouts)
11
+ *
12
+ * **Versioning guarantees:**
13
+ * - Exit code values are **stable** and will not change in minor versions
14
+ * - New exit codes may be added in minor versions (within existing ranges)
15
+ * - Existing codes will only be removed in major versions with deprecation notice
16
+ * - Exit code semantics (meaning) will remain consistent across versions
17
+ *
18
+ * **For automation users:**
19
+ * - Check specific exit codes (e.g., 83 for "resource not found")
20
+ * - Use ranges for category detection (80-99 = user error, 100-119 = software error)
21
+ * - Exit code 0 guarantees success, non-zero indicates failure
22
+ *
23
+ * **Migration policy:**
24
+ * - Deprecated codes will be documented in CHANGELOG.md with migration path
25
+ * - Deprecated codes will remain functional for at least one major version
9
26
  *
10
27
  * Reference: https://developer.squareup.com/blog/command-line-observability-with-semantic-exit-codes/
11
28
  */
12
29
  /**
13
30
  * Exit code constants following semantic ranges.
31
+ *
32
+ * **These values are stable API** - use confidently in automation scripts.
14
33
  */
15
34
  export declare const EXIT_CODES: {
35
+ /** Command completed successfully */
16
36
  readonly SUCCESS: 0;
37
+ /** Generic failure (use specific codes when possible) */
17
38
  readonly GENERIC_FAILURE: 1;
39
+ /** Invalid URL format or unreachable URL */
18
40
  readonly INVALID_URL: 80;
41
+ /** Invalid command-line arguments or options */
19
42
  readonly INVALID_ARGUMENTS: 81;
43
+ /** Insufficient permissions for operation */
20
44
  readonly PERMISSION_DENIED: 82;
45
+ /** Requested resource not found (session, file, etc.) */
21
46
  readonly RESOURCE_NOT_FOUND: 83;
47
+ /** Resource already exists (duplicate session, etc.) */
22
48
  readonly RESOURCE_ALREADY_EXISTS: 84;
49
+ /** Resource is locked or busy */
23
50
  readonly RESOURCE_BUSY: 85;
51
+ /** Daemon already running when trying to start */
24
52
  readonly DAEMON_ALREADY_RUNNING: 86;
53
+ /** Chrome browser failed to launch */
25
54
  readonly CHROME_LAUNCH_FAILURE: 100;
55
+ /** CDP connection failed */
26
56
  readonly CDP_CONNECTION_FAILURE: 101;
57
+ /** CDP operation timed out */
27
58
  readonly CDP_TIMEOUT: 102;
59
+ /** Session file read/write error */
28
60
  readonly SESSION_FILE_ERROR: 103;
61
+ /** Unhandled exception in code */
29
62
  readonly UNHANDLED_EXCEPTION: 104;
63
+ /** Signal handler error */
30
64
  readonly SIGNAL_HANDLER_ERROR: 105;
65
+ /** Generic software error (use specific codes when possible) */
66
+ readonly SOFTWARE_ERROR: 110;
31
67
  };
32
68
  //# sourceMappingURL=exitCodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exitCodes.d.ts","sourceRoot":"","sources":["../../src/utils/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;CAuBb,CAAC"}
1
+ {"version":3,"file":"exitCodes.d.ts","sourceRoot":"","sources":["../../src/utils/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;GAIG;AACH,eAAO,MAAM,UAAU;IACrB,qCAAqC;;IAGrC,yDAAyD;;IAKzD,4CAA4C;;IAG5C,gDAAgD;;IAGhD,6CAA6C;;IAG7C,yDAAyD;;IAGzD,wDAAwD;;IAGxD,iCAAiC;;IAGjC,kDAAkD;;IAKlD,sCAAsC;;IAGtC,4BAA4B;;IAG5B,8BAA8B;;IAG9B,oCAAoC;;IAGpC,kCAAkC;;IAGlC,2BAA2B;;IAG3B,gEAAgE;;CAExD,CAAC"}
@@ -1,36 +1,70 @@
1
1
  /**
2
2
  * Semantic exit codes for agent-friendly error handling.
3
3
  *
4
- * Based on Square Engineering's semantic exit code system:
5
- * - 0: Success
6
- * - 1: Generic failure (backward compatibility)
7
- * - 80-99: User errors (invalid input, permissions, resource issues)
8
- * - 100-119: Software errors (bugs, integration failures, timeouts)
4
+ * **STABILITY: These exit codes are part of bdg's stable public API.**
5
+ *
6
+ * Exit codes follow semantic ranges for predictable automation:
7
+ * - **0**: Success (command completed successfully)
8
+ * - **1**: Generic failure (backward compatibility, avoid in new code)
9
+ * - **80-99**: User errors (invalid input, permissions, resource issues)
10
+ * - **100-119**: Software errors (bugs, integration failures, timeouts)
11
+ *
12
+ * **Versioning guarantees:**
13
+ * - Exit code values are **stable** and will not change in minor versions
14
+ * - New exit codes may be added in minor versions (within existing ranges)
15
+ * - Existing codes will only be removed in major versions with deprecation notice
16
+ * - Exit code semantics (meaning) will remain consistent across versions
17
+ *
18
+ * **For automation users:**
19
+ * - Check specific exit codes (e.g., 83 for "resource not found")
20
+ * - Use ranges for category detection (80-99 = user error, 100-119 = software error)
21
+ * - Exit code 0 guarantees success, non-zero indicates failure
22
+ *
23
+ * **Migration policy:**
24
+ * - Deprecated codes will be documented in CHANGELOG.md with migration path
25
+ * - Deprecated codes will remain functional for at least one major version
9
26
  *
10
27
  * Reference: https://developer.squareup.com/blog/command-line-observability-with-semantic-exit-codes/
11
28
  */
12
29
  /**
13
30
  * Exit code constants following semantic ranges.
31
+ *
32
+ * **These values are stable API** - use confidently in automation scripts.
14
33
  */
15
34
  export const EXIT_CODES = {
16
- // Success
35
+ /** Command completed successfully */
17
36
  SUCCESS: 0,
18
- // Generic failure (backward compatibility)
37
+ /** Generic failure (use specific codes when possible) */
19
38
  GENERIC_FAILURE: 1,
20
- // User errors (80-99)
39
+ // User Errors (80-99): Issues caused by user input or environment
40
+ /** Invalid URL format or unreachable URL */
21
41
  INVALID_URL: 80,
42
+ /** Invalid command-line arguments or options */
22
43
  INVALID_ARGUMENTS: 81,
44
+ /** Insufficient permissions for operation */
23
45
  PERMISSION_DENIED: 82,
46
+ /** Requested resource not found (session, file, etc.) */
24
47
  RESOURCE_NOT_FOUND: 83,
48
+ /** Resource already exists (duplicate session, etc.) */
25
49
  RESOURCE_ALREADY_EXISTS: 84,
50
+ /** Resource is locked or busy */
26
51
  RESOURCE_BUSY: 85,
52
+ /** Daemon already running when trying to start */
27
53
  DAEMON_ALREADY_RUNNING: 86,
28
- // Software/Integration errors (100-119)
54
+ // Software Errors (100-119): Internal failures or integration issues
55
+ /** Chrome browser failed to launch */
29
56
  CHROME_LAUNCH_FAILURE: 100,
57
+ /** CDP connection failed */
30
58
  CDP_CONNECTION_FAILURE: 101,
59
+ /** CDP operation timed out */
31
60
  CDP_TIMEOUT: 102,
61
+ /** Session file read/write error */
32
62
  SESSION_FILE_ERROR: 103,
63
+ /** Unhandled exception in code */
33
64
  UNHANDLED_EXCEPTION: 104,
65
+ /** Signal handler error */
34
66
  SIGNAL_HANDLER_ERROR: 105,
67
+ /** Generic software error (use specific codes when possible) */
68
+ SOFTWARE_ERROR: 110,
35
69
  };
36
70
  //# sourceMappingURL=exitCodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../src/utils/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,UAAU;IACV,OAAO,EAAE,CAAC;IAEV,2CAA2C;IAC3C,eAAe,EAAE,CAAC;IAElB,sBAAsB;IACtB,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,EAAE;IACrB,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,EAAE;IACtB,uBAAuB,EAAE,EAAE;IAC3B,aAAa,EAAE,EAAE;IACjB,sBAAsB,EAAE,EAAE;IAE1B,wCAAwC;IACxC,qBAAqB,EAAE,GAAG;IAC1B,sBAAsB,EAAE,GAAG;IAC3B,WAAW,EAAE,GAAG;IAChB,kBAAkB,EAAE,GAAG;IACvB,mBAAmB,EAAE,GAAG;IACxB,oBAAoB,EAAE,GAAG;CACjB,CAAC"}
1
+ {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../src/utils/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,qCAAqC;IACrC,OAAO,EAAE,CAAC;IAEV,yDAAyD;IACzD,eAAe,EAAE,CAAC;IAElB,kEAAkE;IAElE,4CAA4C;IAC5C,WAAW,EAAE,EAAE;IAEf,gDAAgD;IAChD,iBAAiB,EAAE,EAAE;IAErB,6CAA6C;IAC7C,iBAAiB,EAAE,EAAE;IAErB,yDAAyD;IACzD,kBAAkB,EAAE,EAAE;IAEtB,wDAAwD;IACxD,uBAAuB,EAAE,EAAE;IAE3B,iCAAiC;IACjC,aAAa,EAAE,EAAE;IAEjB,kDAAkD;IAClD,sBAAsB,EAAE,EAAE;IAE1B,qEAAqE;IAErE,sCAAsC;IACtC,qBAAqB,EAAE,GAAG;IAE1B,4BAA4B;IAC5B,sBAAsB,EAAE,GAAG;IAE3B,8BAA8B;IAC9B,WAAW,EAAE,GAAG;IAEhB,oCAAoC;IACpC,kBAAkB,EAAE,GAAG;IAEvB,kCAAkC;IAClC,mBAAmB,EAAE,GAAG;IAExB,2BAA2B;IAC3B,oBAAoB,EAAE,GAAG;IAEzB,gEAAgE;IAChE,cAAc,EAAE,GAAG;CACX,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { CDPTarget } from '../types';
2
+ import type { Logger } from '../ui/logging/index.js';
2
3
  /**
3
4
  * Fetch CDP targets from Chrome's HTTP API.
4
5
  *
@@ -7,14 +8,16 @@ import type { CDPTarget } from '../types';
7
8
  * scattered across the codebase.
8
9
  *
9
10
  * @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
11
+ * @param logger - Optional logger for debug output
10
12
  * @returns Promise resolving to array of CDP targets, or empty array on error
11
13
  *
12
14
  * @remarks
13
15
  * - Uses HTTP_LOCALHOST constant for consistent host addressing
14
- * - Returns empty array rather than throwing on HTTP errors for easier consumption
15
- * - Network errors are silently handled - callers should validate results
16
+ * - Returns empty array on HTTP errors, but logs details for debugging
17
+ * - 5-second timeout prevents hanging when Chrome is unreachable
18
+ * - Network errors are logged to help diagnose Chrome connectivity issues
16
19
  */
17
- export declare function fetchCDPTargets(port?: number): Promise<CDPTarget[]>;
20
+ export declare function fetchCDPTargets(port?: number, logger?: Logger): Promise<CDPTarget[]>;
18
21
  /**
19
22
  * Fetch specific CDP target by ID from Chrome's HTTP API.
20
23
  *
@@ -23,12 +26,14 @@ export declare function fetchCDPTargets(port?: number): Promise<CDPTarget[]>;
23
26
  *
24
27
  * @param targetId - Target ID to search for
25
28
  * @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
29
+ * @param logger - Optional logger for debug output
26
30
  * @returns Promise resolving to matching target, or null if not found/error
27
31
  *
28
32
  * @remarks
29
33
  * - Returns null rather than throwing on errors for easier consumption
30
34
  * - Searches all targets returned by Chrome's /json/list endpoint
31
35
  * - Uses shared fetchCDPTargets helper to avoid code duplication
36
+ * - Inherits timeout and error logging from fetchCDPTargets
32
37
  */
33
- export declare function fetchCDPTargetById(targetId: string, port?: number): Promise<CDPTarget | null>;
38
+ export declare function fetchCDPTargetById(targetId: string, port?: number, logger?: Logger): Promise<CDPTarget | null>;
34
39
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,IAAI,GAAE,MAAyB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAU3F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAyB,GAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAG3B"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAUpD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,IAAI,GAAE,MAAyB,EAC/B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,EAAE,CAAC,CAuCtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAyB,EAC/B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAG3B"}
@@ -1,4 +1,11 @@
1
1
  import { DEFAULT_CDP_PORT, HTTP_LOCALHOST } from '../constants.js';
2
+ /**
3
+ * Timeout for CDP HTTP requests in milliseconds.
4
+ *
5
+ * Chrome's HTTP API should respond quickly when running.
6
+ * A 5-second timeout helps detect when Chrome is not responding.
7
+ */
8
+ const CDP_HTTP_TIMEOUT_MS = 5000;
2
9
  /**
3
10
  * Fetch CDP targets from Chrome's HTTP API.
4
11
  *
@@ -7,22 +14,47 @@ import { DEFAULT_CDP_PORT, HTTP_LOCALHOST } from '../constants.js';
7
14
  * scattered across the codebase.
8
15
  *
9
16
  * @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
17
+ * @param logger - Optional logger for debug output
10
18
  * @returns Promise resolving to array of CDP targets, or empty array on error
11
19
  *
12
20
  * @remarks
13
21
  * - Uses HTTP_LOCALHOST constant for consistent host addressing
14
- * - Returns empty array rather than throwing on HTTP errors for easier consumption
15
- * - Network errors are silently handled - callers should validate results
22
+ * - Returns empty array on HTTP errors, but logs details for debugging
23
+ * - 5-second timeout prevents hanging when Chrome is unreachable
24
+ * - Network errors are logged to help diagnose Chrome connectivity issues
16
25
  */
17
- export async function fetchCDPTargets(port = DEFAULT_CDP_PORT) {
26
+ export async function fetchCDPTargets(port = DEFAULT_CDP_PORT, logger) {
27
+ const url = `http://${HTTP_LOCALHOST}:${port}/json/list`;
18
28
  try {
19
- const response = await fetch(`http://${HTTP_LOCALHOST}:${port}/json/list`);
20
- if (!response.ok) {
21
- return [];
29
+ const controller = new AbortController();
30
+ const timeoutId = setTimeout(() => controller.abort(), CDP_HTTP_TIMEOUT_MS);
31
+ try {
32
+ const response = await fetch(url, { signal: controller.signal });
33
+ clearTimeout(timeoutId);
34
+ if (!response.ok) {
35
+ logger?.debug(`CDP HTTP request failed: ${response.status} ${response.statusText} (${url})`);
36
+ return [];
37
+ }
38
+ const data = await response.json();
39
+ if (!Array.isArray(data)) {
40
+ logger?.debug(`CDP HTTP response is not an array (${url})`);
41
+ return [];
42
+ }
43
+ return data;
44
+ }
45
+ finally {
46
+ clearTimeout(timeoutId);
22
47
  }
23
- return (await response.json());
24
48
  }
25
- catch {
49
+ catch (error) {
50
+ if (error instanceof Error) {
51
+ if (error.name === 'AbortError') {
52
+ logger?.debug(`CDP HTTP request timeout after ${CDP_HTTP_TIMEOUT_MS}ms (${url})`);
53
+ }
54
+ else {
55
+ logger?.debug(`CDP HTTP request error: ${error.message} (${url})`);
56
+ }
57
+ }
26
58
  return [];
27
59
  }
28
60
  }
@@ -34,15 +66,17 @@ export async function fetchCDPTargets(port = DEFAULT_CDP_PORT) {
34
66
  *
35
67
  * @param targetId - Target ID to search for
36
68
  * @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
69
+ * @param logger - Optional logger for debug output
37
70
  * @returns Promise resolving to matching target, or null if not found/error
38
71
  *
39
72
  * @remarks
40
73
  * - Returns null rather than throwing on errors for easier consumption
41
74
  * - Searches all targets returned by Chrome's /json/list endpoint
42
75
  * - Uses shared fetchCDPTargets helper to avoid code duplication
76
+ * - Inherits timeout and error logging from fetchCDPTargets
43
77
  */
44
- export async function fetchCDPTargetById(targetId, port = DEFAULT_CDP_PORT) {
45
- const targets = await fetchCDPTargets(port);
78
+ export async function fetchCDPTargetById(targetId, port = DEFAULT_CDP_PORT, logger) {
79
+ const targets = await fetchCDPTargets(port, logger);
46
80
  return targets.find((t) => t.id === targetId) ?? null;
47
81
  }
48
82
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAe,gBAAgB;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,cAAc,IAAI,IAAI,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAgB,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,OAAe,gBAAgB;IAE/B,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/utils/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIlE;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,gBAAgB,EAC/B,MAAe;IAEf,MAAM,GAAG,GAAG,UAAU,cAAc,IAAI,IAAI,YAAY,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,EAAE,KAAK,CACX,4BAA4B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,GAAG,CAC9E,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAE5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,EAAE,KAAK,CAAC,sCAAsC,GAAG,GAAG,CAAC,CAAC;gBAC5D,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,IAAmB,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,MAAM,EAAE,KAAK,CAAC,kCAAkC,mBAAmB,OAAO,GAAG,GAAG,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,KAAK,CAAC,2BAA2B,KAAK,CAAC,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,OAAe,gBAAgB,EAC/B,MAAe;IAEf,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AACxD,CAAC"}