browser-debugger-cli 0.2.0 → 0.5.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 (554) hide show
  1. package/README.md +137 -126
  2. package/dist/__tests__/fixtures/schema-v0.2.1.golden.json +47 -0
  3. package/dist/__tests__/schema.contract.test.d.ts +19 -0
  4. package/dist/__tests__/schema.contract.test.d.ts.map +1 -0
  5. package/dist/__tests__/schema.contract.test.js +236 -0
  6. package/dist/__tests__/schema.contract.test.js.map +1 -0
  7. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts +8 -0
  8. package/dist/__tests__/smoke/error-handling.smoke.test.d.ts.map +1 -0
  9. package/dist/__tests__/smoke/error-handling.smoke.test.js +106 -0
  10. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -0
  11. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts +8 -0
  12. package/dist/__tests__/smoke/session-lifecycle.smoke.test.d.ts.map +1 -0
  13. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +109 -0
  14. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -0
  15. package/dist/__testutils__/commandRunner.d.ts +45 -0
  16. package/dist/__testutils__/commandRunner.d.ts.map +1 -0
  17. package/dist/__testutils__/commandRunner.js +108 -0
  18. package/dist/__testutils__/commandRunner.js.map +1 -0
  19. package/dist/__testutils__/daemonHelpers.d.ts +81 -0
  20. package/dist/__testutils__/daemonHelpers.d.ts.map +1 -0
  21. package/dist/__testutils__/daemonHelpers.js +206 -0
  22. package/dist/__testutils__/daemonHelpers.js.map +1 -0
  23. package/dist/__testutils__/index.d.ts +1 -0
  24. package/dist/__testutils__/index.d.ts.map +1 -1
  25. package/dist/__testutils__/index.js +1 -0
  26. package/dist/__testutils__/index.js.map +1 -1
  27. package/dist/__testutils__/testCleanup.d.ts +45 -0
  28. package/dist/__testutils__/testCleanup.d.ts.map +1 -0
  29. package/dist/__testutils__/testCleanup.js +87 -0
  30. package/dist/__testutils__/testCleanup.js.map +1 -0
  31. package/dist/__testutils__/testHome.d.ts +26 -0
  32. package/dist/__testutils__/testHome.d.ts.map +1 -0
  33. package/dist/__testutils__/testHome.js +57 -0
  34. package/dist/__testutils__/testHome.js.map +1 -0
  35. package/dist/__testutils__/testProcess.d.ts.map +1 -1
  36. package/dist/__testutils__/testProcess.js +11 -3
  37. package/dist/__testutils__/testProcess.js.map +1 -1
  38. package/dist/cli/commands/__tests__/start.unit.test.d.ts +2 -0
  39. package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +1 -0
  40. package/dist/cli/commands/__tests__/start.unit.test.js +131 -0
  41. package/dist/cli/commands/__tests__/start.unit.test.js.map +1 -0
  42. package/dist/cli/commands/cleanup.d.ts +1 -0
  43. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  44. package/dist/cli/commands/cleanup.js +80 -61
  45. package/dist/cli/commands/cleanup.js.map +1 -1
  46. package/dist/cli/commands/details.d.ts +2 -1
  47. package/dist/cli/commands/details.d.ts.map +1 -1
  48. package/dist/cli/commands/details.js +104 -52
  49. package/dist/cli/commands/details.js.map +1 -1
  50. package/dist/cli/commands/peek.d.ts +2 -1
  51. package/dist/cli/commands/peek.d.ts.map +1 -1
  52. package/dist/cli/commands/peek.js +22 -67
  53. package/dist/cli/commands/peek.js.map +1 -1
  54. package/dist/cli/commands/query.d.ts +9 -0
  55. package/dist/cli/commands/query.d.ts.map +1 -0
  56. package/dist/cli/commands/query.js +125 -0
  57. package/dist/cli/commands/query.js.map +1 -0
  58. package/dist/cli/commands/start.d.ts +74 -0
  59. package/dist/cli/commands/start.d.ts.map +1 -1
  60. package/dist/cli/commands/start.js +147 -38
  61. package/dist/cli/commands/start.js.map +1 -1
  62. package/dist/cli/commands/status.d.ts.map +1 -1
  63. package/dist/cli/commands/status.js +37 -49
  64. package/dist/cli/commands/status.js.map +1 -1
  65. package/dist/cli/commands/stop.d.ts +1 -0
  66. package/dist/cli/commands/stop.d.ts.map +1 -1
  67. package/dist/cli/commands/stop.js +106 -120
  68. package/dist/cli/commands/stop.js.map +1 -1
  69. package/dist/cli/formatters/detailsFormatter.d.ts +1 -1
  70. package/dist/cli/formatters/previewFormatter.d.ts +7 -7
  71. package/dist/cli/formatters/previewFormatter.d.ts.map +1 -1
  72. package/dist/cli/formatters/previewFormatter.js +5 -10
  73. package/dist/cli/formatters/previewFormatter.js.map +1 -1
  74. package/dist/cli/formatters/statusFormatter.d.ts +13 -10
  75. package/dist/cli/formatters/statusFormatter.d.ts.map +1 -1
  76. package/dist/cli/formatters/statusFormatter.js +26 -53
  77. package/dist/cli/formatters/statusFormatter.js.map +1 -1
  78. package/dist/cli/handlers/ChromeBootstrap.d.ts +24 -0
  79. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +1 -0
  80. package/dist/cli/handlers/ChromeBootstrap.js +50 -0
  81. package/dist/cli/handlers/ChromeBootstrap.js.map +1 -0
  82. package/dist/cli/handlers/OutputBuilder.d.ts +2 -3
  83. package/dist/cli/handlers/OutputBuilder.d.ts.map +1 -1
  84. package/dist/cli/handlers/OutputBuilder.js +2 -4
  85. package/dist/cli/handlers/OutputBuilder.js.map +1 -1
  86. package/dist/cli/handlers/OutputWriter.d.ts +15 -0
  87. package/dist/cli/handlers/OutputWriter.d.ts.map +1 -0
  88. package/dist/cli/handlers/OutputWriter.js +34 -0
  89. package/dist/cli/handlers/OutputWriter.js.map +1 -0
  90. package/dist/cli/handlers/PreviewWriter.d.ts +52 -0
  91. package/dist/cli/handlers/PreviewWriter.d.ts.map +1 -0
  92. package/dist/cli/handlers/PreviewWriter.js +118 -0
  93. package/dist/cli/handlers/PreviewWriter.js.map +1 -0
  94. package/dist/cli/handlers/SessionLock.d.ts +16 -0
  95. package/dist/cli/handlers/SessionLock.d.ts.map +1 -0
  96. package/dist/cli/handlers/SessionLock.js +35 -0
  97. package/dist/cli/handlers/SessionLock.js.map +1 -0
  98. package/dist/cli/handlers/SessionLoop.d.ts +19 -0
  99. package/dist/cli/handlers/SessionLoop.d.ts.map +1 -0
  100. package/dist/cli/handlers/SessionLoop.js +47 -0
  101. package/dist/cli/handlers/SessionLoop.js.map +1 -0
  102. package/dist/cli/handlers/ShutdownController.d.ts +41 -0
  103. package/dist/cli/handlers/ShutdownController.d.ts.map +1 -0
  104. package/dist/cli/handlers/ShutdownController.js +94 -0
  105. package/dist/cli/handlers/ShutdownController.js.map +1 -0
  106. package/dist/cli/handlers/SignalHandler.d.ts +35 -0
  107. package/dist/cli/handlers/SignalHandler.d.ts.map +1 -0
  108. package/dist/cli/handlers/SignalHandler.js +81 -0
  109. package/dist/cli/handlers/SignalHandler.js.map +1 -0
  110. package/dist/cli/handlers/TargetSetup.d.ts +42 -0
  111. package/dist/cli/handlers/TargetSetup.d.ts.map +1 -0
  112. package/dist/cli/handlers/TargetSetup.js +87 -0
  113. package/dist/cli/handlers/TargetSetup.js.map +1 -0
  114. package/dist/cli/handlers/sessionController.d.ts +41 -0
  115. package/dist/cli/handlers/sessionController.d.ts.map +1 -1
  116. package/dist/cli/handlers/sessionController.js +266 -5
  117. package/dist/cli/handlers/sessionController.js.map +1 -1
  118. package/dist/cli/registry.d.ts +2 -2
  119. package/dist/cli/registry.d.ts.map +1 -1
  120. package/dist/cli/registry.js +12 -37
  121. package/dist/cli/registry.js.map +1 -1
  122. package/dist/collectors/console.d.ts +1 -1
  123. package/dist/collectors/console.js +2 -2
  124. package/dist/collectors/console.js.map +1 -1
  125. package/dist/collectors/dom.d.ts +1 -1
  126. package/dist/collectors/network.d.ts +1 -2
  127. package/dist/collectors/network.d.ts.map +1 -1
  128. package/dist/collectors/network.js +3 -3
  129. package/dist/collectors/network.js.map +1 -1
  130. package/dist/commands/__tests__/cdp.contract.test.d.ts.map +1 -1
  131. package/dist/commands/__tests__/cdp.contract.test.js +0 -1
  132. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  133. package/dist/commands/__tests__/domEval.contract.test.d.ts +17 -0
  134. package/dist/commands/__tests__/domEval.contract.test.d.ts.map +1 -0
  135. package/dist/commands/__tests__/domEval.contract.test.js +231 -0
  136. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -0
  137. package/dist/commands/cdp.js +1 -1
  138. package/dist/commands/cdp.js.map +1 -1
  139. package/dist/commands/cleanup.d.ts.map +1 -1
  140. package/dist/commands/cleanup.js +51 -13
  141. package/dist/commands/cleanup.js.map +1 -1
  142. package/dist/commands/console.d.ts.map +1 -1
  143. package/dist/commands/console.js +8 -8
  144. package/dist/commands/console.js.map +1 -1
  145. package/dist/commands/details.js +2 -2
  146. package/dist/commands/details.js.map +1 -1
  147. package/dist/commands/dom.d.ts.map +1 -1
  148. package/dist/commands/dom.js +114 -128
  149. package/dist/commands/dom.js.map +1 -1
  150. package/dist/commands/domEvalHelpers.d.ts +7 -11
  151. package/dist/commands/domEvalHelpers.d.ts.map +1 -1
  152. package/dist/commands/domEvalHelpers.js +67 -22
  153. package/dist/commands/domEvalHelpers.js.map +1 -1
  154. package/dist/commands/domOptionsBuilder.d.ts +32 -0
  155. package/dist/commands/domOptionsBuilder.d.ts.map +1 -1
  156. package/dist/commands/domOptionsBuilder.js +35 -0
  157. package/dist/commands/domOptionsBuilder.js.map +1 -1
  158. package/dist/commands/machineReadableHelp.d.ts +98 -0
  159. package/dist/commands/machineReadableHelp.d.ts.map +1 -0
  160. package/dist/commands/machineReadableHelp.js +137 -0
  161. package/dist/commands/machineReadableHelp.js.map +1 -0
  162. package/dist/commands/network.d.ts.map +1 -1
  163. package/dist/commands/network.js +2 -4
  164. package/dist/commands/network.js.map +1 -1
  165. package/dist/commands/peek.d.ts.map +1 -1
  166. package/dist/commands/peek.js +3 -2
  167. package/dist/commands/peek.js.map +1 -1
  168. package/dist/commands/shared/CommandRunner.d.ts +4 -2
  169. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  170. package/dist/commands/shared/CommandRunner.js +18 -3
  171. package/dist/commands/shared/CommandRunner.js.map +1 -1
  172. package/dist/commands/shared/OutputBuilder.js +1 -1
  173. package/dist/commands/shared/OutputBuilder.js.map +1 -1
  174. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  175. package/dist/commands/shared/commonOptions.js +10 -3
  176. package/dist/commands/shared/commonOptions.js.map +1 -1
  177. package/dist/commands/shared/daemonSessionController.d.ts +2 -0
  178. package/dist/commands/shared/daemonSessionController.d.ts.map +1 -1
  179. package/dist/commands/shared/daemonSessionController.js +13 -16
  180. package/dist/commands/shared/daemonSessionController.js.map +1 -1
  181. package/dist/commands/shared/sessionController.d.ts.map +1 -1
  182. package/dist/commands/shared/sessionController.js +8 -9
  183. package/dist/commands/shared/sessionController.js.map +1 -1
  184. package/dist/commands/start.d.ts.map +1 -1
  185. package/dist/commands/start.js +16 -1
  186. package/dist/commands/start.js.map +1 -1
  187. package/dist/commands/status.d.ts.map +1 -1
  188. package/dist/commands/status.js +72 -54
  189. package/dist/commands/status.js.map +1 -1
  190. package/dist/commands/stop.d.ts.map +1 -1
  191. package/dist/commands/stop.js +16 -28
  192. package/dist/commands/stop.js.map +1 -1
  193. package/dist/commands/tail.d.ts +11 -0
  194. package/dist/commands/tail.d.ts.map +1 -0
  195. package/dist/commands/tail.js +114 -0
  196. package/dist/commands/tail.js.map +1 -0
  197. package/dist/commands.d.ts.map +1 -1
  198. package/dist/commands.js +2 -0
  199. package/dist/commands.js.map +1 -1
  200. package/dist/connection/__tests__/cdp.contract.test.d.ts.map +1 -1
  201. package/dist/connection/__tests__/cdp.contract.test.js +0 -1
  202. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  203. package/dist/connection/cdp.d.ts +46 -2
  204. package/dist/connection/cdp.d.ts.map +1 -1
  205. package/dist/connection/cdp.js +71 -5
  206. package/dist/connection/cdp.js.map +1 -1
  207. package/dist/connection/diagnostics.d.ts +16 -0
  208. package/dist/connection/diagnostics.d.ts.map +1 -0
  209. package/dist/connection/diagnostics.js +37 -0
  210. package/dist/connection/diagnostics.js.map +1 -0
  211. package/dist/connection/errors.d.ts +74 -0
  212. package/dist/connection/errors.d.ts.map +1 -0
  213. package/dist/connection/errors.js +83 -0
  214. package/dist/connection/errors.js.map +1 -0
  215. package/dist/connection/handlers.d.ts +31 -0
  216. package/dist/connection/handlers.d.ts.map +1 -0
  217. package/dist/connection/handlers.js +38 -0
  218. package/dist/connection/handlers.js.map +1 -0
  219. package/dist/connection/launcher.d.ts +3 -20
  220. package/dist/connection/launcher.d.ts.map +1 -1
  221. package/dist/connection/launcher.js +140 -32
  222. package/dist/connection/launcher.js.map +1 -1
  223. package/dist/connection/pageReadiness.d.ts +46 -0
  224. package/dist/connection/pageReadiness.d.ts.map +1 -0
  225. package/dist/connection/pageReadiness.js +270 -0
  226. package/dist/connection/pageReadiness.js.map +1 -0
  227. package/dist/connection/tabs.d.ts +52 -0
  228. package/dist/connection/tabs.d.ts.map +1 -0
  229. package/dist/connection/tabs.js +227 -0
  230. package/dist/connection/tabs.js.map +1 -0
  231. package/dist/constants.d.ts +20 -40
  232. package/dist/constants.d.ts.map +1 -1
  233. package/dist/constants.js +26 -40
  234. package/dist/constants.js.map +1 -1
  235. package/dist/daemon/ipcServer.d.ts +5 -7
  236. package/dist/daemon/ipcServer.d.ts.map +1 -1
  237. package/dist/daemon/ipcServer.js +178 -143
  238. package/dist/daemon/ipcServer.js.map +1 -1
  239. package/dist/daemon/launcher.js +1 -1
  240. package/dist/daemon/launcher.js.map +1 -1
  241. package/dist/daemon/server/SocketServer.d.ts +22 -0
  242. package/dist/daemon/server/SocketServer.d.ts.map +1 -0
  243. package/dist/daemon/server/SocketServer.js +67 -0
  244. package/dist/daemon/server/SocketServer.js.map +1 -0
  245. package/dist/daemon/server/WorkerManager.d.ts +36 -0
  246. package/dist/daemon/server/WorkerManager.d.ts.map +1 -0
  247. package/dist/daemon/server/WorkerManager.js +98 -0
  248. package/dist/daemon/server/WorkerManager.js.map +1 -0
  249. package/dist/daemon/startSession.d.ts +2 -0
  250. package/dist/daemon/startSession.d.ts.map +1 -1
  251. package/dist/daemon/startSession.js +9 -5
  252. package/dist/daemon/startSession.js.map +1 -1
  253. package/dist/daemon/worker/TelemetryStore.d.ts +18 -0
  254. package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -0
  255. package/dist/daemon/worker/TelemetryStore.js +49 -0
  256. package/dist/daemon/worker/TelemetryStore.js.map +1 -0
  257. package/dist/daemon/worker/collectors.d.ts +8 -0
  258. package/dist/daemon/worker/collectors.d.ts.map +1 -0
  259. package/dist/daemon/worker/collectors.js +19 -0
  260. package/dist/daemon/worker/collectors.js.map +1 -0
  261. package/dist/daemon/worker/commandRegistry.d.ts +10 -0
  262. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -0
  263. package/dist/daemon/worker/commandRegistry.js +289 -0
  264. package/dist/daemon/worker/commandRegistry.js.map +1 -0
  265. package/dist/daemon/worker/plugins.d.ts +21 -0
  266. package/dist/daemon/worker/plugins.d.ts.map +1 -0
  267. package/dist/daemon/worker/plugins.js +71 -0
  268. package/dist/daemon/worker/plugins.js.map +1 -0
  269. package/dist/daemon/worker/types.d.ts +13 -0
  270. package/dist/daemon/worker/types.d.ts.map +1 -0
  271. package/dist/daemon/worker/types.js +2 -0
  272. package/dist/daemon/worker/types.js.map +1 -0
  273. package/dist/daemon/worker.js +232 -484
  274. package/dist/daemon/worker.js.map +1 -1
  275. package/dist/help/machineReadableHelp.d.ts +100 -0
  276. package/dist/help/machineReadableHelp.d.ts.map +1 -0
  277. package/dist/help/machineReadableHelp.js +139 -0
  278. package/dist/help/machineReadableHelp.js.map +1 -0
  279. package/dist/index.js +18 -9
  280. package/dist/index.js.map +1 -1
  281. package/dist/ipc/__tests__/client.contract.test.js +2 -2
  282. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  283. package/dist/ipc/client.d.ts +16 -1
  284. package/dist/ipc/client.d.ts.map +1 -1
  285. package/dist/ipc/client.js +40 -11
  286. package/dist/ipc/client.js.map +1 -1
  287. package/dist/ipc/commands.d.ts +20 -0
  288. package/dist/ipc/commands.d.ts.map +1 -1
  289. package/dist/ipc/commands.js +4 -0
  290. package/dist/ipc/commands.js.map +1 -1
  291. package/dist/ipc/types.d.ts +2 -0
  292. package/dist/ipc/types.d.ts.map +1 -1
  293. package/dist/session/BdgSession.d.ts +91 -0
  294. package/dist/session/BdgSession.d.ts.map +1 -0
  295. package/dist/session/BdgSession.js +230 -0
  296. package/dist/session/BdgSession.js.map +1 -0
  297. package/dist/session/cleanup.d.ts.map +1 -1
  298. package/dist/session/cleanup.js +67 -65
  299. package/dist/session/cleanup.js.map +1 -1
  300. package/dist/session/fileOps.d.ts +25 -0
  301. package/dist/session/fileOps.d.ts.map +1 -0
  302. package/dist/session/fileOps.js +39 -0
  303. package/dist/session/fileOps.js.map +1 -0
  304. package/dist/session/metadata.js +2 -2
  305. package/dist/session/metadata.js.map +1 -1
  306. package/dist/session/paths.d.ts +2 -7
  307. package/dist/session/paths.d.ts.map +1 -1
  308. package/dist/session/paths.js +8 -8
  309. package/dist/session/paths.js.map +1 -1
  310. package/dist/session/queryCache.js +1 -1
  311. package/dist/session/queryCache.js.map +1 -1
  312. package/dist/telemetry/__tests__/filters.unit.test.d.ts +2 -0
  313. package/dist/telemetry/__tests__/filters.unit.test.d.ts.map +1 -0
  314. package/dist/telemetry/__tests__/filters.unit.test.js +239 -0
  315. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -0
  316. package/dist/telemetry/console.d.ts +1 -1
  317. package/dist/telemetry/console.d.ts.map +1 -1
  318. package/dist/telemetry/console.js +5 -3
  319. package/dist/telemetry/console.js.map +1 -1
  320. package/dist/telemetry/dialogs.d.ts +27 -0
  321. package/dist/telemetry/dialogs.d.ts.map +1 -0
  322. package/dist/telemetry/dialogs.js +51 -0
  323. package/dist/telemetry/dialogs.js.map +1 -0
  324. package/dist/telemetry/filters.d.ts +148 -0
  325. package/dist/telemetry/filters.d.ts.map +1 -0
  326. package/dist/telemetry/filters.js +358 -0
  327. package/dist/telemetry/filters.js.map +1 -0
  328. package/dist/telemetry/navigation.d.ts +49 -0
  329. package/dist/telemetry/navigation.d.ts.map +1 -0
  330. package/dist/telemetry/navigation.js +69 -0
  331. package/dist/telemetry/navigation.js.map +1 -0
  332. package/dist/telemetry/network.d.ts +1 -0
  333. package/dist/telemetry/network.d.ts.map +1 -1
  334. package/dist/telemetry/network.js +23 -34
  335. package/dist/telemetry/network.js.map +1 -1
  336. package/dist/types.d.ts +26 -0
  337. package/dist/types.d.ts.map +1 -1
  338. package/dist/ui/errors/CommandError.d.ts +39 -0
  339. package/dist/ui/errors/CommandError.d.ts.map +1 -0
  340. package/dist/ui/errors/CommandError.js +48 -0
  341. package/dist/ui/errors/CommandError.js.map +1 -0
  342. package/dist/ui/errors/SystemErrors.d.ts +22 -0
  343. package/dist/ui/errors/SystemErrors.d.ts.map +1 -0
  344. package/dist/ui/errors/SystemErrors.js +23 -0
  345. package/dist/ui/errors/SystemErrors.js.map +1 -0
  346. package/dist/ui/errors/index.d.ts +9 -0
  347. package/dist/ui/errors/index.d.ts.map +1 -0
  348. package/dist/ui/errors/index.js +12 -0
  349. package/dist/ui/errors/index.js.map +1 -0
  350. package/dist/ui/errors/utils.d.ts +24 -0
  351. package/dist/ui/errors/utils.d.ts.map +1 -0
  352. package/dist/ui/errors/utils.js +28 -0
  353. package/dist/ui/errors/utils.js.map +1 -0
  354. package/dist/ui/errors.d.ts +39 -0
  355. package/dist/ui/errors.d.ts.map +1 -0
  356. package/dist/ui/errors.js +48 -0
  357. package/dist/ui/errors.js.map +1 -0
  358. package/dist/ui/formatters/cookies.d.ts.map +1 -1
  359. package/dist/ui/formatters/cookies.js +18 -21
  360. package/dist/ui/formatters/cookies.js.map +1 -1
  361. package/dist/ui/formatters/details.d.ts.map +1 -1
  362. package/dist/ui/formatters/details.js +34 -36
  363. package/dist/ui/formatters/details.js.map +1 -1
  364. package/dist/ui/formatters/dom.d.ts +135 -0
  365. package/dist/ui/formatters/dom.d.ts.map +1 -0
  366. package/dist/ui/formatters/dom.js +193 -0
  367. package/dist/ui/formatters/dom.js.map +1 -0
  368. package/dist/ui/formatters/index.d.ts +1 -0
  369. package/dist/ui/formatters/index.d.ts.map +1 -1
  370. package/dist/ui/formatters/index.js +1 -0
  371. package/dist/ui/formatters/index.js.map +1 -1
  372. package/dist/ui/formatters/preview.js +43 -38
  373. package/dist/ui/formatters/preview.js.map +1 -1
  374. package/dist/ui/formatters/status.d.ts.map +1 -1
  375. package/dist/ui/formatters/status.js +45 -45
  376. package/dist/ui/formatters/status.js.map +1 -1
  377. package/dist/ui/formatting.d.ts +104 -1
  378. package/dist/ui/formatting.d.ts.map +1 -1
  379. package/dist/ui/formatting.js +138 -2
  380. package/dist/ui/formatting.js.map +1 -1
  381. package/dist/ui/logging/index.d.ts +7 -0
  382. package/dist/ui/logging/index.d.ts.map +1 -0
  383. package/dist/ui/logging/index.js +7 -0
  384. package/dist/ui/logging/index.js.map +1 -0
  385. package/dist/ui/logging/logger.d.ts +98 -0
  386. package/dist/ui/logging/logger.d.ts.map +1 -0
  387. package/dist/ui/logging/logger.js +93 -0
  388. package/dist/ui/logging/logger.js.map +1 -0
  389. package/dist/ui/messages/chrome.d.ts +120 -1
  390. package/dist/ui/messages/chrome.d.ts.map +1 -1
  391. package/dist/ui/messages/chrome.js +168 -0
  392. package/dist/ui/messages/chrome.js.map +1 -1
  393. package/dist/ui/messages/debug.d.ts +4 -2
  394. package/dist/ui/messages/debug.d.ts.map +1 -1
  395. package/dist/ui/messages/debug.js +31 -29
  396. package/dist/ui/messages/debug.js.map +1 -1
  397. package/dist/ui/messages/deprecation.d.ts +30 -0
  398. package/dist/ui/messages/deprecation.d.ts.map +1 -0
  399. package/dist/ui/messages/deprecation.js +49 -0
  400. package/dist/ui/messages/deprecation.js.map +1 -0
  401. package/dist/ui/messages/errors.d.ts +11 -0
  402. package/dist/ui/messages/errors.d.ts.map +1 -1
  403. package/dist/ui/messages/errors.js +13 -0
  404. package/dist/ui/messages/errors.js.map +1 -1
  405. package/dist/ui/messages/preview.d.ts +24 -0
  406. package/dist/ui/messages/preview.d.ts.map +1 -1
  407. package/dist/ui/messages/preview.js +32 -1
  408. package/dist/ui/messages/preview.js.map +1 -1
  409. package/dist/ui/messages/session.d.ts.map +1 -1
  410. package/dist/ui/messages/session.js +21 -7
  411. package/dist/ui/messages/session.js.map +1 -1
  412. package/dist/ui/messages/validation.d.ts +14 -0
  413. package/dist/ui/messages/validation.d.ts.map +1 -1
  414. package/dist/ui/messages/validation.js +16 -0
  415. package/dist/ui/messages/validation.js.map +1 -1
  416. package/dist/utils/__tests__/session.contract.test.js +15 -1
  417. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  418. package/dist/utils/filters.d.ts +40 -0
  419. package/dist/utils/filters.d.ts.map +1 -1
  420. package/dist/utils/filters.js +55 -1
  421. package/dist/utils/filters.js.map +1 -1
  422. package/dist/utils/pageReadiness.d.ts +9 -14
  423. package/dist/utils/pageReadiness.d.ts.map +1 -1
  424. package/dist/utils/pageReadiness.js +40 -41
  425. package/dist/utils/pageReadiness.js.map +1 -1
  426. package/dist/utils/session.d.ts +200 -0
  427. package/dist/utils/session.d.ts.map +1 -0
  428. package/dist/utils/session.js +498 -0
  429. package/dist/utils/session.js.map +1 -0
  430. package/dist/utils/url.d.ts +58 -6
  431. package/dist/utils/url.d.ts.map +1 -1
  432. package/dist/utils/url.js +137 -20
  433. package/dist/utils/url.js.map +1 -1
  434. package/dist/utils/validation.d.ts +12 -0
  435. package/dist/utils/validation.d.ts.map +1 -0
  436. package/dist/utils/validation.js +20 -0
  437. package/dist/utils/validation.js.map +1 -0
  438. package/package.json +3 -5
  439. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts +0 -24
  440. package/dist/cli/commands/__tests__/cdp.contract.test.d.ts.map +0 -1
  441. package/dist/cli/commands/__tests__/cdp.contract.test.js +0 -467
  442. package/dist/cli/commands/__tests__/cdp.contract.test.js.map +0 -1
  443. package/dist/cli/commands/cdp.d.ts +0 -8
  444. package/dist/cli/commands/cdp.d.ts.map +0 -1
  445. package/dist/cli/commands/cdp.js +0 -45
  446. package/dist/cli/commands/cdp.js.map +0 -1
  447. package/dist/cli/commands/console.d.ts +0 -8
  448. package/dist/cli/commands/console.d.ts.map +0 -1
  449. package/dist/cli/commands/console.js +0 -97
  450. package/dist/cli/commands/console.js.map +0 -1
  451. package/dist/cli/commands/dom/helpers/domCache.d.ts +0 -36
  452. package/dist/cli/commands/dom/helpers/domCache.d.ts.map +0 -1
  453. package/dist/cli/commands/dom/helpers/domCache.js +0 -65
  454. package/dist/cli/commands/dom/helpers/domCache.js.map +0 -1
  455. package/dist/cli/commands/dom/helpers/domQuery.d.ts +0 -48
  456. package/dist/cli/commands/dom/helpers/domQuery.d.ts.map +0 -1
  457. package/dist/cli/commands/dom/helpers/domQuery.js +0 -104
  458. package/dist/cli/commands/dom/helpers/domQuery.js.map +0 -1
  459. package/dist/cli/commands/dom/helpers/errorHandler.d.ts +0 -45
  460. package/dist/cli/commands/dom/helpers/errorHandler.d.ts.map +0 -1
  461. package/dist/cli/commands/dom/helpers/errorHandler.js +0 -71
  462. package/dist/cli/commands/dom/helpers/errorHandler.js.map +0 -1
  463. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts +0 -52
  464. package/dist/cli/commands/dom/helpers/evalHelpers.d.ts.map +0 -1
  465. package/dist/cli/commands/dom/helpers/evalHelpers.js +0 -75
  466. package/dist/cli/commands/dom/helpers/evalHelpers.js.map +0 -1
  467. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts +0 -35
  468. package/dist/cli/commands/dom/helpers/optionsBuilder.d.ts.map +0 -1
  469. package/dist/cli/commands/dom/helpers/optionsBuilder.js +0 -51
  470. package/dist/cli/commands/dom/helpers/optionsBuilder.js.map +0 -1
  471. package/dist/cli/commands/dom/helpers/selectorParser.d.ts +0 -20
  472. package/dist/cli/commands/dom/helpers/selectorParser.d.ts.map +0 -1
  473. package/dist/cli/commands/dom/helpers/selectorParser.js +0 -20
  474. package/dist/cli/commands/dom/helpers/selectorParser.js.map +0 -1
  475. package/dist/cli/commands/dom/index.d.ts +0 -8
  476. package/dist/cli/commands/dom/index.d.ts.map +0 -1
  477. package/dist/cli/commands/dom/index.js +0 -257
  478. package/dist/cli/commands/dom/index.js.map +0 -1
  479. package/dist/cli/commands/dom.d.ts +0 -8
  480. package/dist/cli/commands/dom.d.ts.map +0 -1
  481. package/dist/cli/commands/dom.js +0 -257
  482. package/dist/cli/commands/dom.js.map +0 -1
  483. package/dist/cli/commands/domErrorHandler.d.ts +0 -45
  484. package/dist/cli/commands/domErrorHandler.d.ts.map +0 -1
  485. package/dist/cli/commands/domErrorHandler.js +0 -71
  486. package/dist/cli/commands/domErrorHandler.js.map +0 -1
  487. package/dist/cli/commands/domEvalHelpers.d.ts +0 -52
  488. package/dist/cli/commands/domEvalHelpers.d.ts.map +0 -1
  489. package/dist/cli/commands/domEvalHelpers.js +0 -76
  490. package/dist/cli/commands/domEvalHelpers.js.map +0 -1
  491. package/dist/cli/commands/domOptionsBuilder.d.ts +0 -35
  492. package/dist/cli/commands/domOptionsBuilder.d.ts.map +0 -1
  493. package/dist/cli/commands/domOptionsBuilder.js +0 -51
  494. package/dist/cli/commands/domOptionsBuilder.js.map +0 -1
  495. package/dist/cli/commands/domSelectorParser.d.ts +0 -20
  496. package/dist/cli/commands/domSelectorParser.d.ts.map +0 -1
  497. package/dist/cli/commands/domSelectorParser.js +0 -20
  498. package/dist/cli/commands/domSelectorParser.js.map +0 -1
  499. package/dist/cli/commands/network.d.ts +0 -8
  500. package/dist/cli/commands/network.d.ts.map +0 -1
  501. package/dist/cli/commands/network.js +0 -43
  502. package/dist/cli/commands/network.js.map +0 -1
  503. package/dist/cli/handlers/CommandRunner.d.ts +0 -60
  504. package/dist/cli/handlers/CommandRunner.d.ts.map +0 -1
  505. package/dist/cli/handlers/CommandRunner.js +0 -81
  506. package/dist/cli/handlers/CommandRunner.js.map +0 -1
  507. package/dist/cli/handlers/commonOptions.d.ts +0 -54
  508. package/dist/cli/handlers/commonOptions.d.ts.map +0 -1
  509. package/dist/cli/handlers/commonOptions.js +0 -64
  510. package/dist/cli/handlers/commonOptions.js.map +0 -1
  511. package/dist/cli/handlers/daemonSessionController.d.ts +0 -23
  512. package/dist/cli/handlers/daemonSessionController.d.ts.map +0 -1
  513. package/dist/cli/handlers/daemonSessionController.js +0 -79
  514. package/dist/cli/handlers/daemonSessionController.js.map +0 -1
  515. package/dist/cli/handlers/landingPage.d.ts +0 -8
  516. package/dist/cli/handlers/landingPage.d.ts.map +0 -1
  517. package/dist/cli/handlers/landingPage.js +0 -8
  518. package/dist/cli/handlers/landingPage.js.map +0 -1
  519. package/dist/collectors/__tests__/network.contract.test.d.ts +0 -28
  520. package/dist/collectors/__tests__/network.contract.test.d.ts.map +0 -1
  521. package/dist/collectors/__tests__/network.contract.test.js +0 -540
  522. package/dist/collectors/__tests__/network.contract.test.js.map +0 -1
  523. package/dist/commandRegistry.d.ts +0 -11
  524. package/dist/commandRegistry.d.ts.map +0 -1
  525. package/dist/commandRegistry.js +0 -45
  526. package/dist/commandRegistry.js.map +0 -1
  527. package/dist/commands/domErrorHandler.d.ts +0 -45
  528. package/dist/commands/domErrorHandler.d.ts.map +0 -1
  529. package/dist/commands/domErrorHandler.js +0 -71
  530. package/dist/commands/domErrorHandler.js.map +0 -1
  531. package/dist/dom/cache.d.ts +0 -36
  532. package/dist/dom/cache.d.ts.map +0 -1
  533. package/dist/dom/cache.js +0 -65
  534. package/dist/dom/cache.js.map +0 -1
  535. package/dist/dom/index.d.ts +0 -9
  536. package/dist/dom/index.d.ts.map +0 -1
  537. package/dist/dom/index.js +0 -9
  538. package/dist/dom/index.js.map +0 -1
  539. package/dist/dom/query.d.ts +0 -48
  540. package/dist/dom/query.d.ts.map +0 -1
  541. package/dist/dom/query.js +0 -104
  542. package/dist/dom/query.js.map +0 -1
  543. package/dist/utils/formatters/network.d.ts +0 -23
  544. package/dist/utils/formatters/network.d.ts.map +0 -1
  545. package/dist/utils/formatters/network.js +0 -35
  546. package/dist/utils/formatters/network.js.map +0 -1
  547. package/dist/utils/ui.d.ts +0 -36
  548. package/dist/utils/ui.d.ts.map +0 -1
  549. package/dist/utils/ui.js +0 -47
  550. package/dist/utils/ui.js.map +0 -1
  551. package/dist/utils/url/safeParseUrl.d.ts +0 -63
  552. package/dist/utils/url/safeParseUrl.d.ts.map +0 -1
  553. package/dist/utils/url/safeParseUrl.js +0 -84
  554. package/dist/utils/url/safeParseUrl.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  /**
2
- * URL normalization and validation utilities.
3
- *
4
- * Note: Display formatting functions (truncateUrl, truncateText) have been
5
- * moved to \@/ui/formatting.js as part of UI centralization.
2
+ * URL normalization, validation, and parsing utilities.
6
3
  */
