browser-debugger-cli 0.3.0 → 0.6.0

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 (482) hide show
  1. package/README.md +182 -125
  2. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +8 -0
  3. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +1 -0
  4. package/dist/__tests__/smoke/error-handling.smoke.test.js +95 -0
  5. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -0
  6. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +8 -0
  7. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +1 -0
  8. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +109 -0
  9. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -0
  10. package/dist/__testutils__/commandRunner.d.ts +45 -0
  11. package/dist/__testutils__/commandRunner.d.ts.map +1 -0
  12. package/dist/__testutils__/commandRunner.js +108 -0
  13. package/dist/__testutils__/commandRunner.js.map +1 -0
  14. package/dist/__testutils__/daemonHelpers.d.ts +81 -0
  15. package/dist/__testutils__/daemonHelpers.d.ts.map +1 -0
  16. package/dist/__testutils__/daemonHelpers.js +206 -0
  17. package/dist/__testutils__/daemonHelpers.js.map +1 -0
  18. package/dist/__testutils__/index.d.ts +1 -0
  19. package/dist/__testutils__/index.d.ts.map +1 -1
  20. package/dist/__testutils__/index.js +1 -0
  21. package/dist/__testutils__/index.js.map +1 -1
  22. package/dist/__testutils__/testCleanup.d.ts +45 -0
  23. package/dist/__testutils__/testCleanup.d.ts.map +1 -0
  24. package/dist/__testutils__/testCleanup.js +87 -0
  25. package/dist/__testutils__/testCleanup.js.map +1 -0
  26. package/dist/__testutils__/testHome.d.ts +26 -0
  27. package/dist/__testutils__/testHome.d.ts.map +1 -0
  28. package/dist/__testutils__/testHome.js +57 -0
  29. package/dist/__testutils__/testHome.js.map +1 -0
  30. package/dist/__testutils__/testProcess.d.ts.map +1 -1
  31. package/dist/__testutils__/testProcess.js +11 -3
  32. package/dist/__testutils__/testProcess.js.map +1 -1
  33. package/dist/cdp/protocol.d.ts +121 -0
  34. package/dist/cdp/protocol.d.ts.map +1 -0
  35. package/dist/cdp/protocol.js +215 -0
  36. package/dist/cdp/protocol.js.map +1 -0
  37. package/dist/cdp/schema.d.ts +159 -0
  38. package/dist/cdp/schema.d.ts.map +1 -0
  39. package/dist/cdp/schema.js +256 -0
  40. package/dist/cdp/schema.js.map +1 -0
  41. package/dist/cdp/types.d.ts +139 -0
  42. package/dist/cdp/types.d.ts.map +1 -0
  43. package/dist/cdp/types.js +7 -0
  44. package/dist/cdp/types.js.map +1 -0
  45. package/dist/commands/cdp.d.ts +10 -1
  46. package/dist/commands/cdp.d.ts.map +1 -1
  47. package/dist/commands/cdp.js +363 -26
  48. package/dist/commands/cdp.js.map +1 -1
  49. package/dist/commands/cleanup.d.ts.map +1 -1
  50. package/dist/commands/cleanup.js +15 -18
  51. package/dist/commands/cleanup.js.map +1 -1
  52. package/dist/commands/dom.d.ts.map +1 -1
  53. package/dist/commands/dom.js +14 -19
  54. package/dist/commands/dom.js.map +1 -1
  55. package/dist/commands/domEvalHelpers.d.ts +3 -16
  56. package/dist/commands/domEvalHelpers.d.ts.map +1 -1
  57. package/dist/commands/domEvalHelpers.js +56 -7
  58. package/dist/commands/domEvalHelpers.js.map +1 -1
  59. package/dist/commands/domOptionsBuilder.d.ts +32 -0
  60. package/dist/commands/domOptionsBuilder.d.ts.map +1 -1
  61. package/dist/commands/domOptionsBuilder.js +35 -0
  62. package/dist/commands/domOptionsBuilder.js.map +1 -1
  63. package/dist/commands/machineReadableHelp.d.ts +98 -0
  64. package/dist/commands/machineReadableHelp.d.ts.map +1 -0
  65. package/dist/commands/machineReadableHelp.js +137 -0
  66. package/dist/commands/machineReadableHelp.js.map +1 -0
  67. package/dist/commands/peek.d.ts.map +1 -1
  68. package/dist/commands/peek.js +12 -6
  69. package/dist/commands/peek.js.map +1 -1
  70. package/dist/commands/shared/CommandRunner.d.ts +2 -0
  71. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  72. package/dist/commands/shared/CommandRunner.js +15 -4
  73. package/dist/commands/shared/CommandRunner.js.map +1 -1
  74. package/dist/commands/shared/OutputBuilder.js +1 -1
  75. package/dist/commands/shared/OutputBuilder.js.map +1 -1
  76. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  77. package/dist/commands/shared/commonOptions.js +11 -5
  78. package/dist/commands/shared/commonOptions.js.map +1 -1
  79. package/dist/commands/shared/daemonSessionController.d.ts +2 -0
  80. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -1
  81. package/dist/commands/shared/daemonSessionController.js +13 -16
  82. package/dist/commands/shared/daemonSessionController.js.map +1 -1
  83. package/dist/commands/shared/sessionController.js +1 -1
  84. package/dist/commands/shared/sessionController.js.map +1 -1
  85. package/dist/commands/start.d.ts.map +1 -1
  86. package/dist/commands/start.js +35 -11
  87. package/dist/commands/start.js.map +1 -1
  88. package/dist/commands/status.d.ts.map +1 -1
  89. package/dist/commands/status.js +74 -57
  90. package/dist/commands/status.js.map +1 -1
  91. package/dist/commands/stop.d.ts.map +1 -1
  92. package/dist/commands/stop.js +13 -27
  93. package/dist/commands/stop.js.map +1 -1
  94. package/dist/commands/tail.d.ts +11 -0
  95. package/dist/commands/tail.d.ts.map +1 -0
  96. package/dist/commands/tail.js +117 -0
  97. package/dist/commands/tail.js.map +1 -0
  98. package/dist/commands.d.ts.map +1 -1
  99. package/dist/commands.js +2 -0
  100. package/dist/commands.js.map +1 -1
  101. package/dist/connection/cdp.d.ts +46 -2
  102. package/dist/connection/cdp.d.ts.map +1 -1
  103. package/dist/connection/cdp.js +86 -7
  104. package/dist/connection/cdp.js.map +1 -1
  105. package/dist/{utils/chromeDiagnostics.d.ts → connection/diagnostics.d.ts} +1 -1
  106. package/dist/connection/diagnostics.d.ts.map +1 -0
  107. package/dist/{utils/chromeDiagnostics.js → connection/diagnostics.js} +1 -1
  108. package/dist/connection/diagnostics.js.map +1 -0
  109. package/dist/connection/domOperations.d.ts.map +1 -1
  110. package/dist/connection/domOperations.js +3 -1
  111. package/dist/connection/domOperations.js.map +1 -1
  112. package/dist/{utils → connection}/errors.d.ts +9 -17
  113. package/dist/connection/errors.d.ts.map +1 -0
  114. package/dist/{utils → connection}/errors.js +12 -17
  115. package/dist/connection/errors.js.map +1 -0
  116. package/dist/connection/handlers.d.ts +63 -0
  117. package/dist/connection/handlers.d.ts.map +1 -0
  118. package/dist/connection/handlers.js +64 -0
  119. package/dist/connection/handlers.js.map +1 -0
  120. package/dist/connection/launcher.d.ts +3 -20
  121. package/dist/connection/launcher.d.ts.map +1 -1
  122. package/dist/connection/launcher.js +141 -31
  123. package/dist/connection/launcher.js.map +1 -1
  124. package/dist/connection/pageReadiness.d.ts.map +1 -0
  125. package/dist/{utils → connection}/pageReadiness.js +30 -31
  126. package/dist/connection/pageReadiness.js.map +1 -0
  127. package/dist/connection/typed-cdp.d.ts +144 -0
  128. package/dist/connection/typed-cdp.d.ts.map +1 -0
  129. package/dist/connection/typed-cdp.js +120 -0
  130. package/dist/connection/typed-cdp.js.map +1 -0
  131. package/dist/constants.d.ts +20 -40
  132. package/dist/constants.d.ts.map +1 -1
  133. package/dist/constants.js +26 -40
  134. package/dist/constants.js.map +1 -1
  135. package/dist/daemon/ipcServer.d.ts +5 -7
  136. package/dist/daemon/ipcServer.d.ts.map +1 -1
  137. package/dist/daemon/ipcServer.js +178 -143
  138. package/dist/daemon/ipcServer.js.map +1 -1
  139. package/dist/daemon/launcher.js +1 -1
  140. package/dist/daemon/launcher.js.map +1 -1
  141. package/dist/daemon/server/SocketServer.d.ts +22 -0
  142. package/dist/daemon/server/SocketServer.d.ts.map +1 -0
  143. package/dist/daemon/server/SocketServer.js +67 -0
  144. package/dist/daemon/server/SocketServer.js.map +1 -0
  145. package/dist/daemon/server/WorkerManager.d.ts +36 -0
  146. package/dist/daemon/server/WorkerManager.d.ts.map +1 -0
  147. package/dist/daemon/server/WorkerManager.js +98 -0
  148. package/dist/daemon/server/WorkerManager.js.map +1 -0
  149. package/dist/daemon/startSession.d.ts +2 -0
  150. package/dist/daemon/startSession.d.ts.map +1 -1
  151. package/dist/daemon/startSession.js +4 -2
  152. package/dist/daemon/startSession.js.map +1 -1
  153. package/dist/daemon/worker/TelemetryStore.d.ts +18 -0
  154. package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -0
  155. package/dist/daemon/worker/TelemetryStore.js +49 -0
  156. package/dist/daemon/worker/TelemetryStore.js.map +1 -0
  157. package/dist/daemon/worker/collectors.d.ts +8 -0
  158. package/dist/daemon/worker/collectors.d.ts.map +1 -0
  159. package/dist/daemon/worker/collectors.js +19 -0
  160. package/dist/daemon/worker/collectors.js.map +1 -0
  161. package/dist/daemon/worker/commandRegistry.d.ts +10 -0
  162. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -0
  163. package/dist/daemon/worker/commandRegistry.js +289 -0
  164. package/dist/daemon/worker/commandRegistry.js.map +1 -0
  165. package/dist/daemon/worker/plugins.d.ts +21 -0
  166. package/dist/daemon/worker/plugins.d.ts.map +1 -0
  167. package/dist/daemon/worker/plugins.js +71 -0
  168. package/dist/daemon/worker/plugins.js.map +1 -0
  169. package/dist/daemon/worker/types.d.ts +13 -0
  170. package/dist/daemon/worker/types.d.ts.map +1 -0
  171. package/dist/daemon/worker/types.js +2 -0
  172. package/dist/daemon/worker/types.js.map +1 -0
  173. package/dist/daemon/worker.js +206 -529
  174. package/dist/daemon/worker.js.map +1 -1
  175. package/dist/index.js +18 -9
  176. package/dist/index.js.map +1 -1
  177. package/dist/ipc/__tests__/client.contract.test.js +2 -2
  178. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  179. package/dist/ipc/client.d.ts +3 -1
  180. package/dist/ipc/client.d.ts.map +1 -1
  181. package/dist/ipc/client.js +27 -14
  182. package/dist/ipc/client.js.map +1 -1
  183. package/dist/ipc/commands.d.ts +1 -0
  184. package/dist/ipc/commands.d.ts.map +1 -1
  185. package/dist/ipc/commands.js.map +1 -1
  186. package/dist/ipc/types.d.ts +2 -0
  187. package/dist/ipc/types.d.ts.map +1 -1
  188. package/dist/session/cleanup.d.ts.map +1 -1
  189. package/dist/session/cleanup.js +67 -65
  190. package/dist/session/cleanup.js.map +1 -1
  191. package/dist/session/fileOps.d.ts +25 -0
  192. package/dist/session/fileOps.d.ts.map +1 -0
  193. package/dist/session/fileOps.js +39 -0
  194. package/dist/session/fileOps.js.map +1 -0
  195. package/dist/session/metadata.js +2 -2
  196. package/dist/session/metadata.js.map +1 -1
  197. package/dist/session/paths.d.ts +2 -7
  198. package/dist/session/paths.d.ts.map +1 -1
  199. package/dist/session/paths.js +8 -8
  200. package/dist/session/paths.js.map +1 -1
  201. package/dist/session/queryCache.js +1 -1
  202. package/dist/session/queryCache.js.map +1 -1
  203. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +1 -0
  204. package/dist/{utils → telemetry}/__tests__/filters.unit.test.js +1 -1
  205. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -0
  206. package/dist/telemetry/__tests__/network.contract.test.js +124 -93
  207. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  208. package/dist/telemetry/console.d.ts +1 -1
  209. package/dist/telemetry/console.d.ts.map +1 -1
  210. package/dist/telemetry/console.js +8 -5
  211. package/dist/telemetry/console.js.map +1 -1
  212. package/dist/telemetry/dialogs.d.ts +27 -0
  213. package/dist/telemetry/dialogs.d.ts.map +1 -0
  214. package/dist/telemetry/dialogs.js +51 -0
  215. package/dist/telemetry/dialogs.js.map +1 -0
  216. package/dist/telemetry/dom.d.ts.map +1 -1
  217. package/dist/telemetry/dom.js +3 -1
  218. package/dist/telemetry/dom.js.map +1 -1
  219. package/dist/{utils → telemetry}/filters.d.ts +40 -0
  220. package/dist/telemetry/filters.d.ts.map +1 -0
  221. package/dist/{utils → telemetry}/filters.js +55 -1
  222. package/dist/telemetry/filters.js.map +1 -0
  223. package/dist/telemetry/navigation.d.ts +49 -0
  224. package/dist/telemetry/navigation.d.ts.map +1 -0
  225. package/dist/telemetry/navigation.js +69 -0
  226. package/dist/telemetry/navigation.js.map +1 -0
  227. package/dist/telemetry/network.d.ts +1 -0
  228. package/dist/telemetry/network.d.ts.map +1 -1
  229. package/dist/telemetry/network.js +23 -34
  230. package/dist/telemetry/network.js.map +1 -1
  231. package/dist/types.d.ts +2 -141
  232. package/dist/types.d.ts.map +1 -1
  233. package/dist/ui/{errors.d.ts → errors/CommandError.d.ts} +1 -1
  234. package/dist/ui/errors/CommandError.d.ts.map +1 -0
  235. package/dist/ui/{errors.js → errors/CommandError.js} +1 -1
  236. package/dist/ui/errors/CommandError.js.map +1 -0
  237. package/dist/ui/errors/index.d.ts +9 -0
  238. package/dist/ui/errors/index.d.ts.map +1 -0
  239. package/dist/ui/errors/index.js +12 -0
  240. package/dist/ui/errors/index.js.map +1 -0
  241. package/dist/ui/errors/utils.d.ts +24 -0
  242. package/dist/ui/errors/utils.d.ts.map +1 -0
  243. package/dist/ui/errors/utils.js +28 -0
  244. package/dist/ui/errors/utils.js.map +1 -0
  245. package/dist/ui/formatters/status.d.ts.map +1 -1
  246. package/dist/ui/formatters/status.js +1 -1
  247. package/dist/ui/formatters/status.js.map +1 -1
  248. package/dist/ui/logging/index.d.ts +7 -0
  249. package/dist/ui/logging/index.d.ts.map +1 -0
  250. package/dist/ui/logging/index.js +7 -0
  251. package/dist/ui/logging/index.js.map +1 -0
  252. package/dist/{utils → ui/logging}/logger.d.ts +1 -1
  253. package/dist/ui/logging/logger.d.ts.map +1 -0
  254. package/dist/ui/logging/logger.js.map +1 -0
  255. package/dist/ui/messages/chrome.d.ts +50 -1
  256. package/dist/ui/messages/chrome.d.ts.map +1 -1
  257. package/dist/ui/messages/chrome.js +77 -0
  258. package/dist/ui/messages/chrome.js.map +1 -1
  259. package/dist/ui/messages/commands.d.ts +1 -0
  260. package/dist/ui/messages/commands.d.ts.map +1 -1
  261. package/dist/ui/messages/commands.js +1 -0
  262. package/dist/ui/messages/commands.js.map +1 -1
  263. package/dist/ui/messages/errors.d.ts +30 -3
  264. package/dist/ui/messages/errors.d.ts.map +1 -1
  265. package/dist/ui/messages/errors.js +36 -8
  266. package/dist/ui/messages/errors.js.map +1 -1
  267. package/dist/ui/messages/preview.js +1 -1
  268. package/dist/ui/messages/preview.js.map +1 -1
  269. package/dist/ui/messages/session.d.ts.map +1 -1
  270. package/dist/ui/messages/session.js +22 -7
  271. package/dist/ui/messages/session.js.map +1 -1
  272. package/dist/ui/messages/validation.d.ts +22 -4
  273. package/dist/ui/messages/validation.d.ts.map +1 -1
  274. package/dist/ui/messages/validation.js +26 -5
  275. package/dist/ui/messages/validation.js.map +1 -1
  276. package/dist/utils/__tests__/session.contract.test.js +15 -1
  277. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  278. package/dist/utils/url.d.ts.map +1 -1
  279. package/dist/utils/url.js +10 -0
  280. package/dist/utils/url.js.map +1 -1
  281. package/package.json +3 -1
  282. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +0 -24
  283. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  284. package/dist/cli/commands/__tests__/cdp.contract.test.js +0 -467
  285. package/dist/cli/commands/__tests__/cdp.contract.test.js.map +0 -1
  286. package/dist/cli/commands/cdp.d.ts +0 -8
  287. package/dist/cli/commands/cdp.d.ts.map +0 -1
  288. package/dist/cli/commands/cdp.js +0 -45
  289. package/dist/cli/commands/cdp.js.map +0 -1
  290. package/dist/cli/commands/cleanup.d.ts +0 -8
  291. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  292. package/dist/cli/commands/cleanup.js +0 -129
  293. package/dist/cli/commands/cleanup.js.map +0 -1
  294. package/dist/cli/commands/console.d.ts +0 -8
  295. package/dist/cli/commands/console.d.ts.map +0 -1
  296. package/dist/cli/commands/console.js +0 -97
  297. package/dist/cli/commands/console.js.map +0 -1
  298. package/dist/cli/commands/details.d.ts +0 -8
  299. package/dist/cli/commands/details.d.ts.map +0 -1
  300. package/dist/cli/commands/details.js +0 -68
  301. package/dist/cli/commands/details.js.map +0 -1
  302. package/dist/cli/commands/dom/helpers/domCache.d.ts +0 -36
  303. package/dist/cli/commands/dom/helpers/domCache.d.ts.map +0 -1
  304. package/dist/cli/commands/dom/helpers/domCache.js +0 -65
  305. package/dist/cli/commands/dom/helpers/domCache.js.map +0 -1
  306. package/dist/cli/commands/dom/helpers/domQuery.d.ts +0 -48
  307. package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +0 -1
  308. package/dist/cli/commands/dom/helpers/domQuery.js +0 -104
  309. package/dist/cli/commands/dom/helpers/domQuery.js.map +0 -1
  310. package/dist/cli/commands/dom/helpers/errorHandler.d.ts +0 -45
  311. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +0 -1
  312. package/dist/cli/commands/dom/helpers/errorHandler.js +0 -71
  313. package/dist/cli/commands/dom/helpers/errorHandler.js.map +0 -1
  314. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +0 -52
  315. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +0 -1
  316. package/dist/cli/commands/dom/helpers/evalHelpers.js +0 -75
  317. package/dist/cli/commands/dom/helpers/evalHelpers.js.map +0 -1
  318. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +0 -35
  319. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +0 -1
  320. package/dist/cli/commands/dom/helpers/optionsBuilder.js +0 -51
  321. package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +0 -1
  322. package/dist/cli/commands/dom/helpers/selectorParser.d.ts +0 -20
  323. package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +0 -1
  324. package/dist/cli/commands/dom/helpers/selectorParser.js +0 -20
  325. package/dist/cli/commands/dom/helpers/selectorParser.js.map +0 -1
  326. package/dist/cli/commands/dom/index.d.ts +0 -8
  327. package/dist/cli/commands/dom/index.d.ts.map +0 -1
  328. package/dist/cli/commands/dom/index.js +0 -257
  329. package/dist/cli/commands/dom/index.js.map +0 -1
  330. package/dist/cli/commands/dom.d.ts +0 -8
  331. package/dist/cli/commands/dom.d.ts.map +0 -1
  332. package/dist/cli/commands/dom.js +0 -257
  333. package/dist/cli/commands/dom.js.map +0 -1
  334. package/dist/cli/commands/domErrorHandler.d.ts +0 -45
  335. package/dist/cli/commands/domErrorHandler.d.ts.map +0 -1
  336. package/dist/cli/commands/domErrorHandler.js +0 -71
  337. package/dist/cli/commands/domErrorHandler.js.map +0 -1
  338. package/dist/cli/commands/domEvalHelpers.d.ts +0 -52
  339. package/dist/cli/commands/domEvalHelpers.d.ts.map +0 -1
  340. package/dist/cli/commands/domEvalHelpers.js +0 -76
  341. package/dist/cli/commands/domEvalHelpers.js.map +0 -1
  342. package/dist/cli/commands/domOptionsBuilder.d.ts +0 -35
  343. package/dist/cli/commands/domOptionsBuilder.d.ts.map +0 -1
  344. package/dist/cli/commands/domOptionsBuilder.js +0 -51
  345. package/dist/cli/commands/domOptionsBuilder.js.map +0 -1
  346. package/dist/cli/commands/domSelectorParser.d.ts +0 -20
  347. package/dist/cli/commands/domSelectorParser.d.ts.map +0 -1
  348. package/dist/cli/commands/domSelectorParser.js +0 -20
  349. package/dist/cli/commands/domSelectorParser.js.map +0 -1
  350. package/dist/cli/commands/network.d.ts +0 -8
  351. package/dist/cli/commands/network.d.ts.map +0 -1
  352. package/dist/cli/commands/network.js +0 -43
  353. package/dist/cli/commands/network.js.map +0 -1
  354. package/dist/cli/commands/peek.d.ts +0 -8
  355. package/dist/cli/commands/peek.d.ts.map +0 -1
  356. package/dist/cli/commands/peek.js +0 -109
  357. package/dist/cli/commands/peek.js.map +0 -1
  358. package/dist/cli/commands/start.d.ts +0 -9
  359. package/dist/cli/commands/start.d.ts.map +0 -1
  360. package/dist/cli/commands/start.js +0 -95
  361. package/dist/cli/commands/start.js.map +0 -1
  362. package/dist/cli/commands/status.d.ts +0 -9
  363. package/dist/cli/commands/status.d.ts.map +0 -1
  364. package/dist/cli/commands/status.js +0 -87
  365. package/dist/cli/commands/status.js.map +0 -1
  366. package/dist/cli/commands/stop.d.ts +0 -8
  367. package/dist/cli/commands/stop.d.ts.map +0 -1
  368. package/dist/cli/commands/stop.js +0 -147
  369. package/dist/cli/commands/stop.js.map +0 -1
  370. package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
  371. package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
  372. package/dist/cli/formatters/detailsFormatter.js +0 -63
  373. package/dist/cli/formatters/detailsFormatter.js.map +0 -1
  374. package/dist/cli/formatters/previewFormatter.d.ts +0 -27
  375. package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
  376. package/dist/cli/formatters/previewFormatter.js +0 -160
  377. package/dist/cli/formatters/previewFormatter.js.map +0 -1
  378. package/dist/cli/formatters/statusFormatter.d.ts +0 -39
  379. package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
  380. package/dist/cli/formatters/statusFormatter.js +0 -153
  381. package/dist/cli/formatters/statusFormatter.js.map +0 -1
  382. package/dist/cli/handlers/CommandRunner.d.ts +0 -60
  383. package/dist/cli/handlers/CommandRunner.d.ts.map +0 -1
  384. package/dist/cli/handlers/CommandRunner.js +0 -81
  385. package/dist/cli/handlers/CommandRunner.js.map +0 -1
  386. package/dist/cli/handlers/OutputBuilder.d.ts +0 -60
  387. package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
  388. package/dist/cli/handlers/OutputBuilder.js +0 -138
  389. package/dist/cli/handlers/OutputBuilder.js.map +0 -1
  390. package/dist/cli/handlers/commonOptions.d.ts +0 -54
  391. package/dist/cli/handlers/commonOptions.d.ts.map +0 -1
  392. package/dist/cli/handlers/commonOptions.js +0 -64
  393. package/dist/cli/handlers/commonOptions.js.map +0 -1
  394. package/dist/cli/handlers/daemonSessionController.d.ts +0 -23
  395. package/dist/cli/handlers/daemonSessionController.d.ts.map +0 -1
  396. package/dist/cli/handlers/daemonSessionController.js +0 -79
  397. package/dist/cli/handlers/daemonSessionController.js.map +0 -1
  398. package/dist/cli/handlers/landingPage.d.ts +0 -8
  399. package/dist/cli/handlers/landingPage.d.ts.map +0 -1
  400. package/dist/cli/handlers/landingPage.js +0 -8
  401. package/dist/cli/handlers/landingPage.js.map +0 -1
  402. package/dist/cli/handlers/sessionController.d.ts +0 -21
  403. package/dist/cli/handlers/sessionController.d.ts.map +0 -1
  404. package/dist/cli/handlers/sessionController.js +0 -55
  405. package/dist/cli/handlers/sessionController.js.map +0 -1
  406. package/dist/cli/registry.d.ts +0 -11
  407. package/dist/cli/registry.d.ts.map +0 -1
  408. package/dist/cli/registry.js +0 -46
  409. package/dist/cli/registry.js.map +0 -1
  410. package/dist/collectors/__tests__/network.contract.test.d.ts +0 -28
  411. package/dist/collectors/__tests__/network.contract.test.d.ts.map +0 -1
  412. package/dist/collectors/__tests__/network.contract.test.js +0 -540
  413. package/dist/collectors/__tests__/network.contract.test.js.map +0 -1
  414. package/dist/collectors/console.d.ts +0 -19
  415. package/dist/collectors/console.d.ts.map +0 -1
  416. package/dist/collectors/console.js +0 -87
  417. package/dist/collectors/console.js.map +0 -1
  418. package/dist/collectors/dom.d.ts +0 -21
  419. package/dist/collectors/dom.d.ts.map +0 -1
  420. package/dist/collectors/dom.js +0 -99
  421. package/dist/collectors/dom.js.map +0 -1
  422. package/dist/collectors/network.d.ts +0 -33
  423. package/dist/collectors/network.d.ts.map +0 -1
  424. package/dist/collectors/network.js +0 -191
  425. package/dist/collectors/network.js.map +0 -1
  426. package/dist/commandRegistry.d.ts +0 -11
  427. package/dist/commandRegistry.d.ts.map +0 -1
  428. package/dist/commandRegistry.js +0 -45
  429. package/dist/commandRegistry.js.map +0 -1
  430. package/dist/commands/domErrorHandler.d.ts +0 -45
  431. package/dist/commands/domErrorHandler.d.ts.map +0 -1
  432. package/dist/commands/domErrorHandler.js +0 -71
  433. package/dist/commands/domErrorHandler.js.map +0 -1
  434. package/dist/dom/cache.d.ts +0 -36
  435. package/dist/dom/cache.d.ts.map +0 -1
  436. package/dist/dom/cache.js +0 -65
  437. package/dist/dom/cache.js.map +0 -1
  438. package/dist/dom/index.d.ts +0 -9
  439. package/dist/dom/index.d.ts.map +0 -1
  440. package/dist/dom/index.js +0 -9
  441. package/dist/dom/index.js.map +0 -1
  442. package/dist/dom/query.d.ts +0 -48
  443. package/dist/dom/query.d.ts.map +0 -1
  444. package/dist/dom/query.js +0 -104
  445. package/dist/dom/query.js.map +0 -1
  446. package/dist/ui/errors.d.ts.map +0 -1
  447. package/dist/ui/errors.js.map +0 -1
  448. package/dist/ui/messages/index.d.ts +0 -12
  449. package/dist/ui/messages/index.d.ts.map +0 -1
  450. package/dist/ui/messages/index.js +0 -12
  451. package/dist/ui/messages/index.js.map +0 -1
  452. package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
  453. package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
  454. package/dist/utils/cdpHandlers.d.ts +0 -31
  455. package/dist/utils/cdpHandlers.d.ts.map +0 -1
  456. package/dist/utils/cdpHandlers.js +0 -38
  457. package/dist/utils/cdpHandlers.js.map +0 -1
  458. package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
  459. package/dist/utils/chromeDiagnostics.js.map +0 -1
  460. package/dist/utils/errors.d.ts.map +0 -1
  461. package/dist/utils/errors.js.map +0 -1
  462. package/dist/utils/filters.d.ts.map +0 -1
  463. package/dist/utils/filters.js.map +0 -1
  464. package/dist/utils/formatters/network.d.ts +0 -23
  465. package/dist/utils/formatters/network.d.ts.map +0 -1
  466. package/dist/utils/formatters/network.js +0 -35
  467. package/dist/utils/formatters/network.js.map +0 -1
  468. package/dist/utils/logger.d.ts.map +0 -1
  469. package/dist/utils/logger.js.map +0 -1
  470. package/dist/utils/pageReadiness.d.ts.map +0 -1
  471. package/dist/utils/pageReadiness.js.map +0 -1
  472. package/dist/utils/ui.d.ts +0 -36
  473. package/dist/utils/ui.d.ts.map +0 -1
  474. package/dist/utils/ui.js +0 -47
  475. package/dist/utils/ui.js.map +0 -1
  476. package/dist/utils/url/safeParseUrl.d.ts +0 -63
  477. package/dist/utils/url/safeParseUrl.d.ts.map +0 -1
  478. package/dist/utils/url/safeParseUrl.js +0 -84
  479. package/dist/utils/url/safeParseUrl.js.map +0 -1
  480. /package/dist/{utils → connection}/pageReadiness.d.ts +0 -0
  481. /package/dist/{utils → telemetry}/__tests__/filters.unit.test.d.ts +0 -0
  482. /package/dist/{utils → ui/logging}/logger.js +0 -0
