browser-debugger-cli 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (822) hide show
  1. package/README.md +60 -10
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -59
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +1 -1
  5. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
  6. package/dist/__testutils__/testCleanup.js +1 -1
  7. package/dist/__testutils__/testCleanup.js.map +1 -1
  8. package/dist/cdp/protocol.d.ts +73 -0
  9. package/dist/cdp/protocol.d.ts.map +1 -0
  10. package/dist/cdp/protocol.js +121 -0
  11. package/dist/cdp/protocol.js.map +1 -0
  12. package/dist/cdp/schema.d.ts +159 -0
  13. package/dist/cdp/schema.d.ts.map +1 -0
  14. package/dist/cdp/schema.js +256 -0
  15. package/dist/cdp/schema.js.map +1 -0
  16. package/dist/cdp/types.d.ts +139 -0
  17. package/dist/cdp/types.d.ts.map +1 -0
  18. package/dist/cdp/types.js +7 -0
  19. package/dist/cdp/types.js.map +1 -0
  20. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  21. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  22. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  23. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  24. package/dist/commands/cdp.d.ts +10 -1
  25. package/dist/commands/cdp.d.ts.map +1 -1
  26. package/dist/commands/cdp.js +331 -27
  27. package/dist/commands/cdp.js.map +1 -1
  28. package/dist/commands/cleanup.d.ts.map +1 -1
  29. package/dist/commands/cleanup.js +7 -20
  30. package/dist/commands/cleanup.js.map +1 -1
  31. package/dist/commands/console.d.ts.map +1 -1
  32. package/dist/commands/console.js +3 -8
  33. package/dist/commands/console.js.map +1 -1
  34. package/dist/commands/details.d.ts.map +1 -1
  35. package/dist/commands/details.js +1 -1
  36. package/dist/commands/details.js.map +1 -1
  37. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +9 -19
  38. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  39. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +15 -14
  40. package/dist/commands/dom/evalHelpers.js.map +1 -0
  41. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  42. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  43. package/dist/commands/dom/formFillHelpers.js +185 -0
  44. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  45. package/dist/commands/dom/formInteraction.d.ts +17 -0
  46. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  47. package/dist/commands/dom/formInteraction.js +239 -0
  48. package/dist/commands/dom/formInteraction.js.map +1 -0
  49. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  50. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  51. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  52. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  53. package/dist/commands/dom/helpers.d.ts +34 -0
  54. package/dist/commands/dom/helpers.d.ts.map +1 -0
  55. package/dist/commands/dom/helpers.js +244 -0
  56. package/dist/commands/dom/helpers.js.map +1 -0
  57. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  58. package/dist/commands/dom/index.d.ts.map +1 -0
  59. package/dist/commands/dom/index.js +154 -0
  60. package/dist/commands/dom/index.js.map +1 -0
  61. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  62. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  63. package/dist/commands/dom/reactEventHelpers.js +274 -0
  64. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  65. package/dist/commands/network.js +1 -1
  66. package/dist/commands/network.js.map +1 -1
  67. package/dist/commands/peek.d.ts.map +1 -1
  68. package/dist/commands/peek.js +52 -51
  69. package/dist/commands/peek.js.map +1 -1
  70. package/dist/commands/shared/CommandRunner.d.ts +2 -0
  71. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  72. package/dist/commands/shared/CommandRunner.js +16 -3
  73. package/dist/commands/shared/CommandRunner.js.map +1 -1
  74. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  75. package/dist/commands/shared/commonOptions.js +5 -3
  76. package/dist/commands/shared/commonOptions.js.map +1 -1
  77. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  78. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  79. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  80. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  81. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  82. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  83. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  84. package/dist/commands/shared/startHelpers.js.map +1 -0
  85. package/dist/commands/shared/validation.d.ts +44 -0
  86. package/dist/commands/shared/validation.d.ts.map +1 -0
  87. package/dist/commands/shared/validation.js +68 -0
  88. package/dist/commands/shared/validation.js.map +1 -0
  89. package/dist/commands/start.d.ts.map +1 -1
  90. package/dist/commands/start.js +23 -30
  91. package/dist/commands/start.js.map +1 -1
  92. package/dist/commands/status.d.ts.map +1 -1
  93. package/dist/commands/status.js +8 -6
  94. package/dist/commands/status.js.map +1 -1
  95. package/dist/commands/stop.d.ts.map +1 -1
  96. package/dist/commands/stop.js +7 -18
  97. package/dist/commands/stop.js.map +1 -1
  98. package/dist/commands/tail.d.ts.map +1 -1
  99. package/dist/commands/tail.js +53 -45
  100. package/dist/commands/tail.js.map +1 -1
  101. package/dist/commands/types.d.ts +43 -0
  102. package/dist/commands/types.d.ts.map +1 -0
  103. package/dist/commands/types.js +8 -0
  104. package/dist/commands/types.js.map +1 -0
  105. package/dist/commands.d.ts.map +1 -1
  106. package/dist/commands.js +3 -1
  107. package/dist/commands.js.map +1 -1
  108. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  109. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  110. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  111. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  112. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  113. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  114. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  115. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  116. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  117. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  118. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  119. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  120. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  121. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  122. package/dist/connection/cdp.d.ts +34 -11
  123. package/dist/connection/cdp.d.ts.map +1 -1
  124. package/dist/connection/cdp.js +75 -46
  125. package/dist/connection/cdp.js.map +1 -1
  126. package/dist/connection/config.d.ts +63 -0
  127. package/dist/connection/config.d.ts.map +1 -0
  128. package/dist/connection/config.js +46 -0
  129. package/dist/connection/config.js.map +1 -0
  130. package/dist/connection/errors.d.ts +6 -21
  131. package/dist/connection/errors.d.ts.map +1 -1
  132. package/dist/connection/errors.js +7 -26
  133. package/dist/connection/errors.js.map +1 -1
  134. package/dist/connection/events.d.ts +30 -0
  135. package/dist/connection/events.d.ts.map +1 -0
  136. package/dist/connection/events.js +8 -0
  137. package/dist/connection/events.js.map +1 -0
  138. package/dist/connection/handlers.d.ts +35 -5
  139. package/dist/connection/handlers.d.ts.map +1 -1
  140. package/dist/connection/handlers.js +34 -10
  141. package/dist/connection/handlers.js.map +1 -1
  142. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  143. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  144. package/dist/connection/launcher/binaryResolver.js +78 -0
  145. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  146. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  147. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  148. package/dist/connection/launcher/flagsBuilder.js +84 -0
  149. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  150. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  151. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  152. package/dist/connection/launcher/preferencesLoader.js +89 -0
  153. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  154. package/dist/connection/launcher.d.ts +24 -1
  155. package/dist/connection/launcher.d.ts.map +1 -1
  156. package/dist/connection/launcher.js +38 -201
  157. package/dist/connection/launcher.js.map +1 -1
  158. package/dist/connection/pageReadiness.d.ts +8 -8
  159. package/dist/connection/pageReadiness.d.ts.map +1 -1
  160. package/dist/connection/pageReadiness.js +42 -58
  161. package/dist/connection/pageReadiness.js.map +1 -1
  162. package/dist/connection/portReservation.d.ts +40 -0
  163. package/dist/connection/portReservation.d.ts.map +1 -0
  164. package/dist/connection/portReservation.js +55 -0
  165. package/dist/connection/portReservation.js.map +1 -0
  166. package/dist/connection/typed-cdp.d.ts +145 -0
  167. package/dist/connection/typed-cdp.d.ts.map +1 -0
  168. package/dist/connection/typed-cdp.js +120 -0
  169. package/dist/connection/typed-cdp.js.map +1 -0
  170. package/dist/connection/types.d.ts +103 -0
  171. package/dist/connection/types.d.ts.map +1 -0
  172. package/dist/connection/types.js +8 -0
  173. package/dist/connection/types.js.map +1 -0
  174. package/dist/constants.d.ts +0 -83
  175. package/dist/constants.d.ts.map +1 -1
  176. package/dist/constants.js +0 -83
  177. package/dist/constants.js.map +1 -1
  178. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  179. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  180. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  181. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  182. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  183. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  184. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  185. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  186. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  187. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  188. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  189. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  190. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  191. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  192. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  193. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  194. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  195. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  196. package/dist/daemon/errors.d.ts +65 -0
  197. package/dist/daemon/errors.d.ts.map +1 -0
  198. package/dist/daemon/errors.js +82 -0
  199. package/dist/daemon/errors.js.map +1 -0
  200. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  201. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  202. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  203. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  204. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  205. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  206. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  207. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  208. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  209. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  210. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  211. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  212. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  213. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  214. package/dist/daemon/handlers/pendingRequests.js +57 -0
  215. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  216. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  217. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  218. package/dist/daemon/handlers/requestHandlers.js +61 -0
  219. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  220. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  221. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  222. package/dist/daemon/handlers/responseHandler.js +195 -0
  223. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  224. package/dist/daemon/ipcServer.d.ts +19 -41
  225. package/dist/daemon/ipcServer.d.ts.map +1 -1
  226. package/dist/daemon/ipcServer.js +83 -655
  227. package/dist/daemon/ipcServer.js.map +1 -1
  228. package/dist/daemon/launcher.d.ts.map +1 -1
  229. package/dist/daemon/launcher.js +6 -3
  230. package/dist/daemon/launcher.js.map +1 -1
  231. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  232. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  233. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  234. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  235. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  236. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  237. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  238. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  239. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  240. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  241. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  242. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  243. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  244. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  245. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  246. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  247. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  248. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  249. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  250. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  251. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  252. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  253. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  254. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  255. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  256. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  257. package/dist/daemon/server/JsonlParser.js +57 -0
  258. package/dist/daemon/server/JsonlParser.js.map +1 -0
  259. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  260. package/dist/daemon/server/SocketServer.js +2 -2
  261. package/dist/daemon/server/SocketServer.js.map +1 -1
  262. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  263. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  264. package/dist/daemon/server/WorkerManager.js +10 -19
  265. package/dist/daemon/server/WorkerManager.js.map +1 -1
  266. package/dist/daemon/services/SessionService.d.ts +87 -0
  267. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  268. package/dist/daemon/services/SessionService.js +45 -0
  269. package/dist/daemon/services/SessionService.js.map +1 -0
  270. package/dist/daemon/startSession.d.ts.map +1 -1
  271. package/dist/daemon/startSession.js +54 -31
  272. package/dist/daemon/startSession.js.map +1 -1
  273. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  274. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  275. package/dist/daemon/worker/commandRegistry.js +20 -215
  276. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  277. package/dist/daemon/worker.d.ts +3 -12
  278. package/dist/daemon/worker.d.ts.map +1 -1
  279. package/dist/daemon/worker.js +47 -367
  280. package/dist/daemon/worker.js.map +1 -1
  281. package/dist/index.js +1 -1
  282. package/dist/index.js.map +1 -1
  283. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  284. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  285. package/dist/ipc/__tests__/client.contract.test.js +8 -23
  286. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  287. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  288. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  289. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  290. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  291. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  292. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  293. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  294. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  295. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  296. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  297. package/dist/ipc/__tests__/jsonl.unit.test.js +85 -0
  298. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  299. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  300. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  301. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  302. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  303. package/dist/ipc/client.d.ts +93 -84
  304. package/dist/ipc/client.d.ts.map +1 -1
  305. package/dist/ipc/client.js +121 -192
  306. package/dist/ipc/client.js.map +1 -1
  307. package/dist/ipc/index.d.ts +17 -0
  308. package/dist/ipc/index.d.ts.map +1 -0
  309. package/dist/ipc/index.js +23 -0
  310. package/dist/ipc/index.js.map +1 -0
  311. package/dist/ipc/protocol/commands.d.ts +144 -0
  312. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  313. package/dist/ipc/protocol/commands.js +23 -0
  314. package/dist/ipc/protocol/commands.js.map +1 -0
  315. package/dist/ipc/protocol/guards.d.ts +47 -0
  316. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  317. package/dist/ipc/protocol/guards.js +62 -0
  318. package/dist/ipc/protocol/guards.js.map +1 -0
  319. package/dist/ipc/protocol/index.d.ts +9 -0
  320. package/dist/ipc/protocol/index.d.ts.map +1 -0
  321. package/dist/ipc/protocol/index.js +8 -0
  322. package/dist/ipc/protocol/index.js.map +1 -0
  323. package/dist/ipc/protocol/messages.d.ts +64 -0
  324. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  325. package/dist/ipc/protocol/messages.js +8 -0
  326. package/dist/ipc/protocol/messages.js.map +1 -0
  327. package/dist/ipc/session/errors.d.ts +25 -0
  328. package/dist/ipc/session/errors.d.ts.map +1 -0
  329. package/dist/ipc/{types.js → session/errors.js} +11 -6
  330. package/dist/ipc/session/errors.js.map +1 -0
  331. package/dist/ipc/session/index.d.ts +16 -0
  332. package/dist/ipc/session/index.d.ts.map +1 -0
  333. package/dist/ipc/session/index.js +7 -0
  334. package/dist/ipc/session/index.js.map +1 -0
  335. package/dist/ipc/session/lifecycle.d.ts +125 -0
  336. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  337. package/dist/ipc/session/lifecycle.js +7 -0
  338. package/dist/ipc/session/lifecycle.js.map +1 -0
  339. package/dist/ipc/session/queries.d.ts +94 -0
  340. package/dist/ipc/session/queries.d.ts.map +1 -0
  341. package/dist/ipc/session/queries.js +7 -0
  342. package/dist/ipc/session/queries.js.map +1 -0
  343. package/dist/ipc/session/types.d.ts +28 -0
  344. package/dist/ipc/session/types.d.ts.map +1 -0
  345. package/dist/ipc/session/types.js +7 -0
  346. package/dist/ipc/session/types.js.map +1 -0
  347. package/dist/ipc/transport/IPCError.d.ts +82 -0
  348. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  349. package/dist/ipc/transport/IPCError.js +109 -0
  350. package/dist/ipc/transport/IPCError.js.map +1 -0
  351. package/dist/ipc/transport/errors.d.ts +11 -0
  352. package/dist/ipc/transport/errors.d.ts.map +1 -0
  353. package/dist/ipc/transport/errors.js +28 -0
  354. package/dist/ipc/transport/errors.js.map +1 -0
  355. package/dist/ipc/transport/index.d.ts +16 -0
  356. package/dist/ipc/transport/index.d.ts.map +1 -0
  357. package/dist/ipc/transport/index.js +77 -0
  358. package/dist/ipc/transport/index.js.map +1 -0
  359. package/dist/ipc/transport/jsonl.d.ts +23 -0
  360. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  361. package/dist/ipc/transport/jsonl.js +36 -0
  362. package/dist/ipc/transport/jsonl.js.map +1 -0
  363. package/dist/ipc/transport/socket.d.ts +27 -0
  364. package/dist/ipc/transport/socket.d.ts.map +1 -0
  365. package/dist/ipc/transport/socket.js +49 -0
  366. package/dist/ipc/transport/socket.js.map +1 -0
  367. package/dist/ipc/transport/validation.d.ts +21 -0
  368. package/dist/ipc/transport/validation.d.ts.map +1 -0
  369. package/dist/ipc/transport/validation.js +23 -0
  370. package/dist/ipc/transport/validation.js.map +1 -0
  371. package/dist/ipc/utils/errors.d.ts +25 -0
  372. package/dist/ipc/utils/errors.d.ts.map +1 -0
  373. package/dist/ipc/utils/errors.js +29 -0
  374. package/dist/ipc/utils/errors.js.map +1 -0
  375. package/dist/ipc/utils/index.d.ts +12 -0
  376. package/dist/ipc/utils/index.d.ts.map +1 -0
  377. package/dist/ipc/utils/index.js +11 -0
  378. package/dist/ipc/utils/index.js.map +1 -0
  379. package/dist/ipc/utils/requestId.d.ts +23 -0
  380. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  381. package/dist/ipc/utils/requestId.js +27 -0
  382. package/dist/ipc/utils/requestId.js.map +1 -0
  383. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  384. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  385. package/dist/ipc/utils/responseValidator.js.map +1 -0
  386. package/dist/ipc/utils/session.d.ts +36 -0
  387. package/dist/ipc/utils/session.d.ts.map +1 -0
  388. package/dist/ipc/utils/session.js +37 -0
  389. package/dist/ipc/utils/session.js.map +1 -0
  390. package/dist/ipc/utils/types.d.ts +17 -0
  391. package/dist/ipc/utils/types.d.ts.map +1 -0
  392. package/dist/ipc/utils/types.js +7 -0
  393. package/dist/ipc/utils/types.js.map +1 -0
  394. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  395. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  396. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  397. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  398. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  399. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  400. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  401. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  402. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  403. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  404. package/dist/session/__tests__/lock.contract.test.js +77 -0
  405. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  406. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  407. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  408. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  409. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  410. package/dist/session/chrome.d.ts +20 -0
  411. package/dist/session/chrome.d.ts.map +1 -1
  412. package/dist/session/chrome.js +80 -16
  413. package/dist/session/chrome.js.map +1 -1
  414. package/dist/session/cleanup.d.ts +15 -2
  415. package/dist/session/cleanup.d.ts.map +1 -1
  416. package/dist/session/cleanup.js +100 -72
  417. package/dist/session/cleanup.js.map +1 -1
  418. package/dist/session/lock.d.ts.map +1 -1
  419. package/dist/session/lock.js +101 -90
  420. package/dist/session/lock.js.map +1 -1
  421. package/dist/session/metadata.d.ts +10 -3
  422. package/dist/session/metadata.d.ts.map +1 -1
  423. package/dist/session/metadata.js +24 -6
  424. package/dist/session/metadata.js.map +1 -1
  425. package/dist/session/paths.d.ts +0 -9
  426. package/dist/session/paths.d.ts.map +1 -1
  427. package/dist/session/paths.js +0 -11
  428. package/dist/session/paths.js.map +1 -1
  429. package/dist/session/pid.d.ts +15 -0
  430. package/dist/session/pid.d.ts.map +1 -1
  431. package/dist/session/pid.js +39 -21
  432. package/dist/session/pid.js.map +1 -1
  433. package/dist/session/process.d.ts +4 -41
  434. package/dist/session/process.d.ts.map +1 -1
  435. package/dist/session/process.js +4 -85
  436. package/dist/session/process.js.map +1 -1
  437. package/dist/session/statusData.d.ts +50 -0
  438. package/dist/session/statusData.d.ts.map +1 -0
  439. package/dist/session/statusData.js +51 -0
  440. package/dist/session/statusData.js.map +1 -0
  441. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  442. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  443. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  444. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  445. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  446. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  447. package/dist/telemetry/__tests__/network.contract.test.js +126 -157
  448. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  449. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  450. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  451. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  452. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  453. package/dist/telemetry/console.d.ts.map +1 -1
  454. package/dist/telemetry/console.js +19 -27
  455. package/dist/telemetry/console.js.map +1 -1
  456. package/dist/telemetry/dialogs.d.ts.map +1 -1
  457. package/dist/telemetry/dialogs.js +4 -8
  458. package/dist/telemetry/dialogs.js.map +1 -1
  459. package/dist/telemetry/dom.d.ts.map +1 -1
  460. package/dist/telemetry/dom.js +51 -57
  461. package/dist/telemetry/dom.js.map +1 -1
  462. package/dist/telemetry/filters.d.ts +5 -18
  463. package/dist/telemetry/filters.d.ts.map +1 -1
  464. package/dist/telemetry/filters.js +36 -56
  465. package/dist/telemetry/filters.js.map +1 -1
  466. package/dist/telemetry/navigation.d.ts.map +1 -1
  467. package/dist/telemetry/navigation.js +5 -8
  468. package/dist/telemetry/navigation.js.map +1 -1
  469. package/dist/telemetry/network.d.ts.map +1 -1
  470. package/dist/telemetry/network.js +105 -104
  471. package/dist/telemetry/network.js.map +1 -1
  472. package/dist/telemetry/utils.d.ts +85 -0
  473. package/dist/telemetry/utils.d.ts.map +1 -0
  474. package/dist/telemetry/utils.js +138 -0
  475. package/dist/telemetry/utils.js.map +1 -0
  476. package/dist/types/dom.d.ts +66 -0
  477. package/dist/types/dom.d.ts.map +1 -0
  478. package/dist/types/dom.js +8 -0
  479. package/dist/types/dom.js.map +1 -0
  480. package/dist/types.d.ts +15 -224
  481. package/dist/types.d.ts.map +1 -1
  482. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  483. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  484. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  485. package/dist/ui/OutputBuilder.js.map +1 -0
  486. package/dist/ui/errors/CommandError.d.ts +16 -2
  487. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  488. package/dist/ui/errors/CommandError.js +2 -1
  489. package/dist/ui/errors/CommandError.js.map +1 -1
  490. package/dist/ui/errors/index.d.ts +2 -3
  491. package/dist/ui/errors/index.d.ts.map +1 -1
  492. package/dist/ui/errors/index.js +1 -3
  493. package/dist/ui/errors/index.js.map +1 -1
  494. package/dist/ui/errors/utils.d.ts +6 -0
  495. package/dist/ui/errors/utils.d.ts.map +1 -1
  496. package/dist/ui/errors/utils.js +8 -3
  497. package/dist/ui/errors/utils.js.map +1 -1
  498. package/dist/ui/formatters/dom.d.ts +3 -18
  499. package/dist/ui/formatters/dom.d.ts.map +1 -1
  500. package/dist/ui/formatters/dom.js +4 -27
  501. package/dist/ui/formatters/dom.js.map +1 -1
  502. package/dist/ui/formatters/preview.d.ts +8 -8
  503. package/dist/ui/formatters/preview.d.ts.map +1 -1
  504. package/dist/ui/formatters/preview.js +18 -13
  505. package/dist/ui/formatters/preview.js.map +1 -1
  506. package/dist/ui/formatters/status.d.ts +1 -1
  507. package/dist/ui/formatters/status.d.ts.map +1 -1
  508. package/dist/ui/formatters/status.js +8 -30
  509. package/dist/ui/formatters/status.js.map +1 -1
  510. package/dist/ui/formatting.d.ts +2 -270
  511. package/dist/ui/formatting.d.ts.map +1 -1
  512. package/dist/ui/formatting.js +8 -331
  513. package/dist/ui/formatting.js.map +1 -1
  514. package/dist/ui/logging/index.d.ts +1 -1
  515. package/dist/ui/logging/index.d.ts.map +1 -1
  516. package/dist/ui/logging/index.js +1 -1
  517. package/dist/ui/logging/index.js.map +1 -1
  518. package/dist/ui/logging/logger.d.ts +3 -23
  519. package/dist/ui/logging/logger.d.ts.map +1 -1
  520. package/dist/ui/logging/logger.js +2 -27
  521. package/dist/ui/logging/logger.js.map +1 -1
  522. package/dist/ui/messages/chrome.d.ts +15 -7
  523. package/dist/ui/messages/chrome.d.ts.map +1 -1
  524. package/dist/ui/messages/chrome.js +23 -32
  525. package/dist/ui/messages/chrome.js.map +1 -1
  526. package/dist/ui/messages/commands.d.ts +2 -18
  527. package/dist/ui/messages/commands.d.ts.map +1 -1
  528. package/dist/ui/messages/commands.js +5 -50
  529. package/dist/ui/messages/commands.js.map +1 -1
  530. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  531. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  532. package/dist/ui/messages/consoleMessages.js +3 -6
  533. package/dist/ui/messages/consoleMessages.js.map +1 -1
  534. package/dist/ui/messages/debug.d.ts +0 -14
  535. package/dist/ui/messages/debug.d.ts.map +1 -1
  536. package/dist/ui/messages/debug.js +0 -18
  537. package/dist/ui/messages/debug.js.map +1 -1
  538. package/dist/ui/messages/errors.d.ts +27 -34
  539. package/dist/ui/messages/errors.d.ts.map +1 -1
  540. package/dist/ui/messages/errors.js +17 -67
  541. package/dist/ui/messages/errors.js.map +1 -1
  542. package/dist/ui/messages/internal.d.ts +0 -7
  543. package/dist/ui/messages/internal.d.ts.map +1 -1
  544. package/dist/ui/messages/internal.js +0 -12
  545. package/dist/ui/messages/internal.js.map +1 -1
  546. package/dist/ui/messages/preview.d.ts +14 -1
  547. package/dist/ui/messages/preview.d.ts.map +1 -1
  548. package/dist/ui/messages/preview.js +24 -7
  549. package/dist/ui/messages/preview.js.map +1 -1
  550. package/dist/ui/messages/session.d.ts.map +1 -1
  551. package/dist/ui/messages/session.js +11 -26
  552. package/dist/ui/messages/session.js.map +1 -1
  553. package/dist/ui/messages/validation.d.ts +22 -4
  554. package/dist/ui/messages/validation.d.ts.map +1 -1
  555. package/dist/ui/messages/validation.js +25 -5
  556. package/dist/ui/messages/validation.js.map +1 -1
  557. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  558. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  559. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  560. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  561. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  562. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  563. package/dist/utils/__tests__/objects.test.js +50 -0
  564. package/dist/utils/__tests__/objects.test.js.map +1 -0
  565. package/dist/utils/__tests__/session.contract.test.js +13 -3
  566. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  567. package/dist/utils/__tests__/url.test.d.ts +2 -0
  568. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  569. package/dist/utils/__tests__/url.test.js +42 -0
  570. package/dist/utils/__tests__/url.test.js.map +1 -0
  571. package/dist/utils/atomicFile.d.ts +31 -5
  572. package/dist/utils/atomicFile.d.ts.map +1 -1
  573. package/dist/utils/atomicFile.js +52 -13
  574. package/dist/utils/atomicFile.js.map +1 -1
  575. package/dist/utils/concurrency.d.ts +54 -0
  576. package/dist/utils/concurrency.d.ts.map +1 -0
  577. package/dist/utils/concurrency.js +78 -0
  578. package/dist/utils/concurrency.js.map +1 -0
  579. package/dist/utils/daemonErrors.d.ts +60 -0
  580. package/dist/utils/daemonErrors.d.ts.map +1 -0
  581. package/dist/utils/daemonErrors.js +58 -0
  582. package/dist/utils/daemonErrors.js.map +1 -0
  583. package/dist/utils/errors.d.ts +3 -57
  584. package/dist/utils/errors.d.ts.map +1 -1
  585. package/dist/utils/errors.js +3 -58
  586. package/dist/utils/errors.js.map +1 -1
  587. package/dist/utils/exitCodes.d.ts +41 -5
  588. package/dist/utils/exitCodes.d.ts.map +1 -1
  589. package/dist/utils/exitCodes.js +43 -9
  590. package/dist/utils/exitCodes.js.map +1 -1
  591. package/dist/utils/http.d.ts +9 -4
  592. package/dist/utils/http.d.ts.map +1 -1
  593. package/dist/utils/http.js +44 -10
  594. package/dist/utils/http.js.map +1 -1
  595. package/dist/utils/levenshtein.d.ts +45 -0
  596. package/dist/utils/levenshtein.d.ts.map +1 -0
  597. package/dist/utils/levenshtein.js +85 -0
  598. package/dist/utils/levenshtein.js.map +1 -0
  599. package/dist/utils/objects.d.ts +16 -1
  600. package/dist/utils/objects.d.ts.map +1 -1
  601. package/dist/utils/objects.js +16 -1
  602. package/dist/utils/objects.js.map +1 -1
  603. package/dist/utils/process.d.ts +45 -0
  604. package/dist/utils/process.d.ts.map +1 -0
  605. package/dist/utils/process.js +91 -0
  606. package/dist/utils/process.js.map +1 -0
  607. package/dist/utils/url.d.ts +10 -3
  608. package/dist/utils/url.d.ts.map +1 -1
  609. package/dist/utils/url.js +42 -29
  610. package/dist/utils/url.js.map +1 -1
  611. package/dist/utils/validation.d.ts +96 -7
  612. package/dist/utils/validation.d.ts.map +1 -1
  613. package/dist/utils/validation.js +122 -11
  614. package/dist/utils/validation.js.map +1 -1
  615. package/package.json +2 -1
  616. package/dist/cli/commands/__tests__/start.unit.test.d.ts +0 -2
  617. package/dist/cli/commands/__tests__/start.unit.test.d.ts.map +0 -1
  618. package/dist/cli/commands/__tests__/start.unit.test.js +0 -131
  619. package/dist/cli/commands/__tests__/start.unit.test.js.map +0 -1
  620. package/dist/cli/commands/cleanup.d.ts +0 -9
  621. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  622. package/dist/cli/commands/cleanup.js +0 -148
  623. package/dist/cli/commands/cleanup.js.map +0 -1
  624. package/dist/cli/commands/details.d.ts +0 -9
  625. package/dist/cli/commands/details.d.ts.map +0 -1
  626. package/dist/cli/commands/details.js +0 -120
  627. package/dist/cli/commands/details.js.map +0 -1
  628. package/dist/cli/commands/peek.d.ts +0 -9
  629. package/dist/cli/commands/peek.d.ts.map +0 -1
  630. package/dist/cli/commands/peek.js +0 -64
  631. package/dist/cli/commands/peek.js.map +0 -1
  632. package/dist/cli/commands/query.d.ts +0 -9
  633. package/dist/cli/commands/query.d.ts.map +0 -1
  634. package/dist/cli/commands/query.js +0 -125
  635. package/dist/cli/commands/query.js.map +0 -1
  636. package/dist/cli/commands/start.d.ts +0 -83
  637. package/dist/cli/commands/start.d.ts.map +0 -1
  638. package/dist/cli/commands/start.js +0 -204
  639. package/dist/cli/commands/start.js.map +0 -1
  640. package/dist/cli/commands/status.d.ts +0 -9
  641. package/dist/cli/commands/status.d.ts.map +0 -1
  642. package/dist/cli/commands/status.js +0 -75
  643. package/dist/cli/commands/status.js.map +0 -1
  644. package/dist/cli/commands/stop.d.ts +0 -9
  645. package/dist/cli/commands/stop.d.ts.map +0 -1
  646. package/dist/cli/commands/stop.js +0 -133
  647. package/dist/cli/commands/stop.js.map +0 -1
  648. package/dist/cli/formatters/detailsFormatter.d.ts +0 -10
  649. package/dist/cli/formatters/detailsFormatter.d.ts.map +0 -1
  650. package/dist/cli/formatters/detailsFormatter.js +0 -63
  651. package/dist/cli/formatters/detailsFormatter.js.map +0 -1
  652. package/dist/cli/formatters/previewFormatter.d.ts +0 -27
  653. package/dist/cli/formatters/previewFormatter.d.ts.map +0 -1
  654. package/dist/cli/formatters/previewFormatter.js +0 -155
  655. package/dist/cli/formatters/previewFormatter.js.map +0 -1
  656. package/dist/cli/formatters/statusFormatter.d.ts +0 -42
  657. package/dist/cli/formatters/statusFormatter.d.ts.map +0 -1
  658. package/dist/cli/formatters/statusFormatter.js +0 -126
  659. package/dist/cli/formatters/statusFormatter.js.map +0 -1
  660. package/dist/cli/handlers/ChromeBootstrap.d.ts +0 -24
  661. package/dist/cli/handlers/ChromeBootstrap.d.ts.map +0 -1
  662. package/dist/cli/handlers/ChromeBootstrap.js +0 -50
  663. package/dist/cli/handlers/ChromeBootstrap.js.map +0 -1
  664. package/dist/cli/handlers/OutputBuilder.d.ts +0 -59
  665. package/dist/cli/handlers/OutputBuilder.d.ts.map +0 -1
  666. package/dist/cli/handlers/OutputBuilder.js +0 -136
  667. package/dist/cli/handlers/OutputBuilder.js.map +0 -1
  668. package/dist/cli/handlers/OutputWriter.d.ts +0 -15
  669. package/dist/cli/handlers/OutputWriter.d.ts.map +0 -1
  670. package/dist/cli/handlers/OutputWriter.js +0 -34
  671. package/dist/cli/handlers/OutputWriter.js.map +0 -1
  672. package/dist/cli/handlers/PreviewWriter.d.ts +0 -52
  673. package/dist/cli/handlers/PreviewWriter.d.ts.map +0 -1
  674. package/dist/cli/handlers/PreviewWriter.js +0 -118
  675. package/dist/cli/handlers/PreviewWriter.js.map +0 -1
  676. package/dist/cli/handlers/SessionLock.d.ts +0 -16
  677. package/dist/cli/handlers/SessionLock.d.ts.map +0 -1
  678. package/dist/cli/handlers/SessionLock.js +0 -35
  679. package/dist/cli/handlers/SessionLock.js.map +0 -1
  680. package/dist/cli/handlers/SessionLoop.d.ts +0 -19
  681. package/dist/cli/handlers/SessionLoop.d.ts.map +0 -1
  682. package/dist/cli/handlers/SessionLoop.js +0 -47
  683. package/dist/cli/handlers/SessionLoop.js.map +0 -1
  684. package/dist/cli/handlers/ShutdownController.d.ts +0 -41
  685. package/dist/cli/handlers/ShutdownController.d.ts.map +0 -1
  686. package/dist/cli/handlers/ShutdownController.js +0 -94
  687. package/dist/cli/handlers/ShutdownController.js.map +0 -1
  688. package/dist/cli/handlers/SignalHandler.d.ts +0 -35
  689. package/dist/cli/handlers/SignalHandler.d.ts.map +0 -1
  690. package/dist/cli/handlers/SignalHandler.js +0 -81
  691. package/dist/cli/handlers/SignalHandler.js.map +0 -1
  692. package/dist/cli/handlers/TargetSetup.d.ts +0 -42
  693. package/dist/cli/handlers/TargetSetup.d.ts.map +0 -1
  694. package/dist/cli/handlers/TargetSetup.js +0 -87
  695. package/dist/cli/handlers/TargetSetup.js.map +0 -1
  696. package/dist/cli/handlers/sessionController.d.ts +0 -62
  697. package/dist/cli/handlers/sessionController.d.ts.map +0 -1
  698. package/dist/cli/handlers/sessionController.js +0 -316
  699. package/dist/cli/handlers/sessionController.js.map +0 -1
  700. package/dist/cli/registry.d.ts +0 -11
  701. package/dist/cli/registry.d.ts.map +0 -1
  702. package/dist/cli/registry.js +0 -21
  703. package/dist/cli/registry.js.map +0 -1
  704. package/dist/collectors/console.d.ts +0 -19
  705. package/dist/collectors/console.d.ts.map +0 -1
  706. package/dist/collectors/console.js +0 -87
  707. package/dist/collectors/console.js.map +0 -1
  708. package/dist/collectors/dom.d.ts +0 -21
  709. package/dist/collectors/dom.d.ts.map +0 -1
  710. package/dist/collectors/dom.js +0 -99
  711. package/dist/collectors/dom.js.map +0 -1
  712. package/dist/collectors/network.d.ts +0 -32
  713. package/dist/collectors/network.d.ts.map +0 -1
  714. package/dist/collectors/network.js +0 -191
  715. package/dist/collectors/network.js.map +0 -1
  716. package/dist/commands/dom.d.ts.map +0 -1
  717. package/dist/commands/dom.js +0 -243
  718. package/dist/commands/dom.js.map +0 -1
  719. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  720. package/dist/commands/domEvalHelpers.js.map +0 -1
  721. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  722. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  723. package/dist/commands/domOptionsBuilder.js +0 -86
  724. package/dist/commands/domOptionsBuilder.js.map +0 -1
  725. package/dist/commands/domSelectorParser.d.ts +0 -20
  726. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  727. package/dist/commands/domSelectorParser.js +0 -20
  728. package/dist/commands/domSelectorParser.js.map +0 -1
  729. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  730. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  731. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  732. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  733. package/dist/commands/shared/sessionController.d.ts +0 -21
  734. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  735. package/dist/commands/shared/sessionController.js +0 -54
  736. package/dist/commands/shared/sessionController.js.map +0 -1
  737. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  738. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  739. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  740. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  741. package/dist/connection/domOperations.d.ts +0 -48
  742. package/dist/connection/domOperations.d.ts.map +0 -1
  743. package/dist/connection/domOperations.js +0 -104
  744. package/dist/connection/domOperations.js.map +0 -1
  745. package/dist/connection/finder.d.ts +0 -12
  746. package/dist/connection/finder.d.ts.map +0 -1
  747. package/dist/connection/finder.js +0 -17
  748. package/dist/connection/finder.js.map +0 -1
  749. package/dist/connection/tabs.d.ts +0 -52
  750. package/dist/connection/tabs.d.ts.map +0 -1
  751. package/dist/connection/tabs.js +0 -227
  752. package/dist/connection/tabs.js.map +0 -1
  753. package/dist/help/machineReadableHelp.d.ts +0 -100
  754. package/dist/help/machineReadableHelp.d.ts.map +0 -1
  755. package/dist/help/machineReadableHelp.js +0 -139
  756. package/dist/help/machineReadableHelp.js.map +0 -1
  757. package/dist/ipc/commands.d.ts +0 -260
  758. package/dist/ipc/commands.d.ts.map +0 -1
  759. package/dist/ipc/commands.js +0 -77
  760. package/dist/ipc/commands.js.map +0 -1
  761. package/dist/ipc/responseValidator.d.ts.map +0 -1
  762. package/dist/ipc/responseValidator.js.map +0 -1
  763. package/dist/ipc/types.d.ts +0 -226
  764. package/dist/ipc/types.d.ts.map +0 -1
  765. package/dist/ipc/types.js.map +0 -1
  766. package/dist/session/BdgSession.d.ts +0 -91
  767. package/dist/session/BdgSession.d.ts.map +0 -1
  768. package/dist/session/BdgSession.js +0 -230
  769. package/dist/session/BdgSession.js.map +0 -1
  770. package/dist/session/fileOps.d.ts +0 -25
  771. package/dist/session/fileOps.d.ts.map +0 -1
  772. package/dist/session/fileOps.js +0 -39
  773. package/dist/session/fileOps.js.map +0 -1
  774. package/dist/session/queryCache.d.ts +0 -36
  775. package/dist/session/queryCache.d.ts.map +0 -1
  776. package/dist/session/queryCache.js +0 -66
  777. package/dist/session/queryCache.js.map +0 -1
  778. package/dist/ui/errors/SystemErrors.d.ts +0 -22
  779. package/dist/ui/errors/SystemErrors.d.ts.map +0 -1
  780. package/dist/ui/errors/SystemErrors.js +0 -23
  781. package/dist/ui/errors/SystemErrors.js.map +0 -1
  782. package/dist/ui/errors.d.ts +0 -39
  783. package/dist/ui/errors.d.ts.map +0 -1
  784. package/dist/ui/errors.js +0 -48
  785. package/dist/ui/errors.js.map +0 -1
  786. package/dist/ui/messages/deprecation.d.ts +0 -30
  787. package/dist/ui/messages/deprecation.d.ts.map +0 -1
  788. package/dist/ui/messages/deprecation.js +0 -49
  789. package/dist/ui/messages/deprecation.js.map +0 -1
  790. package/dist/ui/messages/index.d.ts +0 -12
  791. package/dist/ui/messages/index.d.ts.map +0 -1
  792. package/dist/ui/messages/index.js +0 -12
  793. package/dist/ui/messages/index.js.map +0 -1
  794. package/dist/utils/__tests__/filters.unit.test.d.ts +0 -2
  795. package/dist/utils/__tests__/filters.unit.test.d.ts.map +0 -1
  796. package/dist/utils/__tests__/filters.unit.test.js +0 -239
  797. package/dist/utils/__tests__/filters.unit.test.js.map +0 -1
  798. package/dist/utils/cdpHandlers.d.ts +0 -31
  799. package/dist/utils/cdpHandlers.d.ts.map +0 -1
  800. package/dist/utils/cdpHandlers.js +0 -38
  801. package/dist/utils/cdpHandlers.js.map +0 -1
  802. package/dist/utils/chromeDiagnostics.d.ts +0 -16
  803. package/dist/utils/chromeDiagnostics.d.ts.map +0 -1
  804. package/dist/utils/chromeDiagnostics.js +0 -37
  805. package/dist/utils/chromeDiagnostics.js.map +0 -1
  806. package/dist/utils/filters.d.ts +0 -148
  807. package/dist/utils/filters.d.ts.map +0 -1
  808. package/dist/utils/filters.js +0 -358
  809. package/dist/utils/filters.js.map +0 -1
  810. package/dist/utils/logger.d.ts +0 -98
  811. package/dist/utils/logger.d.ts.map +0 -1
  812. package/dist/utils/logger.js +0 -93
  813. package/dist/utils/logger.js.map +0 -1
  814. package/dist/utils/pageReadiness.d.ts +0 -46
  815. package/dist/utils/pageReadiness.d.ts.map +0 -1
  816. package/dist/utils/pageReadiness.js +0 -270
  817. package/dist/utils/pageReadiness.js.map +0 -1
  818. package/dist/utils/session.d.ts +0 -200
  819. package/dist/utils/session.d.ts.map +0 -1
  820. package/dist/utils/session.js +0 -498
  821. package/dist/utils/session.js.map +0 -1
  822. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -1,14 +1,14 @@