7
4
  /**
8
5
  * Normalize a URL by adding http:// protocol if missing.
@@ -21,13 +18,15 @@
21
18
  * normalizeUrl('about:blank') // → 'about:blank' (unchanged)
22
19
  * normalizeUrl('chrome://settings') // → 'chrome://settings' (unchanged)
23
20
  * ```
21
+ *
22
+ * @remarks
23
+ * javascript: protocol is preserved for compatibility with browser automation,
24
+ * though it's generally not recommended for direct navigation.
24
25
  */
25
26
  export declare function normalizeUrl(url: string): string;
26
27
  /**
27
28
  * Validate that a URL is valid and usable for Chrome navigation.
28
29
  *
29
- * WHY: Provides clear error messages before attempting to launch Chrome.
30
- *
31
30
  * @param url - URL string to validate
32
31
  * @returns Object with valid flag and error message if invalid
33
32
  *
@@ -41,10 +40,63 @@ export declare function normalizeUrl(url: string): string;
41
40
  * // → "URLs must include a valid protocol (http:// or https://)"
42
41
  * }
43
42
  * ```
43
+ *
44
+ * @remarks
45
+ * Validation is strict to prevent common errors like spaces or invalid protocols.
46
+ * All URLs are normalized before validation to support convenient formats like
47
+ * 'localhost:3000' or 'example.com'.
44
48
  */
