browser-debugger-cli 0.6.6 → 0.6.8

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 (238) hide show
  1. package/README.md +48 -269
  2. package/dist/commands/__tests__/console.contract.test.d.ts +9 -0
  3. package/dist/commands/__tests__/console.contract.test.d.ts.map +1 -0
  4. package/dist/commands/__tests__/console.contract.test.js +118 -0
  5. package/dist/commands/__tests__/console.contract.test.js.map +1 -0
  6. package/dist/commands/__tests__/helpJson.contract.test.d.ts +12 -0
  7. package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +1 -0
  8. package/dist/commands/__tests__/helpJson.contract.test.js +121 -0
  9. package/dist/commands/__tests__/helpJson.contract.test.js.map +1 -0
  10. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +26 -7
  11. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -1
  12. package/dist/commands/cdp.d.ts.map +1 -1
  13. package/dist/commands/cdp.js.map +1 -1
  14. package/dist/commands/cleanup.d.ts.map +1 -1
  15. package/dist/commands/cleanup.js +17 -91
  16. package/dist/commands/cleanup.js.map +1 -1
  17. package/dist/commands/console.d.ts +17 -0
  18. package/dist/commands/console.d.ts.map +1 -1
  19. package/dist/commands/console.js +158 -56
  20. package/dist/commands/console.js.map +1 -1
  21. package/dist/commands/details.d.ts.map +1 -1
  22. package/dist/commands/details.js +3 -1
  23. package/dist/commands/details.js.map +1 -1
  24. package/dist/commands/dom/DomElementResolver.d.ts +138 -0
  25. package/dist/commands/dom/DomElementResolver.d.ts.map +1 -0
  26. package/dist/commands/dom/DomElementResolver.js +173 -0
  27. package/dist/commands/dom/DomElementResolver.js.map +1 -0
  28. package/dist/commands/dom/a11y.d.ts.map +1 -1
  29. package/dist/commands/dom/a11y.js +4 -28
  30. package/dist/commands/dom/a11y.js.map +1 -1
  31. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  32. package/dist/commands/dom/evalHelpers.js +1 -1
  33. package/dist/commands/dom/evalHelpers.js.map +1 -1
  34. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  35. package/dist/commands/dom/formFillHelpers.js +11 -11
  36. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  37. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  38. package/dist/commands/dom/formInteraction.js +5 -5
  39. package/dist/commands/dom/formInteraction.js.map +1 -1
  40. package/dist/commands/dom/helpers.d.ts +0 -50
  41. package/dist/commands/dom/helpers.d.ts.map +1 -1
  42. package/dist/commands/dom/helpers.js +2 -56
  43. package/dist/commands/dom/helpers.js.map +1 -1
  44. package/dist/commands/dom/index.d.ts.map +1 -1
  45. package/dist/commands/dom/index.js +50 -44
  46. package/dist/commands/dom/index.js.map +1 -1
  47. package/dist/commands/dom/keyMapping.d.ts +0 -6
  48. package/dist/commands/dom/keyMapping.d.ts.map +1 -1
  49. package/dist/commands/dom/keyMapping.js +0 -8
  50. package/dist/commands/dom/keyMapping.js.map +1 -1
  51. package/dist/commands/dom/reactEventHelpers.d.ts +12 -18
  52. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  53. package/dist/commands/dom/reactEventHelpers.js +21 -70
  54. package/dist/commands/dom/reactEventHelpers.js.map +1 -1
  55. package/dist/commands/helpJson.d.ts +165 -0
  56. package/dist/commands/helpJson.d.ts.map +1 -0
  57. package/dist/commands/helpJson.js +252 -0
  58. package/dist/commands/helpJson.js.map +1 -0
  59. package/dist/commands/machineReadableHelp.d.ts +21 -2
  60. package/dist/commands/machineReadableHelp.d.ts.map +1 -1
  61. package/dist/commands/machineReadableHelp.js +95 -60
  62. package/dist/commands/machineReadableHelp.js.map +1 -1
  63. package/dist/commands/network.d.ts.map +1 -1
  64. package/dist/commands/network.js.map +1 -1
  65. package/dist/commands/peek.d.ts.map +1 -1
  66. package/dist/commands/peek.js +5 -7
  67. package/dist/commands/peek.js.map +1 -1
  68. package/dist/commands/shared/CommandRunner.d.ts +4 -10
  69. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  70. package/dist/commands/shared/CommandRunner.js +2 -2
  71. package/dist/commands/shared/CommandRunner.js.map +1 -1
  72. package/dist/commands/shared/commonOptions.d.ts +0 -15
  73. package/dist/commands/shared/commonOptions.d.ts.map +1 -1
  74. package/dist/commands/shared/commonOptions.js +0 -32
  75. package/dist/commands/shared/commonOptions.js.map +1 -1
  76. package/dist/commands/shared/optionTypes.d.ts +247 -0
  77. package/dist/commands/shared/optionTypes.d.ts.map +1 -0
  78. package/dist/commands/shared/optionTypes.js +20 -0
  79. package/dist/commands/shared/optionTypes.js.map +1 -0
  80. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  81. package/dist/commands/shared/startHelpers.js +3 -3
  82. package/dist/commands/shared/startHelpers.js.map +1 -1
  83. package/dist/commands/start.d.ts.map +1 -1
  84. package/dist/commands/start.js +8 -6
  85. package/dist/commands/start.js.map +1 -1
  86. package/dist/commands/status.d.ts.map +1 -1
  87. package/dist/commands/status.js.map +1 -1
  88. package/dist/commands/stop.d.ts.map +1 -1
  89. package/dist/commands/stop.js +17 -43
  90. package/dist/commands/stop.js.map +1 -1
  91. package/dist/commands/tail.d.ts.map +1 -1
  92. package/dist/commands/tail.js +49 -59
  93. package/dist/commands/tail.js.map +1 -1
  94. package/dist/connection/types.d.ts +2 -1
  95. package/dist/connection/types.d.ts.map +1 -1
  96. package/dist/constants.d.ts +14 -0
  97. package/dist/constants.d.ts.map +1 -1
  98. package/dist/constants.js +39 -0
  99. package/dist/constants.js.map +1 -1
  100. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  101. package/dist/daemon/handlers/responseHandler.js +1 -0
  102. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  103. package/dist/daemon/ipcServer.js +8 -8
  104. package/dist/daemon/ipcServer.js.map +1 -1
  105. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  106. package/dist/daemon/lifecycle/signalHandlers.js +19 -3
  107. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  108. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  109. package/dist/daemon/lifecycle/workerCleanup.js +5 -2
  110. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  111. package/dist/daemon/patternDefinitions.d.ts +0 -13
  112. package/dist/daemon/patternDefinitions.d.ts.map +1 -1
  113. package/dist/daemon/patternDefinitions.js +0 -17
  114. package/dist/daemon/patternDefinitions.js.map +1 -1
  115. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  116. package/dist/daemon/worker/commandRegistry.js +3 -0
  117. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  118. package/dist/index.js +34 -2
  119. package/dist/index.js.map +1 -1
  120. package/dist/ipc/protocol/commands.d.ts +2 -0
  121. package/dist/ipc/protocol/commands.d.ts.map +1 -1
  122. package/dist/ipc/protocol/commands.js.map +1 -1
  123. package/dist/ipc/session/queries.d.ts +2 -0
  124. package/dist/ipc/session/queries.d.ts.map +1 -1
  125. package/dist/ipc/utils/responseValidator.d.ts +7 -1
  126. package/dist/ipc/utils/responseValidator.d.ts.map +1 -1
  127. package/dist/ipc/utils/responseValidator.js +6 -1
  128. package/dist/ipc/utils/responseValidator.js.map +1 -1
  129. package/dist/session/QueryCacheManager.d.ts +140 -0
  130. package/dist/session/QueryCacheManager.d.ts.map +1 -0
  131. package/dist/session/QueryCacheManager.js +233 -0
  132. package/dist/session/QueryCacheManager.js.map +1 -0
  133. package/dist/session/cleanup.d.ts +63 -1
  134. package/dist/session/cleanup.d.ts.map +1 -1
  135. package/dist/session/cleanup.js +191 -65
  136. package/dist/session/cleanup.js.map +1 -1
  137. package/dist/session/queryCache.d.ts +25 -14
  138. package/dist/session/queryCache.d.ts.map +1 -1
  139. package/dist/session/queryCache.js +31 -60
  140. package/dist/session/queryCache.js.map +1 -1
  141. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +9 -0
  142. package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +1 -0
  143. package/dist/telemetry/__tests__/roleInference.unit.test.js +138 -0
  144. package/dist/telemetry/__tests__/roleInference.unit.test.js.map +1 -0
  145. package/dist/telemetry/console.d.ts.map +1 -1
  146. package/dist/telemetry/console.js +29 -17
  147. package/dist/telemetry/console.js.map +1 -1
  148. package/dist/telemetry/dom.d.ts +1 -0
  149. package/dist/telemetry/dom.d.ts.map +1 -1
  150. package/dist/telemetry/dom.js +9 -4
  151. package/dist/telemetry/dom.js.map +1 -1
  152. package/dist/telemetry/filters.d.ts +3 -0
  153. package/dist/telemetry/filters.d.ts.map +1 -1
  154. package/dist/telemetry/filters.js +25 -3
  155. package/dist/telemetry/filters.js.map +1 -1
  156. package/dist/telemetry/network.d.ts.map +1 -1
  157. package/dist/telemetry/network.js +35 -6
  158. package/dist/telemetry/network.js.map +1 -1
  159. package/dist/telemetry/remoteObject.d.ts +58 -0
  160. package/dist/telemetry/remoteObject.d.ts.map +1 -0
  161. package/dist/telemetry/remoteObject.js +134 -0
  162. package/dist/telemetry/remoteObject.js.map +1 -0
  163. package/dist/telemetry/roleInference.d.ts +50 -0
  164. package/dist/telemetry/roleInference.d.ts.map +1 -0
  165. package/dist/telemetry/roleInference.js +163 -0
  166. package/dist/telemetry/roleInference.js.map +1 -0
  167. package/dist/telemetry/utils.d.ts +0 -57
  168. package/dist/telemetry/utils.d.ts.map +1 -1
  169. package/dist/telemetry/utils.js +0 -71
  170. package/dist/telemetry/utils.js.map +1 -1
  171. package/dist/types/dom.d.ts +2 -0
  172. package/dist/types/dom.d.ts.map +1 -1
  173. package/dist/types.d.ts +23 -0
  174. package/dist/types.d.ts.map +1 -1
  175. package/dist/ui/formatters/a11y.d.ts +0 -9
  176. package/dist/ui/formatters/a11y.d.ts.map +1 -1
  177. package/dist/ui/formatters/a11y.js +0 -45
  178. package/dist/ui/formatters/a11y.js.map +1 -1
  179. package/dist/ui/formatters/console.d.ts +131 -0
  180. package/dist/ui/formatters/console.d.ts.map +1 -0
  181. package/dist/ui/formatters/console.js +400 -0
  182. package/dist/ui/formatters/console.js.map +1 -0
  183. package/dist/ui/formatters/preview.d.ts.map +1 -1
  184. package/dist/ui/formatters/preview.js +2 -39
  185. package/dist/ui/formatters/preview.js.map +1 -1
  186. package/dist/ui/logging/index.d.ts +1 -1
  187. package/dist/ui/logging/index.d.ts.map +1 -1
  188. package/dist/ui/logging/index.js +1 -1
  189. package/dist/ui/logging/index.js.map +1 -1
  190. package/dist/ui/logging/logger.d.ts +21 -0
  191. package/dist/ui/logging/logger.d.ts.map +1 -1
  192. package/dist/ui/logging/logger.js +24 -6
  193. package/dist/ui/logging/logger.js.map +1 -1
  194. package/dist/ui/messages/commands.d.ts +0 -14
  195. package/dist/ui/messages/commands.d.ts.map +1 -1
  196. package/dist/ui/messages/commands.js +0 -18
  197. package/dist/ui/messages/commands.js.map +1 -1
  198. package/dist/ui/messages/consoleMessages.d.ts +12 -27
  199. package/dist/ui/messages/consoleMessages.d.ts.map +1 -1
  200. package/dist/ui/messages/consoleMessages.js +16 -31
  201. package/dist/ui/messages/consoleMessages.js.map +1 -1
  202. package/dist/ui/messages/errors.d.ts +0 -16
  203. package/dist/ui/messages/errors.d.ts.map +1 -1
  204. package/dist/ui/messages/errors.js +0 -18
  205. package/dist/ui/messages/errors.js.map +1 -1
  206. package/dist/ui/messages/hints.d.ts +0 -10
  207. package/dist/ui/messages/hints.d.ts.map +1 -1
  208. package/dist/ui/messages/hints.js +0 -12
  209. package/dist/ui/messages/hints.js.map +1 -1
  210. package/dist/utils/decisionTrees.d.ts +0 -17
  211. package/dist/utils/decisionTrees.d.ts.map +1 -1
  212. package/dist/utils/decisionTrees.js +17 -23
  213. package/dist/utils/decisionTrees.js.map +1 -1
  214. package/dist/utils/errorMapping.d.ts +60 -0
  215. package/dist/utils/errorMapping.d.ts.map +1 -0
  216. package/dist/utils/errorMapping.js +97 -0
  217. package/dist/utils/errorMapping.js.map +1 -0
  218. package/dist/utils/file.d.ts +27 -0
  219. package/dist/utils/file.d.ts.map +1 -0
  220. package/dist/utils/file.js +37 -0
  221. package/dist/utils/file.js.map +1 -0
  222. package/dist/utils/levenshtein.d.ts +0 -17
  223. package/dist/utils/levenshtein.d.ts.map +1 -1
  224. package/dist/utils/levenshtein.js +0 -31
  225. package/dist/utils/levenshtein.js.map +1 -1
  226. package/dist/utils/strings.d.ts +14 -0
  227. package/dist/utils/strings.d.ts.map +1 -0
  228. package/dist/utils/strings.js +23 -0
  229. package/dist/utils/strings.js.map +1 -0
  230. package/dist/utils/taskMappings.d.ts +0 -17
  231. package/dist/utils/taskMappings.d.ts.map +1 -1
  232. package/dist/utils/taskMappings.js +18 -24
  233. package/dist/utils/taskMappings.js.map +1 -1
  234. package/dist/utils/typeGuards.d.ts +62 -0
  235. package/dist/utils/typeGuards.d.ts.map +1 -0
  236. package/dist/utils/typeGuards.js +94 -0
  237. package/dist/utils/typeGuards.js.map +1 -0
  238. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../../src/daemon/worker/commandRegistry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAErD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;YAClD,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;YAElD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtF,aAAa,CAAC;gBACZ,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,GAAG,CAAC,YAAY;aAC/B,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxF,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CAAC,CAAC,CAAC;YAEJ,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,KAAK,CAAC,gBAAgB;gBACjC,QAAQ;gBACR,MAAM,EAAE;oBACN,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE;oBAChC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;iBACrC;gBACD,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,OAAO,EAAE,aAAa;gBACtB,OAAO,EAAE,aAAa;gBACtB,YAAY;gBACZ,YAAY;gBACZ,cAAc,EAAE,YAAY,GAAG,CAAC;gBAChC,cAAc,EAAE,YAAY,GAAG,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9E,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBACvE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,uCAAuC,MAAM,CAAC,EAAE,kBAAkB,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,CACtG,CACF,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAC5F,CAAC;QACJ,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAErD,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnF,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnF,MAAM,MAAM,GAAqB;gBAC/B,SAAS,EAAE,KAAK,CAAC,gBAAgB;gBACjC,QAAQ;gBACR,MAAM,EAAE;oBACN,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,EAAE;oBAChC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;iBACrC;gBACD,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,QAAQ,EAAE,aAAa,CAAC;oBACtB,uBAAuB,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM;oBACrD,uBAAuB,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM;oBACrD,oBAAoB,EAAE,kBAAkB,EAAE,SAAS;oBACnD,oBAAoB,EAAE,kBAAkB,EAAE,SAAS;iBACpD,CAKA;aACF,CAAC;YAEF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YACvC,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,QAAQ,EAAE,KAAK,CAAC,eAAe;aAChC,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,aAAa,CAAC;YAElB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,CAAC,CAAC;gBAE3D,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,CAAC,YAAY,KAAK,UAAU,CACxE,CAAC;gBAEF,aAAa,KAAK,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAEtF,aAAa,KAAK,KAAK,CAAC,eAAe,CAAC,QAAQ,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CACtE,CAAC;gBAEF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YAED,IAAI,cAAc,GAAG,aAAa,CAAC,cAAc,IAAI,EAAE,CAAC;YACxD,IAAI,eAAe,GAAG,aAAa,CAAC,eAAe,IAAI,EAAE,CAAC;YAE1D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC7C,cAAc,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CACzE,CAAC;gBACF,eAAe,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAC1E,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,GAAG,EAAE,aAAa,CAAC,GAAG;gBACtB,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,cAAc;gBACd,eAAe;aAChB,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAElE,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,IAAwB,CAAC;YAE7B,IAAI,eAAe,CAAC,UAAU,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC1D,IAAI,GAAG,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;KACiB,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../../src/daemon/worker/commandRegistry.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import { generateMachineReadableHelp } from './commands/machineReadableHelp.js';
