browser-debugger-cli 0.6.1 → 0.6.4

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 (334) hide show
  1. package/README.md +64 -3
  2. package/dist/__tests__/smoke/error-handling.smoke.test.js +9 -4
  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/cdp/protocol.d.ts.map +1 -1
  11. package/dist/cdp/protocol.js +6 -10
  12. package/dist/cdp/protocol.js.map +1 -1
  13. package/dist/cdp/schema.d.ts.map +1 -1
  14. package/dist/cdp/schema.js +0 -2
  15. package/dist/cdp/schema.js.map +1 -1
  16. package/dist/commands/cdp.d.ts.map +1 -1
  17. package/dist/commands/cdp.js +1 -20
  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 +17 -15
  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 +0 -5
  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 +0 -5
  27. package/dist/commands/details.js.map +1 -1
  28. package/dist/commands/dom/a11y.d.ts +18 -0
  29. package/dist/commands/dom/a11y.d.ts.map +1 -0
  30. package/dist/commands/dom/a11y.js +134 -0
  31. package/dist/commands/dom/a11y.js.map +1 -0
  32. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  33. package/dist/commands/dom/evalHelpers.js +1 -6
  34. package/dist/commands/dom/evalHelpers.js.map +1 -1
  35. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  36. package/dist/commands/dom/formFillHelpers.js +0 -9
  37. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  38. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  39. package/dist/commands/dom/formInteraction.js +0 -5
  40. package/dist/commands/dom/formInteraction.js.map +1 -1
  41. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
  42. package/dist/commands/dom/formSubmitHelpers.js +0 -13
  43. package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
  44. package/dist/commands/dom/helpers.d.ts.map +1 -1
  45. package/dist/commands/dom/helpers.js +0 -22
  46. package/dist/commands/dom/helpers.js.map +1 -1
  47. package/dist/commands/dom/index.d.ts.map +1 -1
  48. package/dist/commands/dom/index.js +41 -26
  49. package/dist/commands/dom/index.js.map +1 -1
  50. package/dist/commands/dom/reactEventHelpers.d.ts +3 -3
  51. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  52. package/dist/commands/dom/reactEventHelpers.js +0 -28
  53. package/dist/commands/dom/reactEventHelpers.js.map +1 -1
  54. package/dist/commands/network.d.ts.map +1 -1
  55. package/dist/commands/network.js +159 -10
  56. package/dist/commands/network.js.map +1 -1
  57. package/dist/commands/peek.d.ts.map +1 -1
  58. package/dist/commands/peek.js +17 -12
  59. package/dist/commands/peek.js.map +1 -1
  60. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  61. package/dist/commands/shared/CommandRunner.js +0 -8
  62. package/dist/commands/shared/CommandRunner.js.map +1 -1
  63. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +7 -0
  64. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +1 -0
  65. package/dist/commands/shared/__tests__/validation.unit.test.js +141 -0
  66. package/dist/commands/shared/__tests__/validation.unit.test.js.map +1 -0
  67. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  68. package/dist/commands/shared/startHelpers.js +0 -10
  69. package/dist/commands/shared/startHelpers.js.map +1 -1
  70. package/dist/commands/shared/validation.d.ts +17 -0
  71. package/dist/commands/shared/validation.d.ts.map +1 -1
  72. package/dist/commands/shared/validation.js +105 -5
  73. package/dist/commands/shared/validation.js.map +1 -1
  74. package/dist/commands/start.d.ts.map +1 -1
  75. package/dist/commands/start.js +0 -6
  76. package/dist/commands/start.js.map +1 -1
  77. package/dist/commands/status.d.ts.map +1 -1
  78. package/dist/commands/status.js +0 -2
  79. package/dist/commands/status.js.map +1 -1
  80. package/dist/commands/stop.d.ts.map +1 -1
  81. package/dist/commands/stop.js +11 -13
  82. package/dist/commands/stop.js.map +1 -1
  83. package/dist/commands/tail.d.ts.map +1 -1
  84. package/dist/commands/tail.js +0 -7
  85. package/dist/commands/tail.js.map +1 -1
  86. package/dist/commands/types.d.ts +3 -0
  87. package/dist/commands/types.d.ts.map +1 -1
  88. package/dist/commands.d.ts.map +1 -1
  89. package/dist/commands.js +0 -5
  90. package/dist/commands.js.map +1 -1
  91. package/dist/connection/cdp.d.ts.map +1 -1
  92. package/dist/connection/cdp.js +0 -3
  93. package/dist/connection/cdp.js.map +1 -1
  94. package/dist/connection/diagnostics.d.ts.map +1 -1
  95. package/dist/connection/diagnostics.js +7 -4
  96. package/dist/connection/diagnostics.js.map +1 -1
  97. package/dist/connection/pageReadiness.d.ts.map +1 -1
  98. package/dist/connection/pageReadiness.js +0 -1
  99. package/dist/connection/pageReadiness.js.map +1 -1
  100. package/dist/constants.d.ts +6 -0
  101. package/dist/constants.d.ts.map +1 -1
  102. package/dist/constants.js +6 -0
  103. package/dist/constants.js.map +1 -1
  104. package/dist/daemon/__tests__/commandRegistry.contract.test.js +259 -0
  105. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
  106. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts +19 -0
  107. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.d.ts.map +1 -0
  108. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js +212 -0
  109. package/dist/daemon/__tests__/ipcServer.cleanup.unit.test.js.map +1 -0
  110. package/dist/daemon/handlers/BaseHandler.d.ts +75 -0
  111. package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -0
  112. package/dist/daemon/handlers/BaseHandler.js +103 -0
  113. package/dist/daemon/handlers/BaseHandler.js.map +1 -0
  114. package/dist/daemon/handlers/CommandHandlers.d.ts +3 -4
  115. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
  116. package/dist/daemon/handlers/CommandHandlers.js +14 -52
  117. package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
  118. package/dist/daemon/handlers/QueryHandlers.d.ts +8 -6
  119. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
  120. package/dist/daemon/handlers/QueryHandlers.js +42 -94
  121. package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
  122. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
  123. package/dist/daemon/handlers/SessionHandlers.js +0 -15
  124. package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
  125. package/dist/daemon/handlers/requestHandlers.d.ts +5 -1
  126. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -1
  127. package/dist/daemon/handlers/requestHandlers.js +7 -2
  128. package/dist/daemon/handlers/requestHandlers.js.map +1 -1
  129. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  130. package/dist/daemon/handlers/responseHandler.js +19 -8
  131. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  132. package/dist/daemon/ipcServer.d.ts.map +1 -1
  133. package/dist/daemon/ipcServer.js +4 -11
  134. package/dist/daemon/ipcServer.js.map +1 -1
  135. package/dist/daemon/launcher.d.ts.map +1 -1
  136. package/dist/daemon/launcher.js +2 -19
  137. package/dist/daemon/launcher.js.map +1 -1
  138. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -1
  139. package/dist/daemon/lifecycle/cdpSetup.js +0 -4
  140. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -1
  141. package/dist/daemon/lifecycle/chromeConnection.js +0 -1
  142. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -1
  143. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  144. package/dist/daemon/lifecycle/signalHandlers.js +0 -3
  145. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  146. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  147. package/dist/daemon/lifecycle/workerCleanup.js +1 -8
  148. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  149. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
  150. package/dist/daemon/lifecycle/workerIpc.js +0 -1
  151. package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
  152. package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
  153. package/dist/daemon/server/JsonlParser.js +0 -2
  154. package/dist/daemon/server/JsonlParser.js.map +1 -1
  155. package/dist/daemon/services/SessionService.js +1 -1
  156. package/dist/daemon/services/SessionService.js.map +1 -1
  157. package/dist/daemon/startSession.d.ts.map +1 -1
  158. package/dist/daemon/startSession.js +0 -15
  159. package/dist/daemon/startSession.js.map +1 -1
  160. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  161. package/dist/daemon/worker/commandRegistry.js +34 -1
  162. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  163. package/dist/daemon/worker/plugins.d.ts.map +1 -1
  164. package/dist/daemon/worker/plugins.js +0 -3
  165. package/dist/daemon/worker/plugins.js.map +1 -1
  166. package/dist/daemon/worker.js +0 -9
  167. package/dist/daemon/worker.js.map +1 -1
  168. package/dist/daemon.js +0 -2
  169. package/dist/daemon.js.map +1 -1
  170. package/dist/index.js +0 -14
  171. package/dist/index.js.map +1 -1
  172. package/dist/ipc/__tests__/client.contract.test.js +251 -19
  173. package/dist/ipc/__tests__/client.contract.test.js.map +1 -1
  174. package/dist/ipc/__tests__/jsonl.unit.test.js +19 -1
  175. package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -1
  176. package/dist/ipc/client.d.ts +47 -1
  177. package/dist/ipc/client.d.ts.map +1 -1
  178. package/dist/ipc/client.js +51 -0
  179. package/dist/ipc/client.js.map +1 -1
  180. package/dist/ipc/index.d.ts.map +1 -1
  181. package/dist/ipc/index.js +0 -6
  182. package/dist/ipc/index.js.map +1 -1
  183. package/dist/ipc/protocol/commands.d.ts +44 -0
  184. package/dist/ipc/protocol/commands.d.ts.map +1 -1
  185. package/dist/ipc/protocol/commands.js +8 -0
  186. package/dist/ipc/protocol/commands.js.map +1 -1
  187. package/dist/ipc/session/queries.d.ts +26 -2
  188. package/dist/ipc/session/queries.d.ts.map +1 -1
  189. package/dist/ipc/transport/index.d.ts.map +1 -1
  190. package/dist/ipc/transport/index.js +0 -1
  191. package/dist/ipc/transport/index.js.map +1 -1
  192. package/dist/ipc/transport/jsonl.d.ts +16 -0
  193. package/dist/ipc/transport/jsonl.d.ts.map +1 -1
  194. package/dist/ipc/transport/jsonl.js +24 -0
  195. package/dist/ipc/transport/jsonl.js.map +1 -1
  196. package/dist/session/chrome.js +2 -2
  197. package/dist/session/chrome.js.map +1 -1
  198. package/dist/session/cleanup.d.ts +21 -0
  199. package/dist/session/cleanup.d.ts.map +1 -1
  200. package/dist/session/cleanup.js +92 -12
  201. package/dist/session/cleanup.js.map +1 -1
  202. package/dist/session/lock.js +1 -1
  203. package/dist/session/lock.js.map +1 -1
  204. package/dist/telemetry/__tests__/a11y.unit.test.d.ts +10 -0
  205. package/dist/telemetry/__tests__/a11y.unit.test.d.ts.map +1 -0
  206. package/dist/telemetry/__tests__/a11y.unit.test.js +265 -0
  207. package/dist/telemetry/__tests__/a11y.unit.test.js.map +1 -0
  208. package/dist/telemetry/__tests__/filters.unit.test.js +119 -1
  209. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -1
  210. package/dist/telemetry/__tests__/network.contract.test.js +114 -0
  211. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  212. package/dist/telemetry/a11y.d.ts +78 -0
  213. package/dist/telemetry/a11y.d.ts.map +1 -0
  214. package/dist/telemetry/a11y.js +280 -0
  215. package/dist/telemetry/a11y.js.map +1 -0
  216. package/dist/telemetry/dom.d.ts +1 -1
  217. package/dist/telemetry/dom.d.ts.map +1 -1
  218. package/dist/telemetry/dom.js +36 -5
  219. package/dist/telemetry/dom.js.map +1 -1
  220. package/dist/telemetry/filters.d.ts +17 -0
  221. package/dist/telemetry/filters.d.ts.map +1 -1
  222. package/dist/telemetry/filters.js +25 -0
  223. package/dist/telemetry/filters.js.map +1 -1
  224. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +8 -0
  225. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +1 -0
  226. package/dist/telemetry/har/__tests__/builder.unit.test.js +694 -0
  227. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +1 -0
  228. package/dist/telemetry/har/builder.d.ts +43 -0
  229. package/dist/telemetry/har/builder.d.ts.map +1 -0
  230. package/dist/telemetry/har/builder.js +440 -0
  231. package/dist/telemetry/har/builder.js.map +1 -0
  232. package/dist/telemetry/har/types.d.ts +290 -0
  233. package/dist/telemetry/har/types.d.ts.map +1 -0
  234. package/dist/telemetry/har/types.js +7 -0
  235. package/dist/telemetry/har/types.js.map +1 -0
  236. package/dist/telemetry/network.d.ts.map +1 -1
  237. package/dist/telemetry/network.js +37 -4
  238. package/dist/telemetry/network.js.map +1 -1
  239. package/dist/types.d.ts +108 -0
  240. package/dist/types.d.ts.map +1 -1
  241. package/dist/ui/OutputBuilder.d.ts.map +1 -1
  242. package/dist/ui/OutputBuilder.js +0 -8
  243. package/dist/ui/OutputBuilder.js.map +1 -1
  244. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  245. package/dist/ui/errors/CommandError.js +0 -1
  246. package/dist/ui/errors/CommandError.js.map +1 -1
  247. package/dist/ui/errors/index.d.ts.map +1 -1
  248. package/dist/ui/errors/index.js +0 -2
  249. package/dist/ui/errors/index.js.map +1 -1
  250. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts +2 -0
  251. package/dist/ui/formatters/__tests__/semantic.unit.test.d.ts.map +1 -0
  252. package/dist/ui/formatters/__tests__/semantic.unit.test.js +111 -0
  253. package/dist/ui/formatters/__tests__/semantic.unit.test.js.map +1 -0
  254. package/dist/ui/formatters/a11y.d.ts +30 -0
  255. package/dist/ui/formatters/a11y.d.ts.map +1 -0
  256. package/dist/ui/formatters/a11y.js +178 -0
  257. package/dist/ui/formatters/a11y.js.map +1 -0
  258. package/dist/ui/formatters/details.d.ts.map +1 -1
  259. package/dist/ui/formatters/details.js +1 -0
  260. package/dist/ui/formatters/details.js.map +1 -1
  261. package/dist/ui/formatters/dom.d.ts.map +1 -1
  262. package/dist/ui/formatters/dom.js +0 -3
  263. package/dist/ui/formatters/dom.js.map +1 -1
  264. package/dist/ui/formatters/index.d.ts +1 -0
  265. package/dist/ui/formatters/index.d.ts.map +1 -1
  266. package/dist/ui/formatters/index.js +1 -0
  267. package/dist/ui/formatters/index.js.map +1 -1
  268. package/dist/ui/formatters/networkHeaders.d.ts +14 -0
  269. package/dist/ui/formatters/networkHeaders.d.ts.map +1 -0
  270. package/dist/ui/formatters/networkHeaders.js +47 -0
  271. package/dist/ui/formatters/networkHeaders.js.map +1 -0
  272. package/dist/ui/formatters/preview.d.ts +2 -0
  273. package/dist/ui/formatters/preview.d.ts.map +1 -1
  274. package/dist/ui/formatters/preview.js +67 -23
  275. package/dist/ui/formatters/preview.js.map +1 -1
  276. package/dist/ui/formatters/semantic.d.ts +36 -0
  277. package/dist/ui/formatters/semantic.d.ts.map +1 -0
  278. package/dist/ui/formatters/semantic.js +98 -0
  279. package/dist/ui/formatters/semantic.js.map +1 -0
  280. package/dist/ui/formatters/status.d.ts.map +1 -1
  281. package/dist/ui/formatters/status.js +1 -12
  282. package/dist/ui/formatters/status.js.map +1 -1
  283. package/dist/ui/formatting.d.ts.map +1 -1
  284. package/dist/ui/formatting.js +0 -6
  285. package/dist/ui/formatting.js.map +1 -1
  286. package/dist/ui/logging/logger.d.ts +1 -1
  287. package/dist/ui/logging/logger.d.ts.map +1 -1
  288. package/dist/ui/logging/logger.js.map +1 -1
  289. package/dist/ui/messages/chrome.d.ts.map +1 -1
  290. package/dist/ui/messages/chrome.js +0 -6
  291. package/dist/ui/messages/chrome.js.map +1 -1
  292. package/dist/ui/messages/commands.d.ts +7 -0
  293. package/dist/ui/messages/commands.d.ts.map +1 -1
  294. package/dist/ui/messages/commands.js +9 -12
  295. package/dist/ui/messages/commands.js.map +1 -1
  296. package/dist/ui/messages/debug.d.ts.map +1 -1
  297. package/dist/ui/messages/debug.js +0 -6
  298. package/dist/ui/messages/debug.js.map +1 -1
  299. package/dist/ui/messages/internal.d.ts.map +1 -1
  300. package/dist/ui/messages/internal.js +0 -3
  301. package/dist/ui/messages/internal.js.map +1 -1
  302. package/dist/ui/messages/preview.d.ts.map +1 -1
  303. package/dist/ui/messages/preview.js +0 -12
  304. package/dist/ui/messages/preview.js.map +1 -1
  305. package/dist/ui/messages/session.d.ts.map +1 -1
  306. package/dist/ui/messages/session.js +0 -3
  307. package/dist/ui/messages/session.js.map +1 -1
  308. package/dist/utils/__tests__/errors.unit.test.d.ts +12 -0
  309. package/dist/utils/__tests__/errors.unit.test.d.ts.map +1 -0
  310. package/dist/utils/__tests__/errors.unit.test.js +255 -0
  311. package/dist/utils/__tests__/errors.unit.test.js.map +1 -0
  312. package/dist/utils/__tests__/http.unit.test.d.ts +12 -0
  313. package/dist/utils/__tests__/http.unit.test.d.ts.map +1 -0
  314. package/dist/utils/__tests__/http.unit.test.js +218 -0
  315. package/dist/utils/__tests__/http.unit.test.js.map +1 -0
  316. package/dist/utils/__tests__/process.unit.test.d.ts +14 -0
  317. package/dist/utils/__tests__/process.unit.test.d.ts.map +1 -0
  318. package/dist/utils/__tests__/process.unit.test.js +124 -0
  319. package/dist/utils/__tests__/process.unit.test.js.map +1 -0
  320. package/dist/utils/__tests__/session.contract.test.js +1 -1
  321. package/dist/utils/__tests__/session.contract.test.js.map +1 -1
  322. package/dist/utils/atomicFile.d.ts.map +1 -1
  323. package/dist/utils/atomicFile.js +9 -6
  324. package/dist/utils/atomicFile.js.map +1 -1
  325. package/dist/utils/exitCodes.d.ts.map +1 -1
  326. package/dist/utils/exitCodes.js +0 -2
  327. package/dist/utils/exitCodes.js.map +1 -1
  328. package/dist/utils/validation.d.ts.map +1 -1
  329. package/dist/utils/validation.js +0 -3
  330. package/dist/utils/validation.js.map +1 -1
  331. package/dist/utils/version.d.ts.map +1 -1
  332. package/dist/utils/version.js +0 -1
  333. package/dist/utils/version.js.map +1 -1
  334. package/package.json +22 -1