45
49
  export declare function validateUrl(url: string): {
46
50
  valid: boolean;
47
51
  error?: string;
48
52
  suggestion?: string;
49
53
  };
54
+ /**
55
+ * Safely parse a URL string with automatic protocol detection.
56
+ *
57
+ *
58
+ * @param input - URL string to parse (may lack protocol)
59
+ * @returns Parsed URL object, or null if parsing fails both attempts
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * safeParseUrl('https://example.com') // → URL { ... }
64
+ * safeParseUrl('localhost:3000') // → URL { protocol: 'http:', ... }
65
+ * safeParseUrl('example.com/path') // → URL { protocol: 'http:', ... }
66
+ * safeParseUrl('not a url') // → null
67
+ * safeParseUrl('file:///path/to/file.html') // → URL { protocol: 'file:', ... }
68
+ * ```
69
+ */
70
+ export declare function safeParseUrl(input: string): URL | null;
71
+ /**
72
+ * Extract hostname from a URL string safely.
73
+ *
74
+ * @param input - URL string to extract hostname from
75
+ * @returns Hostname (e.g., 'example.com'), or original input if parsing fails
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * extractHostname('https://example.com/path') // → 'example.com'
80
+ * extractHostname('localhost:3000') // → 'localhost'
81
+ * extractHostname('invalid') // → 'invalid'
82
+ * ```
83
+ */
84
+ export declare function extractHostname(input: string): string;
85
+ /**
86
+ * Extract hostname with pathname from a URL string safely.
87
+ *
88
+ * Useful for pattern matching that needs both hostname and path segments.
89
+ *
90
+ * @param input - URL string to extract hostname+pathname from
91
+ * @returns Hostname with pathname (e.g., 'example.com/api/users'), or original input if parsing fails
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * extractHostnameWithPath('https://api.example.com/v1/users?id=123')
96
+ * // → 'api.example.com/v1/users'
97
+ * extractHostnameWithPath('localhost:3000/dashboard')
98
+ * // → 'localhost/dashboard'
99
+ * ```
100
+ */
101
+ export declare function extractHostnameWithPath(input: string): string;
50
102
  //# sourceMappingURL=url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBhD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CA4CA"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwCH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CA4DA;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAYtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D"}