3
+ import { generateMachineReadableHelp, generateSubcommandHelp } from './commands/helpJson.js';
4
4
  import { commandRegistry } from './commands.js';
5
5
  import { getErrorMessage } from './connection/errors.js';
6
6
  import { isDaemonRunning, launchDaemon } from './daemon/launcher.js';
@@ -17,6 +17,35 @@ const DAEMON_START_FAILED_PREFIX = 'Failed to start daemon:';
17
17
  const CLI_NAME = 'bdg';
18
18
  const CLI_DESCRIPTION = 'Browser telemetry via Chrome DevTools Protocol';
19
19
  const log = createLogger('bdg');
20
+ /**
21
+ * Extract command path from argv for subcommand help routing.
22
+ *
23
+ * Parses argv to find command names before --help flag.
24
+ * Stops at first flag (starts with -) or --help.
25
+ *
26
+ * @param argv - Process arguments array
27
+ * @returns Array of command names (e.g., ['dom', 'query'])
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * extractCommandPath(['node', 'bdg', 'dom', 'query', '--help', '--json'])
32
+ * // Returns: ['dom', 'query']
33
+ *
34
+ * extractCommandPath(['node', 'bdg', '--help', '--json'])
35
+ * // Returns: []
36
+ * ```
37
+ */
38
+ function extractCommandPath(argv) {
39
+ const commandPath = [];
40
+ const args = argv.slice(2);
41
+ for (const arg of args) {
42
+ if (arg.startsWith('-')) {
43
+ break;
44
+ }
45
+ commandPath.push(arg);
46
+ }
47
+ return commandPath;
48
+ }
20
49
  /**
21
50
  * Check if the current process is running as the daemon worker.
22
51
  *
@@ -79,7 +108,10 @@ async function main() {
79
108
  .option('--debug', 'Enable debug logging (verbose output)');
80
109
  commandRegistry.forEach((register) => register(program));
81
110
  if (process.argv.includes('--help') && process.argv.includes('--json')) {
82
- const help = generateMachineReadableHelp(program);
111
+ const commandPath = extractCommandPath(process.argv);
112
+ const help = commandPath.length > 0
113
+ ? generateSubcommandHelp(program, commandPath)
114
+ : generateMachineReadableHelp(program);
83
115
  console.log(JSON.stringify(help, null, 2));
84
116
  process.exit(0);
85
117
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,8 @@ export interface WorkerStatusData {
96
96
  target: PageState;
97
97
  activeTelemetry: string[];
98
98
  activity: SessionActivity;
99
+ /** Current navigation counter (increments on each page navigation). */
100
+ navigationId: number;
99
101
  }
