browser-debugger-cli 0.6.0 → 0.6.2

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 (699) hide show
  1. package/README.md +65 -6
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +23 -52
  3. package/dist/__tests__/smoke/error-handling.smoke.test.js.map +1 -1
  4. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js +27 -24
  5. package/dist/__tests__/smoke/session-lifecycle.smoke.test.js.map +1 -1
  6. package/dist/__testutils__/daemonHelpers.d.ts +13 -1
  7. package/dist/__testutils__/daemonHelpers.d.ts.map +1 -1
  8. package/dist/__testutils__/daemonHelpers.js +54 -5
  9. package/dist/__testutils__/daemonHelpers.js.map +1 -1
  10. package/dist/__testutils__/testCleanup.js +1 -1
  11. package/dist/__testutils__/testCleanup.js.map +1 -1
  12. package/dist/cdp/protocol.d.ts +0 -48
  13. package/dist/cdp/protocol.d.ts.map +1 -1
  14. package/dist/cdp/protocol.js +9 -101
  15. package/dist/cdp/protocol.js.map +1 -1
  16. package/dist/commands/__tests__/cdp.contract.test.js +2 -2
  17. package/dist/commands/__tests__/cdp.contract.test.js.map +1 -1
  18. package/dist/commands/__tests__/domEval.contract.test.js +8 -4
  19. package/dist/commands/__tests__/domEval.contract.test.js.map +1 -1
  20. package/dist/commands/cdp.d.ts.map +1 -1
  21. package/dist/commands/cdp.js +4 -37
  22. package/dist/commands/cdp.js.map +1 -1
  23. package/dist/commands/cleanup.d.ts.map +1 -1
  24. package/dist/commands/cleanup.js +25 -23
  25. package/dist/commands/cleanup.js.map +1 -1
  26. package/dist/commands/console.d.ts.map +1 -1
  27. package/dist/commands/console.js +3 -8
  28. package/dist/commands/console.js.map +1 -1
  29. package/dist/commands/details.d.ts.map +1 -1
  30. package/dist/commands/details.js +1 -1
  31. package/dist/commands/details.js.map +1 -1
  32. package/dist/commands/dom/a11y.d.ts +18 -0
  33. package/dist/commands/dom/a11y.d.ts.map +1 -0
  34. package/dist/commands/dom/a11y.js +134 -0
  35. package/dist/commands/dom/a11y.js.map +1 -0
  36. package/dist/commands/{domEvalHelpers.d.ts → dom/evalHelpers.d.ts} +8 -5
  37. package/dist/commands/dom/evalHelpers.d.ts.map +1 -0
  38. package/dist/commands/{domEvalHelpers.js → dom/evalHelpers.js} +14 -13
  39. package/dist/commands/dom/evalHelpers.js.map +1 -0
  40. package/dist/commands/dom/formFillHelpers.d.ts +47 -0
  41. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -0
  42. package/dist/commands/dom/formFillHelpers.js +185 -0
  43. package/dist/commands/dom/formFillHelpers.js.map +1 -0
  44. package/dist/commands/dom/formInteraction.d.ts +17 -0
  45. package/dist/commands/dom/formInteraction.d.ts.map +1 -0
  46. package/dist/commands/dom/formInteraction.js +239 -0
  47. package/dist/commands/dom/formInteraction.js.map +1 -0
  48. package/dist/commands/dom/formSubmitHelpers.d.ts +58 -0
  49. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -0
  50. package/dist/commands/dom/formSubmitHelpers.js +176 -0
  51. package/dist/commands/dom/formSubmitHelpers.js.map +1 -0
  52. package/dist/commands/dom/helpers.d.ts +34 -0
  53. package/dist/commands/dom/helpers.d.ts.map +1 -0
  54. package/dist/commands/dom/helpers.js +244 -0
  55. package/dist/commands/dom/helpers.js.map +1 -0
  56. package/dist/commands/{dom.d.ts → dom/index.d.ts} +1 -1
  57. package/dist/commands/dom/index.d.ts.map +1 -0
  58. package/dist/commands/dom/index.js +175 -0
  59. package/dist/commands/dom/index.js.map +1 -0
  60. package/dist/commands/dom/reactEventHelpers.d.ts +80 -0
  61. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -0
  62. package/dist/commands/dom/reactEventHelpers.js +274 -0
  63. package/dist/commands/dom/reactEventHelpers.js.map +1 -0
  64. package/dist/commands/network.js +1 -1
  65. package/dist/commands/network.js.map +1 -1
  66. package/dist/commands/peek.d.ts.map +1 -1
  67. package/dist/commands/peek.js +49 -52
  68. package/dist/commands/peek.js.map +1 -1
  69. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  70. package/dist/commands/shared/CommandRunner.js +3 -2
  71. package/dist/commands/shared/CommandRunner.js.map +1 -1
  72. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  73. package/dist/commands/shared/commonOptions.js +3 -1
  74. package/dist/commands/shared/commonOptions.js.map +1 -1
  75. package/dist/commands/shared/daemonErrorHandler.d.ts +30 -0
  76. package/dist/commands/shared/daemonErrorHandler.d.ts.map +1 -0
  77. package/dist/commands/shared/daemonErrorHandler.js +32 -0
  78. package/dist/commands/shared/daemonErrorHandler.js.map +1 -0
  79. package/dist/commands/shared/{daemonSessionController.d.ts → startHelpers.d.ts} +7 -1
  80. package/dist/commands/shared/startHelpers.d.ts.map +1 -0
  81. package/dist/commands/shared/{daemonSessionController.js → startHelpers.js} +13 -5
  82. package/dist/commands/shared/startHelpers.js.map +1 -0
  83. package/dist/commands/shared/validation.d.ts +44 -0
  84. package/dist/commands/shared/validation.d.ts.map +1 -0
  85. package/dist/commands/shared/validation.js +68 -0
  86. package/dist/commands/shared/validation.js.map +1 -0
  87. package/dist/commands/start.d.ts.map +1 -1
  88. package/dist/commands/start.js +9 -25
  89. package/dist/commands/start.js.map +1 -1
  90. package/dist/commands/status.d.ts.map +1 -1
  91. package/dist/commands/status.js +6 -4
  92. package/dist/commands/status.js.map +1 -1
  93. package/dist/commands/stop.d.ts.map +1 -1
  94. package/dist/commands/stop.js +16 -19
  95. package/dist/commands/stop.js.map +1 -1
  96. package/dist/commands/tail.d.ts.map +1 -1
  97. package/dist/commands/tail.js +49 -44
  98. package/dist/commands/tail.js.map +1 -1
  99. package/dist/commands/types.d.ts +46 -0
  100. package/dist/commands/types.d.ts.map +1 -0
  101. package/dist/commands/types.js +8 -0
  102. package/dist/commands/types.js.map +1 -0
  103. package/dist/commands.d.ts.map +1 -1
  104. package/dist/commands.js +3 -1
  105. package/dist/commands.js.map +1 -1
  106. package/dist/connection/__tests__/cdp.contract.test.js +7 -7
  107. package/dist/connection/__tests__/cdp.contract.test.js.map +1 -1
  108. package/dist/connection/__tests__/handlers.unit.test.d.ts +11 -0
  109. package/dist/connection/__tests__/handlers.unit.test.d.ts.map +1 -0
  110. package/dist/connection/__tests__/handlers.unit.test.js +220 -0
  111. package/dist/connection/__tests__/handlers.unit.test.js.map +1 -0
  112. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts +14 -0
  113. package/dist/connection/__tests__/pageReadiness.contract.test.d.ts.map +1 -0
  114. package/dist/connection/__tests__/pageReadiness.contract.test.js +382 -0
  115. package/dist/connection/__tests__/pageReadiness.contract.test.js.map +1 -0
  116. package/dist/connection/__tests__/portReservation.contract.test.d.ts +14 -0
  117. package/dist/connection/__tests__/portReservation.contract.test.d.ts.map +1 -0
  118. package/dist/connection/__tests__/portReservation.contract.test.js +250 -0
  119. package/dist/connection/__tests__/portReservation.contract.test.js.map +1 -0
  120. package/dist/connection/cdp.d.ts +34 -11
  121. package/dist/connection/cdp.d.ts.map +1 -1
  122. package/dist/connection/cdp.js +61 -45
  123. package/dist/connection/cdp.js.map +1 -1
  124. package/dist/connection/config.d.ts +63 -0
  125. package/dist/connection/config.d.ts.map +1 -0
  126. package/dist/connection/config.js +46 -0
  127. package/dist/connection/config.js.map +1 -0
  128. package/dist/connection/errors.d.ts +6 -21
  129. package/dist/connection/errors.d.ts.map +1 -1
  130. package/dist/connection/errors.js +7 -26
  131. package/dist/connection/errors.js.map +1 -1
  132. package/dist/connection/events.d.ts +30 -0
  133. package/dist/connection/events.d.ts.map +1 -0
  134. package/dist/connection/events.js +8 -0
  135. package/dist/connection/events.js.map +1 -0
  136. package/dist/connection/handlers.d.ts +3 -5
  137. package/dist/connection/handlers.d.ts.map +1 -1
  138. package/dist/connection/handlers.js +10 -12
  139. package/dist/connection/handlers.js.map +1 -1
  140. package/dist/connection/launcher/binaryResolver.d.ts +40 -0
  141. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -0
  142. package/dist/connection/launcher/binaryResolver.js +78 -0
  143. package/dist/connection/launcher/binaryResolver.js.map +1 -0
  144. package/dist/connection/launcher/flagsBuilder.d.ts +64 -0
  145. package/dist/connection/launcher/flagsBuilder.d.ts.map +1 -0
  146. package/dist/connection/launcher/flagsBuilder.js +84 -0
  147. package/dist/connection/launcher/flagsBuilder.js.map +1 -0
  148. package/dist/connection/launcher/preferencesLoader.d.ts +74 -0
  149. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -0
  150. package/dist/connection/launcher/preferencesLoader.js +89 -0
  151. package/dist/connection/launcher/preferencesLoader.js.map +1 -0
  152. package/dist/connection/launcher.d.ts +24 -1
  153. package/dist/connection/launcher.d.ts.map +1 -1
  154. package/dist/connection/launcher.js +30 -205
  155. package/dist/connection/launcher.js.map +1 -1
  156. package/dist/connection/pageReadiness.d.ts +8 -8
  157. package/dist/connection/pageReadiness.d.ts.map +1 -1
  158. package/dist/connection/pageReadiness.js +36 -52
  159. package/dist/connection/pageReadiness.js.map +1 -1
  160. package/dist/connection/portReservation.d.ts +40 -0
  161. package/dist/connection/portReservation.d.ts.map +1 -0
  162. package/dist/connection/portReservation.js +55 -0
  163. package/dist/connection/portReservation.js.map +1 -0
  164. package/dist/connection/typed-cdp.d.ts +2 -1
  165. package/dist/connection/typed-cdp.d.ts.map +1 -1
  166. package/dist/connection/typed-cdp.js.map +1 -1
  167. package/dist/connection/types.d.ts +103 -0
  168. package/dist/connection/types.d.ts.map +1 -0
  169. package/dist/connection/types.js +8 -0
  170. package/dist/connection/types.js.map +1 -0
  171. package/dist/constants.d.ts +6 -83
  172. package/dist/constants.d.ts.map +1 -1
  173. package/dist/constants.js +6 -83
  174. package/dist/constants.js.map +1 -1
  175. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts +8 -0
  176. package/dist/daemon/__tests__/JsonlParser.unit.test.d.ts.map +1 -0
  177. package/dist/daemon/__tests__/JsonlParser.unit.test.js +140 -0
  178. package/dist/daemon/__tests__/JsonlParser.unit.test.js.map +1 -0
  179. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts +8 -0
  180. package/dist/daemon/__tests__/PendingRequestManager.unit.test.d.ts.map +1 -0
  181. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js +276 -0
  182. package/dist/daemon/__tests__/PendingRequestManager.unit.test.js.map +1 -0
  183. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts +8 -0
  184. package/dist/daemon/__tests__/TelemetryStore.unit.test.d.ts.map +1 -0
  185. package/dist/daemon/__tests__/TelemetryStore.unit.test.js +290 -0
  186. package/dist/daemon/__tests__/TelemetryStore.unit.test.js.map +1 -0
  187. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts +8 -0
  188. package/dist/daemon/__tests__/commandRegistry.contract.test.d.ts.map +1 -0
  189. package/dist/daemon/__tests__/commandRegistry.contract.test.js +384 -0
  190. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -0
  191. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +19 -0
  192. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +1 -0
  193. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +212 -0
  194. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +1 -0
  195. package/dist/daemon/__tests__/ipcServer.contract.test.js +2 -1
  196. package/dist/daemon/__tests__/ipcServer.contract.test.js.map +1 -1
  197. package/dist/daemon/errors.d.ts +65 -0
  198. package/dist/daemon/errors.d.ts.map +1 -0
  199. package/dist/daemon/errors.js +82 -0
  200. package/dist/daemon/errors.js.map +1 -0
  201. package/dist/daemon/handlers/CommandHandlers.d.ts +32 -0
  202. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -0
  203. package/dist/daemon/handlers/CommandHandlers.js +93 -0
  204. package/dist/daemon/handlers/CommandHandlers.js.map +1 -0
  205. package/dist/daemon/handlers/QueryHandlers.d.ts +35 -0
  206. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -0
  207. package/dist/daemon/handlers/QueryHandlers.js +176 -0
  208. package/dist/daemon/handlers/QueryHandlers.js.map +1 -0
  209. package/dist/daemon/handlers/SessionHandlers.d.ts +32 -0
  210. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -0
  211. package/dist/daemon/handlers/SessionHandlers.js +227 -0
  212. package/dist/daemon/handlers/SessionHandlers.js.map +1 -0
  213. package/dist/daemon/handlers/pendingRequests.d.ts +50 -0
  214. package/dist/daemon/handlers/pendingRequests.d.ts.map +1 -0
  215. package/dist/daemon/handlers/pendingRequests.js +57 -0
  216. package/dist/daemon/handlers/pendingRequests.js.map +1 -0
  217. package/dist/daemon/handlers/requestHandlers.d.ts +51 -0
  218. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -0
  219. package/dist/daemon/handlers/requestHandlers.js +61 -0
  220. package/dist/daemon/handlers/requestHandlers.js.map +1 -0
  221. package/dist/daemon/handlers/responseHandler.d.ts +42 -0
  222. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -0
  223. package/dist/daemon/handlers/responseHandler.js +195 -0
  224. package/dist/daemon/handlers/responseHandler.js.map +1 -0
  225. package/dist/daemon/ipcServer.d.ts +19 -41
  226. package/dist/daemon/ipcServer.d.ts.map +1 -1
  227. package/dist/daemon/ipcServer.js +83 -655
  228. package/dist/daemon/ipcServer.js.map +1 -1
  229. package/dist/daemon/launcher.d.ts.map +1 -1
  230. package/dist/daemon/launcher.js +10 -6
  231. package/dist/daemon/launcher.js.map +1 -1
  232. package/dist/daemon/lifecycle/cdpSetup.d.ts +24 -0
  233. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -0
  234. package/dist/daemon/lifecycle/cdpSetup.js +59 -0
  235. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -0
  236. package/dist/daemon/lifecycle/chromeConnection.d.ts +17 -0
  237. package/dist/daemon/lifecycle/chromeConnection.d.ts.map +1 -0
  238. package/dist/daemon/lifecycle/chromeConnection.js +80 -0
  239. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -0
  240. package/dist/daemon/lifecycle/signalHandlers.d.ts +14 -0
  241. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -0
  242. package/dist/daemon/lifecycle/signalHandlers.js +35 -0
  243. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -0
  244. package/dist/daemon/lifecycle/workerCleanup.d.ts +27 -0
  245. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -0
  246. package/dist/daemon/lifecycle/workerCleanup.js +144 -0
  247. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -0
  248. package/dist/daemon/lifecycle/workerConfig.d.ts +14 -0
  249. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -0
  250. package/dist/daemon/lifecycle/workerConfig.js +66 -0
  251. package/dist/daemon/lifecycle/workerConfig.js.map +1 -0
  252. package/dist/daemon/lifecycle/workerIpc.d.ts +14 -0
  253. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -0
  254. package/dist/daemon/lifecycle/workerIpc.js +87 -0
  255. package/dist/daemon/lifecycle/workerIpc.js.map +1 -0
  256. package/dist/daemon/server/JsonlParser.d.ts +31 -0
  257. package/dist/daemon/server/JsonlParser.d.ts.map +1 -0
  258. package/dist/daemon/server/JsonlParser.js +57 -0
  259. package/dist/daemon/server/JsonlParser.js.map +1 -0
  260. package/dist/daemon/server/SocketServer.d.ts.map +1 -1
  261. package/dist/daemon/server/SocketServer.js +2 -2
  262. package/dist/daemon/server/SocketServer.js.map +1 -1
  263. package/dist/daemon/server/WorkerManager.d.ts +3 -3
  264. package/dist/daemon/server/WorkerManager.d.ts.map +1 -1
  265. package/dist/daemon/server/WorkerManager.js +10 -19
  266. package/dist/daemon/server/WorkerManager.js.map +1 -1
  267. package/dist/daemon/services/SessionService.d.ts +87 -0
  268. package/dist/daemon/services/SessionService.d.ts.map +1 -0
  269. package/dist/daemon/services/SessionService.js +45 -0
  270. package/dist/daemon/services/SessionService.js.map +1 -0
  271. package/dist/daemon/startSession.d.ts.map +1 -1
  272. package/dist/daemon/startSession.js +54 -31
  273. package/dist/daemon/startSession.js.map +1 -1
  274. package/dist/daemon/worker/commandRegistry.d.ts +1 -1
  275. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  276. package/dist/daemon/worker/commandRegistry.js +20 -215
  277. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  278. package/dist/daemon/worker.d.ts +3 -12
  279. package/dist/daemon/worker.d.ts.map +1 -1
  280. package/dist/daemon/worker.js +47 -367
  281. package/dist/daemon/worker.js.map +1 -1
  282. package/dist/index.js +1 -1
  283. package/dist/index.js.map +1 -1
  284. package/dist/ipc/__tests__/client.contract.test.d.ts +0 -15
  285. package/dist/ipc/__tests__/client.contract.test.d.ts.map +1 -1
  286. package/dist/ipc/__tests__/client.contract.test.js +259 -42
  287. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  288. package/dist/ipc/__tests__/errors.unit.test.d.ts +7 -0
  289. package/dist/ipc/__tests__/errors.unit.test.d.ts.map +1 -0
  290. package/dist/ipc/__tests__/errors.unit.test.js +77 -0
  291. package/dist/ipc/__tests__/errors.unit.test.js.map +1 -0
  292. package/dist/ipc/__tests__/guards.unit.test.d.ts +7 -0
  293. package/dist/ipc/__tests__/guards.unit.test.d.ts.map +1 -0
  294. package/dist/ipc/__tests__/guards.unit.test.js +73 -0
  295. package/dist/ipc/__tests__/guards.unit.test.js.map +1 -0
  296. package/dist/ipc/__tests__/jsonl.unit.test.d.ts +7 -0
  297. package/dist/ipc/__tests__/jsonl.unit.test.d.ts.map +1 -0
  298. package/dist/ipc/__tests__/jsonl.unit.test.js +103 -0
  299. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -0
  300. package/dist/ipc/__tests__/validation.unit.test.d.ts +7 -0
  301. package/dist/ipc/__tests__/validation.unit.test.d.ts.map +1 -0
  302. package/dist/ipc/__tests__/validation.unit.test.js +60 -0
  303. package/dist/ipc/__tests__/validation.unit.test.js.map +1 -0
  304. package/dist/ipc/client.d.ts +93 -84
  305. package/dist/ipc/client.d.ts.map +1 -1
  306. package/dist/ipc/client.js +121 -192
  307. package/dist/ipc/client.js.map +1 -1
  308. package/dist/ipc/index.d.ts +17 -0
  309. package/dist/ipc/index.d.ts.map +1 -0
  310. package/dist/ipc/index.js +23 -0
  311. package/dist/ipc/index.js.map +1 -0
  312. package/dist/ipc/protocol/commands.d.ts +144 -0
  313. package/dist/ipc/protocol/commands.d.ts.map +1 -0
  314. package/dist/ipc/protocol/commands.js +23 -0
  315. package/dist/ipc/protocol/commands.js.map +1 -0
  316. package/dist/ipc/protocol/guards.d.ts +47 -0
  317. package/dist/ipc/protocol/guards.d.ts.map +1 -0
  318. package/dist/ipc/protocol/guards.js +62 -0
  319. package/dist/ipc/protocol/guards.js.map +1 -0
  320. package/dist/ipc/protocol/index.d.ts +9 -0
  321. package/dist/ipc/protocol/index.d.ts.map +1 -0
  322. package/dist/ipc/protocol/index.js +8 -0
  323. package/dist/ipc/protocol/index.js.map +1 -0
  324. package/dist/ipc/protocol/messages.d.ts +64 -0
  325. package/dist/ipc/protocol/messages.d.ts.map +1 -0
  326. package/dist/ipc/protocol/messages.js +8 -0
  327. package/dist/ipc/protocol/messages.js.map +1 -0
  328. package/dist/ipc/session/errors.d.ts +25 -0
  329. package/dist/ipc/session/errors.d.ts.map +1 -0
  330. package/dist/ipc/{types.js → session/errors.js} +11 -6
  331. package/dist/ipc/session/errors.js.map +1 -0
  332. package/dist/ipc/session/index.d.ts +16 -0
  333. package/dist/ipc/session/index.d.ts.map +1 -0
  334. package/dist/ipc/session/index.js +7 -0
  335. package/dist/ipc/session/index.js.map +1 -0
  336. package/dist/ipc/session/lifecycle.d.ts +125 -0
  337. package/dist/ipc/session/lifecycle.d.ts.map +1 -0
  338. package/dist/ipc/session/lifecycle.js +7 -0
  339. package/dist/ipc/session/lifecycle.js.map +1 -0
  340. package/dist/ipc/session/queries.d.ts +94 -0
  341. package/dist/ipc/session/queries.d.ts.map +1 -0
  342. package/dist/ipc/session/queries.js +7 -0
  343. package/dist/ipc/session/queries.js.map +1 -0
  344. package/dist/ipc/session/types.d.ts +28 -0
  345. package/dist/ipc/session/types.d.ts.map +1 -0
  346. package/dist/ipc/session/types.js +7 -0
  347. package/dist/ipc/session/types.js.map +1 -0
  348. package/dist/ipc/transport/IPCError.d.ts +82 -0
  349. package/dist/ipc/transport/IPCError.d.ts.map +1 -0
  350. package/dist/ipc/transport/IPCError.js +109 -0
  351. package/dist/ipc/transport/IPCError.js.map +1 -0
  352. package/dist/ipc/transport/errors.d.ts +11 -0
  353. package/dist/ipc/transport/errors.d.ts.map +1 -0
  354. package/dist/ipc/transport/errors.js +28 -0
  355. package/dist/ipc/transport/errors.js.map +1 -0
  356. package/dist/ipc/transport/index.d.ts +16 -0
  357. package/dist/ipc/transport/index.d.ts.map +1 -0
  358. package/dist/ipc/transport/index.js +77 -0
  359. package/dist/ipc/transport/index.js.map +1 -0
  360. package/dist/ipc/transport/jsonl.d.ts +39 -0
  361. package/dist/ipc/transport/jsonl.d.ts.map +1 -0
  362. package/dist/ipc/transport/jsonl.js +61 -0
  363. package/dist/ipc/transport/jsonl.js.map +1 -0
  364. package/dist/ipc/transport/socket.d.ts +27 -0
  365. package/dist/ipc/transport/socket.d.ts.map +1 -0
  366. package/dist/ipc/transport/socket.js +49 -0
  367. package/dist/ipc/transport/socket.js.map +1 -0
  368. package/dist/ipc/transport/validation.d.ts +21 -0
  369. package/dist/ipc/transport/validation.d.ts.map +1 -0
  370. package/dist/ipc/transport/validation.js +23 -0
  371. package/dist/ipc/transport/validation.js.map +1 -0
  372. package/dist/ipc/utils/errors.d.ts +25 -0
  373. package/dist/ipc/utils/errors.d.ts.map +1 -0
  374. package/dist/ipc/utils/errors.js +29 -0
  375. package/dist/ipc/utils/errors.js.map +1 -0
  376. package/dist/ipc/utils/index.d.ts +12 -0
  377. package/dist/ipc/utils/index.d.ts.map +1 -0
  378. package/dist/ipc/utils/index.js +11 -0
  379. package/dist/ipc/utils/index.js.map +1 -0
  380. package/dist/ipc/utils/requestId.d.ts +23 -0
  381. package/dist/ipc/utils/requestId.d.ts.map +1 -0
  382. package/dist/ipc/utils/requestId.js +27 -0
  383. package/dist/ipc/utils/requestId.js.map +1 -0
  384. package/dist/ipc/utils/responseValidator.d.ts.map +1 -0
  385. package/dist/ipc/{responseValidator.js → utils/responseValidator.js} +2 -1
  386. package/dist/ipc/utils/responseValidator.js.map +1 -0
  387. package/dist/ipc/utils/session.d.ts +36 -0
  388. package/dist/ipc/utils/session.d.ts.map +1 -0
  389. package/dist/ipc/utils/session.js +37 -0
  390. package/dist/ipc/utils/session.js.map +1 -0
  391. package/dist/ipc/utils/types.d.ts +17 -0
  392. package/dist/ipc/utils/types.d.ts.map +1 -0
  393. package/dist/ipc/utils/types.js +7 -0
  394. package/dist/ipc/utils/types.js.map +1 -0
  395. package/dist/session/__tests__/chrome-cache.contract.test.d.ts +7 -0
  396. package/dist/session/__tests__/chrome-cache.contract.test.d.ts.map +1 -0
  397. package/dist/session/__tests__/chrome-cache.contract.test.js +77 -0
  398. package/dist/session/__tests__/chrome-cache.contract.test.js.map +1 -0
  399. package/dist/session/__tests__/cleanup.contract.test.d.ts +7 -0
  400. package/dist/session/__tests__/cleanup.contract.test.d.ts.map +1 -0
  401. package/dist/session/__tests__/cleanup.contract.test.js +84 -0
  402. package/dist/session/__tests__/cleanup.contract.test.js.map +1 -0
  403. package/dist/session/__tests__/lock.contract.test.d.ts +7 -0
  404. package/dist/session/__tests__/lock.contract.test.d.ts.map +1 -0
  405. package/dist/session/__tests__/lock.contract.test.js +77 -0
  406. package/dist/session/__tests__/lock.contract.test.js.map +1 -0
  407. package/dist/session/__tests__/metadata.contract.test.d.ts +7 -0
  408. package/dist/session/__tests__/metadata.contract.test.d.ts.map +1 -0
  409. package/dist/session/__tests__/metadata.contract.test.js +87 -0
  410. package/dist/session/__tests__/metadata.contract.test.js.map +1 -0
  411. package/dist/session/chrome.d.ts +20 -0
  412. package/dist/session/chrome.d.ts.map +1 -1
  413. package/dist/session/chrome.js +81 -17
  414. package/dist/session/chrome.js.map +1 -1
  415. package/dist/session/cleanup.d.ts +36 -2
  416. package/dist/session/cleanup.d.ts.map +1 -1
  417. package/dist/session/cleanup.js +201 -73
  418. package/dist/session/cleanup.js.map +1 -1
  419. package/dist/session/lock.d.ts.map +1 -1
  420. package/dist/session/lock.js +102 -91
  421. package/dist/session/lock.js.map +1 -1
  422. package/dist/session/metadata.d.ts +10 -3
  423. package/dist/session/metadata.d.ts.map +1 -1
  424. package/dist/session/metadata.js +24 -6
  425. package/dist/session/metadata.js.map +1 -1
  426. package/dist/session/paths.d.ts +0 -9
  427. package/dist/session/paths.d.ts.map +1 -1
  428. package/dist/session/paths.js +0 -11
  429. package/dist/session/paths.js.map +1 -1
  430. package/dist/session/pid.d.ts +15 -0
  431. package/dist/session/pid.d.ts.map +1 -1
  432. package/dist/session/pid.js +39 -21
  433. package/dist/session/pid.js.map +1 -1
  434. package/dist/session/process.d.ts +4 -41
  435. package/dist/session/process.d.ts.map +1 -1
  436. package/dist/session/process.js +4 -85
  437. package/dist/session/process.js.map +1 -1
  438. package/dist/session/statusData.d.ts +50 -0
  439. package/dist/session/statusData.d.ts.map +1 -0
  440. package/dist/session/statusData.js +51 -0
  441. package/dist/session/statusData.js.map +1 -0
  442. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +10 -0
  443. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +1 -0
  444. package/dist/telemetry/__tests__/a11y.unit.test.js +265 -0
  445. package/dist/telemetry/__tests__/a11y.unit.test.js.map +1 -0
  446. package/dist/telemetry/__tests__/navigation.contract.test.d.ts +8 -0
  447. package/dist/telemetry/__tests__/navigation.contract.test.d.ts.map +1 -0
  448. package/dist/telemetry/__tests__/navigation.contract.test.js +211 -0
  449. package/dist/telemetry/__tests__/navigation.contract.test.js.map +1 -0
  450. package/dist/telemetry/__tests__/network.contract.test.d.ts +0 -20
  451. package/dist/telemetry/__tests__/network.contract.test.d.ts.map +1 -1
  452. package/dist/telemetry/__tests__/network.contract.test.js +2 -64
  453. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  454. package/dist/telemetry/__tests__/utils.unit.test.d.ts +7 -0
  455. package/dist/telemetry/__tests__/utils.unit.test.d.ts.map +1 -0
  456. package/dist/telemetry/__tests__/utils.unit.test.js +91 -0
  457. package/dist/telemetry/__tests__/utils.unit.test.js.map +1 -0
  458. package/dist/telemetry/a11y.d.ts +78 -0
  459. package/dist/telemetry/a11y.d.ts.map +1 -0
  460. package/dist/telemetry/a11y.js +280 -0
  461. package/dist/telemetry/a11y.js.map +1 -0
  462. package/dist/telemetry/console.d.ts.map +1 -1
  463. package/dist/telemetry/console.js +19 -28
  464. package/dist/telemetry/console.js.map +1 -1
  465. package/dist/telemetry/dialogs.d.ts.map +1 -1
  466. package/dist/telemetry/dialogs.js +4 -8
  467. package/dist/telemetry/dialogs.js.map +1 -1
  468. package/dist/telemetry/dom.d.ts +1 -1
  469. package/dist/telemetry/dom.d.ts.map +1 -1
  470. package/dist/telemetry/dom.js +83 -60
  471. package/dist/telemetry/dom.js.map +1 -1
  472. package/dist/telemetry/filters.d.ts +5 -18
  473. package/dist/telemetry/filters.d.ts.map +1 -1
  474. package/dist/telemetry/filters.js +36 -56
  475. package/dist/telemetry/filters.js.map +1 -1
  476. package/dist/telemetry/navigation.d.ts.map +1 -1
  477. package/dist/telemetry/navigation.js +5 -8
  478. package/dist/telemetry/navigation.js.map +1 -1
  479. package/dist/telemetry/network.d.ts.map +1 -1
  480. package/dist/telemetry/network.js +105 -104
  481. package/dist/telemetry/network.js.map +1 -1
  482. package/dist/telemetry/utils.d.ts +85 -0
  483. package/dist/telemetry/utils.d.ts.map +1 -0
  484. package/dist/telemetry/utils.js +138 -0
  485. package/dist/telemetry/utils.js.map +1 -0
  486. package/dist/types/dom.d.ts +66 -0
  487. package/dist/types/dom.d.ts.map +1 -0
  488. package/dist/types/dom.js +8 -0
  489. package/dist/types/dom.js.map +1 -0
  490. package/dist/types.d.ts +86 -77
  491. package/dist/types.d.ts.map +1 -1
  492. package/dist/{commands/shared → ui}/OutputBuilder.d.ts +10 -2
  493. package/dist/ui/OutputBuilder.d.ts.map +1 -0
  494. package/dist/{commands/shared → ui}/OutputBuilder.js +8 -2
  495. package/dist/ui/OutputBuilder.js.map +1 -0
  496. package/dist/ui/errors/CommandError.d.ts +16 -2
  497. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  498. package/dist/ui/errors/CommandError.js +2 -1
  499. package/dist/ui/errors/CommandError.js.map +1 -1
  500. package/dist/ui/errors/index.d.ts +2 -3
  501. package/dist/ui/errors/index.d.ts.map +1 -1
  502. package/dist/ui/errors/index.js +1 -3
  503. package/dist/ui/errors/index.js.map +1 -1
  504. package/dist/ui/errors/utils.d.ts +6 -0
  505. package/dist/ui/errors/utils.d.ts.map +1 -1
  506. package/dist/ui/errors/utils.js +8 -3
  507. package/dist/ui/errors/utils.js.map +1 -1
  508. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +2 -0
  509. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +1 -0
  510. package/dist/ui/formatters/__tests__/semantic.unit.test.js +111 -0
  511. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +1 -0
  512. package/dist/ui/formatters/a11y.d.ts +30 -0
  513. package/dist/ui/formatters/a11y.d.ts.map +1 -0
  514. package/dist/ui/formatters/a11y.js +178 -0
  515. package/dist/ui/formatters/a11y.js.map +1 -0
  516. package/dist/ui/formatters/dom.d.ts +3 -18
  517. package/dist/ui/formatters/dom.d.ts.map +1 -1
  518. package/dist/ui/formatters/dom.js +4 -27
  519. package/dist/ui/formatters/dom.js.map +1 -1
  520. package/dist/ui/formatters/preview.d.ts +10 -8
  521. package/dist/ui/formatters/preview.d.ts.map +1 -1
  522. package/dist/ui/formatters/preview.js +45 -17
  523. package/dist/ui/formatters/preview.js.map +1 -1
  524. package/dist/ui/formatters/semantic.d.ts +36 -0
  525. package/dist/ui/formatters/semantic.d.ts.map +1 -0
  526. package/dist/ui/formatters/semantic.js +98 -0
  527. package/dist/ui/formatters/semantic.js.map +1 -0
  528. package/dist/ui/formatters/status.d.ts +1 -1
  529. package/dist/ui/formatters/status.d.ts.map +1 -1
  530. package/dist/ui/formatters/status.js +9 -31
  531. package/dist/ui/formatters/status.js.map +1 -1
  532. package/dist/ui/formatting.d.ts +2 -270
  533. package/dist/ui/formatting.d.ts.map +1 -1
  534. package/dist/ui/formatting.js +8 -331
  535. package/dist/ui/formatting.js.map +1 -1
  536. package/dist/ui/logging/index.d.ts +1 -1
  537. package/dist/ui/logging/index.d.ts.map +1 -1
  538. package/dist/ui/logging/index.js +1 -1
  539. package/dist/ui/logging/index.js.map +1 -1
  540. package/dist/ui/logging/logger.d.ts +3 -23
  541. package/dist/ui/logging/logger.d.ts.map +1 -1
  542. package/dist/ui/logging/logger.js +2 -27
  543. package/dist/ui/logging/logger.js.map +1 -1
  544. package/dist/ui/messages/chrome.d.ts +15 -7
  545. package/dist/ui/messages/chrome.d.ts.map +1 -1
  546. package/dist/ui/messages/chrome.js +23 -32
  547. package/dist/ui/messages/chrome.js.map +1 -1
  548. package/dist/ui/messages/commands.d.ts +9 -19
  549. package/dist/ui/messages/commands.d.ts.map +1 -1
  550. package/dist/ui/messages/commands.js +14 -51
  551. package/dist/ui/messages/commands.js.map +1 -1
  552. package/dist/ui/messages/consoleMessages.d.ts +1 -1
  553. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  554. package/dist/ui/messages/consoleMessages.js +3 -6
  555. package/dist/ui/messages/consoleMessages.js.map +1 -1
  556. package/dist/ui/messages/debug.d.ts +0 -14
  557. package/dist/ui/messages/debug.d.ts.map +1 -1
  558. package/dist/ui/messages/debug.js +0 -18
  559. package/dist/ui/messages/debug.js.map +1 -1
  560. package/dist/ui/messages/errors.d.ts +0 -34
  561. package/dist/ui/messages/errors.d.ts.map +1 -1
  562. package/dist/ui/messages/errors.js +3 -81
  563. package/dist/ui/messages/errors.js.map +1 -1
  564. package/dist/ui/messages/internal.d.ts +0 -7
  565. package/dist/ui/messages/internal.d.ts.map +1 -1
  566. package/dist/ui/messages/internal.js +0 -12
  567. package/dist/ui/messages/internal.js.map +1 -1
  568. package/dist/ui/messages/preview.d.ts +14 -1
  569. package/dist/ui/messages/preview.d.ts.map +1 -1
  570. package/dist/ui/messages/preview.js +24 -7
  571. package/dist/ui/messages/preview.js.map +1 -1
  572. package/dist/ui/messages/session.d.ts.map +1 -1
  573. package/dist/ui/messages/session.js +7 -23
  574. package/dist/ui/messages/session.js.map +1 -1
  575. package/dist/ui/messages/validation.d.ts.map +1 -1
  576. package/dist/ui/messages/validation.js +7 -8
  577. package/dist/ui/messages/validation.js.map +1 -1
  578. package/dist/utils/__tests__/atomicFile.test.d.ts +2 -0
  579. package/dist/utils/__tests__/atomicFile.test.d.ts.map +1 -0
  580. package/dist/utils/__tests__/atomicFile.test.js +43 -0
  581. package/dist/utils/__tests__/atomicFile.test.js.map +1 -0
  582. package/dist/utils/__tests__/errors.unit.test.d.ts +12 -0
  583. package/dist/utils/__tests__/errors.unit.test.d.ts.map +1 -0
  584. package/dist/utils/__tests__/errors.unit.test.js +255 -0
  585. package/dist/utils/__tests__/errors.unit.test.js.map +1 -0
  586. package/dist/utils/__tests__/http.unit.test.d.ts +12 -0
  587. package/dist/utils/__tests__/http.unit.test.d.ts.map +1 -0
  588. package/dist/utils/__tests__/http.unit.test.js +218 -0
  589. package/dist/utils/__tests__/http.unit.test.js.map +1 -0
  590. package/dist/utils/__tests__/objects.test.d.ts +2 -0
  591. package/dist/utils/__tests__/objects.test.d.ts.map +1 -0
  592. package/dist/utils/__tests__/objects.test.js +50 -0
  593. package/dist/utils/__tests__/objects.test.js.map +1 -0
  594. package/dist/utils/__tests__/process.unit.test.d.ts +14 -0
  595. package/dist/utils/__tests__/process.unit.test.d.ts.map +1 -0
  596. package/dist/utils/__tests__/process.unit.test.js +124 -0
  597. package/dist/utils/__tests__/process.unit.test.js.map +1 -0
  598. package/dist/utils/__tests__/session.contract.test.js +14 -4
  599. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  600. package/dist/utils/__tests__/url.test.d.ts +2 -0
  601. package/dist/utils/__tests__/url.test.d.ts.map +1 -0
  602. package/dist/utils/__tests__/url.test.js +42 -0
  603. package/dist/utils/__tests__/url.test.js.map +1 -0
  604. package/dist/utils/atomicFile.d.ts +31 -5
  605. package/dist/utils/atomicFile.d.ts.map +1 -1
  606. package/dist/utils/atomicFile.js +52 -13
  607. package/dist/utils/atomicFile.js.map +1 -1
  608. package/dist/utils/concurrency.d.ts +54 -0
  609. package/dist/utils/concurrency.d.ts.map +1 -0
  610. package/dist/utils/concurrency.js +78 -0
  611. package/dist/utils/concurrency.js.map +1 -0
  612. package/dist/utils/daemonErrors.d.ts +60 -0
  613. package/dist/utils/daemonErrors.d.ts.map +1 -0
  614. package/dist/utils/daemonErrors.js +58 -0
  615. package/dist/utils/daemonErrors.js.map +1 -0
  616. package/dist/utils/errors.d.ts +28 -0
  617. package/dist/utils/errors.d.ts.map +1 -0
  618. package/dist/utils/errors.js +33 -0
  619. package/dist/utils/errors.js.map +1 -0
  620. package/dist/utils/exitCodes.d.ts +41 -5
  621. package/dist/utils/exitCodes.d.ts.map +1 -1
  622. package/dist/utils/exitCodes.js +43 -9
  623. package/dist/utils/exitCodes.js.map +1 -1
  624. package/dist/utils/http.d.ts +9 -4
  625. package/dist/utils/http.d.ts.map +1 -1
  626. package/dist/utils/http.js +44 -10
  627. package/dist/utils/http.js.map +1 -1
  628. package/dist/utils/levenshtein.d.ts +45 -0
  629. package/dist/utils/levenshtein.d.ts.map +1 -0
  630. package/dist/utils/levenshtein.js +85 -0
  631. package/dist/utils/levenshtein.js.map +1 -0
  632. package/dist/utils/objects.d.ts +16 -1
  633. package/dist/utils/objects.d.ts.map +1 -1
  634. package/dist/utils/objects.js +16 -1
  635. package/dist/utils/objects.js.map +1 -1
  636. package/dist/utils/process.d.ts +45 -0
  637. package/dist/utils/process.d.ts.map +1 -0
  638. package/dist/utils/process.js +91 -0
  639. package/dist/utils/process.js.map +1 -0
  640. package/dist/utils/url.d.ts +10 -3
  641. package/dist/utils/url.d.ts.map +1 -1
  642. package/dist/utils/url.js +42 -29
  643. package/dist/utils/url.js.map +1 -1
  644. package/dist/utils/validation.d.ts +101 -0
  645. package/dist/utils/validation.d.ts.map +1 -0
  646. package/dist/utils/validation.js +131 -0
  647. package/dist/utils/validation.js.map +1 -0
  648. package/package.json +22 -1
  649. package/dist/commands/dom.d.ts.map +0 -1
  650. package/dist/commands/dom.js +0 -244
  651. package/dist/commands/dom.js.map +0 -1
  652. package/dist/commands/domEvalHelpers.d.ts.map +0 -1
  653. package/dist/commands/domEvalHelpers.js.map +0 -1
  654. package/dist/commands/domOptionsBuilder.d.ts +0 -67
  655. package/dist/commands/domOptionsBuilder.d.ts.map +0 -1
  656. package/dist/commands/domOptionsBuilder.js +0 -86
  657. package/dist/commands/domOptionsBuilder.js.map +0 -1
  658. package/dist/commands/domSelectorParser.d.ts +0 -20
  659. package/dist/commands/domSelectorParser.d.ts.map +0 -1
  660. package/dist/commands/domSelectorParser.js +0 -20
  661. package/dist/commands/domSelectorParser.js.map +0 -1
  662. package/dist/commands/shared/OutputBuilder.d.ts.map +0 -1
  663. package/dist/commands/shared/OutputBuilder.js.map +0 -1
  664. package/dist/commands/shared/daemonSessionController.d.ts.map +0 -1
  665. package/dist/commands/shared/daemonSessionController.js.map +0 -1
  666. package/dist/commands/shared/sessionController.d.ts +0 -21
  667. package/dist/commands/shared/sessionController.d.ts.map +0 -1
  668. package/dist/commands/shared/sessionController.js +0 -54
  669. package/dist/commands/shared/sessionController.js.map +0 -1
  670. package/dist/connection/__tests__/finder.contract.test.d.ts +0 -2
  671. package/dist/connection/__tests__/finder.contract.test.d.ts.map +0 -1
  672. package/dist/connection/__tests__/finder.contract.test.js +0 -239
  673. package/dist/connection/__tests__/finder.contract.test.js.map +0 -1
  674. package/dist/connection/domOperations.d.ts +0 -48
  675. package/dist/connection/domOperations.d.ts.map +0 -1
  676. package/dist/connection/domOperations.js +0 -106
  677. package/dist/connection/domOperations.js.map +0 -1
  678. package/dist/connection/finder.d.ts +0 -12
  679. package/dist/connection/finder.d.ts.map +0 -1
  680. package/dist/connection/finder.js +0 -17
  681. package/dist/connection/finder.js.map +0 -1
  682. package/dist/ipc/commands.d.ts +0 -260
  683. package/dist/ipc/commands.d.ts.map +0 -1
  684. package/dist/ipc/commands.js +0 -77
  685. package/dist/ipc/commands.js.map +0 -1
  686. package/dist/ipc/responseValidator.d.ts.map +0 -1
  687. package/dist/ipc/responseValidator.js.map +0 -1
  688. package/dist/ipc/types.d.ts +0 -226
  689. package/dist/ipc/types.d.ts.map +0 -1
  690. package/dist/ipc/types.js.map +0 -1
  691. package/dist/session/fileOps.d.ts +0 -25
  692. package/dist/session/fileOps.d.ts.map +0 -1
  693. package/dist/session/fileOps.js +0 -39
  694. package/dist/session/fileOps.js.map +0 -1
  695. package/dist/session/queryCache.d.ts +0 -36
  696. package/dist/session/queryCache.d.ts.map +0 -1
  697. package/dist/session/queryCache.js +0 -66
  698. package/dist/session/queryCache.js.map +0 -1
  699. /package/dist/ipc/{responseValidator.d.ts → utils/responseValidator.d.ts} +0 -0