package/dist/utils/url.js CHANGED
@@ -1,9 +1,40 @@
1
1
  /**
2
- * URL normalization and validation utilities.
2
+ * URL normalization, validation, and parsing utilities.
3
+ */
4
+ // ============================================================================
5
+ // Constants
6
+ // ============================================================================
7
+ /**
8
+ * Valid URL protocols for Chrome navigation.
3
9
  *
4
- * Note: Display formatting functions (truncateUrl, truncateText) have been
5
- * moved to \@/ui/formatting.js as part of UI centralization.
10
+ * Excludes legacy protocols (vbscript) and limits to protocols
11
+ * actually useful for modern web debugging scenarios.
12
+ */
13
+ const VALID_PROTOCOLS = [
14
+ 'http:',
15
+ 'https:',
16
+ 'file:',
17
+ 'about:',
18
+ 'chrome:',
19
+ 'data:',
20
+ 'blob:',
21
+ ];
22
+ /**
23
+ * Protocol prefixes that should be preserved as-is during normalization.
6
24
  */
25
+ const PRESERVED_PROTOCOL_PREFIXES = [
26
+ 'http://',
27
+ 'https://',
28
+ 'file://',
29
+ 'about:',
30
+ 'chrome:',
31
+ 'data:',
32
+ 'javascript:',
33
+ 'blob:',
34
+ ];
35
+ // ============================================================================
36
+ // URL Normalization
37
+ // ============================================================================
7
38
  /**
8
39
  * Normalize a URL by adding http:// protocol if missing.
9
40
  *
@@ -21,27 +52,24 @@
21
52
  * normalizeUrl('about:blank') // → 'about:blank' (unchanged)
22
53
  * normalizeUrl('chrome://settings') // → 'chrome://settings' (unchanged)
23
54
  * ```
55
+ *
56
+ * @remarks
57
+ * javascript: protocol is preserved for compatibility with browser automation,
58
+ * though it's generally not recommended for direct navigation.
24
59
  */