100
102
  /**
101
103
  * Worker HAR data command request schema (no parameters required).
@@ -1 +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;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;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;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;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,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iFAAiF;IACjF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,wBAAwB;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;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,eAAe,EAAE,UAAU,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IACrE,sBAAsB,EAAE,UAAU,CAAC,2BAA2B,EAAE,wBAAwB,CAAC,CAAC;IAC1F,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;;;gCAGjB,oBAAoB;iCACnB,iBAAiB;;;gCAGlB,2BAA2B;iCAC1B,wBAAwB;;;gCAEf,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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuJH;;;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,eAAe,EAAE;QACf,aAAa,EAAE,EAA0B;QACzC,cAAc,EAAE,EAAuB;KACxC;IACD,sBAAsB,EAAE;QACtB,aAAa,EAAE,EAAiC;QAChD,cAAc,EAAE,EAA8B;KAC/C;IACD,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAoB,EAAE,cAAc,EAAE,EAAiB,EAAE;CACpD,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/ipc/protocol/commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyJH;;;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,eAAe,EAAE;QACf,aAAa,EAAE,EAA0B;QACzC,cAAc,EAAE,EAAuB;KACxC;IACD,sBAAsB,EAAE;QACtB,aAAa,EAAE,EAAiC;QAChD,cAAc,EAAE,EAA8B;KAC/C;IACD,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAoB,EAAE,cAAc,EAAE,EAAiB,EAAE;CACpD,CAAC"}
@@ -38,6 +38,8 @@ export interface StatusResponseData {
38
38
  activity?: SessionActivity;
39
39
  /** Current page state. */