@@ -1,251 +1,180 @@
1
- /* eslint-disable import/order */
2
1
  /**
3
- * IPC Client - Minimal JSONL handshake MVP
2
+ * IPC Client
4
3
  *
5
- * Connects to the daemon's Unix domain socket and performs handshake.
4
+ * Public API for communicating with the daemon via Unix socket.
5
+ * Provides high-level functions for session lifecycle and queries.
6
6
  */
7
- import { randomUUID } from 'crypto';
8
- import { connect } from 'net';
9
- import { getIPCRequestTimeout } from '../constants.js';
10
- import { getDaemonSocketPath } from '../session/paths.js';
11
- import { getErrorMessage } from '../ui/errors/index.js';
12
- import { createLogger } from '../ui/logging/index.js';
13
- import { filterDefined } from '../utils/objects.js';
14
- const log = createLogger('client');
15
- /**
16
- * Generic IPC request sender that handles connection, timeout, and error handling.
17
- * Supports both traditional IPC messages (handshake, status, etc.) and command messages (DOM commands).
18
- *
19
- * @param request - The IPC request to send (either IPCRequest or ClientRequest<T>)
20
- * @param requestName - Human-readable name for logging (e.g., 'status', 'peek')
21
- * @returns Promise that resolves with the response
22
- */
23
- async function sendRequest(request, requestName) {
24
- const socketPath = getDaemonSocketPath();
25
- return new Promise((resolve, reject) => {
26
- const socket = connect(socketPath);
27
- let buffer = '';
28
- let resolved = false;
29
- // Set request timeout
30
- const timeoutMs = getIPCRequestTimeout();
31
- const timeout = setTimeout(() => {
32
- if (!resolved) {
33
- resolved = true;
34
- socket.destroy();
35
- reject(new Error(`${requestName} request timeout after ${timeoutMs / 1000}s`));
36
- }
37
- }, timeoutMs);
38
- socket.on('connect', () => {
39
- log.debug(`Connected to daemon for ${requestName} request`);
40
- socket.write(JSON.stringify(request) + '\n');
41
- log.debug(`${requestName} request sent`);
42
- });
43
- socket.on('data', (chunk) => {
44
- buffer += chunk.toString('utf-8');
45
- // Process complete JSONL frames
46
- const lines = buffer.split('\n');
47
- buffer = lines.pop() ?? '';
48
- for (const line of lines) {
49
- if (line.trim() && !resolved) {
50
- try {
51
- const response = JSON.parse(line);
52
- log.debug(`${requestName} response received`);
53
- resolved = true;
54
- clearTimeout(timeout);
55
- socket.destroy();
56
- resolve(response);
57
- }
58
- catch (error) {
59
- if (!resolved) {
60
- resolved = true;
61
- clearTimeout(timeout);
62
- socket.destroy();
63
- reject(new Error(`Failed to parse ${requestName} response: ${getErrorMessage(error)}`));
64
- }
65
- }
66
- }
67
- }
68
- });
69
- socket.on('error', (err) => {
70
- if (!resolved) {
71
- resolved = true;
72
- clearTimeout(timeout);
73
- const fullMessage = [
74
- `IPC ${requestName} connection error`,
75
- `Socket: ${socketPath}`,
76
- `Details: ${err.message}`,
77
- ].join(' | ');
78
- reject(new Error(fullMessage));
79
- }
80
- });
81
- socket.on('end', () => {
82
- if (!resolved) {
83
- resolved = true;
84
- clearTimeout(timeout);
85
- reject(new Error(`Connection closed before ${requestName} response received`));
86
- }
87
- });
88
- });
89
- }
7
+ import { sendRequest } from './transport/index.js';
8
+ import { withSession } from './utils/index.js';
90
9
  /**
91
10
  * Connect to the daemon and perform handshake.
11
+ * Verifies daemon is running and ready to accept commands.
12
+ *
13
+ * @returns Handshake response with connection status
14
+ * @throws Error if connection fails or times out
92
15
  *
93
- * @returns Handshake response from daemon
94
- * @throws Error if connection fails or handshake times out
16
+ * @example
17
+ * ```typescript
18
+ * const response = await connectToDaemon();
19
+ * if (response.status === 'ok') {
20
+ * console.log('Connected:', response.message);
21
+ * }
22
+ * ```
95
23
  */