@@ -1,87 +0,0 @@
1
- import { MAX_CONSOLE_MESSAGES } from '../constants.js';
2
- import { CDPHandlerRegistry } from '../utils/cdpHandlers.js';
3
- import { shouldExcludeConsoleMessage } from '../utils/filters.js';
4
- /**
5
- * Start collecting console messages and exceptions via CDP Runtime domain.
6
- *
7
- * Captures console.log, console.error, etc. and JavaScript exceptions thrown in the page.
8
- *
9
- * @param cdp - CDP connection instance
10
- * @param messages - Array to populate with console messages
11
- * @param includeAll - If true, disable default pattern filtering (default: false)
12
- * @returns Cleanup function to remove event handlers
13
- *
14
- * @remarks
15
- * - Message limit of 10,000 prevents memory issues in long-running sessions
16
- * - After limit is reached, new messages are silently dropped (warning logged once)
17
- * - By default, common dev server noise patterns are filtered out (use includeAll to disable)
18
- */
19
- export async function startConsoleCollection(cdp, messages, includeAll = false) {
20
- const registry = new CDPHandlerRegistry();
21
- // Enable runtime
22
- await cdp.send('Runtime.enable');
23
- await cdp.send('Log.enable');
24
- // Listen for console API calls
25
- registry.register(cdp, 'Runtime.consoleAPICalled', (params) => {
26
- const text = params.args
27
- .map((arg) => {
28
- // arg type already defined in CDPConsoleAPICalledParams
29
- if (arg.value !== undefined) {
30
- // Handle different value types - primitives only, objects use description
31
- const value = arg.value;
32
- if (typeof value === 'string' ||
33
- typeof value === 'number' ||
34
- typeof value === 'boolean') {
35
- return String(value);
36
- }
37
- // For objects/arrays, use description if available
38
- return arg.description ?? '[object]';
39
- }
40
- if (arg.description !== undefined) {
41
- return arg.description;
42
- }
43
- return '';
44
- })
45
- .join(' ');
46
- // Apply pattern filtering
47
- if (shouldExcludeConsoleMessage(text, params.type, includeAll)) {
48
- return;
49
- }
50
- const message = {
51
- type: params.type,
52
- text,
53
- timestamp: params.timestamp,
54
- args: params.args,
55
- };
56
- if (messages.length < MAX_CONSOLE_MESSAGES) {
57
- messages.push(message);
58
- }
59
- else if (messages.length === MAX_CONSOLE_MESSAGES) {
60
- console.error(`Warning: Console message limit reached (${MAX_CONSOLE_MESSAGES})`);
61
- }
62
- });
63
- // Listen for exceptions
64
- registry.register(cdp, 'Runtime.exceptionThrown', (params) => {
65
- const exception = params.exceptionDetails;
66
- const text = exception.text ?? exception.exception?.description ?? 'Unknown error';
67
- // Apply pattern filtering (but don't filter errors by default)
68
- // Errors are usually important, only filter if they match noise patterns
69
- if (shouldExcludeConsoleMessage(text, 'error', includeAll)) {
70
- return;
71
- }
72
- const message = {
73
- type: 'error',
74
- text,
75
- timestamp: exception.timestamp ?? Date.now(),
76
- };
77
- if (messages.length < MAX_CONSOLE_MESSAGES) {
78
- messages.push(message);
79
- }
80
- });
81
- // Return cleanup function
82
- return () => {
83
- // Remove event handlers
84
- registry.cleanup(cdp);
85
- };
86
- }
87
- //# sourceMappingURL=console.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/collectors/console.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { CDPConnection } from '../connection/cdp.js';
2
- import type { DOMData, CleanupFunction } from '../types';
3
- /**
4
- * Prepare CDP domains for DOM collection.
5
- *
6
- * Enables Page, DOM, and Runtime domains required for capturing DOM snapshots.
7
- *
8
- * @param cdp - CDP connection instance
9
- * @returns Cleanup function that disables Runtime domain
10
- */
11
- export declare function prepareDOMCollection(cdp: CDPConnection): Promise<CleanupFunction>;
12
- /**
13
- * Capture a complete DOM snapshot of the current page.
14
- *
15
- * Called during session shutdown to get the final state of the page.
16
- *
17
- * @param cdp - CDP connection instance
18
- * @returns DOM data including URL, title, and full HTML
19
- */
20
- export declare function collectDOM(cdp: CDPConnection): Promise<DOMData>;
21
- //# sourceMappingURL=dom.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../src/collectors/dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EAKhB,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAsBvF;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAoFrE"}
@@ -1,99 +0,0 @@
1
- /**
2
- * Prepare CDP domains for DOM collection.
3
- *
4
- * Enables Page, DOM, and Runtime domains required for capturing DOM snapshots.
5
- *
6
- * @param cdp - CDP connection instance
7
- * @returns Cleanup function that disables Runtime domain
8
- */
9
- export async function prepareDOMCollection(cdp) {
10
- // Enable Page domain for frame tree
11
- await cdp.send('Page.enable');
12
- // Enable DOM domain for document access
13
- await cdp.send('DOM.enable');
14
- // Enable Runtime domain for document.title evaluation
15
- await cdp.send('Runtime.enable');
16
- // Return cleanup function that disables Runtime domain
17
- return () => {
18
- // Disable Runtime domain to clean up resources
19
- // Note: This is best-effort during shutdown; errors are ignored
20
- try {
21
- cdp.send('Runtime.disable').catch(() => {
22
- // Ignore errors during cleanup (Chrome may be closing)
23
- });
24
- }
25
- catch {
26
- // Ignore synchronous errors
27
- }
28
- };
29
- }
30
- /**
31
- * Capture a complete DOM snapshot of the current page.
32
- *
33
- * Called during session shutdown to get the final state of the page.
34
- *
35
- * @param cdp - CDP connection instance
36
- * @returns DOM data including URL, title, and full HTML
37
- */
38
- export async function collectDOM(cdp) {
39
- const domCaptureStart = Date.now();
40
- try {
41
- // Add a timeout wrapper to prevent hanging
42
- const timeout = 5000; // 5 seconds should be plenty for DOM capture
43
- const captureWithTimeout = async (promise, label) => {
44
- return Promise.race([
45
- promise,
46
- new Promise((_, reject) => setTimeout(() => reject(new Error(`${label} timed out after ${timeout}ms`)), timeout)),
47
- ]);
48
- };
49
- // Get document
50
- console.error('Getting document...');
51
- const docStart = Date.now();
52
- const documentResponse = await captureWithTimeout(cdp.send('DOM.getDocument', { depth: -1 }), 'DOM.getDocument');
53
- const root = documentResponse.root;
54
- console.error(`[PERF] DOM.getDocument: ${Date.now() - docStart}ms (nodeId: ${root.nodeId})`);
55
- // Get outer HTML
56
- console.error('Getting outer HTML...');
57
- const htmlStart = Date.now();
58
- const htmlResponse = await captureWithTimeout(cdp.send('DOM.getOuterHTML', { nodeId: root.nodeId }), 'DOM.getOuterHTML');
59
- const outerHTML = htmlResponse.outerHTML;
60
- console.error(`[PERF] DOM.getOuterHTML: ${Date.now() - htmlStart}ms (${outerHTML.length} chars)`);
61
- // Get page info
62
- console.error('Getting page info...');
63
- const frameStart = Date.now();
64
- const frameTreeResponse = await captureWithTimeout(cdp.send('Page.getFrameTree'), 'Page.getFrameTree');
65
- const frame = frameTreeResponse.frameTree.frame;
66
- console.error(`[PERF] Page.getFrameTree: ${Date.now() - frameStart}ms (url: ${frame.url})`);
67
- // Get real document title using Runtime.evaluate
68
- console.error('Getting document title...');
69
- let title = 'Untitled';
70
- try {
71
- const titleStart = Date.now();
72
- const titleResult = await captureWithTimeout(cdp.send('Runtime.evaluate', {
73
- expression: 'document.title',
74
- returnByValue: true,
75
- }), 'Runtime.evaluate (document.title)');
76
- if (titleResult.result.value !== undefined && typeof titleResult.result.value === 'string') {
77
- title = titleResult.result.value;
78
- }
79
- console.error(`[PERF] Runtime.evaluate (title): ${Date.now() - titleStart}ms`);
80
- }
81
- catch (titleError) {
82
- console.error('Failed to get document title, using fallback:', titleError);
83
- }
84
- console.error(`Got document title: ${title}`);
85
- const url = frame.url;
86
- const totalDuration = Date.now() - domCaptureStart;
87
- console.error(`[PERF] Total DOM capture: ${totalDuration}ms`);
88
- return {
89
- url,
90
- title,
91
- outerHTML,
92
- };
93
- }
94
- catch (error) {
95
- console.error('Error in collectDOM:', error);
96
- throw error;
97
- }
98
- }
99
- //# sourceMappingURL=dom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/collectors/dom.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import type { CDPConnection } from '../connection/cdp.js';
2
- import type { NetworkRequest, CleanupFunction } from '../types';
3
- export interface NetworkCollectionOptions {
4
- includeAll?: boolean;
5
- fetchAllBodies?: boolean;
6
- fetchBodiesInclude?: string[];
7
- fetchBodiesExclude?: string[];
8
- networkInclude?: string[];
9
- networkExclude?: string[];
10
- maxBodySize?: number;
11
- }
12
- /**
13
- * Start collecting network requests via CDP Network domain.
14
- *
15
- * Tracks all HTTP requests and responses, including headers and bodies (for JSON/text responses).
16
- * Implements automatic cleanup of stale requests to prevent memory leaks during long sessions.
17
- *
18
- * @param cdp - CDP connection instance
19
- * @param requests - Array to populate with completed network requests
20
- * @param options - Collection options
21
- * @returns Cleanup function to remove event handlers and clear state
22
- *
23
- * @remarks
24
- * - Chrome buffer limits: 50MB total, 10MB per resource, 1MB POST data (with fallback)
25
- * - Stale requests (incomplete after 60s) are removed from tracking but NOT added to output
26
- * - Request limit of 10,000 prevents memory issues in long-running sessions
27
- * - Response bodies are automatically skipped for images, fonts, CSS, and source maps (see DEFAULT_SKIP_BODY_PATTERNS)
28
- * - Response bodies larger than 5MB are skipped with a placeholder message
29
- * - By default, common tracking/analytics domains are filtered out (use includeAll to disable)
30
- * - Pattern precedence: include patterns always trump exclude patterns
31
- */
32
- export declare function startNetworkCollection(cdp: CDPConnection, requests: NetworkRequest[], options?: NetworkCollectionOptions): Promise<CleanupFunction>;
33
- //# sourceMappingURL=network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/collectors/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAMhB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,eAAe,CAAC,CAwN1B"}
@@ -1,191 +0,0 @@
1
- import { MAX_NETWORK_REQUESTS, STALE_REQUEST_TIMEOUT, STALE_REQUEST_CLEANUP_INTERVAL, MAX_RESPONSE_SIZE, CHROME_NETWORK_BUFFER_TOTAL, CHROME_NETWORK_BUFFER_PER_RESOURCE, CHROME_POST_DATA_LIMIT, } from '../constants.js';
2
- import { CDPHandlerRegistry } from '../utils/cdpHandlers.js';
3
- import { shouldExcludeDomain, shouldExcludeUrl, shouldFetchBody } from '../utils/filters.js';
4
- /**
5
- * Start collecting network requests via CDP Network domain.
6
- *
7
- * Tracks all HTTP requests and responses, including headers and bodies (for JSON/text responses).
8
- * Implements automatic cleanup of stale requests to prevent memory leaks during long sessions.
9
- *
10
- * @param cdp - CDP connection instance
11
- * @param requests - Array to populate with completed network requests
12
- * @param options - Collection options
13
- * @returns Cleanup function to remove event handlers and clear state
14
- *
15
- * @remarks
16
- * - Chrome buffer limits: 50MB total, 10MB per resource, 1MB POST data (with fallback)
17
- * - Stale requests (incomplete after 60s) are removed from tracking but NOT added to output
18
- * - Request limit of 10,000 prevents memory issues in long-running sessions
19
- * - Response bodies are automatically skipped for images, fonts, CSS, and source maps (see DEFAULT_SKIP_BODY_PATTERNS)
20
- * - Response bodies larger than 5MB are skipped with a placeholder message
21
- * - By default, common tracking/analytics domains are filtered out (use includeAll to disable)
22
- * - Pattern precedence: include patterns always trump exclude patterns
23
- */
24
- export async function startNetworkCollection(cdp, requests, options = {}) {
25
- const { includeAll = false, fetchAllBodies = false, fetchBodiesInclude = [], fetchBodiesExclude = [], networkInclude = [], networkExclude = [], maxBodySize = MAX_RESPONSE_SIZE, } = options;
26
- const requestMap = new Map();
27
- const registry = new CDPHandlerRegistry();
28
- // Counters for PERF logging
29
- let bodiesFetched = 0;
30
- let bodiesSkipped = 0;
31
- // Enable network tracking with buffer limits (if supported)
32
- // These parameters are optional and experimental, but widely supported in Chrome 58+
33
- // See docs/chrome-cdp-compatibility.md for details
34
- try {
35
- await cdp.send('Network.enable', {
36
- maxTotalBufferSize: CHROME_NETWORK_BUFFER_TOTAL,
37
- maxResourceBufferSize: CHROME_NETWORK_BUFFER_PER_RESOURCE,
38
- maxPostDataSize: CHROME_POST_DATA_LIMIT,
39
- });
40
- }
41
- catch {
42
- // Fallback to basic Network.enable if buffer parameters not supported
43
- console.error('Network buffer limits not supported, using default settings');
44
- await cdp.send('Network.enable');
45
- }
46
- // Periodic cleanup of stale requests (see JSDoc @remarks for behavior)
47
- const cleanupInterval = setInterval(() => {
48
- const now = Date.now();
49
- const staleRequests = [];
50
- requestMap.forEach((value, requestId) => {
51
- if (now - value.timestamp > STALE_REQUEST_TIMEOUT) {
52
- staleRequests.push(requestId);
53
- }
54
- });
55
- if (staleRequests.length > 0) {
56
- console.error(`Cleaning up ${staleRequests.length} stale network requests`);
57
- staleRequests.forEach((requestId) => requestMap.delete(requestId));
58
- }
59
- }, STALE_REQUEST_CLEANUP_INTERVAL);
60
- // Listen for requests
61
- registry.register(cdp, 'Network.requestWillBeSent', (params) => {
62
- if (requestMap.size >= MAX_NETWORK_REQUESTS) {
63
- console.error(`Warning: Network request limit reached (${MAX_NETWORK_REQUESTS}), dropping new requests`);
64
- return;
65
- }
66
- const request = {
67
- requestId: params.requestId,
68
- url: params.request.url,
69
- method: params.request.method,
70
- timestamp: params.timestamp,
71
- requestHeaders: params.request.headers,
72
- requestBody: params.request.postData,
73
- };
74
- requestMap.set(params.requestId, {
75
- request,
76
- timestamp: Date.now(),
77
- });
78
- });
79
- // Listen for responses
80
- registry.register(cdp, 'Network.responseReceived', (params) => {
81
- const entry = requestMap.get(params.requestId);
82
- if (entry) {
83
- entry.request.status = params.response.status;
84
- entry.request.mimeType = params.response.mimeType;
85
- entry.request.responseHeaders = params.response.headers;
86
- }
87
- });
88
- // Listen for finished requests
89
- registry.register(cdp, 'Network.loadingFinished', (params) => {
90
- const entry = requestMap.get(params.requestId);
91
- if (entry && requests.length < MAX_NETWORK_REQUESTS) {
92
- const request = entry.request;
93
- // Apply domain filtering
94
- if (shouldExcludeDomain(request.url, includeAll)) {
95
- requestMap.delete(params.requestId);
96
- return;
97
- }
98
- // Apply URL pattern filtering
99
- if (shouldExcludeUrl(request.url, {
100
- includePatterns: networkInclude,
101
- excludePatterns: networkExclude,
102
- })) {
103
- requestMap.delete(params.requestId);
104
- return;
105
- }
106
- // Determine if we should fetch the response body
107
- const isSizeAcceptable = params.encodedDataLength <= maxBodySize;
108
- const isTextResponse = (request.mimeType?.includes('json') ?? false) ||
109
- (request.mimeType?.includes('javascript') ?? false) ||
110
- (request.mimeType?.includes('text') ?? false) ||
111
- (request.mimeType?.includes('html') ?? false);
112
- if (isTextResponse && isSizeAcceptable) {
113
- // Check if we should fetch body based on patterns
114
- const shouldFetch = shouldFetchBody(request.url, request.mimeType, {
115
- fetchAllBodies,
116
- includePatterns: fetchBodiesInclude,
117
- excludePatterns: fetchBodiesExclude,
118
- });
119
- if (shouldFetch) {
120
- bodiesFetched++;
121
- // Fetch response body asynchronously
122
- void cdp
123
- .send('Network.getResponseBody', { requestId: params.requestId })
124
- .then((response) => {
125
- const typedResponse = response;
126
- request.responseBody = typedResponse.body;
127
- })
128
- .catch(() => {
129
- // Response body not available (e.g., 204 No Content, redirects, etc.)
130
- });
131
- }
132
- else {
133
- bodiesSkipped++;
134
- request.responseBody = '[SKIPPED: Auto-optimization (see DEFAULT_SKIP_BODY_PATTERNS)]';
135
- }
136
- }
137
- else if (isTextResponse && !isSizeAcceptable) {
138
- bodiesSkipped++;
139
- // Mark large responses as skipped
140
- request.responseBody = `[SKIPPED: Response too large (${(params.encodedDataLength / 1024 / 1024).toFixed(2)}MB > ${maxBodySize / 1024 / 1024}MB)]`;
141
- }
142
- requests.push(request);
143
- requestMap.delete(params.requestId);
144
- }
145
- else if (requests.length >= MAX_NETWORK_REQUESTS) {
146
- console.error(`Warning: Network request limit reached (${MAX_NETWORK_REQUESTS})`);
147
- requestMap.delete(params.requestId);
148
- }
149
- });
150
- // Listen for failed requests
151
- registry.register(cdp, 'Network.loadingFailed', (params) => {
152
- const entry = requestMap.get(params.requestId);
153
- if (entry && requests.length < MAX_NETWORK_REQUESTS) {
154
- // Apply domain filtering
155
- if (shouldExcludeDomain(entry.request.url, includeAll)) {
156
- requestMap.delete(params.requestId);
157
- return;
158
- }
159
- // Apply URL pattern filtering
160
- if (shouldExcludeUrl(entry.request.url, {
161
- includePatterns: networkInclude,
162
- excludePatterns: networkExclude,
163
- })) {
164
- requestMap.delete(params.requestId);
165
- return;
166
- }
167
- entry.request.status = 0; // Indicate failure
168
- requests.push(entry.request);
169
- requestMap.delete(params.requestId);
170
- }
171
- else if (requests.length >= MAX_NETWORK_REQUESTS) {
172
- requestMap.delete(params.requestId);
173
- }
174
- });
175
- // Return cleanup function
176
- return () => {
177
- // Log PERF metrics
178
- const totalBodyDecisions = bodiesFetched + bodiesSkipped;
179
- if (totalBodyDecisions > 0) {
180
- const percentageSkipped = ((bodiesSkipped / totalBodyDecisions) * 100).toFixed(1);
181
- console.error(`[PERF] Network bodies: ${bodiesFetched} fetched, ${bodiesSkipped} skipped (${percentageSkipped}% reduction)`);
182
- }
183
- // Clear interval
184
- clearInterval(cleanupInterval);
185
- // Remove event handlers
186
- registry.cleanup(cdp);
187
- // Clear request map
188
- requestMap.clear();
189
- };
190
- }
191
- //# sourceMappingURL=network.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/collectors/network.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { Command } from 'commander';
2
- /**
3
- * Command registration function type
4
- */
5
- export type CommandRegistrar = (program: Command) => void;
6
- /**
7
- * Registry of all CLI commands with grouping
8
- * Order matters: groups organize commands in help output
9
- */
10
- export declare const commandRegistry: CommandRegistrar[];
11
- //# sourceMappingURL=commandRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandRegistry.d.ts","sourceRoot":"","sources":["../src/commandRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAW1D;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,EA0B7C,CAAC"}
@@ -1,45 +0,0 @@
1
- import { registerCdpCommand } from './commands/cdp.js';
2
- import { registerCleanupCommand } from './commands/cleanup.js';
3
- import { registerConsoleCommand } from './commands/console.js';
4
- import { registerDetailsCommand } from './commands/details.js';
5
- import { registerDomCommands } from './commands/dom.js';
6
- import { registerNetworkCommands } from './commands/network.js';
7
- import { registerPeekCommand } from './commands/peek.js';
8
- import { registerStartCommands } from './commands/start.js';
9
- import { registerStatusCommand } from './commands/status.js';
10
- import { registerStopCommand } from './commands/stop.js';
11
- /**
12
- * Helper to add a command group
13
- */
14
- const addCommandGroup = (groupName) => {
15
- return (program) => {
16
- program.commandsGroup(groupName);
17
- };
18
- };
19
- /**
20
- * Registry of all CLI commands with grouping
21
- * Order matters: groups organize commands in help output
22
- */
23
- export const commandRegistry = [
24
- registerStartCommands,
25
- // Session Management Commands
26
- addCommandGroup('Session Management:'),
27
- registerStatusCommand,
28
- registerStopCommand,
29
- registerCleanupCommand,
30
- // Data Inspection Commands
31
- addCommandGroup('Data Inspection:'),
32
- registerPeekCommand,
33
- registerDetailsCommand,
34
- registerDomCommands,
35
- // CDP Commands
36
- addCommandGroup('CDP Commands:'),
37
- registerCdpCommand,
38
- // Network Commands
39
- addCommandGroup('Network Commands:'),
40
- registerNetworkCommands,
41
- // Console Commands
42
- addCommandGroup('Console Commands:'),
43
- registerConsoleCommand,
44
- ];
45
- //# sourceMappingURL=commandRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../src/commandRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAOzD;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAoB,EAAE;IAC9D,OAAO,CAAC,OAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAuB;IACjD,qBAAqB;IAErB,8BAA8B;IAC9B,eAAe,CAAC,qBAAqB,CAAC;IACtC,qBAAqB;IACrB,mBAAmB;IACnB,sBAAsB;IAEtB,2BAA2B;IAC3B,eAAe,CAAC,kBAAkB,CAAC;IACnC,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IAEnB,eAAe;IACf,eAAe,CAAC,eAAe,CAAC;IAChC,kBAAkB;IAElB,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,CAAC;IACpC,uBAAuB;IAEvB,mBAAmB;IACnB,eAAe,CAAC,mBAAmB,CAAC;IACpC,sBAAsB;CACvB,CAAC"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Handle command errors with consistent formatting
3
- *
4
- * Outputs error message in JSON or human-readable format and exits with error code.
5
- * This function never returns - it always calls process.exit().
6
- *
7
- * @param error - Error object or message
8
- * @param json - Whether to output JSON format
9
- * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
10
- * @throws never This function always exits the process
11
- *
12
- * @example
13
- * ```typescript
14
- * try {
15
- * await someOperation();
16
- * } catch (error) {
17
- * handleCommandError(error, options.json);
18
- * }
19
- * ```
20
- */
21
- export declare function handleCommandError(error: unknown, json: boolean, exitCode?: number): never;
22
- /**
23
- * Handle command errors with additional context
24
- *
25
- * Similar to handleCommandError but allows adding suggestion or note metadata
26
- * to JSON error output for better user guidance.
27
- *
28
- * @param error - Error object or message
29
- * @param json - Whether to output JSON format
30
- * @param metadata - Additional context (suggestion, note, etc.)
31
- * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
32
- * @throws never This function always exits the process
33
- *
34
- * @example
35
- * ```typescript
36
- * handleCommandErrorWithContext(
37
- * 'Session not found',
38
- * options.json,
39
- * { suggestion: 'Start a session with: bdg <url>' },
40
- * EXIT_CODES.RESOURCE_NOT_FOUND
41
- * );
42
- * ```
43
- */
44
- export declare function handleCommandErrorWithContext(error: unknown, json: boolean, metadata: Record<string, string>, exitCode?: number): never;
45
- //# sourceMappingURL=domErrorHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domErrorHandler.d.ts","sourceRoot":"","sources":["../../src/commands/domErrorHandler.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAQP;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,GAAE,MAAuC,GAChD,KAAK,CAYP"}
@@ -1,71 +0,0 @@
1
- import { OutputBuilder } from '../commands/shared/OutputBuilder.js';
2
- import { genericError } from '../ui/messages/errors.js';
3
- import { getErrorMessage } from '../utils/errors.js';
4
- import { EXIT_CODES } from '../utils/exitCodes.js';
5
- /**
6
- * Handle command errors with consistent formatting
7
- *
8
- * Outputs error message in JSON or human-readable format and exits with error code.
9
- * This function never returns - it always calls process.exit().
10
- *
11
- * @param error - Error object or message
12
- * @param json - Whether to output JSON format
13
- * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
14
- * @throws never This function always exits the process
15
- *
16
- * @example
17
- * ```typescript
18
- * try {
19
- * await someOperation();
20
- * } catch (error) {
21
- * handleCommandError(error, options.json);
22
- * }
23
- * ```
24
- */
25
- export function handleCommandError(error, json, exitCode = EXIT_CODES.UNHANDLED_EXCEPTION) {
26
- const errorMsg = getErrorMessage(error);
27
- if (json) {
28
- console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg), null, 2));
29
- }
30
- else {
31
- console.error(genericError(errorMsg));
32
- }
33
- process.exit(exitCode);
34
- }
35
- /**
36
- * Handle command errors with additional context
37
- *
38
- * Similar to handleCommandError but allows adding suggestion or note metadata
39
- * to JSON error output for better user guidance.
40
- *
41
- * @param error - Error object or message
42
- * @param json - Whether to output JSON format
43
- * @param metadata - Additional context (suggestion, note, etc.)
44
- * @param exitCode - Exit code to use (defaults to UNHANDLED_EXCEPTION)
45
- * @throws never This function always exits the process
46
- *
47
- * @example
48
- * ```typescript
49
- * handleCommandErrorWithContext(
50
- * 'Session not found',
51
- * options.json,
52
- * { suggestion: 'Start a session with: bdg <url>' },
53
- * EXIT_CODES.RESOURCE_NOT_FOUND
54
- * );
55
- * ```
56
- */
57
- export function handleCommandErrorWithContext(error, json, metadata, exitCode = EXIT_CODES.UNHANDLED_EXCEPTION) {
58
- const errorMsg = getErrorMessage(error);
59
- if (json) {
60
- console.log(JSON.stringify(OutputBuilder.buildJsonError(errorMsg, metadata), null, 2));
61
- }
62
- else {
63
- console.error(genericError(errorMsg));
64
- // Output metadata as additional help text
65
- for (const value of Object.values(metadata)) {
66
- console.error(`${value}`);
67
- }
68
- }
69
- process.exit(exitCode);
70
- }
71
- //# sourceMappingURL=domErrorHandler.js.map