40
40
  pageState?: PageState;
41
+ /** Current navigation counter (increments on each page navigation). */
42
+ navigationId?: number;
41
43
  }
42
44
  /**
43
45
  * Status response (daemon → client).
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/ipc/session/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/ipc/session/queries.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * IPC response validation utilities.
3
+ *
4
+ * Provides standardized error handling for IPC/CDP calls with type narrowing.
5
+ */
1
6
  /**
2
7
  * Base response interface for validation.
3
8
  * Both IPCResponse and ClientResponse follow this structure.
@@ -5,6 +10,7 @@
5
10
  interface BaseResponse {
6
11
  status: 'ok' | 'error';
7
12
  error?: string;
13
+ data?: object;
8
14
  }
9
15
  /**
10
16
  * Response type with success status.
@@ -25,7 +31,7 @@ type SuccessResponse<T extends BaseResponse> = T & {
25
31
  * Works with both IPCResponse (legacy) and ClientResponse (new) types.
26
32
  *
27
33
  * @param response - IPC or CDP response from daemon
28
- * @throws Error if response.status === 'error'
34
+ * @throws IPCError if response.status === 'error'
29
35
  *
30
36
  * @example
31
37
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"responseValidator.d.ts","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,UAAU,YAAY;IACpB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;GAGG;AACH,KAAK,eAAe,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,YAAY,EACxD,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,CAIxC"}
1
+ {"version":3,"file":"responseValidator.d.ts","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,UAAU,YAAY;IACpB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,KAAK,eAAe,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,YAAY,EACxD,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,CAIxC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * IPC response validation utilities.
3
+ *
4
+ * Provides standardized error handling for IPC/CDP calls with type narrowing.
5
+ */
1
6
  import { IPCError } from '../../ipc/transport/IPCError.js';