96
24
  export async function connectToDaemon() {
97
- const request = {
98
- type: 'handshake_request',
99
- sessionId: randomUUID(),
100
- };
101
- return sendRequest(request, 'handshake');
25
+ const request = withSession({ type: 'handshake_request' });
26
+ return sendRequest(request, 'handshake', 'handshake_response');
102
27
  }
103
28
  /**
104
29
  * Request status information from the daemon.
30
+ * Returns daemon state, session metadata, and activity metrics.
31
+ *
32
+ * @returns Status response with daemon and session information
33
+ * @throws Error if connection fails or times out
105
34
  *
106
- * @returns Status response with daemon and session metadata
107
- * @throws Error if connection fails, daemon is not running, or request times out
35
+ * @example
36
+ * ```typescript
37
+ * const response = await getStatus();
38
+ * if (response.status === 'ok' && response.data) {
39
+ * console.log('Daemon PID:', response.data.daemonPid);
40
+ * console.log('Session active:', !!response.data.sessionPid);
41
+ * }
42
+ * ```
108
43
  */
109
44
  export async function getStatus() {
110
- const request = {
111
- type: 'status_request',
112
- sessionId: randomUUID(),
113
- };
114
- return sendRequest(request, 'status');
45
+ const request = withSession({ type: 'status_request' });
46
+ return sendRequest(request, 'status', 'status_response');
115
47
  }