25
60
  export function normalizeUrl(url) {
26
61
  // Check for protocols that should not be modified
27
- if (url.startsWith('http://') ||
28
- url.startsWith('https://') ||
29
- url.startsWith('file://') ||
30
- url.startsWith('about:') ||
31
- url.startsWith('chrome:') ||
32
- url.startsWith('data:') ||
33
- url.startsWith('javascript:') ||
34
- url.startsWith('vbscript:') ||
35
- url.startsWith('blob:')) {
62
+ if (PRESERVED_PROTOCOL_PREFIXES.some((prefix) => url.startsWith(prefix))) {
36
63
  return url;
37
64
  }
38
65
  return `http://${url}`;
39
66
  }
67
+ // ============================================================================
68
+ // URL Validation
69
+ // ============================================================================
40
70
  /**
41
71
  * Validate that a URL is valid and usable for Chrome navigation.
42
72
  *
43
- * WHY: Provides clear error messages before attempting to launch Chrome.
44
- *
45
73
  * @param url - URL string to validate
46
74
  * @returns Object with valid flag and error message if invalid
47
75
  *
@@ -55,6 +83,11 @@ export function normalizeUrl(url) {
55
83
  * // → "URLs must include a valid protocol (http:// or https://)"
56
84
  * }
57
85
  * ```
86
+ *
87
+ * @remarks
88
+ * Validation is strict to prevent common errors like spaces or invalid protocols.
89
+ * All URLs are normalized before validation to support convenient formats like
90
+ * 'localhost:3000' or 'example.com'.
58
91
  */
59
92
  export function validateUrl(url) {
60
93
  // Empty URL
@@ -65,21 +98,34 @@ export function validateUrl(url) {
65
98
  suggestion: 'Provide a valid URL, e.g.: http://localhost:3000',
66
99
  };
67
100
  }
68
- // Normalize first (adds http:// if missing)
101
+ // Check for spaces (common error)
102
+ if (url.includes(' ')) {
103
+ return {
104
+ valid: false,
105
+ error: `Invalid URL format: '${url}' (contains spaces)`,
106
+ suggestion: 'URLs cannot contain spaces',
107
+ };
108
+ }
109
+ // Check for invalid characters in hostname/protocol (before normalization)
110
+ // This prevents malformed URLs like "ht!tp://example" from being normalized to "http://ht!tp://example"
111
+ const beforePath = url.split('/')[0] ?? '';
112
+ if (/[!@#$%^&*()=+[\]{}\\|;'",<>?]/.test(beforePath)) {
113
+ return {
114
+ valid: false,
115
+ error: `Invalid URL format: '${url}' (contains invalid characters)`,
116
+ suggestion: 'URLs cannot contain special characters like !, @, #, etc. in hostname or protocol',
117
+ };
118
+ }
69
119
  const normalized = normalizeUrl(url);
70
- // Try to parse as URL
71
120
  try {
72
121
  const parsed = new URL(normalized);
73
- // Check for valid protocol
74
- const validProtocols = ['http:', 'https:', 'file:', 'about:', 'chrome:', 'data:'];
75
- if (!validProtocols.includes(parsed.protocol)) {
122
+ if (!VALID_PROTOCOLS.includes(parsed.protocol)) {
76
123
  return {
77
124
  valid: false,
78
125
  error: `Invalid protocol: '${parsed.protocol}'`,
79
126
  suggestion: 'URLs must use http://, https://, or other valid protocols',
80
127
  };
81
128
  }
82
- // Check for valid hostname (for http/https)
83
129
  if ((parsed.protocol === 'http:' || parsed.protocol === 'https:') && !parsed.hostname) {
84
130
  return {
85
131
  valid: false,
@@ -97,4 +143,75 @@ export function validateUrl(url) {
97
143
  };
98
144
  }
99
145
  }
146
+ // ============================================================================
147
+ // Safe URL Parsing
148
+ // ============================================================================
149
+ /**
150
+ * Safely parse a URL string with automatic protocol detection.
151
+ *
152
+ *
153
+ * @param input - URL string to parse (may lack protocol)
154
+ * @returns Parsed URL object, or null if parsing fails both attempts
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * safeParseUrl('https://example.com') // → URL { ... }
159
+ * safeParseUrl('localhost:3000') // → URL { protocol: 'http:', ... }
160
+ * safeParseUrl('example.com/path') // → URL { protocol: 'http:', ... }
161
+ * safeParseUrl('not a url') // → null
162
+ * safeParseUrl('file:///path/to/file.html') // → URL { protocol: 'file:', ... }
163
+ * ```
164
+ */
165
+ export function safeParseUrl(input) {
166
+ try {
167
+ return new URL(input);
168
+ }
169
+ catch {
170
+ // Second attempt: add http:// prefix for protocol-less URLs
171
+ try {
172
+ return new URL(`http://${input}`);
173
+ }
174
+ catch {
175
+ // Both attempts failed - invalid URL
176
+ return null;
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * Extract hostname from a URL string safely.
182
+ *
183
+ * @param input - URL string to extract hostname from
184
+ * @returns Hostname (e.g., 'example.com'), or original input if parsing fails
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * extractHostname('https://example.com/path') // → 'example.com'
189
+ * extractHostname('localhost:3000') // → 'localhost'
190
+ * extractHostname('invalid') // → 'invalid'
191
+ * ```
192
+ */
193
+ export function extractHostname(input) {
194
+ const parsed = safeParseUrl(input);
195
+ return parsed?.hostname ?? input;
196
+ }
197
+ /**
198
+ * Extract hostname with pathname from a URL string safely.
199
+ *
200
+ * Useful for pattern matching that needs both hostname and path segments.
201
+ *
202
+ * @param input - URL string to extract hostname+pathname from
203
+ * @returns Hostname with pathname (e.g., 'example.com/api/users'), or original input if parsing fails
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * extractHostnameWithPath('https://api.example.com/v1/users?id=123')
208
+ * // → 'api.example.com/v1/users'
209
+ * extractHostnameWithPath('localhost:3000/dashboard')
210
+ * // → 'localhost/dashboard'
211
+ * ```
212
+ */
213
+ export function extractHostnameWithPath(input) {
214
+ const parsed = safeParseUrl(input);
215
+ return parsed ? parsed.hostname + parsed.pathname : input;
216
+ }
100
217
  //# sourceMappingURL=url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,kDAAkD;IAClD,IACE,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;QACxB,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QACvB,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;QAC7B,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EACvB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,UAAU,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IAKrC,YAAY;IACZ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,qBAAqB;YAC5B,UAAU,EAAE,kDAAkD;SAC/D,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAErC,sBAAsB;IACtB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAEnC,2BAA2B;QAC3B,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,sBAAsB,MAAM,CAAC,QAAQ,GAAG;gBAC/C,UAAU,EAAE,2DAA2D;aACxE,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtF,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,wBAAwB,GAAG,sBAAsB;gBACxD,UAAU,EAAE,8DAA8D;aAC3E,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,wBAAwB,GAAG,GAAG;YACrC,UAAU,EAAE,0DAA0D;SACvE,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/utils/url.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { CollectorType } from '../types.js';
2
+ /**
3
+ * Validate that a collector type is valid
4
+ * @throws Error if collector type is invalid
5
+ */
6
+ export declare function validateCollectorType(type: string): asserts type is CollectorType;
7
+ /**
8
+ * Validate an array of collector types
9
+ * @throws Error if any collector type is invalid
10
+ */
11
+ export declare function validateCollectorTypes(types: string[]): asserts types is CollectorType[];
12
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,aAAa,CAMjF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,EAAE,CAIxF"}
@@ -0,0 +1,20 @@
1
+ const VALID_COLLECTORS = ['dom', 'network', 'console'];
2
+ /**
3
+ * Validate that a collector type is valid
4
+ * @throws Error if collector type is invalid
5
+ */
6
+ export function validateCollectorType(type) {
7
+ if (!VALID_COLLECTORS.includes(type)) {
8
+ throw new Error(`Invalid collector type: "${type}". Valid types are: ${VALID_COLLECTORS.join(', ')}`);
9
+ }
10
+ }
11
+ /**
12
+ * Validate an array of collector types
13
+ * @throws Error if any collector type is invalid
14
+ */
15
+ export function validateCollectorTypes(types) {
16
+ for (const type of types) {
17
+ validateCollectorType(type);
18
+ }
19
+ }
20
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAqB,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,uBAAuB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAe;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browser-debugger-cli",
3
- "version": "0.2.0",
3
+ "version": "0.5.1",
4
4
  "description": "DevTools telemetry in your terminal. For humans and agents. Direct WebSocket to Chrome's debugging port.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "scripts": {
10
10
  "build": "tsc && tsc-alias",
11
- "postbuild": "node -e \"require('fs').chmodSync('dist/index.js', 0o755)\"",
11
+ "postbuild": "node -e \"require('fs').chmodSync('dist/index.js', 0o755)\" && node -e \"const fs = require('fs'); const path = require('path'); const src = 'src/__tests__/fixtures'; const dest = 'dist/__tests__/fixtures'; if (fs.existsSync(src)) { fs.mkdirSync(dest, { recursive: true }); fs.readdirSync(src).filter(f => f.endsWith('.json')).forEach(f => fs.copyFileSync(path.join(src, f), path.join(dest, f))); console.log('✅ Copied test fixtures'); }\"",
12
12
  "dev": "tsc && tsc-alias && node dist/index.js",
13
13
  "watch": "concurrently \"npm:watch:tsc\" \"npm:watch:alias\"",
14
14
  "watch:tsc": "tsc --watch",
@@ -29,6 +29,7 @@
29
29
  "check:enhanced": "npm run format:check && npm run type-check && npm run lint && npm run validate:module-type && npm run validate:ts-version",
30
30
  "test": "tsx --test src/**/__tests__/*.test.ts src/**/__tests__/*.contract.test.ts src/__tests__/integration/*.test.ts",
31
31
  "test:watch": "tsx --test --watch src/**/__tests__/*.test.ts src/**/__tests__/*.contract.test.ts src/__tests__/integration/*.test.ts",
32
+ "test:smoke": "tsx --test --test-concurrency=1 src/__tests__/smoke/*.test.ts",
32
33
  "prepublishOnly": "npm run build",
33
34
  "prepare": "husky"
34
35
  },
@@ -84,9 +85,6 @@
84
85
  "bugs": {
85
86
  "url": "https://github.com/szymdzum/browser-debugger-cli/issues"
86
87
  },
87
- "publishConfig": {
88
- "tag": "alpha"
89
- },
90
88
  "files": [
91
89
  "dist",
92
90
  "README.md"
@@ -1,24 +0,0 @@
1
- /**
2
- * CDP Command Contract Tests
3
- *
4
- * Tests the public API behavior of raw CDP command execution WITHOUT testing implementation details.
5
- * Follows the testing philosophy: "Test the contract, not the implementation"
6
- *
7
- * Contract Coverage:
8
- * 1. callCDP() IPC client function (src/ipc/client.ts:298)
9
- * 2. bdg cdp CLI command (src/cli/commands/cdp.ts)
10
- * 3. cdp_call IPC command routing (daemon/worker)
11
- * 4. End-to-end flow: CLI → IPC client → daemon → worker → CDP → response
12
- *
13
- * What we test:
14
- * ✅ Behavior: CDP method execution → result returned
15
- * ✅ Invariants: "CDP calls reach the browser", "Results propagate back correctly"
16
- * ✅ Edge cases: Invalid methods, missing params, CDP errors, timeout
17
- *
18
- * What we DON'T test:
19
- * ❌ How sendCommand() works internally
20
- * ❌ How the daemon routes messages
21
- * ❌ How the worker parses requests
22
- */
23
- export {};
24
- //# sourceMappingURL=cdp.contract.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cdp.contract.test.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/__tests__/cdp.contract.test.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG"}