1
- import { readSessionMetadata } from '../session/metadata.js';
2
- import { readPid } from '../session/pid.js';
3
- import { isProcessAlive } from '../session/process.js';
4
- import { CommandError } from '../ui/errors/index.js';
5
- import { invalidCDPResponseError } from '../ui/messages/errors.js';
6
- import { EXIT_CODES } from '../utils/exitCodes.js';
1
+ import { readSessionMetadata } from '../../session/metadata.js';
2
+ import { readPid } from '../../session/pid.js';
3
+ import { isProcessAlive } from '../../session/process.js';
4
+ import { CommandError } from '../../ui/errors/index.js';
5
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
6
+ import { fetchCDPTargetById } from '../../utils/http.js';
7
7
  /**
8
8
  * Type guard to validate CDP Runtime.evaluate response structure
9
9
  *
10
10
  * @param value - Value to check
11
- * @returns True if value is a valid RuntimeEvaluateResult
11
+ * @returns True if value is a valid Protocol.Runtime.EvaluateResponse
12
12
  */
13
13
  function isRuntimeEvaluateResult(value) {
14
14
  if (typeof value !== 'object' || value === null) {
@@ -75,17 +75,18 @@ export function getValidatedSessionMetadata() {
75
75
  /**
76
76
  * Verify that the CDP target still exists
77
77
  *
78
+ * Uses the centralized fetchCDPTargetById utility which includes timeout
79
+ * safeguards and consistent error handling.
80
+ *
78
81
  * @param metadata - Session metadata containing targetId
79
82
  * @param port - CDP port number
80
- * @throws Error When CDP response is invalid or target not found
83
+ * @throws CommandError When target not found (tab may have been closed)
81
84
  */
82
85
  export async function verifyTargetExists(metadata, port) {
83
- const response = await fetch(`http://127.0.0.1:${port}/json/list`);
84
- const targetsData = await response.json();
85
- if (!Array.isArray(targetsData)) {
86
- throw new Error(invalidCDPResponseError());
86
+ if (!metadata.targetId) {
87
+ throw new CommandError('Session metadata missing targetId', { suggestion: 'Start a new session with: bdg <url>' }, EXIT_CODES.RESOURCE_NOT_FOUND);
87
88
  }
88
- const target = targetsData.find((t) => t.id === metadata.targetId);
89
+ const target = await fetchCDPTargetById(metadata.targetId, port);
89
90
  if (!target) {
90
91
  throw new CommandError('Session target not found (tab may have been closed)', { suggestion: 'Start a new session with: bdg <url>' }, EXIT_CODES.RESOURCE_NOT_FOUND);
91
92
  }
@@ -118,4 +119,4 @@ export async function executeScript(cdp, script) {
118
119
  }
119
120
  return response;
120
121
  }
121
- //# sourceMappingURL=domEvalHelpers.js.map
122
+ //# sourceMappingURL=evalHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evalHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/evalHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Form interaction helpers for filling inputs, clicking buttons, etc.
3
+ */
4
+ import type { CDPConnection } from '../../connection/cdp.js';
5
+ import { type FillOptions, type FillResult, type ClickResult } from './reactEventHelpers.js';
6
+ /**
7
+ * Fill a form element with a value in a React-compatible way.
8
+ *
9
+ * @param cdp - CDP connection
10
+ * @param selector - CSS selector for the element
11
+ * @param value - Value to fill
12
+ * @param options - Fill options
13
+ * @returns Promise resolving to fill result
14
+ *
15
+ * @throws CommandError When element operations fail
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const result = await fillElement(cdp, 'input[name="email"]', 'test@example.com');
20
+ * if (result.success) {
21
+ * console.log(`Filled ${result.elementType} with value: ${result.value}`);
22
+ * }
23
+ * ```
24
+ */
25
+ export declare function fillElement(cdp: CDPConnection, selector: string, value: string, options?: FillOptions): Promise<FillResult>;
26
+ /**
27
+ * Click an element.
28
+ *
29
+ * @param cdp - CDP connection
30
+ * @param selector - CSS selector for the element
31
+ * @param options - Click options
32
+ * @returns Promise resolving to click result
33
+ *
34
+ * @throws CommandError When element operations fail
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const result = await clickElement(cdp, 'button[type="submit"]');
39
+ * if (result.success) {
40
+ * console.log(`Clicked ${result.elementType}`);
41
+ * }
42
+ * ```
43
+ */
44
+ export declare function clickElement(cdp: CDPConnection, selector: string, options?: {
45
+ index?: number;
46
+ }): Promise<ClickResult>;
47
+ //# sourceMappingURL=formFillHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formFillHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CA+DrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CA8DtB"}
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Form interaction helpers for filling inputs, clicking buttons, etc.
3
+ */
4
+ import { CommandError } from '../../ui/errors/index.js';
5
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
6
+ import { REACT_FILL_SCRIPT, CLICK_ELEMENT_SCRIPT, GET_ELEMENT_BY_INDEX_SCRIPT, } from './reactEventHelpers.js';
7
+ /**
8
+ * Fill a form element with a value in a React-compatible way.
9
+ *
10
+ * @param cdp - CDP connection
11
+ * @param selector - CSS selector for the element
12
+ * @param value - Value to fill
13
+ * @param options - Fill options
14
+ * @returns Promise resolving to fill result
15
+ *
16
+ * @throws CommandError When element operations fail
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const result = await fillElement(cdp, 'input[name="email"]', 'test@example.com');
21
+ * if (result.success) {
22
+ * console.log(`Filled ${result.elementType} with value: ${result.value}`);
23
+ * }
24
+ * ```
25
+ */
26
+ export async function fillElement(cdp, selector, value, options = {}) {
27
+ let targetSelector = selector;
28
+ // If index is specified, resolve it to a unique selector first
29
+ if (options.index !== undefined) {
30
+ const indexResult = await getElementByIndex(cdp, selector, options.index);
31
+ if (!indexResult.success) {
32
+ return indexResult;
33
+ }
34
+ if (!indexResult.uniqueSelector) {
35
+ throw new CommandError('Failed to resolve unique selector for element index', { note: 'Element index resolution returned no unique selector' }, EXIT_CODES.SOFTWARE_ERROR);
36
+ }
37
+ targetSelector = indexResult.uniqueSelector;
38
+ }
39
+ // Execute the fill script
40
+ const expression = `(${REACT_FILL_SCRIPT})('${escapeSelectorForJS(targetSelector)}', '${escapeValueForJS(value)}', ${JSON.stringify({ blur: options.blur ?? true })})`;
41
+ try {
42
+ const response = await cdp.send('Runtime.evaluate', {
43
+ expression,
44
+ returnByValue: true,
45
+ userGesture: true, // Treat as user-initiated action
46
+ });
47
+ // Type guard for CDP response
48
+ const cdpResponse = response;
49
+ if (cdpResponse.exceptionDetails) {
50
+ throw new CommandError('Script execution failed', { note: cdpResponse.exceptionDetails.text ?? 'Unknown error' }, EXIT_CODES.SOFTWARE_ERROR);
51
+ }
52
+ if (cdpResponse.result?.value) {
53
+ return cdpResponse.result.value;
54
+ }
55
+ throw new CommandError('Unexpected response format', { note: 'CDP response missing result.value' }, EXIT_CODES.SOFTWARE_ERROR);
56
+ }
57
+ catch (error) {
58
+ if (error instanceof CommandError) {
59
+ throw error;
60
+ }
61
+ const errorMessage = error instanceof Error ? error.message : String(error);
62
+ throw new CommandError('Failed to fill element', { note: errorMessage }, EXIT_CODES.SOFTWARE_ERROR);
63
+ }
64
+ }
65
+ /**
66
+ * Click an element.
67
+ *
68
+ * @param cdp - CDP connection
69
+ * @param selector - CSS selector for the element
70
+ * @param options - Click options
71
+ * @returns Promise resolving to click result
72
+ *
73
+ * @throws CommandError When element operations fail
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const result = await clickElement(cdp, 'button[type="submit"]');
78
+ * if (result.success) {
79
+ * console.log(`Clicked ${result.elementType}`);
80
+ * }
81
+ * ```
82
+ */
83
+ export async function clickElement(cdp, selector, options = {}) {
84
+ let targetSelector = selector;
85
+ // If index is specified, resolve it to a unique selector first
86
+ if (options.index !== undefined) {
87
+ const indexResult = await getElementByIndex(cdp, selector, options.index);
88
+ if (!indexResult.success) {
89
+ return indexResult;
90
+ }
91
+ if (!indexResult.uniqueSelector) {
92
+ throw new CommandError('Failed to resolve unique selector for element index', { note: 'Element index resolution returned no unique selector' }, EXIT_CODES.SOFTWARE_ERROR);
93
+ }
94
+ targetSelector = indexResult.uniqueSelector;
95
+ }
96
+ // Execute the click script
97
+ const expression = `(${CLICK_ELEMENT_SCRIPT})('${escapeSelectorForJS(targetSelector)}')`;
98
+ try {
99
+ const response = await cdp.send('Runtime.evaluate', {
100
+ expression,
101
+ returnByValue: true,
102
+ userGesture: true,
103
+ });
104
+ const cdpResponse = response;
105
+ if (cdpResponse.exceptionDetails) {
106
+ throw new CommandError('Script execution failed', { note: cdpResponse.exceptionDetails.text ?? 'Unknown error' }, EXIT_CODES.SOFTWARE_ERROR);
107
+ }
108
+ if (cdpResponse.result?.value) {
109
+ return cdpResponse.result.value;
110
+ }
111
+ throw new CommandError('Unexpected response format', { note: 'CDP response missing result.value' }, EXIT_CODES.SOFTWARE_ERROR);
112
+ }
113
+ catch (error) {
114
+ if (error instanceof CommandError) {
115
+ throw error;
116
+ }
117
+ const errorMessage = error instanceof Error ? error.message : String(error);
118
+ throw new CommandError('Failed to click element', { note: errorMessage }, EXIT_CODES.SOFTWARE_ERROR);
119
+ }
120
+ }
121
+ /**
122
+ * Get element by index when selector matches multiple elements.
123
+ *
124
+ * @param cdp - CDP connection
125
+ * @param selector - CSS selector
126
+ * @param index - Element index (1-based)
127
+ * @returns Promise resolving to element info
128
+ *
129
+ * @throws CommandError When element operations fail
130
+ *
131
+ * @internal
132
+ */
133
+ async function getElementByIndex(cdp, selector, index) {
134
+ const expression = `(${GET_ELEMENT_BY_INDEX_SCRIPT})('${escapeSelectorForJS(selector)}', ${index})`;
135
+ try {
136
+ const response = await cdp.send('Runtime.evaluate', {
137
+ expression,
138
+ returnByValue: true,
139
+ });
140
+ const cdpResponse = response;
141
+ if (cdpResponse.exceptionDetails) {
142
+ throw new CommandError('Script execution failed', { note: cdpResponse.exceptionDetails.text ?? 'Unknown error' }, EXIT_CODES.SOFTWARE_ERROR);
143
+ }
144
+ if (cdpResponse.result?.value) {
145
+ return cdpResponse.result.value;
146
+ }
147
+ throw new CommandError('Unexpected response format', { note: 'CDP response missing result.value' }, EXIT_CODES.SOFTWARE_ERROR);
148
+ }
149
+ catch (error) {
150
+ if (error instanceof CommandError) {
151
+ throw error;
152
+ }
153
+ const errorMessage = error instanceof Error ? error.message : String(error);
154
+ throw new CommandError('Failed to get element by index', { note: errorMessage }, EXIT_CODES.SOFTWARE_ERROR);
155
+ }
156
+ }
157
+ /**
158
+ * Escape CSS selector for safe inclusion in JavaScript string.
159
+ * Uses JSON.stringify to handle all special characters safely.
160
+ *
161
+ * @param selector - CSS selector to escape
162
+ * @returns Escaped selector (without surrounding quotes)
163
+ *
164
+ * @internal
165
+ */
166
+ function escapeSelectorForJS(selector) {
167
+ // JSON.stringify handles all escaping (backslashes, quotes, newlines, control chars)
168
+ // Remove surrounding quotes since we add them in the template
169
+ return JSON.stringify(selector).slice(1, -1);
170
+ }
171
+ /**
172
+ * Escape value for safe inclusion in JavaScript string.
173
+ * Uses JSON.stringify to handle all special characters safely.
174
+ *
175
+ * @param value - Value to escape
176
+ * @returns Escaped value (without surrounding quotes)
177
+ *
178
+ * @internal
179
+ */
180
+ function escapeValueForJS(value) {
181
+ // JSON.stringify handles all escaping (backslashes, quotes, newlines, control chars)
182
+ // Remove surrounding quotes since we add them in the template
183
+ return JSON.stringify(value).slice(1, -1);
184
+ }
185
+ //# sourceMappingURL=formFillHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formFillHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/formFillHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Form interaction commands for filling inputs, clicking buttons, and submitting forms.
3
+ */
4
+ import type { Command } from 'commander';
5
+ /**
6
+ * Register form interaction commands.
7
+ *
8
+ * @param program - Commander program instance
9
+ *
10
+ * @remarks
11
+ * Registers the following commands:
12
+ * - `bdg dom fill <selector> <value>` - Fill form fields
13
+ * - `bdg dom click <selector>` - Click elements
14
+ * - `bdg dom submit <selector>` - Submit forms with smart waiting
15
+ */
16
+ export declare function registerFormInteractionCommands(program: Command): void;
17
+ //# sourceMappingURL=formInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formInteraction.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEzC;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmItE"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Form interaction commands for filling inputs, clicking buttons, and submitting forms.
3
+ */
4
+ import { fillElement, clickElement } from '../../commands/dom/formFillHelpers.js';
5
+ import { submitForm } from '../../commands/dom/formSubmitHelpers.js';
6
+ import { runCommand } from '../../commands/shared/CommandRunner.js';
7
+ import { jsonOption } from '../../commands/shared/commonOptions.js';
8
+ import { CommandError } from '../../ui/errors/index.js';
9
+ import { OutputFormatter } from '../../ui/formatting.js';
10
+ import { EXIT_CODES } from '../../utils/exitCodes.js';
11
+ import { filterDefined } from '../../utils/objects.js';
12
+ /**
13
+ * Execute a function with an active CDP connection.
14
+ *
15
+ * Handles the full connection lifecycle:
16
+ * 1. Validates active session
17
+ * 2. Gets session metadata
18
+ * 3. Verifies target exists
19
+ * 4. Creates and connects CDP
20
+ * 5. Executes callback
21
+ * 6. Closes CDP connection (even on error)
22
+ *
23
+ * @param fn - Callback to execute with CDP connection
24
+ * @returns Result from callback
25
+ * @throws Error if session validation or connection fails
26
+ *
27
+ * @internal
28
+ */
29
+ async function withCDPConnection(fn) {
30
+ const { CDPConnection } = await import('../../connection/cdp.js');
31
+ const { validateActiveSession, getValidatedSessionMetadata, verifyTargetExists } = await import('../../commands/dom/evalHelpers.js');
32
+ // Validate session
33
+ validateActiveSession();
34
+ const metadata = getValidatedSessionMetadata();
35
+ const port = 9222; // Default port
36
+ await verifyTargetExists(metadata, port);
37
+ // Connect to CDP
38
+ const cdp = new CDPConnection();
39
+ if (!metadata.webSocketDebuggerUrl) {
40
+ throw new CommandError('Missing webSocketDebuggerUrl in session metadata', { note: 'Session metadata may be corrupted or from an older version' }, EXIT_CODES.SESSION_FILE_ERROR);
41
+ }
42
+ await cdp.connect(metadata.webSocketDebuggerUrl);
43
+ try {
44
+ return await fn(cdp, metadata);
45
+ }
46
+ finally {
47
+ cdp.close();
48
+ }
49
+ }
50
+ /**
51
+ * Register form interaction commands.
52
+ *
53
+ * @param program - Commander program instance
54
+ *
55
+ * @remarks
56
+ * Registers the following commands:
57
+ * - `bdg dom fill <selector> <value>` - Fill form fields
58
+ * - `bdg dom click <selector>` - Click elements
59
+ * - `bdg dom submit <selector>` - Submit forms with smart waiting
60
+ */
61
+ export function registerFormInteractionCommands(program) {
62
+ const domCommand = program.commands.find((cmd) => cmd.name() === 'dom');
63
+ if (!domCommand) {
64
+ throw new CommandError('DOM command group not found', { note: 'This is an internal error - DOM commands may not be registered' }, EXIT_CODES.SOFTWARE_ERROR);
65
+ }
66
+ // bdg dom fill <selector> <value>
67
+ domCommand
68
+ .command('fill')
69
+ .description('Fill a form field with a value (React-compatible)')
70
+ .argument('<selector>', 'CSS selector for the element')
71
+ .argument('<value>', 'Value to fill')
72
+ .option('--index <n>', 'Element index if selector matches multiple (1-based)', parseInt)
73
+ .option('--no-blur', 'Do not blur after filling (keeps focus on element)')
74
+ .addOption(jsonOption)
75
+ .action(async (selector, value, options) => {
76
+ await runCommand(async () => {
77
+ return await withCDPConnection(async (cdp) => {
78
+ const fillOptions = filterDefined({
79
+ index: options.index,
80
+ blur: options.blur,
81
+ });
82
+ const result = await fillElement(cdp, selector, value, fillOptions);
83
+ if (!result.success) {
84
+ return {
85
+ success: false,
86
+ error: result.error ?? 'Failed to fill element',
87
+ exitCode: result.error?.includes('not found')
88
+ ? EXIT_CODES.RESOURCE_NOT_FOUND
89
+ : EXIT_CODES.INVALID_ARGUMENTS,
90
+ };
91
+ }
92
+ return { success: true, data: result };
93
+ });
94
+ }, options, formatFillOutput);
95
+ });
96
+ // bdg dom click <selector>
97
+ domCommand
98
+ .command('click')
99
+ .description('Click an element')
100
+ .argument('<selector>', 'CSS selector for the element')
101
+ .option('--index <n>', 'Element index if selector matches multiple (1-based)', parseInt)
102
+ .addOption(jsonOption)
103
+ .action(async (selector, options) => {
104
+ await runCommand(async () => {
105
+ return await withCDPConnection(async (cdp) => {
106
+ const clickOptions = filterDefined({
107
+ index: options.index,
108
+ });
109
+ const result = await clickElement(cdp, selector, clickOptions);
110
+ if (!result.success) {
111
+ return {
112
+ success: false,
113
+ error: result.error ?? 'Failed to click element',
114
+ exitCode: result.error?.includes('not found')
115
+ ? EXIT_CODES.RESOURCE_NOT_FOUND
116
+ : EXIT_CODES.INVALID_ARGUMENTS,
117
+ };
118
+ }
119
+ return { success: true, data: result };
120
+ });
121
+ }, options, formatClickOutput);
122
+ });
123
+ // bdg dom submit <selector>
124
+ domCommand
125
+ .command('submit')
126
+ .description('Submit a form by clicking submit button and waiting for completion')
127
+ .argument('<selector>', 'CSS selector for the submit button')
128
+ .option('--index <n>', 'Element index if selector matches multiple (1-based)', parseInt)
129
+ .option('--wait-navigation', 'Wait for page navigation after submit')
130
+ .option('--wait-network <ms>', 'Wait for network idle after submit (milliseconds)', '1000')
131
+ .option('--timeout <ms>', 'Maximum time to wait (milliseconds)', '10000')
132
+ .addOption(jsonOption)
133
+ .action(async (selector, options) => {
134
+ await runCommand(async () => {
135
+ return await withCDPConnection(async (cdp) => {
136
+ const submitOptions = filterDefined({
137
+ index: options.index,
138
+ waitNavigation: options.waitNavigation,
139
+ waitNetwork: parseInt(options.waitNetwork, 10),
140
+ timeout: parseInt(options.timeout, 10),
141
+ });
142
+ const result = await submitForm(cdp, selector, submitOptions);
143
+ if (!result.success) {
144
+ return {
145
+ success: false,
146
+ error: result.error ?? 'Failed to submit form',
147
+ exitCode: result.error?.includes('not found')
148
+ ? EXIT_CODES.RESOURCE_NOT_FOUND
149
+ : result.error?.includes('Timeout')
150
+ ? EXIT_CODES.CDP_TIMEOUT
151
+ : EXIT_CODES.INVALID_ARGUMENTS,
152
+ };
153
+ }
154
+ return { success: true, data: result };
155
+ });
156
+ }, options, formatSubmitOutput);
157
+ });
158
+ }
159
+ /**
160
+ * Format fill command output for human-readable display.
161
+ *
162
+ * @param result - Fill result
163
+ * @returns Formatted string
164
+ */
165
+ function formatFillOutput(result) {
166
+ const fmt = new OutputFormatter();
167
+ fmt.text('✓ Element Filled');
168
+ fmt.blank();
169
+ const details = [
170
+ ['Selector', result.selector ?? 'unknown'],
171
+ ['Element Type', result.elementType ?? 'unknown'],
172
+ ];
173
+ if (result.inputType) {
174
+ details.push(['Input Type', result.inputType]);
175
+ }
176
+ if (result.checked !== undefined) {
177
+ details.push(['Checked', result.checked ? 'true' : 'false']);
178
+ }
179
+ else if (result.value) {
180
+ details.push(['Value', result.value]);
181
+ }
182
+ fmt.keyValueList(details, 15);
183
+ return fmt.build();
184
+ }
185
+ /**
186
+ * Format click command output for human-readable display.
187
+ *
188
+ * @param result - Click result
189
+ * @returns Formatted string
190
+ */
191
+ function formatClickOutput(result) {
192
+ const fmt = new OutputFormatter();
193
+ fmt.text('✓ Element Clicked');
194
+ fmt.blank();
195
+ fmt.keyValueList([
196
+ ['Selector', result.selector ?? 'unknown'],
197
+ ['Element Type', result.elementType ?? 'unknown'],
198
+ ['Clickable', result.clickable ? 'yes' : 'no (warning)'],
199
+ ], 15);
200
+ if (!result.clickable) {
201
+ fmt.blank();
202
+ fmt.text('⚠ Warning: Element may not have a click handler');
203
+ }
204
+ return fmt.build();
205
+ }
206
+ /**
207
+ * Format submit command output for human-readable display.
208
+ *
209
+ * @param result - Submit result
210
+ * @returns Formatted string
211
+ */
212
+ function formatSubmitOutput(result) {
213
+ const fmt = new OutputFormatter();
214
+ fmt.text('✓ Form Submitted');
215
+ fmt.blank();
216
+ const details = [
217
+ ['Selector', result.selector ?? 'unknown'],
218
+ ['Clicked', result.clicked ? 'yes' : 'no'],
219
+ ];
220
+ if (result.networkRequests !== undefined) {
221
+ details.push(['Network Requests', result.networkRequests.toString()]);
222
+ }
223
+ if (result.navigationOccurred !== undefined) {
224
+ details.push(['Navigation', result.navigationOccurred ? 'yes' : 'no']);
225
+ }
226
+ if (result.waitTimeMs !== undefined) {
227
+ details.push(['Wait Time', `${result.waitTimeMs}ms`]);
228
+ }
229
+ fmt.keyValueList(details, 20);
230
+ fmt.blank();
231
+ fmt.text('Next steps:');
232
+ fmt.section('', [
233
+ 'bdg peek --network --last 10 Check network requests',
234
+ 'bdg console --last 5 Check console messages',
235
+ 'bdg status Check session state',
236
+ ]);
237
+ return fmt.build();
238
+ }
239
+ //# sourceMappingURL=formInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formInteraction.js","sourceRoot":"","sources":["../../../src/commands/dom/formInteraction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Form submission helpers with smart network waiting.
3
+ */
4
+ import type { CDPConnection } from '../../connection/cdp.js';
5
+ /**
6
+ * Options for submitting a form.
7
+ */
8
+ export interface SubmitOptions {
9
+ /** Element index if selector matches multiple (1-based) */
10
+ index?: number;
11
+ /** Wait for page navigation after submit (default: false) */
12
+ waitNavigation?: boolean;
13
+ /** Wait for network idle after submit in milliseconds (default: 1000) */
14
+ waitNetwork?: number;
15
+ /** Maximum time to wait in milliseconds (default: 10000) */
16
+ timeout?: number;
17
+ }
18
+ /**
19
+ * Result of form submission.
20
+ */
21
+ export interface SubmitResult {
22
+ success: boolean;
23
+ error?: string;
24
+ selector?: string;
25
+ clicked?: boolean;
26
+ networkRequests?: number;
27
+ navigationOccurred?: boolean;
28
+ waitTimeMs?: number;
29
+ }
30
+ /**
31
+ * Submit a form by clicking the submit button and waiting for completion.
32
+ *
33
+ * @param cdp - CDP connection
34
+ * @param selector - CSS selector for submit button
35
+ * @param options - Submit options
36
+ * @returns Promise resolving to submit result
37
+ *
38
+ * @throws CDPTimeoutError When timeout is reached
39
+ * @throws CDPConnectionError When CDP communication fails
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * // Submit and wait for network idle
44
+ * const result = await submitForm(cdp, 'button[type="submit"]', {
45
+ * waitNetwork: 1000,
46
+ * timeout: 10000
47
+ * });
48
+ * ```
49
+ *
50
+ * @remarks
51
+ * This function:
52
+ * 1. Clicks the submit button
53
+ * 2. Monitors network activity
54
+ * 3. Waits for network idle (no requests for N ms)
55
+ * 4. Optionally waits for page navigation
56
+ */
57
+ export declare function submitForm(cdp: CDPConnection, selector: string, options?: SubmitOptions): Promise<SubmitResult>;
58
+ //# sourceMappingURL=formSubmitHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formSubmitHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/formSubmitHelpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA6DvB"}