116
48
  /**
117
49
  * Request preview data from the daemon.
50
+ * Returns snapshot of collected telemetry without stopping session.
118
51
  *
119
- * @returns Peek response with session preview data
120
- * @throws Error if connection fails, daemon is not running, or request times out
52
+ * @returns Peek response with preview data
53
+ * @throws Error if connection fails, times out, or no active session
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const response = await getPeek();
58
+ * if (response.status === 'ok' && response.data) {
59
+ * console.log('Network requests:', response.data.preview.data.network?.length);
60
+ * console.log('Console messages:', response.data.preview.data.console?.length);
61
+ * }
62
+ * ```
121
63
  */
122
64
  export async function getPeek() {
123
- const request = {
124
- type: 'peek_request',
125
- sessionId: randomUUID(),
126
- };
127
- return sendRequest(request, 'peek');
65
+ const request = withSession({ type: 'peek_request' });
66
+ return sendRequest(request, 'peek', 'peek_response');
128
67
  }
129
68
  /**
130
69
  * Request daemon to start a new browser session.
70
+ * Launches Chrome, establishes CDP connection, and begins telemetry collection.
131
71
  *
132
72
  * @param url - Target URL to navigate to
133
73
  * @param options - Session configuration options
134
- * @returns Start session response with worker and Chrome metadata
135
- * @throws Error if connection fails, daemon is not running, or request times out
74
+ * @returns Start session response with worker and Chrome PIDs
75
+ * @throws Error if connection fails, session already running, or Chrome launch fails
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const response = await startSession('http://localhost:3000', {
80
+ * timeout: 30,
81
+ * headless: true,
82
+ * maxBodySize: 10
83
+ * });
84
+ * if (response.status === 'ok' && response.data) {
85
+ * console.log('Session started, worker PID:', response.data.workerPid);
86
+ * }
87
+ * ```
136
88
  */