@@ -236,18 +236,15 @@ void describe('IPC Client Contract Tests', () => {
236
236
  });
237
237
  void describe('connectToDaemon()', () => {
238
238
  void it('connects to daemon and receives handshake response', async () => {
239
- // Test the CONTRACT: Client connects → daemon responds
240
239
  const response = await ipcClient.connectToDaemon();
241
- // Verify response structure (contract)
242
240
  assert.equal(response.type, 'handshake_response');
243
241
  assert.equal(response.status, 'ok');
244
- assert.ok(response.sessionId); // Should have a session ID
245
- assert.ok(response.message); // Should have a message
242
+ assert.ok(response.sessionId);
243
+ assert.ok(response.message);
246
244
  });
247
245
  void it('throws error when daemon is not running', async () => {
248
246
  // Stop daemon to simulate not running
249
247
  await mockDaemon.stop();
250
- // Test the CONTRACT: No daemon → connection error
251
248
  await assert.rejects(async () => {
252
249
  await ipcClient.connectToDaemon();
253
250
  }, {
@@ -258,7 +255,6 @@ void describe('IPC Client Contract Tests', () => {
258
255
  void it('throws error on timeout (5s)', async () => {
259
256
  // Configure mock daemon to be slow (10s delay)
260
257
  mockDaemon.mode = 'slow';
261
- // Test the CONTRACT: Slow response → timeout error
262
258
  await assert.rejects(async () => {
263
259
  await ipcClient.connectToDaemon();
264
260
  }, {
@@ -269,7 +265,6 @@ void describe('IPC Client Contract Tests', () => {
269
265
  void it('throws error on malformed response', async () => {
270
266
  // Configure mock daemon to send invalid JSON
271
267
  mockDaemon.mode = 'malformed';
272
- // Test the CONTRACT: Invalid JSON → parse error
273
268
  await assert.rejects(async () => {
274
269
  await ipcClient.connectToDaemon();
275
270
  }, {
@@ -280,7 +275,6 @@ void describe('IPC Client Contract Tests', () => {
280
275
  void it('throws error when connection closes early', async () => {
281
276
  // Configure mock daemon to close connection immediately
282
277
  mockDaemon.mode = 'close_early';
283
- // Test the CONTRACT: Early close → connection closed error
284
278
  await assert.rejects(async () => {
285
279
  await ipcClient.connectToDaemon();
286
280
  }, {
@@ -291,9 +285,7 @@ void describe('IPC Client Contract Tests', () => {
291
285
  });
292
286
  void describe('getStatus()', () => {
293
287
  void it('requests status and receives response', async () => {
294
- // Test the CONTRACT: Status request → status response
295
288
  const response = await ipcClient.getStatus();
296
- // Verify response structure (contract)
297
289
  assert.equal(response.type, 'status_response');
298
290
  assert.equal(response.status, 'ok');
299
291
  assert.ok(response.data);
@@ -303,7 +295,6 @@ void describe('IPC Client Contract Tests', () => {
303
295
  void it('throws error when daemon is not running', async () => {
304
296
  // Stop daemon
305
297
  await mockDaemon.stop();
306
- // Test the CONTRACT: No daemon → connection error
307
298
  await assert.rejects(async () => {
308
299
  await ipcClient.getStatus();
309
300
  }, {
@@ -314,7 +305,6 @@ void describe('IPC Client Contract Tests', () => {
314
305
  void it('throws error on timeout', async () => {
315
306
  // Configure mock daemon to be slow
316
307
  mockDaemon.mode = 'slow';
317
- // Test the CONTRACT: Slow response → timeout
318
308
  await assert.rejects(async () => {
319
309
  await ipcClient.getStatus();
320
310
  }, {
@@ -325,7 +315,6 @@ void describe('IPC Client Contract Tests', () => {
325
315
  void it('propagates daemon errors', async () => {
326
316
  // Configure mock daemon to send error response
327
317
  mockDaemon.mode = 'error';
328
- // Test the CONTRACT: Daemon error → client receives error
329
318
  // Note: Current implementation doesn't check status in response
330
319
  // This test documents current behavior
331
320
  const response = await ipcClient.getStatus();
@@ -372,7 +361,6 @@ void describe('IPC Client Contract Tests', () => {
372
361
  });
373
362
  void describe('Concurrent requests', () => {
374
363
  void it('handles multiple concurrent requests', async () => {
375
- // Test the INVARIANT: Multiple concurrent requests all succeed
376
364
  const requests = [
377
365
  ipcClient.connectToDaemon(),
378
366
  ipcClient.getStatus(),
@@ -380,7 +368,6 @@ void describe('IPC Client Contract Tests', () => {
380
368
  ipcClient.getStatus(),
381
369
  ];
382
370
  const responses = await Promise.all(requests);
383
- // Verify all requests succeeded
384
371
  assert.equal(responses.length, 4);
385
372
  assert.equal(responses[0]?.type, 'handshake_response');
386
373
  assert.equal(responses[1]?.type, 'status_response');
@@ -404,14 +391,12 @@ void describe('IPC Client Contract Tests', () => {
404
391
  });
405
392
  void describe('JSONL protocol', () => {
406
393
  void it('handles requests with unique session IDs', async () => {
407
- // Test the PROPERTY: Each request has unique session ID
408
394
  const response1 = await ipcClient.connectToDaemon();
409
395
  const response2 = await ipcClient.connectToDaemon();
410
396
  // Session IDs should be different (UUID random)
411
397
  assert.notEqual(response1.sessionId, response2.sessionId);
412
398
  });
413
399
  void it('preserves session ID in response', async () => {
414
- // Test the INVARIANT: Response sessionId matches request sessionId
415
400
  // This is tested implicitly by the mock daemon echoing back sessionId
416
401
  const response = await ipcClient.getStatus();
417
402
  // Mock daemon echoes sessionId, so if we get a response, it matched
@@ -423,7 +408,6 @@ void describe('IPC Client Contract Tests', () => {
423
408
  void it('handles silent daemon (no response)', async () => {
424
409
  // Configure daemon to receive but not respond
425
410
  mockDaemon.mode = 'silent';
426
- // Test the CONTRACT: No response → timeout
427
411
  await assert.rejects(async () => {
428
412
  await ipcClient.getStatus();
429
413
  }, {
@@ -444,7 +428,6 @@ void describe('IPC Client Contract Tests', () => {
444
428
  await new Promise((resolve) => {
445
429
  partialServer.listen(socketPath, resolve);
446
430
  });
447
- // Test the CONTRACT: Partial response → connection closed error
448
431
  await assert.rejects(async () => {
449
432
  await ipcClient.getStatus();
450
433
  }, {
@@ -457,5 +440,254 @@ void describe('IPC Client Contract Tests', () => {
457
440
  });
458
441
  });
459
442
  });
443
+ void describe('getDetails()', () => {
444
+ void it('fetches network request details by ID', async () => {
445
+ // Create custom mock that responds to worker_details_request
446
+ await mockDaemon.stop();
447
+ const detailsServer = net.createServer((socket) => {
448
+ let buffer = '';
449
+ socket.on('data', (chunk) => {
450
+ buffer += chunk.toString('utf-8');
451
+ const lines = buffer.split('\n');
452
+ buffer = lines.pop() ?? '';
453
+ for (const line of lines) {
454
+ if (line.trim()) {
455
+ const request = JSON.parse(line);
456
+ if (request.type === 'worker_details_request') {
457
+ const response = {
458
+ type: 'worker_details_response',
459
+ sessionId: request.sessionId,
460
+ status: 'ok',
461
+ data: {
462
+ item: {
463
+ requestId: request.id,
464
+ url: 'https://example.com/api',
465
+ method: 'GET',
466
+ status: 200,
467
+ headers: { 'content-type': 'application/json' },
468
+ },
469
+ },
470
+ };
471
+ socket.write(JSON.stringify(response) + '\n');
472
+ }
473
+ }
474
+ }
475
+ });
476
+ });
477
+ await new Promise((resolve) => {
478
+ detailsServer.listen(socketPath, resolve);
479
+ });
480
+ const response = await ipcClient.getDetails('network', 'req-123');
481
+ assert.equal(response.type, 'worker_details_response');
482
+ assert.equal(response.status, 'ok');
483
+ assert.ok(response.data);
484
+ assert.ok(response.data.item);
485
+ // Cleanup
486
+ await new Promise((resolve) => {
487
+ detailsServer.close(() => resolve());
488
+ });
489
+ });
490
+ void it('fetches console message details by ID', async () => {
491
+ // Create custom mock that responds to worker_details_request
492
+ await mockDaemon.stop();
493
+ const detailsServer = net.createServer((socket) => {
494
+ let buffer = '';
495
+ socket.on('data', (chunk) => {
496
+ buffer += chunk.toString('utf-8');
497
+ const lines = buffer.split('\n');
498
+ buffer = lines.pop() ?? '';
499
+ for (const line of lines) {
500
+ if (line.trim()) {
501
+ const request = JSON.parse(line);
502
+ if (request.type === 'worker_details_request') {
503
+ const response = {
504
+ type: 'worker_details_response',
505
+ sessionId: request.sessionId,
506
+ status: 'ok',
507
+ data: {
508
+ item: {
509
+ type: 'log',
510
+ timestamp: Date.now(),
511
+ text: 'Test log message',
512
+ stackTrace: { callFrames: [] },
513
+ },
514
+ },
515
+ };
516
+ socket.write(JSON.stringify(response) + '\n');
517
+ }
518
+ }
519
+ }
520
+ });
521
+ });
522
+ await new Promise((resolve) => {
523
+ detailsServer.listen(socketPath, resolve);
524
+ });
525
+ const response = await ipcClient.getDetails('console', 'msg-456');
526
+ assert.equal(response.type, 'worker_details_response');
527
+ assert.equal(response.status, 'ok');
528
+ assert.ok(response.data);
529
+ assert.ok(response.data.item);
530
+ // Cleanup
531
+ await new Promise((resolve) => {
532
+ detailsServer.close(() => resolve());
533
+ });
534
+ });
535
+ void it('throws error when daemon is not running', async () => {
536
+ // Stop daemon
537
+ await mockDaemon.stop();
538
+ await assert.rejects(async () => {
539
+ await ipcClient.getDetails('network', 'req-123');
540
+ }, {
541
+ name: 'IPCConnectionError',
542
+ message: /IPC worker_details connection error/,
543
+ });
544
+ });
545
+ });
546
+ void describe('callCDP()', () => {
547
+ void it('executes CDP method and returns result', async () => {
548
+ // Create custom mock that responds to cdp_call_request
549
+ await mockDaemon.stop();
550
+ const cdpServer = net.createServer((socket) => {
551
+ let buffer = '';
552
+ socket.on('data', (chunk) => {
553
+ buffer += chunk.toString('utf-8');
554
+ const lines = buffer.split('\n');
555
+ buffer = lines.pop() ?? '';
556
+ for (const line of lines) {
557
+ if (line.trim()) {
558
+ const request = JSON.parse(line);
559
+ if (request.type === 'cdp_call_request') {
560
+ const response = {
561
+ type: 'cdp_call_response',
562
+ sessionId: request.sessionId,
563
+ status: 'ok',
564
+ data: {
565
+ result: {
566
+ cookies: [
567
+ { name: 'session', value: 'abc123' },
568
+ { name: 'user_id', value: '42' },
569
+ ],
570
+ },
571
+ },
572
+ };
573
+ socket.write(JSON.stringify(response) + '\n');
574
+ }
575
+ }
576
+ }
577
+ });
578
+ });
579
+ await new Promise((resolve) => {
580
+ cdpServer.listen(socketPath, resolve);
581
+ });
582
+ const response = await ipcClient.callCDP('Network.getCookies', {});
583
+ assert.equal(response.type, 'cdp_call_response');
584
+ assert.equal(response.status, 'ok');
585
+ assert.ok(response.data);
586
+ assert.ok(response.data.result);
587
+ // Cleanup
588
+ await new Promise((resolve) => {
589
+ cdpServer.close(() => resolve());
590
+ });
591
+ });
592
+ void it('forwards CDP method parameters correctly', async () => {
593
+ // Create custom mock that echoes back the method and params
594
+ await mockDaemon.stop();
595
+ let receivedRequest = null;
596
+ const cdpServer = net.createServer((socket) => {
597
+ let buffer = '';
598
+ socket.on('data', (chunk) => {
599
+ buffer += chunk.toString('utf-8');
600
+ const lines = buffer.split('\n');
601
+ buffer = lines.pop() ?? '';
602
+ for (const line of lines) {
603
+ if (line.trim()) {
604
+ const request = JSON.parse(line);
605
+ if (request.type === 'cdp_call_request') {
606
+ // Capture the request for verification
607
+ receivedRequest = { method: request.method, params: request.params };
608
+ const response = {
609
+ type: 'cdp_call_response',
610
+ sessionId: request.sessionId,
611
+ status: 'ok',
612
+ data: {
613
+ result: { success: true },
614
+ },
615
+ };
616
+ socket.write(JSON.stringify(response) + '\n');
617
+ }
618
+ }
619
+ }
620
+ });
621
+ });
622
+ await new Promise((resolve) => {
623
+ cdpServer.listen(socketPath, resolve);
624
+ });
625
+ await ipcClient.callCDP('Network.setCookie', {
626
+ name: 'test',
627
+ value: 'value123',
628
+ domain: 'example.com',
629
+ });
630
+ assert.ok(receivedRequest, 'Request should have been received');
631
+ const req = receivedRequest;
632
+ assert.equal(req.method, 'Network.setCookie');
633
+ assert.ok(req.params);
634
+ assert.equal(req.params['name'], 'test');
635
+ assert.equal(req.params['value'], 'value123');
636
+ assert.equal(req.params['domain'], 'example.com');
637
+ // Cleanup
638
+ await new Promise((resolve) => {
639
+ cdpServer.close(() => resolve());
640
+ });
641
+ });
642
+ void it('handles CDP method without parameters', async () => {
643
+ // Create custom mock
644
+ await mockDaemon.stop();
645
+ const cdpServer = net.createServer((socket) => {
646
+ let buffer = '';
647
+ socket.on('data', (chunk) => {
648
+ buffer += chunk.toString('utf-8');
649
+ const lines = buffer.split('\n');
650
+ buffer = lines.pop() ?? '';
651
+ for (const line of lines) {
652
+ if (line.trim()) {
653
+ const request = JSON.parse(line);
654
+ if (request.type === 'cdp_call_request') {
655
+ const response = {
656
+ type: 'cdp_call_response',
657
+ sessionId: request.sessionId,
658
+ status: 'ok',
659
+ data: {
660
+ result: { userAgent: 'Mozilla/5.0' },
661
+ },
662
+ };
663
+ socket.write(JSON.stringify(response) + '\n');
664
+ }
665
+ }
666
+ }
667
+ });
668
+ });
669
+ await new Promise((resolve) => {
670
+ cdpServer.listen(socketPath, resolve);
671
+ });
672
+ const response = await ipcClient.callCDP('Browser.getVersion');
673
+ assert.equal(response.type, 'cdp_call_response');
674
+ assert.equal(response.status, 'ok');
675
+ assert.ok(response.data);
676
+ // Cleanup
677
+ await new Promise((resolve) => {
678
+ cdpServer.close(() => resolve());
679
+ });
680
+ });
681
+ void it('throws error when daemon is not running', async () => {
682
+ // Stop daemon
683
+ await mockDaemon.stop();
684
+ await assert.rejects(async () => {
685
+ await ipcClient.callCDP('Network.getCookies', {});
686
+ }, {
687
+ name: 'IPCConnectionError',
688
+ message: /IPC cdp_call connection error/,
689
+ });
690
+ });
691
+ });
460
692
  });
461
693
  //# sourceMappingURL=client.contract.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.contract.test.js","sourceRoot":"","sources":["../../../src/ipc/__tests__/client.contract.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.contract.test.js","sourceRoot":"","sources":["../../../src/ipc/__tests__/client.contract.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import assert from 'node:assert/strict';
7
7
  import { describe, it } from 'node:test';
8
- import { JSONLBuffer, parseJSONLFrame, toJSONLFrame } from '../../ipc/transport/jsonl.js';
8
+ import { JSONLBuffer, JSONLBufferOverflowError, parseJSONLFrame, toJSONLFrame, } from '../../ipc/transport/jsonl.js';
9
9
  void describe('JSONLBuffer', () => {
10
10
  void it('handles partial frames across chunks', () => {
11
11
  const buffer = new JSONLBuffer();
@@ -38,6 +38,24 @@ void describe('JSONLBuffer', () => {
38
38
  const lines = buffer.process('{"new":"message"}\n');
39
39
  assert.deepEqual(lines, ['{"new":"message"}']);
40
40
  });
41
+ void it('throws on buffer overflow', () => {
42
+ const buffer = new JSONLBuffer();
43
+ // Create a chunk larger than MAX_JSONL_BUFFER_SIZE (10MB) without newlines
44
+ const largeChunk = 'x'.repeat(11 * 1024 * 1024); // 11MB
45
+ assert.throws(() => {
46
+ buffer.process(largeChunk);
47
+ }, (error) => {
48
+ return error instanceof JSONLBufferOverflowError && error.message.includes('10485760');
49
+ });
50
+ });
51
+ void it('allows chunks under buffer limit', () => {
52
+ const buffer = new JSONLBuffer();
53
+ // Create a chunk just under the limit
54
+ const largeButValidChunk = '{"data":"' + 'x'.repeat(9 * 1024 * 1024) + '"}\n';
55
+ // Should not throw
56
+ const lines = buffer.process(largeButValidChunk);
57
+ assert.equal(lines.length, 1);
58
+ });
41
59
  });
42
60
  void describe('parseJSONLFrame', () => {
43
61
  void it('parses valid JSON string', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl.unit.test.js","sourceRoot":"","sources":["../../../src/ipc/__tests__/jsonl.unit.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl.unit.test.js","sourceRoot":"","sources":["../../../src/ipc/__tests__/jsonl.unit.test.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Provides high-level functions for session lifecycle and queries.
6
6
  */
7
7
  import type { ClientResponse } from './protocol/index.js';
8
- import type { HandshakeResponse, PeekResponse, SessionOptions, StartSessionResponse, StatusResponse, StopSessionResponse } from './session/index.js';
8
+ import type { HandshakeResponse, HARDataResponse, PeekResponse, SessionOptions, StartSessionResponse, StatusResponse, StopSessionResponse } from './session/index.js';
9
9
  /**
10
10
  * Connect to the daemon and perform handshake.
11
11
  * Verifies daemon is running and ready to accept commands.
@@ -56,6 +56,22 @@ export declare function getStatus(): Promise<StatusResponse>;
56
56
  * ```
57
57
  */
58
58
  export declare function getPeek(): Promise<PeekResponse>;
59
+ /**
60
+ * Request network data for HAR export from the daemon.
61
+ * Returns all collected network requests without stopping session.
62
+ *
63
+ * @returns HAR data response with network requests
64
+ * @throws Error if connection fails, times out, or no active session
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const response = await getHARData();
69
+ * if (response.status === 'ok' && response.data) {
70
+ * console.log('Total requests:', response.data.requests.length);
71
+ * }
72
+ * ```
73
+ */
74
+ export declare function getHARData(): Promise<HARDataResponse>;
59
75
  /**
60
76
  * Request daemon to start a new browser session.
61
77
  * Launches Chrome, establishes CDP connection, and begins telemetry collection.
@@ -112,6 +128,36 @@ export declare function stopSession(): Promise<StopSessionResponse>;
112
128
  * ```
113
129
  */
114
130
  export declare function getDetails(type: 'network' | 'console', id: string): Promise<ClientResponse<'worker_details'>>;
131
+ /**
132
+ * Get headers for a network request.
133
+ * Defaults to main document navigation if no ID specified.
134
+ *
135
+ * @param options - Optional request ID and header name filter
136
+ * @returns Response with request and response headers
137
+ * @throws Error if connection fails or request not found
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const response = await getNetworkHeaders();
142
+ * if (response.status === 'ok' && response.data) {
143
+ * console.log('Response headers:', response.data.responseHeaders);
144
+ * }
145
+ * ```
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const response = await getNetworkHeaders({ id: 'ABC-123' });
150
+ * ```
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * const response = await getNetworkHeaders({ headerName: 'content-security-policy' });
155
+ * ```
156
+ */
157
+ export declare function getNetworkHeaders(options?: {
158
+ id?: string;
159
+ headerName?: string;
160
+ }): Promise<ClientResponse<'worker_network_headers'>>;
115
161
  /**
116
162
  * Execute arbitrary CDP method via the daemon's worker.
117
163
  * Forwards CDP commands to the worker's active CDP connection.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ipc/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,cAAc,EAAe,MAAM,qBAAqB,CAAC;AAEtF,OAAO,KAAK,EAEV,iBAAiB,EAEjB,YAAY,EACZ,cAAc,EAEd,oBAAoB,EAEpB,cAAc,EAEd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAOlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,CAGzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAGrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAqB/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAOhE;AA4BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAE3C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAErC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ipc/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,cAAc,EAAe,MAAM,qBAAqB,CAAC;AAEtF,OAAO,KAAK,EAEV,iBAAiB,EAEjB,eAAe,EAEf,YAAY,EACZ,cAAc,EAEd,oBAAoB,EAEpB,cAAc,EAEd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAOlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,CAGzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAGrD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC,CAG3D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAqB/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAOhE;AA4BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAE3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAKpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAErC"}
@@ -65,6 +65,25 @@ export async function getPeek() {
65
65
  const request = withSession({ type: 'peek_request' });
66
66
  return sendRequest(request, 'peek', 'peek_response');
67
67
  }
68
+ /**
69
+ * Request network data for HAR export from the daemon.
70
+ * Returns all collected network requests without stopping session.
71
+ *
72
+ * @returns HAR data response with network requests
73
+ * @throws Error if connection fails, times out, or no active session
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const response = await getHARData();
78
+ * if (response.status === 'ok' && response.data) {
79
+ * console.log('Total requests:', response.data.requests.length);
80
+ * }
81
+ * ```
82
+ */
83
+ export async function getHARData() {
84
+ const request = withSession({ type: 'har_data_request' });
85
+ return sendRequest(request, 'HAR data', 'har_data_response');
86
+ }
68
87
  /**
69
88
  * Request daemon to start a new browser session.
70
89
  * Launches Chrome, establishes CDP connection, and begins telemetry collection.
@@ -159,6 +178,38 @@ async function sendCommand(commandName, params) {
159
178
  export async function getDetails(type, id) {
160
179
  return sendCommand('worker_details', { itemType: type, id });
161
180
  }
181
+ /**
182
+ * Get headers for a network request.
183
+ * Defaults to main document navigation if no ID specified.
184
+ *
185
+ * @param options - Optional request ID and header name filter
186
+ * @returns Response with request and response headers
187
+ * @throws Error if connection fails or request not found
188
+ *
189
+ * @example
190
+ * ```typescript
191
+ * const response = await getNetworkHeaders();
192
+ * if (response.status === 'ok' && response.data) {
193
+ * console.log('Response headers:', response.data.responseHeaders);
194
+ * }
195
+ * ```
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * const response = await getNetworkHeaders({ id: 'ABC-123' });
200
+ * ```
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * const response = await getNetworkHeaders({ headerName: 'content-security-policy' });
205
+ * ```
206
+ */
207
+ export async function getNetworkHeaders(options) {
208
+ return sendCommand('worker_network_headers', {
209
+ ...(options?.id && { id: options.id }),
210
+ ...(options?.headerName && { headerName: options.headerName }),
211
+ });
212
+ }
162
213
  /**
163
214
  * Execute arbitrary CDP method via the daemon's worker.
164
215
  * Forwards CDP commands to the worker's active CDP connection.