2
7
  /**
3
8
  * Validate IPC response and throw on error.
@@ -11,7 +16,7 @@ import { IPCError } from '../../ipc/transport/IPCError.js';
11
16
  * Works with both IPCResponse (legacy) and ClientResponse (new) types.
12
17
  *
13
18
  * @param response - IPC or CDP response from daemon
14
- * @throws Error if response.status === 'error'
19
+ * @throws IPCError if response.status === 'error'
15
20
  *
16
21
  * @example
17
22
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"responseValidator.js","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAQvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAW;IAEX,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"responseValidator.js","sourceRoot":"","sources":["../../../src/ipc/utils/responseValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAkBvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAW;IAEX,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Query cache manager for DOM element index-based access.
3
+ *
4
+ * Provides centralized management of DOM query result caching with:
5
+ * - Singleton pattern for consistent cache access
6
+ * - Navigation-aware staleness detection
7
+ * - TTL-based navigation ID caching to reduce IPC calls
8
+ *
9
+ * The cache enables index-based element access patterns like
10
+ * "bdg dom get 0" after running "bdg dom query .selector".
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const manager = QueryCacheManager.getInstance();
15
+ *
16
+ * // Store query results
17
+ * await manager.set(queryResult);
18
+ *
19
+ * // Validate and retrieve (throws if stale)
20
+ * const validation = await manager.validate();
21
+ * if (validation.valid) {
22
+ * const cache = validation.cache;
23
+ * }
24
+ * ```
25
+ */
26
+ import type { DomQueryResult } from '../types/dom.js';
27
+ /**
28
+ * Result of validating query cache against current navigation state.
29
+ */
30
+ export interface QueryCacheValidation {
31
+ /** Whether the cache is valid for use. */
32
+ valid: boolean;
33
+ /** The cached query result (if exists). */
34
+ cache: DomQueryResult | null;
35
+ /** Error message if cache is invalid. */
36
+ error?: string;
37
+ /** Suggestion for fixing the error. */
38
+ suggestion?: string;
39
+ }
40
+ /**
41
+ * Singleton manager for DOM query result caching.
42
+ *
43
+ * Centralizes all cache operations with navigation-aware staleness detection.
44
+ * Uses file-based persistence for cross-process access.
45
+ */
46
+ export declare class QueryCacheManager {
47
+ private static instance;
48
+ /** Cached navigation ID with timestamp for TTL-based invalidation. */
49
+ private cachedNavigationId;
50
+ /**
51
+ * Get the singleton instance.
52
+ *
53
+ * @returns QueryCacheManager instance
54
+ */
55
+ static getInstance(): QueryCacheManager;
56
+ /**
57
+ * Reset the singleton instance (for testing).
58
+ */
59
+ static resetInstance(): void;
60
+ /**
61
+ * Get path to query cache file.
62
+ *
63
+ * @returns Absolute path to query-cache.json
64
+ */
65
+ private getCachePath;
66
+ /**
67
+ * Store query results for index-based access.
68
+ *
69
+ * Writes results to ~/.bdg/query-cache.json for cross-process access.
70
+ *
71
+ * @param result - DOM query result to cache
72
+ */
73
+ set(result: DomQueryResult): Promise<void>;
74
+ /**
75
+ * Get validated cache results.
76
+ *
77
+ * Returns null if cache is stale or doesn't exist.
78
+ * Use getRaw() for unchecked access.
79
+ *
80
+ * @returns Cached query result or null if invalid/missing
81
+ */
82
+ get(): Promise<DomQueryResult | null>;
83
+ /**
84
+ * Get raw cache without validation.
85
+ *
86
+ * Reads from ~/.bdg/query-cache.json if it exists.
87
+ * Does not check navigation staleness.
88
+ *
89
+ * @returns Cached query result or null if no cache exists
90
+ */
91
+ getRaw(): Promise<DomQueryResult | null>;
92
+ /**
93
+ * Validate cache against current navigation state.
94
+ *
95
+ * Checks if the cached query results are still valid by comparing
96
+ * the stored navigationId with the current one from the daemon.
97
+ *
98
+ * @returns Validation result with cache and error info
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * const validation = await manager.validate();
103
+ * if (!validation.valid) {
104
+ * throw new CommandError(validation.error, { suggestion: validation.suggestion });
105
+ * }
106
+ * const cache = validation.cache;
107
+ * ```
108
+ */
109
+ validate(): Promise<QueryCacheValidation>;
110
+ /**
111
+ * Clear the query cache.
112
+ *
113
+ * Removes ~/.bdg/query-cache.json.
114
+ * Called when starting a new query or when the session ends.
115
+ */
116
+ clear(): Promise<void>;
117
+ /**
118
+ * Check if cache file exists.
119
+ *
120
+ * @returns True if cache file exists
121
+ */
122
+ exists(): boolean;
123
+ /**
124
+ * Get current navigation ID from the daemon.
125
+ *
126
+ * Caches the result for 500ms to avoid redundant IPC calls within a single
127
+ * command execution while ensuring freshness for subsequent commands.
128
+ *
129
+ * @returns Current navigation ID or null if unavailable
130
+ */
131
+ getCurrentNavigationId(): Promise<number | null>;
132
+ /**
133
+ * Invalidate cached navigation ID.
134
+ *
135
+ * Forces fresh fetch on next getCurrentNavigationId() call.
136
+ * Useful after navigation events.
137
+ */
138
+ invalidateNavigationCache(): void;
139
+ }
140
+ //# sourceMappingURL=QueryCacheManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryCacheManager.d.ts","sourceRoot":"","sources":["../../src/session/QueryCacheManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQrD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkC;IAEzD,sEAAsE;IACtE,OAAO,CAAC,kBAAkB,CAAqD;IAE/E;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,iBAAiB;IAKvC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;OAMG;IACG,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD;;;;;;;OAOG;IACG,GAAG,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAK3C;;;;;;;OAOG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiB9C;;;;;;;;;;;;;;;;OAgBG;IACG,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAoC/C;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;;;OAIG;IACH,MAAM,IAAI,OAAO;IAIjB;;;;;;;OAOG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA2BtD;;;;;OAKG;IACH,yBAAyB,IAAI,IAAI;CAGlC"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Query cache manager for DOM element index-based access.
3
+ *
4
+ * Provides centralized management of DOM query result caching with:
5
+ * - Singleton pattern for consistent cache access
6
+ * - Navigation-aware staleness detection
7
+ * - TTL-based navigation ID caching to reduce IPC calls
8
+ *
9
+ * The cache enables index-based element access patterns like
10
+ * "bdg dom get 0" after running "bdg dom query .selector".
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const manager = QueryCacheManager.getInstance();
15
+ *
16
+ * // Store query results
17
+ * await manager.set(queryResult);
18
+ *
19
+ * // Validate and retrieve (throws if stale)
20
+ * const validation = await manager.validate();
21
+ * if (validation.valid) {
22
+ * const cache = validation.cache;
23
+ * }
24
+ * ```
25
+ */
26
+ import { existsSync } from 'fs';
27
+ import { readFile, rm, writeFile } from 'fs/promises';
28
+ import { join } from 'path';
29
+ import { getErrorMessage } from '../connection/errors.js';
30
+ import { getSessionDir } from '../session/paths.js';
31
+ import { createLogger } from '../ui/logging/index.js';
32
+ const log = createLogger('session');
33
+ /** TTL for cached navigation ID (500ms). */
34
+ const NAVIGATION_ID_CACHE_TTL_MS = 500;
35
+ /**
36
+ * Singleton manager for DOM query result caching.
37
+ *
38
+ * Centralizes all cache operations with navigation-aware staleness detection.
39
+ * Uses file-based persistence for cross-process access.
40
+ */
41
+ export class QueryCacheManager {
42
+ static instance = null;
43
+ /** Cached navigation ID with timestamp for TTL-based invalidation. */
44
+ cachedNavigationId = null;
45
+ /**
46
+ * Get the singleton instance.
47
+ *
48
+ * @returns QueryCacheManager instance
49
+ */
50
+ static getInstance() {
51
+ QueryCacheManager.instance ??= new QueryCacheManager();
52
+ return QueryCacheManager.instance;
53
+ }
54
+ /**
55
+ * Reset the singleton instance (for testing).
56
+ */
57
+ static resetInstance() {
58
+ QueryCacheManager.instance = null;
59
+ }
60
+ /**
61
+ * Get path to query cache file.
62
+ *
63
+ * @returns Absolute path to query-cache.json
64
+ */
65
+ getCachePath() {
66
+ return join(getSessionDir(), 'query-cache.json');
67
+ }
68
+ /**
69
+ * Store query results for index-based access.
70
+ *
71
+ * Writes results to ~/.bdg/query-cache.json for cross-process access.
72
+ *
73
+ * @param result - DOM query result to cache
74
+ */
75
+ async set(result) {
76
+ try {
77
+ const cachePath = this.getCachePath();
78
+ await writeFile(cachePath, JSON.stringify(result), 'utf-8');
79
+ log.debug(`Cached ${result.nodes.length} query results to ${cachePath}`);
80
+ }
81
+ catch (error) {
82
+ log.debug(`Failed to write query cache: ${getErrorMessage(error)}`);
83
+ }
84
+ }
85
+ /**
86
+ * Get validated cache results.
87
+ *
88
+ * Returns null if cache is stale or doesn't exist.
89
+ * Use getRaw() for unchecked access.
90
+ *
91
+ * @returns Cached query result or null if invalid/missing
92
+ */
93
+ async get() {
94
+ const validation = await this.validate();
95
+ return validation.valid ? validation.cache : null;
96
+ }
97
+ /**
98
+ * Get raw cache without validation.
99
+ *
100
+ * Reads from ~/.bdg/query-cache.json if it exists.
101
+ * Does not check navigation staleness.
102
+ *
103
+ * @returns Cached query result or null if no cache exists
104
+ */
105
+ async getRaw() {
106
+ try {
107
+ const cachePath = this.getCachePath();
108
+ if (!existsSync(cachePath)) {
109
+ return null;
110
+ }
111
+ const content = await readFile(cachePath, 'utf-8');
112
+ const result = JSON.parse(content);
113
+ log.debug(`Retrieved ${result.nodes.length} cached query results`);
114
+ return result;
115
+ }
116
+ catch (error) {
117
+ log.debug(`Failed to read query cache: ${getErrorMessage(error)}`);
118
+ return null;
119
+ }
120
+ }
121
+ /**
122
+ * Validate cache against current navigation state.
123
+ *
124
+ * Checks if the cached query results are still valid by comparing
125
+ * the stored navigationId with the current one from the daemon.
126
+ *
127
+ * @returns Validation result with cache and error info
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * const validation = await manager.validate();
132
+ * if (!validation.valid) {
133
+ * throw new CommandError(validation.error, { suggestion: validation.suggestion });
134
+ * }
135
+ * const cache = validation.cache;
136
+ * ```
137
+ */
138
+ async validate() {
139
+ const cache = await this.getRaw();
140
+ if (!cache) {
141
+ return {
142
+ valid: false,
143
+ cache: null,
144
+ error: 'No cached query results found',
145
+ suggestion: 'Run "bdg dom query <selector>" first to generate indexed results',
146
+ };
147
+ }
148
+ if (cache.navigationId === undefined) {
149
+ log.debug('Query cache missing navigationId (legacy format), allowing access');
150
+ return { valid: true, cache };
151
+ }
152
+ const currentNavId = await this.getCurrentNavigationId();
153
+ if (currentNavId === null) {
154
+ log.debug('Could not get current navigationId, allowing cache access');
155
+ return { valid: true, cache };
156
+ }
157
+ if (cache.navigationId !== currentNavId) {
158
+ return {
159
+ valid: false,
160
+ cache,
161
+ error: `Query cache is stale (page has navigated since query was run)`,
162
+ suggestion: `Re-run "bdg dom query ${cache.selector}" to refresh cached results`,
163
+ };
164
+ }
165
+ return { valid: true, cache };
166
+ }
167
+ /**
168
+ * Clear the query cache.
169
+ *
170
+ * Removes ~/.bdg/query-cache.json.
171
+ * Called when starting a new query or when the session ends.
172
+ */
173
+ async clear() {
174
+ try {
175
+ const cachePath = this.getCachePath();
176
+ if (existsSync(cachePath)) {
177
+ await rm(cachePath, { force: true });
178
+ log.debug('Cleared query cache');
179
+ }
180
+ }
181
+ catch (error) {
182
+ log.debug(`Failed to clear query cache: ${getErrorMessage(error)}`);
183
+ }
184
+ }
185
+ /**
186
+ * Check if cache file exists.
187
+ *
188
+ * @returns True if cache file exists
189
+ */
190
+ exists() {
191
+ return existsSync(this.getCachePath());
192
+ }
193
+ /**
194
+ * Get current navigation ID from the daemon.
195
+ *
196
+ * Caches the result for 500ms to avoid redundant IPC calls within a single
197
+ * command execution while ensuring freshness for subsequent commands.
198
+ *
199
+ * @returns Current navigation ID or null if unavailable
200
+ */
201
+ async getCurrentNavigationId() {
202
+ if (this.cachedNavigationId &&
203
+ Date.now() - this.cachedNavigationId.timestamp < NAVIGATION_ID_CACHE_TTL_MS) {
204
+ return this.cachedNavigationId.value;
205
+ }
206
+ try {
207
+ const { getStatus } = await import('../ipc/client.js');
208
+ const response = await getStatus();
209
+ if (response.status === 'ok' && response.data?.navigationId !== undefined) {
210
+ this.cachedNavigationId = {
211
+ value: response.data.navigationId,
212
+ timestamp: Date.now(),
213
+ };
214
+ return response.data.navigationId;
215
+ }
216
+ return null;
217
+ }
218
+ catch (error) {
219
+ log.debug(`Failed to get current navigation ID: ${getErrorMessage(error)}`);
220
+ return null;
221
+ }
222
+ }
223
+ /**
224
+ * Invalidate cached navigation ID.
225
+ *
226
+ * Forces fresh fetch on next getCurrentNavigationId() call.
227
+ * Useful after navigation events.
228
+ */
229
+ invalidateNavigationCache() {
230
+ this.cachedNavigationId = null;
231
+ }
232
+ }
233
+ //# sourceMappingURL=QueryCacheManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryCacheManager.js","sourceRoot":"","sources":["../../src/session/QueryCacheManager.ts"],"names":[],"mappings":"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"}