browser-debugger-cli 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/README.md +10 -6
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +14 -48
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +1 -1
  5. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
  6. package/dist/__testutils__/testCleanup.js +1 -1
  7. package/dist/__testutils__/testCleanup.js.map +1 -1
  8. package/dist/cdp/protocol.d.ts +0 -48
  9. package/dist/cdp/protocol.d.ts.map +1 -1
  10. package/dist/cdp/protocol.js +0 -94
  11. package/dist/cdp/protocol.js.map +1 -1
  12. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  13. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  14. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  15. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  16. package/dist/commands/cdp.d.ts.map +1 -1
  17. package/dist/commands/cdp.js +4 -37
  18. package/dist/commands/cdp.js.map +1 -1
  19. package/dist/commands/cleanup.d.ts.map +1 -1
  20. package/dist/commands/cleanup.js +4 -17
  21. package/dist/commands/cleanup.js.map +1 -1
  22. package/dist/commands/console.d.ts.map +1 -1
  23. package/dist/commands/console.js +3 -8
  24. package/dist/commands/console.js.map +1 -1
  25. package/dist/commands/details.d.ts.map +1 -1
  26. package/dist/commands/details.js +1 -1
  27. package/dist/commands/details.js.map +1 -1
  28. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
  29. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  30. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
  31. package/dist/commands/dom/evalHelpers.js.map +1 -0
  32. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  33. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  34. package/dist/commands/dom/formFillHelpers.js +185 -0
  35. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  36. package/dist/commands/dom/formInteraction.d.ts +17 -0
  37. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  38. package/dist/commands/dom/formInteraction.js +239 -0
  39. package/dist/commands/dom/formInteraction.js.map +1 -0
  40. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  41. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  42. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  43. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  44. package/dist/commands/dom/helpers.d.ts +34 -0
  45. package/dist/commands/dom/helpers.d.ts.map +1 -0
  46. package/dist/commands/dom/helpers.js +244 -0
  47. package/dist/commands/dom/helpers.js.map +1 -0
  48. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  49. package/dist/commands/dom/index.d.ts.map +1 -0
  50. package/dist/commands/{dom.js → dom/index.js} +33 -123
  51. package/dist/commands/dom/index.js.map +1 -0
  52. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  53. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  54. package/dist/commands/dom/reactEventHelpers.js +274 -0
  55. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  56. package/dist/commands/network.js +1 -1
  57. package/dist/commands/network.js.map +1 -1
  58. package/dist/commands/peek.d.ts.map +1 -1
  59. package/dist/commands/peek.js +47 -52
  60. package/dist/commands/peek.js.map +1 -1
  61. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  62. package/dist/commands/shared/CommandRunner.js +3 -2
  63. package/dist/commands/shared/CommandRunner.js.map +1 -1
  64. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  65. package/dist/commands/shared/commonOptions.js +3 -1
  66. package/dist/commands/shared/commonOptions.js.map +1 -1
  67. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  68. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  69. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  70. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  71. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  72. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  73. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  74. package/dist/commands/shared/startHelpers.js.map +1 -0
  75. package/dist/commands/shared/validation.d.ts +44 -0
  76. package/dist/commands/shared/validation.d.ts.map +1 -0
  77. package/dist/commands/shared/validation.js +68 -0
  78. package/dist/commands/shared/validation.js.map +1 -0
  79. package/dist/commands/start.d.ts.map +1 -1
  80. package/dist/commands/start.js +9 -25
  81. package/dist/commands/start.js.map +1 -1
  82. package/dist/commands/status.d.ts.map +1 -1
  83. package/dist/commands/status.js +6 -4
  84. package/dist/commands/status.js.map +1 -1
  85. package/dist/commands/stop.d.ts.map +1 -1
  86. package/dist/commands/stop.js +5 -16
  87. package/dist/commands/stop.js.map +1 -1
  88. package/dist/commands/tail.d.ts.map +1 -1
  89. package/dist/commands/tail.js +49 -44
  90. package/dist/commands/tail.js.map +1 -1
  91. package/dist/commands/types.d.ts +43 -0
  92. package/dist/commands/types.d.ts.map +1 -0
  93. package/dist/commands/types.js +8 -0
  94. package/dist/commands/types.js.map +1 -0
  95. package/dist/commands.d.ts.map +1 -1
  96. package/dist/commands.js +3 -1
  97. package/dist/commands.js.map +1 -1
  98. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  99. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  100. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  101. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  102. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  103. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  104. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  105. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  106. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  107. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  108. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  109. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  110. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  111. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  112. package/dist/connection/cdp.d.ts +34 -11
  113. package/dist/connection/cdp.d.ts.map +1 -1
  114. package/dist/connection/cdp.js +61 -45
  115. package/dist/connection/cdp.js.map +1 -1
  116. package/dist/connection/config.d.ts +63 -0
  117. package/dist/connection/config.d.ts.map +1 -0
  118. package/dist/connection/config.js +46 -0
  119. package/dist/connection/config.js.map +1 -0
  120. package/dist/connection/errors.d.ts +6 -21
  121. package/dist/connection/errors.d.ts.map +1 -1
  122. package/dist/connection/errors.js +7 -26
  123. package/dist/connection/errors.js.map +1 -1
  124. package/dist/connection/events.d.ts +30 -0
  125. package/dist/connection/events.d.ts.map +1 -0
  126. package/dist/connection/events.js +8 -0
  127. package/dist/connection/events.js.map +1 -0
  128. package/dist/connection/handlers.d.ts +3 -5
  129. package/dist/connection/handlers.d.ts.map +1 -1
  130. package/dist/connection/handlers.js +10 -12
  131. package/dist/connection/handlers.js.map +1 -1
  132. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  133. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  134. package/dist/connection/launcher/binaryResolver.js +78 -0
  135. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  136. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  137. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  138. package/dist/connection/launcher/flagsBuilder.js +84 -0
  139. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  140. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  141. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  142. package/dist/connection/launcher/preferencesLoader.js +89 -0
  143. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  144. package/dist/connection/launcher.d.ts +24 -1
  145. package/dist/connection/launcher.d.ts.map +1 -1
  146. package/dist/connection/launcher.js +30 -205
  147. package/dist/connection/launcher.js.map +1 -1
  148. package/dist/connection/pageReadiness.d.ts +8 -8
  149. package/dist/connection/pageReadiness.d.ts.map +1 -1
  150. package/dist/connection/pageReadiness.js +36 -52
  151. package/dist/connection/pageReadiness.js.map +1 -1
  152. package/dist/connection/portReservation.d.ts +40 -0
  153. package/dist/connection/portReservation.d.ts.map +1 -0
  154. package/dist/connection/portReservation.js +55 -0
  155. package/dist/connection/portReservation.js.map +1 -0
  156. package/dist/connection/typed-cdp.d.ts +2 -1
  157. package/dist/connection/typed-cdp.d.ts.map +1 -1
  158. package/dist/connection/typed-cdp.js.map +1 -1
  159. package/dist/connection/types.d.ts +103 -0
  160. package/dist/connection/types.d.ts.map +1 -0
  161. package/dist/connection/types.js +8 -0
  162. package/dist/connection/types.js.map +1 -0
  163. package/dist/constants.d.ts +0 -83
  164. package/dist/constants.d.ts.map +1 -1
  165. package/dist/constants.js +0 -83
  166. package/dist/constants.js.map +1 -1
  167. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  168. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  169. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  170. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  171. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  172. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  173. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  174. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  175. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  176. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  177. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  178. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  179. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  180. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  181. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  182. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  183. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  184. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  185. package/dist/daemon/errors.d.ts +65 -0
  186. package/dist/daemon/errors.d.ts.map +1 -0
  187. package/dist/daemon/errors.js +82 -0
  188. package/dist/daemon/errors.js.map +1 -0
  189. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  190. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  191. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  192. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  193. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  194. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  195. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  196. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  197. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  198. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  199. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  200. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  201. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  202. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  203. package/dist/daemon/handlers/pendingRequests.js +57 -0
  204. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  205. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  206. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  207. package/dist/daemon/handlers/requestHandlers.js +61 -0
  208. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  209. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  210. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  211. package/dist/daemon/handlers/responseHandler.js +195 -0
  212. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  213. package/dist/daemon/ipcServer.d.ts +19 -41
  214. package/dist/daemon/ipcServer.d.ts.map +1 -1
  215. package/dist/daemon/ipcServer.js +83 -655
  216. package/dist/daemon/ipcServer.js.map +1 -1
  217. package/dist/daemon/launcher.d.ts.map +1 -1
  218. package/dist/daemon/launcher.js +6 -3
  219. package/dist/daemon/launcher.js.map +1 -1
  220. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  221. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  222. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  223. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  224. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  225. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  226. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  227. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  228. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  229. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  230. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  231. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  232. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  233. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  234. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  235. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  236. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  237. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  238. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  239. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  240. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  241. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  242. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  243. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  244. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  245. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  246. package/dist/daemon/server/JsonlParser.js +57 -0
  247. package/dist/daemon/server/JsonlParser.js.map +1 -0
  248. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  249. package/dist/daemon/server/SocketServer.js +2 -2
  250. package/dist/daemon/server/SocketServer.js.map +1 -1
  251. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  252. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  253. package/dist/daemon/server/WorkerManager.js +10 -19
  254. package/dist/daemon/server/WorkerManager.js.map +1 -1
  255. package/dist/daemon/services/SessionService.d.ts +87 -0
  256. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  257. package/dist/daemon/services/SessionService.js +45 -0
  258. package/dist/daemon/services/SessionService.js.map +1 -0
  259. package/dist/daemon/startSession.d.ts.map +1 -1
  260. package/dist/daemon/startSession.js +54 -31
  261. package/dist/daemon/startSession.js.map +1 -1
  262. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  263. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  264. package/dist/daemon/worker/commandRegistry.js +20 -215
  265. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  266. package/dist/daemon/worker.d.ts +3 -12
  267. package/dist/daemon/worker.d.ts.map +1 -1
  268. package/dist/daemon/worker.js +47 -367
  269. package/dist/daemon/worker.js.map +1 -1
  270. package/dist/index.js +1 -1
  271. package/dist/index.js.map +1 -1
  272. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  273. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  274. package/dist/ipc/__tests__/client.contract.test.js +8 -23
  275. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  276. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  277. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  278. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  279. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  280. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  281. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  282. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  283. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  284. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  285. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  286. package/dist/ipc/__tests__/jsonl.unit.test.js +85 -0
  287. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  288. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  289. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  290. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  291. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  292. package/dist/ipc/client.d.ts +93 -84
  293. package/dist/ipc/client.d.ts.map +1 -1
  294. package/dist/ipc/client.js +121 -192
  295. package/dist/ipc/client.js.map +1 -1
  296. package/dist/ipc/index.d.ts +17 -0
  297. package/dist/ipc/index.d.ts.map +1 -0
  298. package/dist/ipc/index.js +23 -0
  299. package/dist/ipc/index.js.map +1 -0
  300. package/dist/ipc/protocol/commands.d.ts +144 -0
  301. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  302. package/dist/ipc/protocol/commands.js +23 -0
  303. package/dist/ipc/protocol/commands.js.map +1 -0
  304. package/dist/ipc/protocol/guards.d.ts +47 -0
  305. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  306. package/dist/ipc/protocol/guards.js +62 -0
  307. package/dist/ipc/protocol/guards.js.map +1 -0
  308. package/dist/ipc/protocol/index.d.ts +9 -0
  309. package/dist/ipc/protocol/index.d.ts.map +1 -0
  310. package/dist/ipc/protocol/index.js +8 -0
  311. package/dist/ipc/protocol/index.js.map +1 -0
  312. package/dist/ipc/protocol/messages.d.ts +64 -0
  313. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  314. package/dist/ipc/protocol/messages.js +8 -0
  315. package/dist/ipc/protocol/messages.js.map +1 -0
  316. package/dist/ipc/session/errors.d.ts +25 -0
  317. package/dist/ipc/session/errors.d.ts.map +1 -0
  318. package/dist/ipc/{types.js → session/errors.js} +11 -6
  319. package/dist/ipc/session/errors.js.map +1 -0
  320. package/dist/ipc/session/index.d.ts +16 -0
  321. package/dist/ipc/session/index.d.ts.map +1 -0
  322. package/dist/ipc/session/index.js +7 -0
  323. package/dist/ipc/session/index.js.map +1 -0
  324. package/dist/ipc/session/lifecycle.d.ts +125 -0
  325. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  326. package/dist/ipc/session/lifecycle.js +7 -0
  327. package/dist/ipc/session/lifecycle.js.map +1 -0
  328. package/dist/ipc/session/queries.d.ts +94 -0
  329. package/dist/ipc/session/queries.d.ts.map +1 -0
  330. package/dist/ipc/session/queries.js +7 -0
  331. package/dist/ipc/session/queries.js.map +1 -0
  332. package/dist/ipc/session/types.d.ts +28 -0
  333. package/dist/ipc/session/types.d.ts.map +1 -0
  334. package/dist/ipc/session/types.js +7 -0
  335. package/dist/ipc/session/types.js.map +1 -0
  336. package/dist/ipc/transport/IPCError.d.ts +82 -0
  337. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  338. package/dist/ipc/transport/IPCError.js +109 -0
  339. package/dist/ipc/transport/IPCError.js.map +1 -0
  340. package/dist/ipc/transport/errors.d.ts +11 -0
  341. package/dist/ipc/transport/errors.d.ts.map +1 -0
  342. package/dist/ipc/transport/errors.js +28 -0
  343. package/dist/ipc/transport/errors.js.map +1 -0
  344. package/dist/ipc/transport/index.d.ts +16 -0
  345. package/dist/ipc/transport/index.d.ts.map +1 -0
  346. package/dist/ipc/transport/index.js +77 -0
  347. package/dist/ipc/transport/index.js.map +1 -0
  348. package/dist/ipc/transport/jsonl.d.ts +23 -0
  349. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  350. package/dist/ipc/transport/jsonl.js +36 -0
  351. package/dist/ipc/transport/jsonl.js.map +1 -0
  352. package/dist/ipc/transport/socket.d.ts +27 -0
  353. package/dist/ipc/transport/socket.d.ts.map +1 -0
  354. package/dist/ipc/transport/socket.js +49 -0
  355. package/dist/ipc/transport/socket.js.map +1 -0
  356. package/dist/ipc/transport/validation.d.ts +21 -0
  357. package/dist/ipc/transport/validation.d.ts.map +1 -0
  358. package/dist/ipc/transport/validation.js +23 -0
  359. package/dist/ipc/transport/validation.js.map +1 -0
  360. package/dist/ipc/utils/errors.d.ts +25 -0
  361. package/dist/ipc/utils/errors.d.ts.map +1 -0
  362. package/dist/ipc/utils/errors.js +29 -0
  363. package/dist/ipc/utils/errors.js.map +1 -0
  364. package/dist/ipc/utils/index.d.ts +12 -0
  365. package/dist/ipc/utils/index.d.ts.map +1 -0
  366. package/dist/ipc/utils/index.js +11 -0
  367. package/dist/ipc/utils/index.js.map +1 -0
  368. package/dist/ipc/utils/requestId.d.ts +23 -0
  369. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  370. package/dist/ipc/utils/requestId.js +27 -0
  371. package/dist/ipc/utils/requestId.js.map +1 -0
  372. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  373. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  374. package/dist/ipc/utils/responseValidator.js.map +1 -0
  375. package/dist/ipc/utils/session.d.ts +36 -0
  376. package/dist/ipc/utils/session.d.ts.map +1 -0
  377. package/dist/ipc/utils/session.js +37 -0
  378. package/dist/ipc/utils/session.js.map +1 -0
  379. package/dist/ipc/utils/types.d.ts +17 -0
  380. package/dist/ipc/utils/types.d.ts.map +1 -0
  381. package/dist/ipc/utils/types.js +7 -0
  382. package/dist/ipc/utils/types.js.map +1 -0
  383. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  384. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  385. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  386. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  387. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  388. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  389. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  390. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  391. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  392. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  393. package/dist/session/__tests__/lock.contract.test.js +77 -0
  394. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  395. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  396. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  397. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  398. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  399. package/dist/session/chrome.d.ts +20 -0
  400. package/dist/session/chrome.d.ts.map +1 -1
  401. package/dist/session/chrome.js +80 -16
  402. package/dist/session/chrome.js.map +1 -1
  403. package/dist/session/cleanup.d.ts +15 -2
  404. package/dist/session/cleanup.d.ts.map +1 -1
  405. package/dist/session/cleanup.js +100 -72
  406. package/dist/session/cleanup.js.map +1 -1
  407. package/dist/session/lock.d.ts.map +1 -1
  408. package/dist/session/lock.js +101 -90
  409. package/dist/session/lock.js.map +1 -1
  410. package/dist/session/metadata.d.ts +10 -3
  411. package/dist/session/metadata.d.ts.map +1 -1
  412. package/dist/session/metadata.js +24 -6
  413. package/dist/session/metadata.js.map +1 -1
  414. package/dist/session/paths.d.ts +0 -9
  415. package/dist/session/paths.d.ts.map +1 -1
  416. package/dist/session/paths.js +0 -11
  417. package/dist/session/paths.js.map +1 -1
  418. package/dist/session/pid.d.ts +15 -0
  419. package/dist/session/pid.d.ts.map +1 -1
  420. package/dist/session/pid.js +39 -21
  421. package/dist/session/pid.js.map +1 -1
  422. package/dist/session/process.d.ts +4 -41
  423. package/dist/session/process.d.ts.map +1 -1
  424. package/dist/session/process.js +4 -85
  425. package/dist/session/process.js.map +1 -1
  426. package/dist/session/statusData.d.ts +50 -0
  427. package/dist/session/statusData.d.ts.map +1 -0
  428. package/dist/session/statusData.js +51 -0
  429. package/dist/session/statusData.js.map +1 -0
  430. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  431. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  432. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  433. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  434. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  435. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  436. package/dist/telemetry/__tests__/network.contract.test.js +2 -64
  437. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  438. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  439. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  440. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  441. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  442. package/dist/telemetry/console.d.ts.map +1 -1
  443. package/dist/telemetry/console.js +19 -28
  444. package/dist/telemetry/console.js.map +1 -1
  445. package/dist/telemetry/dialogs.d.ts.map +1 -1
  446. package/dist/telemetry/dialogs.js +4 -8
  447. package/dist/telemetry/dialogs.js.map +1 -1
  448. package/dist/telemetry/dom.d.ts.map +1 -1
  449. package/dist/telemetry/dom.js +51 -59
  450. package/dist/telemetry/dom.js.map +1 -1
  451. package/dist/telemetry/filters.d.ts +5 -18
  452. package/dist/telemetry/filters.d.ts.map +1 -1
  453. package/dist/telemetry/filters.js +36 -56
  454. package/dist/telemetry/filters.js.map +1 -1
  455. package/dist/telemetry/navigation.d.ts.map +1 -1
  456. package/dist/telemetry/navigation.js +5 -8
  457. package/dist/telemetry/navigation.js.map +1 -1
  458. package/dist/telemetry/network.d.ts.map +1 -1
  459. package/dist/telemetry/network.js +105 -104
  460. package/dist/telemetry/network.js.map +1 -1
  461. package/dist/telemetry/utils.d.ts +85 -0
  462. package/dist/telemetry/utils.d.ts.map +1 -0
  463. package/dist/telemetry/utils.js +138 -0
  464. package/dist/telemetry/utils.js.map +1 -0
  465. package/dist/types/dom.d.ts +66 -0
  466. package/dist/types/dom.d.ts.map +1 -0
  467. package/dist/types/dom.js +8 -0
  468. package/dist/types/dom.js.map +1 -0
  469. package/dist/types.d.ts +15 -83
  470. package/dist/types.d.ts.map +1 -1
  471. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  472. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  473. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  474. package/dist/ui/OutputBuilder.js.map +1 -0
  475. package/dist/ui/errors/CommandError.d.ts +16 -2
  476. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  477. package/dist/ui/errors/CommandError.js +2 -1
  478. package/dist/ui/errors/CommandError.js.map +1 -1
  479. package/dist/ui/errors/index.d.ts +2 -3
  480. package/dist/ui/errors/index.d.ts.map +1 -1
  481. package/dist/ui/errors/index.js +1 -3
  482. package/dist/ui/errors/index.js.map +1 -1
  483. package/dist/ui/errors/utils.d.ts +6 -0
  484. package/dist/ui/errors/utils.d.ts.map +1 -1
  485. package/dist/ui/errors/utils.js +8 -3
  486. package/dist/ui/errors/utils.js.map +1 -1
  487. package/dist/ui/formatters/dom.d.ts +3 -18
  488. package/dist/ui/formatters/dom.d.ts.map +1 -1
  489. package/dist/ui/formatters/dom.js +4 -27
  490. package/dist/ui/formatters/dom.js.map +1 -1
  491. package/dist/ui/formatters/preview.d.ts +8 -8
  492. package/dist/ui/formatters/preview.d.ts.map +1 -1
  493. package/dist/ui/formatters/preview.js +18 -13
  494. package/dist/ui/formatters/preview.js.map +1 -1
  495. package/dist/ui/formatters/status.d.ts +1 -1
  496. package/dist/ui/formatters/status.d.ts.map +1 -1
  497. package/dist/ui/formatters/status.js +8 -30
  498. package/dist/ui/formatters/status.js.map +1 -1
  499. package/dist/ui/formatting.d.ts +2 -270
  500. package/dist/ui/formatting.d.ts.map +1 -1
  501. package/dist/ui/formatting.js +8 -331
  502. package/dist/ui/formatting.js.map +1 -1
  503. package/dist/ui/logging/index.d.ts +1 -1
  504. package/dist/ui/logging/index.d.ts.map +1 -1
  505. package/dist/ui/logging/index.js +1 -1
  506. package/dist/ui/logging/index.js.map +1 -1
  507. package/dist/ui/logging/logger.d.ts +3 -23
  508. package/dist/ui/logging/logger.d.ts.map +1 -1
  509. package/dist/ui/logging/logger.js +2 -27
  510. package/dist/ui/logging/logger.js.map +1 -1
  511. package/dist/ui/messages/chrome.d.ts +15 -7
  512. package/dist/ui/messages/chrome.d.ts.map +1 -1
  513. package/dist/ui/messages/chrome.js +23 -32
  514. package/dist/ui/messages/chrome.js.map +1 -1
  515. package/dist/ui/messages/commands.d.ts +2 -19
  516. package/dist/ui/messages/commands.d.ts.map +1 -1
  517. package/dist/ui/messages/commands.js +5 -51
  518. package/dist/ui/messages/commands.js.map +1 -1
  519. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  520. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  521. package/dist/ui/messages/consoleMessages.js +3 -6
  522. package/dist/ui/messages/consoleMessages.js.map +1 -1
  523. package/dist/ui/messages/debug.d.ts +0 -14
  524. package/dist/ui/messages/debug.d.ts.map +1 -1
  525. package/dist/ui/messages/debug.js +0 -18
  526. package/dist/ui/messages/debug.js.map +1 -1
  527. package/dist/ui/messages/errors.d.ts +0 -34
  528. package/dist/ui/messages/errors.d.ts.map +1 -1
  529. package/dist/ui/messages/errors.js +3 -81
  530. package/dist/ui/messages/errors.js.map +1 -1
  531. package/dist/ui/messages/internal.d.ts +0 -7
  532. package/dist/ui/messages/internal.d.ts.map +1 -1
  533. package/dist/ui/messages/internal.js +0 -12
  534. package/dist/ui/messages/internal.js.map +1 -1
  535. package/dist/ui/messages/preview.d.ts +14 -1
  536. package/dist/ui/messages/preview.d.ts.map +1 -1
  537. package/dist/ui/messages/preview.js +24 -7
  538. package/dist/ui/messages/preview.js.map +1 -1
  539. package/dist/ui/messages/session.d.ts.map +1 -1
  540. package/dist/ui/messages/session.js +7 -23
  541. package/dist/ui/messages/session.js.map +1 -1
  542. package/dist/ui/messages/validation.d.ts.map +1 -1
  543. package/dist/ui/messages/validation.js +7 -8
  544. package/dist/ui/messages/validation.js.map +1 -1
  545. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  546. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  547. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  548. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  549. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  550. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  551. package/dist/utils/__tests__/objects.test.js +50 -0
  552. package/dist/utils/__tests__/objects.test.js.map +1 -0
  553. package/dist/utils/__tests__/session.contract.test.js +13 -3
  554. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  555. package/dist/utils/__tests__/url.test.d.ts +2 -0
  556. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  557. package/dist/utils/__tests__/url.test.js +42 -0
  558. package/dist/utils/__tests__/url.test.js.map +1 -0
  559. package/dist/utils/atomicFile.d.ts +31 -5
  560. package/dist/utils/atomicFile.d.ts.map +1 -1
  561. package/dist/utils/atomicFile.js +52 -13
  562. package/dist/utils/atomicFile.js.map +1 -1
  563. package/dist/utils/concurrency.d.ts +54 -0
  564. package/dist/utils/concurrency.d.ts.map +1 -0
  565. package/dist/utils/concurrency.js +78 -0
  566. package/dist/utils/concurrency.js.map +1 -0
  567. package/dist/utils/daemonErrors.d.ts +60 -0
  568. package/dist/utils/daemonErrors.d.ts.map +1 -0
  569. package/dist/utils/daemonErrors.js +58 -0
  570. package/dist/utils/daemonErrors.js.map +1 -0
  571. package/dist/utils/errors.d.ts +28 -0
  572. package/dist/utils/errors.d.ts.map +1 -0
  573. package/dist/utils/errors.js +33 -0
  574. package/dist/utils/errors.js.map +1 -0
  575. package/dist/utils/exitCodes.d.ts +41 -5
  576. package/dist/utils/exitCodes.d.ts.map +1 -1
  577. package/dist/utils/exitCodes.js +43 -9
  578. package/dist/utils/exitCodes.js.map +1 -1
  579. package/dist/utils/http.d.ts +9 -4
  580. package/dist/utils/http.d.ts.map +1 -1
  581. package/dist/utils/http.js +44 -10
  582. package/dist/utils/http.js.map +1 -1
  583. package/dist/utils/levenshtein.d.ts +45 -0
  584. package/dist/utils/levenshtein.d.ts.map +1 -0
  585. package/dist/utils/levenshtein.js +85 -0
  586. package/dist/utils/levenshtein.js.map +1 -0
  587. package/dist/utils/objects.d.ts +16 -1
  588. package/dist/utils/objects.d.ts.map +1 -1
  589. package/dist/utils/objects.js +16 -1
  590. package/dist/utils/objects.js.map +1 -1
  591. package/dist/utils/process.d.ts +45 -0
  592. package/dist/utils/process.d.ts.map +1 -0
  593. package/dist/utils/process.js +91 -0
  594. package/dist/utils/process.js.map +1 -0
  595. package/dist/utils/url.d.ts +10 -3
  596. package/dist/utils/url.d.ts.map +1 -1
  597. package/dist/utils/url.js +42 -29
  598. package/dist/utils/url.js.map +1 -1
  599. package/dist/utils/validation.d.ts +101 -0
  600. package/dist/utils/validation.d.ts.map +1 -0
  601. package/dist/utils/validation.js +131 -0
  602. package/dist/utils/validation.js.map +1 -0
  603. package/package.json +1 -1
  604. package/dist/commands/dom.d.ts.map +0 -1
  605. package/dist/commands/dom.js.map +0 -1
  606. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  607. package/dist/commands/domEvalHelpers.js.map +0 -1
  608. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  609. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  610. package/dist/commands/domOptionsBuilder.js +0 -86
  611. package/dist/commands/domOptionsBuilder.js.map +0 -1
  612. package/dist/commands/domSelectorParser.d.ts +0 -20
  613. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  614. package/dist/commands/domSelectorParser.js +0 -20
  615. package/dist/commands/domSelectorParser.js.map +0 -1
  616. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  617. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  618. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  619. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  620. package/dist/commands/shared/sessionController.d.ts +0 -21
  621. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  622. package/dist/commands/shared/sessionController.js +0 -54
  623. package/dist/commands/shared/sessionController.js.map +0 -1
  624. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  625. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  626. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  627. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  628. package/dist/connection/domOperations.d.ts +0 -48
  629. package/dist/connection/domOperations.d.ts.map +0 -1
  630. package/dist/connection/domOperations.js +0 -106
  631. package/dist/connection/domOperations.js.map +0 -1
  632. package/dist/connection/finder.d.ts +0 -12
  633. package/dist/connection/finder.d.ts.map +0 -1
  634. package/dist/connection/finder.js +0 -17
  635. package/dist/connection/finder.js.map +0 -1
  636. package/dist/ipc/commands.d.ts +0 -260
  637. package/dist/ipc/commands.d.ts.map +0 -1
  638. package/dist/ipc/commands.js +0 -77
  639. package/dist/ipc/commands.js.map +0 -1
  640. package/dist/ipc/responseValidator.d.ts.map +0 -1
  641. package/dist/ipc/responseValidator.js.map +0 -1
  642. package/dist/ipc/types.d.ts +0 -226
  643. package/dist/ipc/types.d.ts.map +0 -1
  644. package/dist/ipc/types.js.map +0 -1
  645. package/dist/session/fileOps.d.ts +0 -25
  646. package/dist/session/fileOps.d.ts.map +0 -1
  647. package/dist/session/fileOps.js +0 -39
  648. package/dist/session/fileOps.js.map +0 -1
  649. package/dist/session/queryCache.d.ts +0 -36
  650. package/dist/session/queryCache.d.ts.map +0 -1
  651. package/dist/session/queryCache.js +0 -66
  652. package/dist/session/queryCache.js.map +0 -1
  653. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -1,239 +0,0 @@