137
89
  export async function startSession(url, options) {
138
- const request = {
90
+ const request = withSession({
139
91
  type: 'start_session_request',
140
- sessionId: randomUUID(),
141
92
  url,
142
- ...filterDefined({
143
- port: options?.port,
144
- timeout: options?.timeout,
145
- telemetry: options?.telemetry,
146
- includeAll: options?.includeAll,
147
- userDataDir: options?.userDataDir,
148
- maxBodySize: options?.maxBodySize,
149
- headless: options?.headless,
150
- chromeWsUrl: options?.chromeWsUrl,
93
+ ...(options && {
94
+ port: options.port,
95
+ timeout: options.timeout,
96
+ telemetry: options.telemetry,
97
+ includeAll: options.includeAll,
98
+ userDataDir: options.userDataDir,
99
+ maxBodySize: options.maxBodySize,
100
+ headless: options.headless,
101
+ chromeWsUrl: options.chromeWsUrl,
151
102
  }),
152
- };
153
- return sendRequest(request, 'start session');
103
+ });
104
+ return sendRequest(request, 'start session', 'start_session_response');
154
105
  }
155
106
  /**
156
107
  * Request session stop from the daemon.
108
+ * Stops telemetry collection, closes Chrome, and writes output file.
109
+ *
110
+ * @returns Stop session response with termination status
111
+ * @throws Error if connection fails, times out, or no active session
157
112
  *
158
- * @returns Stop session response with success/error status
159
- * @throws Error if connection fails, daemon is not running, or request times out
113
+ * @example
114
+ * ```typescript
115
+ * const response = await stopSession();
116
+ * if (response.status === 'ok') {
117
+ * console.log('Session stopped:', response.message);
118
+ * }
119
+ * ```
160
120
  */
161
121
  export async function stopSession() {
162
- const request = {
163
- type: 'stop_session_request',
164
- sessionId: randomUUID(),
165
- };
166
- return sendRequest(request, 'stop session');
122
+ const request = withSession({ type: 'stop_session_request' });
123
+ return sendRequest(request, 'stop session', 'stop_session_response');
167
124
  }
168
125
  /**
169
- * Generic command sender - works for any registered command in the COMMANDS registry.
126
+ * Send a command to the worker process.
127
+ * Internal helper for worker commands (details, CDP calls).
170
128
  *
171
- * @param commandName - Name of the command from the COMMANDS registry
172
- * @param params - Command parameters matching the command's request schema
173
- * @returns Promise that resolves with the command response
129
+ * @param commandName - Name of the command to send
130
+ * @param params - Command parameters (without type field)
131
+ * @returns Command response from worker
132
+ * @throws Error if connection fails or command execution fails
174
133
  */
175
134
  async function sendCommand(commandName, params) {
176
135
  const request = {
177
- type: `${commandName}_request`,
178
- sessionId: randomUUID(),
179
136
  ...params,
137
+ type: `${commandName}_request`,
138
+ sessionId: withSession({ type: '' }).sessionId,
180
139
  };
181
- return sendRequest(request, commandName);
182
- }
183
- /**
184
- * Query DOM elements by CSS selector via the daemon's worker.
185
- *
186
- * @param selector - CSS selector to query
187
- * @returns DOM query response with matched elements
188
- * @throws Error if connection fails, daemon is not running, or request times out
189
- */
190
- export async function queryDOM(selector) {
191
- return sendCommand('dom_query', { selector });
192
- }
193
- /**
194
- * Highlight DOM elements in the browser via the daemon's worker.
195
- *
196
- * @param options - Highlight options (selector, index, nodeId, color, etc.)
197
- * @returns DOM highlight response with highlighted node information
198
- * @throws Error if connection fails, daemon is not running, or request times out
199
- */
200
- export async function highlightDOM(options) {
201
- return sendCommand('dom_highlight', options);
140
+ return sendRequest(request, commandName, `${commandName}_response`);
202
141
  }
203
142
  /**
204
- * Get full HTML and attributes for DOM elements via the daemon's worker.
143
+ * Get details for a specific network request or console message.
144
+ * Retrieves full data (headers, body, stack trace) for a telemetry item.
205
145
  *
206
- * @param options - Get options (selector, index, nodeId, all, nth)
207
- * @returns DOM get response with node information
208
- * @throws Error if connection fails, daemon is not running, or request times out
209
- */
210
- export async function getDOM(options) {
211
- return sendCommand('dom_get', options);
212
- }
213
- /**
214
- * Capture page screenshot via the daemon's worker.
215
- *
216
- * @param path - Output file path (absolute path)
217
- * @param options - Screenshot options (format, quality, fullPage)
218
- * @returns Screenshot response with metadata (path, dimensions, size)
219
- * @throws Error if connection fails, daemon is not running, or request times out
220
- */
221
- export async function captureScreenshot(path, options) {
222
- return sendCommand('dom_screenshot', {
223
- path,
224
- ...filterDefined({
225
- format: options?.format,
226
- quality: options?.quality,
227
- fullPage: options?.fullPage,
228
- }),
229
- });
230
- }
231
- /**
232
- * Get details for a specific network request or console message via the daemon's worker.
146
+ * @param type - Type of item to retrieve ('network' or 'console')
147
+ * @param id - Unique identifier of the item
148
+ * @returns Response with full item details
149
+ * @throws Error if connection fails or item not found
233
150
  *
234
- * @param type - Type of item: 'network' or 'console'
235
- * @param id - Request ID for network, index for console
236
- * @returns Worker details response with full object (including bodies/args)
237
- * @throws Error if connection fails, daemon is not running, or request times out
151
+ * @example
152
+ * ```typescript
153
+ * const response = await getDetails('network', 'req-123');
154
+ * if (response.status === 'ok' && response.data) {
155
+ * console.log('Full request:', response.data.item);
156
+ * }
157
+ * ```
238
158
  */
239
159
  export async function getDetails(type, id) {
240
160
  return sendCommand('worker_details', { itemType: type, id });
241
161
  }
242
162
  /**
243
163
  * Execute arbitrary CDP method via the daemon's worker.
164
+ * Forwards CDP commands to the worker's active CDP connection.
165
+ *
166
+ * @param method - CDP method name (e.g., 'Network.getCookies')
167
+ * @param params - Optional method parameters
168
+ * @returns Response with CDP method result
169
+ * @throws Error if connection fails or CDP method fails
244
170
  *
245
- * @param method - CDP method name (e.g., 'Network.getCookies', 'Runtime.evaluate')
246
- * @param params - CDP method parameters (optional)
247
- * @returns CDP call response with method result
248
- * @throws Error if connection fails, daemon is not running, or request times out
171
+ * @example
172
+ * ```typescript
173
+ * const response = await callCDP('Network.getCookies', {});
174
+ * if (response.status === 'ok' && response.data) {
175
+ * console.log('Cookies:', response.data.result);
176
+ * }
177
+ * ```
249
178
  */
250
179
  export async function callCDP(method, params) {
251
180
  return sendCommand('cdp_call', { method, ...(params && { params }) });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ipc/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ipc/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * IPC Module
3
+ *
4
+ * Public API for inter-process communication between CLI, daemon, and worker.
5
+ *
6
+ * Organized into layers:
7
+ * - Client API (high-level functions for CLI commands)
8
+ * - Session messages (lifecycle and query types)
9
+ * - Protocol (worker command schemas and type guards)
10
+ * - Transport (low-level socket communication)
11
+ * - Validation (response validation utilities)
12
+ */
13
+ export * from './client.js';
14
+ export * from './session/index.js';
15
+ export * from './protocol/index.js';
16
+ export { validateIPCResponse } from './utils/responseValidator.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ipc/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * IPC Module
3
+ *
4
+ * Public API for inter-process communication between CLI, daemon, and worker.
5
+ *
6
+ * Organized into layers:
7
+ * - Client API (high-level functions for CLI commands)
8
+ * - Session messages (lifecycle and query types)
9
+ * - Protocol (worker command schemas and type guards)
10
+ * - Transport (low-level socket communication)
11
+ * - Validation (response validation utilities)
12
+ */
13
+ // Public client API
14
+ export * from './client.js';
15
+ // Session message types
16
+ export * from './session/index.js';
17
+ // Protocol types (worker commands)
18
+ export * from './protocol/index.js';
19
+ // Validation utilities (re-exported from utils for public API)
20
+ export { validateIPCResponse } from './utils/responseValidator.js';
21
+ // Note: transport/ is internal and not exported (used by client.ts)
22
+ // Note: other utils are internal and not exported (except validateIPCResponse)
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ipc/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAE5B,wBAAwB;AACxB,cAAc,oBAAoB,CAAC;AAEnC,mCAAmC;AACnC,cAAc,qBAAqB,CAAC;AAEpC,+DAA+D;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,oEAAoE;AACpE,+EAA+E"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Worker Command Schemas
3
+ *
4
+ * Defines the request/response schemas for commands sent to the worker process.
5
+ * Each command has a request schema (input) and response data schema (output).
6
+ */
7
+ import type { PageState, SessionActivity } from '../../ipc/session/types.js';
8
+ /**
9
+ * Worker peek command request schema.
10
+ */
11
+ export interface WorkerPeekCommand {
12
+ /** Number of recent items to return. */
13
+ lastN?: number;
14
+ /** Offset from the end (for pagination). Default: 0 (most recent). */
15
+ offset?: number;
16
+ }
17
+ /**
18
+ * Worker peek command response data.
19
+ */
20
+ export interface WorkerPeekData {
21
+ version: string;
22
+ startTime: number;
23
+ duration: number;
24
+ target: {
25
+ url: string;
26
+ title: string;
27
+ };
28
+ activeTelemetry: string[];
29
+ network: Array<{
30
+ requestId: string;
31
+ timestamp: number;
32
+ method: string;
33
+ url: string;
34
+ status?: number;
35
+ mimeType?: string;
36
+ }>;
37
+ console: Array<{
38
+ timestamp: number;
39
+ type: string;
40
+ text: string;
41
+ }>;
42
+ /** Total number of network requests (for pagination). */
43
+ totalNetwork?: number;
44
+ /** Total number of console messages (for pagination). */
45
+ totalConsole?: number;
46
+ /** Whether there are more network items available. */
47
+ hasMoreNetwork?: boolean;
48
+ /** Whether there are more console items available. */
49
+ hasMoreConsole?: boolean;
50
+ }
51
+ /**
52
+ * Worker details command request schema.
53
+ */
54
+ export interface WorkerDetailsCommand {
55
+ /** Type of item to get details for. */
56
+ itemType: 'network' | 'console';
57
+ /** Unique identifier of the item. */
58
+ id: string;
59
+ }
60
+ /**
61
+ * Worker details command response data.
62
+ */
63
+ export interface WorkerDetailsData {
64
+ /** The requested item (network request or console message). */
65
+ item: unknown;
66
+ }
67
+ /**
68
+ * CDP call command request schema.
69
+ */
70
+ export interface CdpCallCommand {
71
+ /** CDP method name (e.g., 'Network.getCookies'). */
72
+ method: string;
73
+ /** Optional parameters for the CDP method. */
74
+ params?: Record<string, unknown>;
75
+ }
76
+ /**
77
+ * CDP call command response data.
78
+ */
79
+ export interface CdpCallData {
80
+ /** Result from CDP method call. */
81
+ result: unknown;
82
+ }
83
+ /**
84
+ * Worker status command request schema (no parameters required).
85
+ */
86
+ export type WorkerStatusCommand = Record<string, unknown>;
87
+ /**
88
+ * Worker status command response data.
89
+ */
90
+ export interface WorkerStatusData {
91
+ startTime: number;
92
+ duration: number;
93
+ target: PageState;
94
+ activeTelemetry: string[];
95
+ activity: SessionActivity;
96
+ }
97
+ /**
98
+ * Command definition structure.
99
+ */
100
+ type CommandDef<TReq, TRes> = {
101
+ requestSchema: TReq;
102
+ responseSchema: TRes;
103
+ };
104
+ /**
105
+ * Shape of the command registry.
106
+ */
107
+ export type RegistryShape = {
108
+ worker_peek: CommandDef<WorkerPeekCommand, WorkerPeekData>;
109
+ worker_details: CommandDef<WorkerDetailsCommand, WorkerDetailsData>;
110
+ worker_status: CommandDef<WorkerStatusCommand, WorkerStatusData>;
111
+ cdp_call: CommandDef<CdpCallCommand, CdpCallData>;
112
+ };
113
+ /**
114
+ * Central registry of all worker commands.
115
+ * Maps command names to their request/response schemas.
116
+ */
117
+ export declare const COMMANDS: {
118
+ readonly worker_peek: {
119
+ readonly requestSchema: WorkerPeekCommand;
120
+ readonly responseSchema: WorkerPeekData;
121
+ };
122
+ readonly worker_details: {
123
+ readonly requestSchema: WorkerDetailsCommand;
124
+ readonly responseSchema: WorkerDetailsData;
125
+ };
126
+ readonly worker_status: {
127
+ readonly requestSchema: WorkerStatusCommand;
128
+ readonly responseSchema: WorkerStatusData;
129
+ };
130
+ readonly cdp_call: {
131
+ readonly requestSchema: CdpCallCommand;
132
+ readonly responseSchema: CdpCallData;
133
+ };
134
+ };
135
+ /**
136
+ * All registered command schemas.
137
+ */
138
+ export type CommandSchemas = typeof COMMANDS;
139
+ /**
140
+ * All valid command names.
141
+ */
142
+ export type CommandName = keyof typeof COMMANDS;
143
+ export {};
144
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,KAAK,UAAU,CAAC,IAAI,EAAE,IAAI,IAAI;IAAE,aAAa,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,IAAI,CAAA;CAAE,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAC3D,cAAc,EAAE,UAAU,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IACpE,aAAa,EAAE,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACjE,QAAQ,EAAE,UAAU,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ;;gCACiB,iBAAiB;iCAAwB,cAAc;;;gCAEpE,oBAAoB;iCACnB,iBAAiB;;;gCAGlB,mBAAmB;iCAClB,gBAAgB;;;gCAEP,cAAc;iCAAwB,WAAW;;CAClD,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Worker Command Schemas
3
+ *
4
+ * Defines the request/response schemas for commands sent to the worker process.
5
+ * Each command has a request schema (input) and response data schema (output).
6
+ */
7
+ /**
8
+ * Central registry of all worker commands.
9
+ * Maps command names to their request/response schemas.
10
+ */
11
+ export const COMMANDS = {
12
+ worker_peek: { requestSchema: {}, responseSchema: {} },
13
+ worker_details: {
14
+ requestSchema: {},
15
+ responseSchema: {},
16
+ },
17
+ worker_status: {
18
+ requestSchema: {},
19
+ responseSchema: {},
20
+ },
21
+ cdp_call: { requestSchema: {}, responseSchema: {} },
22
+ };
23
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6GH;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,WAAW,EAAE,EAAE,aAAa,EAAE,EAAuB,EAAE,cAAc,EAAE,EAAoB,EAAE;IAC7F,cAAc,EAAE;QACd,aAAa,EAAE,EAA0B;QACzC,cAAc,EAAE,EAAuB;KACxC;IACD,aAAa,EAAE;QACb,aAAa,EAAE,EAAyB;QACxC,cAAc,EAAE,EAAsB;KACvC;IACD,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAoB,EAAE,cAAc,EAAE,EAAiB,EAAE;CACpD,CAAC"}