1
- import assert from 'node:assert/strict';
2
- import { describe, it, beforeEach, afterEach } from 'node:test';
3
- import { createMockTarget, mockTargetList } from '../../__testfixtures__/connectionTargets.js';
4
- import { validateTarget } from '../../connection/finder.js';
5
- import { DEFAULT_CDP_PORT } from '../../constants.js';
6
- // Mock fetch globally for HTTP endpoints
7
- let originalFetch;
8
- let fetchCallHistory;
9
- let fetchMockResponses;
10
- let fetchCallCount;
11
- function setupFetchMock() {
12
- originalFetch = global.fetch;
13
- fetchCallHistory = [];
14
- fetchMockResponses = [];
15
- fetchCallCount = 0;
16
- global.fetch = ((url, options) => {
17
- fetchCallHistory.push({ url, options });
18
- const responseIndex = fetchCallCount++;
19
- const response = fetchMockResponses[responseIndex];
20
- if (response) {
21
- return response;
22
- }
23
- return Promise.reject(new Error(`Unexpected fetch call ${responseIndex + 1}: ${url}`));
24
- });
25
- }
26
- function mockFetchResponse(response) {
27
- fetchMockResponses.push(response);
28
- }
29
- function createSuccessResponse(data) {
30
- return {
31
- ok: true,
32
- status: 200,
33
- json: () => Promise.resolve(data),
34
- };
35
- }
36
- function createFailureResponse(status, statusText) {
37
- return {
38
- ok: false,
39
- status,
40
- statusText,
41
- };
42
- }
43
- void describe('Target Validation Contract', () => {
44
- beforeEach(() => {
45
- setupFetchMock();
46
- });
47
- afterEach(() => {
48
- global.fetch = originalFetch;
49
- });
50
- void describe('validateTarget', () => {
51
- void it('returns true when target exists in Chrome', async () => {
52
- // Arrange: Mock target list containing the target
53
- const targetId = 'target-123';
54
- const existingTarget = createMockTarget({ id: targetId });
55
- mockFetchResponse(createSuccessResponse([existingTarget, ...mockTargetList]));
56
- // Act
57
- const result = await validateTarget(targetId);
58
- // Assert: Target is found
59
- assert.equal(result, true);
60
- // Verify correct HTTP endpoint was called
61
- assert.equal(fetchCallHistory.length, 1);
62
- const [firstCall] = fetchCallHistory;
63
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
64
- assert.ok(firstCall.url.includes('/json/list'));
65
- assert.ok(firstCall.url.includes(`127.0.0.1:${DEFAULT_CDP_PORT}`));
66
- });
67
- void it('returns false when target does not exist', async () => {
68
- // Arrange: Mock target list without the target
69
- const targetId = 'missing-target-456';
70
- mockFetchResponse(createSuccessResponse(mockTargetList));
71
- // Act
72
- const result = await validateTarget(targetId);
73
- // Assert: Target is not found
74
- assert.equal(result, false);
75
- // Verify HTTP endpoint was called
76
- assert.equal(fetchCallHistory.length, 1);
77
- const [firstCall] = fetchCallHistory;
78
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
79
- assert.ok(firstCall.url.includes('/json/list'));
80
- });
81
- void it('returns false when HTTP request fails', async () => {
82
- // Arrange: Mock HTTP failure
83
- const targetId = 'target-123';
84
- mockFetchResponse(createFailureResponse(500, 'Internal Server Error'));
85
- // Act
86
- const result = await validateTarget(targetId);
87
- // Assert: Failure is handled gracefully
88
- assert.equal(result, false);
89
- // Verify HTTP endpoint was attempted
90
- assert.equal(fetchCallHistory.length, 1);
91
- const [firstCall] = fetchCallHistory;
92
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
93
- assert.ok(firstCall.url.includes('/json/list'));
94
- });
95
- void it('returns false when response is malformed', async () => {
96
- // Arrange: Mock malformed JSON response
97
- const targetId = 'target-123';
98
- const malformedResponse = {
99
- ok: true,
100
- status: 200,
101
- json: () => Promise.reject(new Error('Invalid JSON')),
102
- };
103
- mockFetchResponse(malformedResponse);
104
- // Act
105
- const result = await validateTarget(targetId);
106
- // Assert: Malformed response handled gracefully
107
- assert.equal(result, false);
108
- });
109
- void it('uses correct port parameter', async () => {
110
- // Arrange: Test with custom port
111
- const targetId = 'target-123';
112
- const customPort = 9333;
113
- const existingTarget = createMockTarget({ id: targetId });
114
- mockFetchResponse(createSuccessResponse([existingTarget]));
115
- // Act
116
- const result = await validateTarget(targetId, customPort);
117
- // Assert: Target found and custom port used
118
- assert.equal(result, true);
119
- // Verify custom port was used in HTTP call
120
- assert.equal(fetchCallHistory.length, 1);
121
- const [firstCall] = fetchCallHistory;
122
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
123
- assert.ok(firstCall.url.includes(`127.0.0.1:${customPort}`));
124
- assert.ok(!firstCall.url.includes(`127.0.0.1:${DEFAULT_CDP_PORT}`));
125
- });
126
- void it('uses default port when not specified', async () => {
127
- // Arrange: Call without port parameter
128
- const targetId = 'target-123';
129
- const existingTarget = createMockTarget({ id: targetId });
130
- mockFetchResponse(createSuccessResponse([existingTarget]));
131
- // Act
132
- const result = await validateTarget(targetId);
133
- // Assert: Uses default port
134
- assert.equal(result, true);
135
- // Verify default port was used
136
- assert.equal(fetchCallHistory.length, 1);
137
- const [firstCall] = fetchCallHistory;
138
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
139
- assert.ok(firstCall.url.includes(`127.0.0.1:${DEFAULT_CDP_PORT}`));
140
- });
141
- void it('handles network errors gracefully', async () => {
142
- // Arrange: Mock network error (connection refused, etc.)
143
- const targetId = 'target-123';
144
- mockFetchResponse(Promise.reject(new Error('ECONNREFUSED')));
145
- // Act
146
- const result = await validateTarget(targetId);
147
- // Assert: Network error handled gracefully
148
- assert.equal(result, false);
149
- });
150
- void it('handles empty target list', async () => {
151
- // Arrange: Mock empty target list from Chrome
152
- const targetId = 'target-123';
153
- mockFetchResponse(createSuccessResponse([]));
154
- // Act
155
- const result = await validateTarget(targetId);
156
- // Assert: Empty list handled correctly
157
- assert.equal(result, false);
158
- });
159
- void it('handles target list with multiple matching IDs', async () => {
160
- // Arrange: Mock target list with duplicate IDs (edge case)
161
- const targetId = 'target-123';
162
- const target1 = createMockTarget({ id: targetId, url: 'http://example.com/1' });
163
- const target2 = createMockTarget({ id: targetId, url: 'http://example.com/2' });
164
- mockFetchResponse(createSuccessResponse([target1, target2]));
165
- // Act
166
- const result = await validateTarget(targetId);
167
- // Assert: First match is sufficient
168
- assert.equal(result, true);
169
- });
170
- });
171
- void describe('URL Construction', () => {
172
- void it('constructs correct Chrome endpoint URL', async () => {
173
- // Arrange
174
- const targetId = 'target-123';
175
- const port = 9555;
176
- mockFetchResponse(createSuccessResponse([]));
177
- // Act
178
- await validateTarget(targetId, port);
179
- // Assert: Correct URL format
180
- const expectedUrl = `http://127.0.0.1:${port}/json/list`;
181
- assert.equal(fetchCallHistory.length, 1);
182
- const [firstCall] = fetchCallHistory;
183
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
184
- assert.equal(firstCall.url, expectedUrl);
185
- });
186
- void it('uses localhost IP address consistently', async () => {
187
- // Arrange
188
- const targetId = 'target-123';
189
- mockFetchResponse(createSuccessResponse([]));
190
- // Act
191
- await validateTarget(targetId);
192
- // Assert: Uses 127.0.0.1 (not localhost hostname)
193
- assert.equal(fetchCallHistory.length, 1);
194
- const [firstCall] = fetchCallHistory;
195
- assert.ok(firstCall, 'fetchCallHistory should have at least one entry');
196
- assert.ok(firstCall.url.includes('127.0.0.1'));
197
- assert.ok(!firstCall.url.includes('localhost'));
198
- });
199
- });
200
- void describe('Edge Cases', () => {
201
- void it('handles very long target IDs', async () => {
202
- // Arrange: Create large target list (performance test)
203
- const targetId = 'needle-in-haystack';
204
- const largeTargetList = Array.from({ length: 1000 }, (_, i) => createMockTarget({ id: `target-${i}` }));
205
- largeTargetList.push(createMockTarget({ id: targetId })); // Add target at end
206
- mockFetchResponse(createSuccessResponse(largeTargetList));
207
- // Act
208
- const result = await validateTarget(targetId);
209
- // Assert: Finds target even in large list
210
- assert.equal(result, true);
211
- });
212
- void it('handles targets with special characters in ID', async () => {
213
- // Arrange: Target with special characters
214
- const targetId = 'target-with-special-chars-!@#$%^&*()';
215
- const specialTarget = createMockTarget({ id: targetId });
216
- mockFetchResponse(createSuccessResponse([specialTarget]));
217
- // Act
218
- const result = await validateTarget(targetId);
219
- // Assert: Special characters handled correctly
220
- assert.equal(result, true);
221
- });
222
- void it('handles null and undefined target IDs in list', async () => {
223
- // Arrange: Malformed target list with null/undefined IDs
224
- const targetId = 'valid-target';
225
- const validTarget = createMockTarget({ id: targetId });
226
- const malformedTargets = [
227
- { ...createMockTarget(), id: null },
228
- { ...createMockTarget(), id: undefined },
229
- validTarget,
230
- ];
231
- mockFetchResponse(createSuccessResponse(malformedTargets));
232
- // Act
233
- const result = await validateTarget(targetId);
234
- // Assert: Finds valid target despite malformed entries
235
- assert.equal(result, true);
236
- });
237
- });
238
- });
239
- //# sourceMappingURL=finder.contract.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finder.contract.test.js","sourceRoot":"","sources":["../../../src/connection/__tests__/finder.contract.test.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { CDPConnection } from '../connection/cdp.js';
2
- /**
3
- * DOM node information from CDP
4
- */
5
- export interface DomNodeInfo {
6
- nodeId: number;
7
- tag?: string;
8
- classes?: string[];
9
- attributes?: Record<string, string>;
10
- outerHTML?: string;
11
- textContent?: string;
12
- }
13
- /**
14
- * Get document root node ID
15
- *
16
- * @param cdp - CDP connection instance
17
- * @returns Root node ID
18
- * @throws Error When CDP command fails or connection is lost
19
- */
20
- export declare function getDocumentRoot(cdp: CDPConnection): Promise<number>;
21
- /**
22
- * Query DOM by CSS selector
23
- *
24
- * @param cdp - CDP connection instance
25
- * @param selector - CSS selector to query
26
- * @param rootNodeId - Optional root node ID (defaults to document root)
27
- * @returns Array of node IDs matching the selector
28
- * @throws Error When CDP command fails or selector is invalid
29
- */
30
- export declare function queryBySelector(cdp: CDPConnection, selector: string, rootNodeId?: number): Promise<number[]>;
31
- /**
32
- * Get node information
33
- *
34
- * @param cdp - CDP connection instance
35
- * @param nodeId - Node ID to query
36
- * @returns Node information including tag, classes, attributes
37
- * @throws Error When CDP command fails or nodeId is invalid
38
- */
39
- export declare function getNodeInfo(cdp: CDPConnection, nodeId: number): Promise<DomNodeInfo>;
40
- /**
41
- * Create preview text for a node
42
- *
43
- * @param nodeInfo - Node information
44
- * @param maxLength - Maximum preview length (default: 50)
45
- * @returns Preview text
46
- */
47
- export declare function createNodePreview(nodeInfo: DomNodeInfo, maxLength?: number): string;
48
- //# sourceMappingURL=domOperations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domOperations.d.ts","sourceRoot":"","sources":["../../src/connection/domOperations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAUnB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA8C1F;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,SAAK,GAAG,MAAM,CAoB/E"}
@@ -1,106 +0,0 @@
1
- /**
2
- * Get document root node ID
3
- *
4
- * @param cdp - CDP connection instance
5
- * @returns Root node ID
6
- * @throws Error When CDP command fails or connection is lost
7
- */
8
- export async function getDocumentRoot(cdp) {
9
- const result = (await cdp.send('DOM.getDocument', {
10
- depth: -1,
11
- }));
12
- return result.root.nodeId;
13
- }
14
- /**
15
- * Query DOM by CSS selector
16
- *
17
- * @param cdp - CDP connection instance
18
- * @param selector - CSS selector to query
19
- * @param rootNodeId - Optional root node ID (defaults to document root)
20
- * @returns Array of node IDs matching the selector
21
- * @throws Error When CDP command fails or selector is invalid
22
- */
23
- export async function queryBySelector(cdp, selector, rootNodeId) {
24
- // Get root node if not provided
25
- const nodeId = rootNodeId ?? (await getDocumentRoot(cdp));
26
- const result = (await cdp.send('DOM.querySelectorAll', {
27
- nodeId,
28
- selector,
29
- }));
30
- return result.nodeIds;
31
- }
32
- /**
33
- * Get node information
34
- *
35
- * @param cdp - CDP connection instance
36
- * @param nodeId - Node ID to query
37
- * @returns Node information including tag, classes, attributes
38
- * @throws Error When CDP command fails or nodeId is invalid
39
- */
40
- export async function getNodeInfo(cdp, nodeId) {
41
- // Get node description
42
- const describeResult = (await cdp.send('DOM.describeNode', {
43
- nodeId,
44
- }));
45
- const node = describeResult.node;
46
- // Parse attributes array into object
47
- const attributes = {};
48
- if (node.attributes) {
49
- for (let i = 0; i < node.attributes.length; i += 2) {
50
- const key = node.attributes[i];
51
- const value = node.attributes[i + 1];
52
- if (key !== undefined && value !== undefined) {
53
- attributes[key] = value;
54
- }
55
- }
56
- }
57
- // Extract classes from class attribute
58
- const classes = attributes['class']?.split(/\s+/).filter((c) => c.length > 0) ?? [];
59
- // Get outer HTML
60
- const htmlResult = (await cdp.send('DOM.getOuterHTML', {
61
- nodeId,
62
- }));
63
- // Extract text content by removing HTML tags
64
- // Uses simple regex to strip tags while preserving text content including < and > in text
65
- // SAFETY: This HTML comes from Chrome's internal DOM via CDP, not user input.
66
- // It's trusted browser-generated content used only for display/analysis in CLI output.
67
- // The regex is intentionally simple because we're extracting text, not sanitizing for XSS.
68
- const textContent = htmlResult.outerHTML
69
- .replace(/<[^>]*>/g, '') // Remove HTML tags
70
- .replace(/\s+/g, ' ') // Collapse whitespace
71
- .trim();
72
- return {
73
- nodeId,
74
- tag: node.nodeName.toLowerCase(),
75
- classes,
76
- attributes,
77
- outerHTML: htmlResult.outerHTML,
78
- textContent,
79
- };
80
- }
81
- /**
82
- * Create preview text for a node
83
- *
84
- * @param nodeInfo - Node information
85
- * @param maxLength - Maximum preview length (default: 50)
86
- * @returns Preview text
87
- */
88
- export function createNodePreview(nodeInfo, maxLength = 50) {
89
- // If we have text content, use that
90
- if (nodeInfo.textContent && nodeInfo.textContent.length > 0) {
91
- const text = nodeInfo.textContent;
92
- if (text.length > maxLength) {
93
- return text.slice(0, maxLength) + '...';
94
- }
95
- return text;
96
- }
97
- // Otherwise show the opening tag
98
- const tag = nodeInfo.tag ?? 'unknown';
99
- const classAttr = nodeInfo.classes && nodeInfo.classes.length > 0 ? ` class="${nodeInfo.classes.join(' ')}"` : '';
100
- const preview = `<${tag}${classAttr}>`;
101
- if (preview.length > maxLength) {
102
- return preview.slice(0, maxLength) + '...';
103
- }
104
- return preview;
105
- }
106
- //# sourceMappingURL=domOperations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"domOperations.js","sourceRoot":"","sources":["../../src/connection/domOperations.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Validate that a CDP target still exists.
3
- *
4
- * This function polls Chrome's target list to verify the target hasn't been closed.
5
- * Used during long-running sessions to detect tab closures.
6
- *
7
- * @param targetId - Target ID to validate
8
- * @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
9
- * @returns True if target still exists, false otherwise
10
- */
11
- export declare function validateTarget(targetId: string, port?: number): Promise<boolean>;
12
- //# sourceMappingURL=finder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../src/connection/finder.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,SAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGhG"}
@@ -1,17 +0,0 @@
1
- import { DEFAULT_CDP_PORT } from '../constants.js';
2
- import { fetchCDPTargets } from '../utils/http.js';
3
- /**
4
- * Validate that a CDP target still exists.
5
- *
6
- * This function polls Chrome's target list to verify the target hasn't been closed.
7
- * Used during long-running sessions to detect tab closures.
8
- *
9
- * @param targetId - Target ID to validate
10
- * @param port - Chrome debugging port (defaults to centralized DEFAULT_CDP_PORT)
11
- * @returns True if target still exists, false otherwise
12
- */
13
- export async function validateTarget(targetId, port = DEFAULT_CDP_PORT) {
14
- const targets = await fetchCDPTargets(port);
15
- return targets.some((t) => t.id === targetId);
16
- }
17
- //# sourceMappingURL=finder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finder.js","sourceRoot":"","sources":["../../src/connection/finder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAI,GAAG,gBAAgB;IAC5E,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;AAChD,CAAC"}