browser-debugger-cli 0.6.9 → 0.6.11

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 (259) hide show
  1. package/README.md +10 -0
  2. package/dist/commands/cdp.js +1 -1
  3. package/dist/commands/cdp.js.map +1 -1
  4. package/dist/commands/cleanup.js +1 -1
  5. package/dist/commands/cleanup.js.map +1 -1
  6. package/dist/commands/console.d.ts +4 -28
  7. package/dist/commands/console.d.ts.map +1 -1
  8. package/dist/commands/console.js +82 -192
  9. package/dist/commands/console.js.map +1 -1
  10. package/dist/commands/details.d.ts.map +1 -1
  11. package/dist/commands/details.js +27 -8
  12. package/dist/commands/details.js.map +1 -1
  13. package/dist/commands/dom/DomElementResolver.d.ts +25 -9
  14. package/dist/commands/dom/DomElementResolver.d.ts.map +1 -1
  15. package/dist/commands/dom/DomElementResolver.js +65 -17
  16. package/dist/commands/dom/DomElementResolver.js.map +1 -1
  17. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +2 -0
  18. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +1 -0
  19. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +184 -0
  20. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +1 -0
  21. package/dist/commands/dom/a11y.d.ts.map +1 -1
  22. package/dist/commands/dom/a11y.js +9 -9
  23. package/dist/commands/dom/a11y.js.map +1 -1
  24. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  25. package/dist/commands/dom/evalHelpers.js +10 -7
  26. package/dist/commands/dom/evalHelpers.js.map +1 -1
  27. package/dist/commands/dom/formFillHelpers.d.ts +2 -1
  28. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  29. package/dist/commands/dom/formFillHelpers.js +22 -20
  30. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  31. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  32. package/dist/commands/dom/formInteraction.js +26 -10
  33. package/dist/commands/dom/formInteraction.js.map +1 -1
  34. package/dist/commands/dom/formSubmitHelpers.d.ts +2 -1
  35. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
  36. package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
  37. package/dist/commands/dom/helpers.d.ts +47 -4
  38. package/dist/commands/dom/helpers.d.ts.map +1 -1
  39. package/dist/commands/dom/helpers.js +406 -21
  40. package/dist/commands/dom/helpers.js.map +1 -1
  41. package/dist/commands/dom/index.d.ts +1 -1
  42. package/dist/commands/dom/index.d.ts.map +1 -1
  43. package/dist/commands/dom/index.js +414 -151
  44. package/dist/commands/dom/index.js.map +1 -1
  45. package/dist/commands/dom/reactEventHelpers.d.ts +4 -4
  46. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  47. package/dist/commands/dom/reactEventHelpers.js +11 -11
  48. package/dist/commands/dom/screenshotResize.d.ts +81 -0
  49. package/dist/commands/dom/screenshotResize.d.ts.map +1 -0
  50. package/dist/commands/dom/screenshotResize.js +103 -0
  51. package/dist/commands/dom/screenshotResize.js.map +1 -0
  52. package/dist/commands/helpJson.d.ts +20 -0
  53. package/dist/commands/helpJson.d.ts.map +1 -1
  54. package/dist/commands/helpJson.js +48 -39
  55. package/dist/commands/helpJson.js.map +1 -1
  56. package/dist/commands/network/har.d.ts.map +1 -1
  57. package/dist/commands/network/har.js +3 -2
  58. package/dist/commands/network/har.js.map +1 -1
  59. package/dist/commands/network/list.d.ts +0 -8
  60. package/dist/commands/network/list.d.ts.map +1 -1
  61. package/dist/commands/network/list.js +134 -208
  62. package/dist/commands/network/list.js.map +1 -1
  63. package/dist/commands/network/shared.d.ts.map +1 -1
  64. package/dist/commands/network/shared.js +6 -0
  65. package/dist/commands/network/shared.js.map +1 -1
  66. package/dist/commands/optionBehaviors.d.ts +26 -0
  67. package/dist/commands/optionBehaviors.d.ts.map +1 -0
  68. package/dist/commands/optionBehaviors.js +184 -0
  69. package/dist/commands/optionBehaviors.js.map +1 -0
  70. package/dist/commands/peek.d.ts +2 -4
  71. package/dist/commands/peek.d.ts.map +1 -1
  72. package/dist/commands/peek.js +109 -97
  73. package/dist/commands/peek.js.map +1 -1
  74. package/dist/commands/shared/CommandRunner.js +1 -1
  75. package/dist/commands/shared/CommandRunner.js.map +1 -1
  76. package/dist/commands/shared/dataFetcher.d.ts +58 -0
  77. package/dist/commands/shared/dataFetcher.d.ts.map +1 -0
  78. package/dist/commands/shared/dataFetcher.js +98 -0
  79. package/dist/commands/shared/dataFetcher.js.map +1 -0
  80. package/dist/commands/shared/followMode.d.ts +50 -0
  81. package/dist/commands/shared/followMode.d.ts.map +1 -0
  82. package/dist/commands/shared/followMode.js +58 -0
  83. package/dist/commands/shared/followMode.js.map +1 -0
  84. package/dist/commands/shared/optionTypes.d.ts +18 -4
  85. package/dist/commands/shared/optionTypes.d.ts.map +1 -1
  86. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  87. package/dist/commands/shared/startHelpers.js +6 -5
  88. package/dist/commands/shared/startHelpers.js.map +1 -1
  89. package/dist/commands/shared/validation.d.ts +0 -45
  90. package/dist/commands/shared/validation.d.ts.map +1 -1
  91. package/dist/commands/shared/validation.js +65 -107
  92. package/dist/commands/shared/validation.js.map +1 -1
  93. package/dist/commands/status.d.ts.map +1 -1
  94. package/dist/commands/status.js +18 -9
  95. package/dist/commands/status.js.map +1 -1
  96. package/dist/commands/stop.d.ts.map +1 -1
  97. package/dist/commands/stop.js +15 -4
  98. package/dist/commands/stop.js.map +1 -1
  99. package/dist/commands/tail.d.ts +2 -7
  100. package/dist/commands/tail.d.ts.map +1 -1
  101. package/dist/commands/tail.js +67 -79
  102. package/dist/commands/tail.js.map +1 -1
  103. package/dist/commands/types.d.ts +11 -5
  104. package/dist/commands/types.d.ts.map +1 -1
  105. package/dist/connection/cdp.d.ts.map +1 -1
  106. package/dist/connection/cdp.js +5 -3
  107. package/dist/connection/cdp.js.map +1 -1
  108. package/dist/connection/diagnostics.d.ts +9 -0
  109. package/dist/connection/diagnostics.d.ts.map +1 -1
  110. package/dist/connection/diagnostics.js +14 -1
  111. package/dist/connection/diagnostics.js.map +1 -1
  112. package/dist/connection/errors.d.ts +0 -7
  113. package/dist/connection/errors.d.ts.map +1 -1
  114. package/dist/connection/errors.js +0 -7
  115. package/dist/connection/errors.js.map +1 -1
  116. package/dist/connection/handlers.d.ts +1 -8
  117. package/dist/connection/handlers.d.ts.map +1 -1
  118. package/dist/connection/handlers.js.map +1 -1
  119. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -1
  120. package/dist/connection/launcher/binaryResolver.js +3 -15
  121. package/dist/connection/launcher/binaryResolver.js.map +1 -1
  122. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -1
  123. package/dist/connection/launcher/preferencesLoader.js +2 -1
  124. package/dist/connection/launcher/preferencesLoader.js.map +1 -1
  125. package/dist/connection/launcher.d.ts.map +1 -1
  126. package/dist/connection/launcher.js +5 -16
  127. package/dist/connection/launcher.js.map +1 -1
  128. package/dist/connection/pageReadiness.d.ts.map +1 -1
  129. package/dist/connection/pageReadiness.js +13 -16
  130. package/dist/connection/pageReadiness.js.map +1 -1
  131. package/dist/connection/typed-cdp.d.ts +3 -5
  132. package/dist/connection/typed-cdp.d.ts.map +1 -1
  133. package/dist/connection/typed-cdp.js +1 -1
  134. package/dist/connection/typed-cdp.js.map +1 -1
  135. package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -1
  136. package/dist/daemon/handlers/BaseHandler.js +1 -1
  137. package/dist/daemon/handlers/BaseHandler.js.map +1 -1
  138. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
  139. package/dist/daemon/handlers/QueryHandlers.js +1 -1
  140. package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
  141. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
  142. package/dist/daemon/handlers/SessionHandlers.js +1 -1
  143. package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
  144. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  145. package/dist/daemon/handlers/responseHandler.js +10 -0
  146. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  147. package/dist/daemon/ipcServer.js +1 -1
  148. package/dist/daemon/ipcServer.js.map +1 -1
  149. package/dist/daemon/launcher.d.ts.map +1 -1
  150. package/dist/daemon/launcher.js +3 -2
  151. package/dist/daemon/launcher.js.map +1 -1
  152. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  153. package/dist/daemon/lifecycle/signalHandlers.js +1 -1
  154. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  155. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  156. package/dist/daemon/lifecycle/workerCleanup.js +4 -3
  157. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  158. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -1
  159. package/dist/daemon/lifecycle/workerConfig.js +1 -1
  160. package/dist/daemon/lifecycle/workerConfig.js.map +1 -1
  161. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
  162. package/dist/daemon/lifecycle/workerIpc.js +1 -1
  163. package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
  164. package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
  165. package/dist/daemon/server/JsonlParser.js +1 -1
  166. package/dist/daemon/server/JsonlParser.js.map +1 -1
  167. package/dist/daemon/startSession.d.ts.map +1 -1
  168. package/dist/daemon/startSession.js +1 -1
  169. package/dist/daemon/startSession.js.map +1 -1
  170. package/dist/daemon/worker/TelemetryStore.d.ts +2 -1
  171. package/dist/daemon/worker/TelemetryStore.d.ts.map +1 -1
  172. package/dist/daemon/worker/TelemetryStore.js +4 -0
  173. package/dist/daemon/worker/TelemetryStore.js.map +1 -1
  174. package/dist/daemon/worker/plugins.d.ts.map +1 -1
  175. package/dist/daemon/worker/plugins.js +9 -2
  176. package/dist/daemon/worker/plugins.js.map +1 -1
  177. package/dist/index.js +23 -7
  178. package/dist/index.js.map +1 -1
  179. package/dist/ipc/utils/errors.js +1 -1
  180. package/dist/ipc/utils/errors.js.map +1 -1
  181. package/dist/session/QueryCacheManager.d.ts.map +1 -1
  182. package/dist/session/QueryCacheManager.js +1 -1
  183. package/dist/session/QueryCacheManager.js.map +1 -1
  184. package/dist/session/chrome.js +1 -1
  185. package/dist/session/chrome.js.map +1 -1
  186. package/dist/session/cleanup.js +5 -5
  187. package/dist/session/cleanup.js.map +1 -1
  188. package/dist/session/lock.js +1 -1
  189. package/dist/session/lock.js.map +1 -1
  190. package/dist/session/metadata.d.ts.map +1 -1
  191. package/dist/session/metadata.js +1 -1
  192. package/dist/session/metadata.js.map +1 -1
  193. package/dist/session/pid.js +1 -1
  194. package/dist/session/pid.js.map +1 -1
  195. package/dist/telemetry/dom.d.ts.map +1 -1
  196. package/dist/telemetry/dom.js +1 -1
  197. package/dist/telemetry/dom.js.map +1 -1
  198. package/dist/telemetry/filterPresets.d.ts.map +1 -1
  199. package/dist/telemetry/filterPresets.js +5 -2
  200. package/dist/telemetry/filterPresets.js.map +1 -1
  201. package/dist/telemetry/navigation.d.ts.map +1 -1
  202. package/dist/telemetry/navigation.js +7 -0
  203. package/dist/telemetry/navigation.js.map +1 -1
  204. package/dist/telemetry/network.d.ts +12 -1
  205. package/dist/telemetry/network.d.ts.map +1 -1
  206. package/dist/telemetry/network.js +117 -1
  207. package/dist/telemetry/network.js.map +1 -1
  208. package/dist/types.d.ts +148 -0
  209. package/dist/types.d.ts.map +1 -1
  210. package/dist/types.js +33 -1
  211. package/dist/types.js.map +1 -1
  212. package/dist/ui/OutputBuilder.d.ts +2 -44
  213. package/dist/ui/OutputBuilder.d.ts.map +1 -1
  214. package/dist/ui/OutputBuilder.js +71 -103
  215. package/dist/ui/OutputBuilder.js.map +1 -1
  216. package/dist/ui/errors/CommandError.d.ts +0 -2
  217. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  218. package/dist/ui/errors/CommandError.js.map +1 -1
  219. package/dist/ui/formatters/dom.d.ts +10 -30
  220. package/dist/ui/formatters/dom.d.ts.map +1 -1
  221. package/dist/ui/formatters/dom.js +13 -36
  222. package/dist/ui/formatters/dom.js.map +1 -1
  223. package/dist/ui/logging/logger.d.ts +1 -1
  224. package/dist/ui/logging/logger.d.ts.map +1 -1
  225. package/dist/ui/logging/logger.js +1 -1
  226. package/dist/ui/logging/logger.js.map +1 -1
  227. package/dist/ui/messages/dom.d.ts +14 -0
  228. package/dist/ui/messages/dom.d.ts.map +1 -0
  229. package/dist/ui/messages/dom.js +28 -0
  230. package/dist/ui/messages/dom.js.map +1 -0
  231. package/dist/ui/messages/errors.d.ts +83 -0
  232. package/dist/ui/messages/errors.d.ts.map +1 -1
  233. package/dist/ui/messages/errors.js +171 -0
  234. package/dist/ui/messages/errors.js.map +1 -1
  235. package/dist/utils/async.d.ts +10 -0
  236. package/dist/utils/async.d.ts.map +1 -0
  237. package/dist/utils/async.js +12 -0
  238. package/dist/utils/async.js.map +1 -0
  239. package/dist/utils/atomicFile.js +1 -1
  240. package/dist/utils/atomicFile.js.map +1 -1
  241. package/dist/utils/errorMapping.d.ts.map +1 -1
  242. package/dist/utils/errorMapping.js +4 -1
  243. package/dist/utils/errorMapping.js.map +1 -1
  244. package/dist/utils/exitCodes.d.ts +17 -16
  245. package/dist/utils/exitCodes.d.ts.map +1 -1
  246. package/dist/utils/exitCodes.js +86 -16
  247. package/dist/utils/exitCodes.js.map +1 -1
  248. package/dist/utils/suggestions.d.ts +19 -0
  249. package/dist/utils/suggestions.d.ts.map +1 -0
  250. package/dist/utils/suggestions.js +34 -0
  251. package/dist/utils/suggestions.js.map +1 -0
  252. package/dist/utils/taskMappings.d.ts.map +1 -1
  253. package/dist/utils/taskMappings.js +35 -0
  254. package/dist/utils/taskMappings.js.map +1 -1
  255. package/dist/utils/typeGuards.d.ts +11 -4
  256. package/dist/utils/typeGuards.d.ts.map +1 -1
  257. package/dist/utils/typeGuards.js +1 -17
  258. package/dist/utils/typeGuards.js.map +1 -1
  259. package/package.json +4 -4
@@ -32,37 +32,107 @@
32
32
  * **These values are stable API** - use confidently in automation scripts.
33
33
  */
34
34
  export const EXIT_CODES = {
35
- /** Command completed successfully */
36
35
  SUCCESS: 0,
37
- /** Generic failure (use specific codes when possible) */
38
36
  GENERIC_FAILURE: 1,
39
- /** Invalid URL format or unreachable URL */
40
37
  INVALID_URL: 80,
41
- /** Invalid command-line arguments or options */
42
38
  INVALID_ARGUMENTS: 81,
43
- /** Insufficient permissions for operation */
44
39
  PERMISSION_DENIED: 82,
45
- /** Requested resource not found (session, file, etc.) */
46
40
  RESOURCE_NOT_FOUND: 83,
47
- /** Resource already exists (duplicate session, etc.) */
48
41
  RESOURCE_ALREADY_EXISTS: 84,
49
- /** Resource is locked or busy */
50
42
  RESOURCE_BUSY: 85,
51
- /** Daemon already running when trying to start */
52
43
  DAEMON_ALREADY_RUNNING: 86,
53
- /** Chrome browser failed to launch */
44
+ STALE_CACHE: 87,
54
45
  CHROME_LAUNCH_FAILURE: 100,
55
- /** CDP connection failed */
56
46
  CDP_CONNECTION_FAILURE: 101,
57
- /** CDP operation timed out */
58
47
  CDP_TIMEOUT: 102,
59
- /** Session file read/write error */
60
48
  SESSION_FILE_ERROR: 103,
61
- /** Unhandled exception in code */
62
49
  UNHANDLED_EXCEPTION: 104,
63
- /** Signal handler error */
64
50
  SIGNAL_HANDLER_ERROR: 105,
65
- /** Generic software error (use specific codes when possible) */
66
51
  SOFTWARE_ERROR: 110,
67
52
  };
53
+ /**
54
+ * Exit code registry - provides documentation for all exit codes.
55
+ *
56
+ * This registry is derived from EXIT_CODES to ensure consistency.
57
+ * Used by help --json for machine-readable documentation.
58
+ */
59
+ export const EXIT_CODE_REGISTRY = [
60
+ { code: EXIT_CODES.SUCCESS, name: 'SUCCESS', description: 'Operation completed successfully' },
61
+ {
62
+ code: EXIT_CODES.GENERIC_FAILURE,
63
+ name: 'GENERIC_FAILURE',
64
+ description: 'Generic failure (use specific codes when possible)',
65
+ },
66
+ {
67
+ code: EXIT_CODES.INVALID_URL,
68
+ name: 'INVALID_URL',
69
+ description: 'Invalid URL format or unreachable URL',
70
+ },
71
+ {
72
+ code: EXIT_CODES.INVALID_ARGUMENTS,
73
+ name: 'INVALID_ARGUMENTS',
74
+ description: 'Invalid command-line arguments or options',
75
+ },
76
+ {
77
+ code: EXIT_CODES.PERMISSION_DENIED,
78
+ name: 'PERMISSION_DENIED',
79
+ description: 'Insufficient permissions for operation',
80
+ },
81
+ {
82
+ code: EXIT_CODES.RESOURCE_NOT_FOUND,
83
+ name: 'RESOURCE_NOT_FOUND',
84
+ description: 'Requested resource not found (session, file, etc.)',
85
+ },
86
+ {
87
+ code: EXIT_CODES.RESOURCE_ALREADY_EXISTS,
88
+ name: 'RESOURCE_ALREADY_EXISTS',
89
+ description: 'Resource already exists (duplicate session, etc.)',
90
+ },
91
+ {
92
+ code: EXIT_CODES.RESOURCE_BUSY,
93
+ name: 'RESOURCE_BUSY',
94
+ description: 'Resource is locked or busy',
95
+ },
96
+ {
97
+ code: EXIT_CODES.DAEMON_ALREADY_RUNNING,
98
+ name: 'DAEMON_ALREADY_RUNNING',
99
+ description: 'Daemon is already running',
100
+ },
101
+ {
102
+ code: EXIT_CODES.STALE_CACHE,
103
+ name: 'STALE_CACHE',
104
+ description: 'Cache invalidated by navigation or DOM changes',
105
+ },
106
+ {
107
+ code: EXIT_CODES.CHROME_LAUNCH_FAILURE,
108
+ name: 'CHROME_LAUNCH_FAILURE',
109
+ description: 'Chrome browser failed to launch',
110
+ },
111
+ {
112
+ code: EXIT_CODES.CDP_CONNECTION_FAILURE,
113
+ name: 'CDP_CONNECTION_FAILURE',
114
+ description: 'Failed to connect to Chrome DevTools Protocol',
115
+ },
116
+ { code: EXIT_CODES.CDP_TIMEOUT, name: 'CDP_TIMEOUT', description: 'CDP operation timed out' },
117
+ {
118
+ code: EXIT_CODES.SESSION_FILE_ERROR,
119
+ name: 'SESSION_FILE_ERROR',
120
+ description: 'Session file read/write error',
121
+ },
122
+ {
123
+ code: EXIT_CODES.UNHANDLED_EXCEPTION,
124
+ name: 'UNHANDLED_EXCEPTION',
125
+ description: 'Unhandled exception in code',
126
+ },
127
+ {
128
+ code: EXIT_CODES.SIGNAL_HANDLER_ERROR,
129
+ name: 'SIGNAL_HANDLER_ERROR',
130
+ description: 'Signal handler error',
131
+ },
132
+ {
133
+ code: EXIT_CODES.SOFTWARE_ERROR,
134
+ name: 'SOFTWARE_ERROR',
135
+ description: 'Generic software error (use specific codes when possible)',
136
+ },
137
+ ];
68
138
  //# sourceMappingURL=exitCodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../src/utils/exitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,qCAAqC;IACrC,OAAO,EAAE,CAAC;IAEV,yDAAyD;IACzD,eAAe,EAAE,CAAC;IAElB,4CAA4C;IAC5C,WAAW,EAAE,EAAE;IAEf,gDAAgD;IAChD,iBAAiB,EAAE,EAAE;IAErB,6CAA6C;IAC7C,iBAAiB,EAAE,EAAE;IAErB,yDAAyD;IACzD,kBAAkB,EAAE,EAAE;IAEtB,wDAAwD;IACxD,uBAAuB,EAAE,EAAE;IAE3B,iCAAiC;IACjC,aAAa,EAAE,EAAE;IAEjB,kDAAkD;IAClD,sBAAsB,EAAE,EAAE;IAE1B,sCAAsC;IACtC,qBAAqB,EAAE,GAAG;IAE1B,4BAA4B;IAC5B,sBAAsB,EAAE,GAAG;IAE3B,8BAA8B;IAC9B,WAAW,EAAE,GAAG;IAEhB,oCAAoC;IACpC,kBAAkB,EAAE,GAAG;IAEvB,kCAAkC;IAClC,mBAAmB,EAAE,GAAG;IAExB,2BAA2B;IAC3B,oBAAoB,EAAE,GAAG;IAEzB,gEAAgE;IAChE,cAAc,EAAE,GAAG;CACX,CAAC"}
1
+ {"version":3,"file":"exitCodes.js","sourceRoot":"","sources":["../../src/utils/exitCodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Suggestion utilities for typo detection and helpful error messages.
3
+ */
4
+ interface SimilarityOptions {
5
+ maxDistance?: number;
6
+ maxSuggestions?: number;
7
+ caseInsensitive?: boolean;
8
+ }
9
+ export declare function findSimilar(input: string, candidates: readonly string[], options?: SimilarityOptions): string[];
10
+ export declare function formatSuggestions(suggestions: readonly string[], options?: {
11
+ prefix?: string;
12
+ suffix?: string;
13
+ }): string;
14
+ export declare function getSuggestion(input: string, candidates: readonly string[], options?: SimilarityOptions & {
15
+ prefix?: string;
16
+ suffix?: string;
17
+ }): string;
18
+ export {};
19
+ //# sourceMappingURL=suggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.d.ts","sourceRoot":"","sources":["../../src/utils/suggestions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,UAAU,iBAAiB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAgCD,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,MAAM,EAAE,CAIV;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,MAAM,CAIR;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,GAAE,iBAAiB,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,MAAM,CAER"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Suggestion utilities for typo detection and helpful error messages.
3
+ */
4
+ import { levenshteinDistance } from '../utils/levenshtein.js';
5
+ function normalizeForComparison(str, caseInsensitive) {
6
+ return caseInsensitive ? str.toLowerCase() : str;
7
+ }
8
+ function findMatches(input, candidates, maxDistance, caseInsensitive) {
9
+ const normalizedInput = normalizeForComparison(input, caseInsensitive);
10
+ const matches = [];
11
+ for (const candidate of candidates) {
12
+ const normalizedCandidate = normalizeForComparison(candidate, caseInsensitive);
13
+ const distance = levenshteinDistance(normalizedInput, normalizedCandidate);
14
+ if (distance > 0 && distance <= maxDistance) {
15
+ matches.push({ value: candidate, distance });
16
+ }
17
+ }
18
+ return matches.sort((a, b) => a.distance - b.distance);
19
+ }
20
+ export function findSimilar(input, candidates, options = {}) {
21
+ const { maxDistance = 3, maxSuggestions = 3, caseInsensitive = true } = options;
22
+ const matches = findMatches(input, candidates, maxDistance, caseInsensitive);
23
+ return matches.slice(0, maxSuggestions).map((m) => m.value);
24
+ }
25
+ export function formatSuggestions(suggestions, options = {}) {
26
+ if (suggestions.length === 0)
27
+ return '';
28
+ const { prefix = 'Did you mean: ', suffix = '?' } = options;
29
+ return `${prefix}${suggestions.join(', ')}${suffix}`;
30
+ }
31
+ export function getSuggestion(input, candidates, options = {}) {
32
+ return formatSuggestions(findSimilar(input, candidates, options), options);
33
+ }
34
+ //# sourceMappingURL=suggestions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestions.js","sourceRoot":"","sources":["../../src/utils/suggestions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAa7D,SAAS,sBAAsB,CAAC,GAAW,EAAE,eAAwB;IACnE,OAAO,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAClB,KAAa,EACb,UAA6B,EAC7B,WAAmB,EACnB,eAAwB;IAExB,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACvE,MAAM,OAAO,GAAsB,EAAE,CAAC;IAEtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAE3E,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,IAAI,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,UAA6B,EAC7B,UAA6B,EAAE;IAE/B,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAChF,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAC7E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAA8B,EAC9B,UAAgD,EAAE;IAElD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAC5D,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,UAA6B,EAC7B,UAAoE,EAAE;IAEtE,OAAO,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"taskMappings.d.ts","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAmHrD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE"}
1
+ {"version":3,"file":"taskMappings.d.ts","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6JrD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE"}
@@ -105,6 +105,41 @@ export const TASK_MAPPINGS = {
105
105
  description: 'Check current session and daemon status',
106
106
  cdpAlternative: 'IPC ping + process checks',
107
107
  },
108
+ cleanup_session: {
109
+ commands: ['cleanup'],
110
+ description: 'Clean up stale session files and processes',
111
+ cdpAlternative: 'Manual process termination + file cleanup',
112
+ },
113
+ stop_session: {
114
+ commands: ['stop'],
115
+ description: 'Stop session and write collected telemetry',
116
+ cdpAlternative: 'Target.closeTarget + file write',
117
+ },
118
+ submit_form: {
119
+ commands: ['dom submit'],
120
+ description: 'Submit form by clicking submit button and waiting for completion',
121
+ cdpAlternative: 'Runtime.evaluate with form.submit() or button.click()',
122
+ },
123
+ navigate_to_url: {
124
+ commands: ['bdg <url>'],
125
+ description: 'Start session and navigate to URL',
126
+ cdpAlternative: 'Page.navigate',
127
+ },
128
+ filter_network_requests: {
129
+ commands: ['network list --filter', 'network list --preset'],
130
+ description: 'Filter network requests by type, status, or preset',
131
+ cdpAlternative: 'Network domain events with client-side filtering',
132
+ },
133
+ get_network_details: {
134
+ commands: ['details network <id>'],
135
+ description: 'Get full request/response details including body',
136
+ cdpAlternative: 'Network.getResponseBody',
137
+ },
138
+ get_document_headers: {
139
+ commands: ['network document'],
140
+ description: 'Show main HTML document request headers (shortcut for document request)',
141
+ cdpAlternative: 'Network.requestWillBeSent + Network.responseReceived for Document type',
142
+ },
108
143
  };
109
144
  /**
110
145
  * Get all task mappings.
@@ -1 +1 @@
1
- {"version":3,"file":"taskMappings.js","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taskMappings.js","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"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"}
@@ -47,16 +47,23 @@ export declare function isConsoleMessage(value: unknown): value is ConsoleMessag
47
47
  * Replaces unsafe `as unknown as` assertions with runtime validation.
48
48
  * Throws CommandError if validation fails.
49
49
  *
50
+ * Uses function overloads to return the correct type based on the `type` parameter,
51
+ * enabling proper type narrowing in discriminated unions.
52
+ *
50
53
  * @param item - Unknown item from IPC response
51
54
  * @param type - Expected type ('network' or 'console')
52
- * @returns Validated NetworkRequest or ConsoleMessage
55
+ * @returns Validated NetworkRequest or ConsoleMessage based on type parameter
53
56
  * @throws CommandError if item fails validation
54
57
  *
55
58
  * @example
56
59
  * ```typescript
57
- * const validatedItem = validateDetailsItem(response.data.item, 'network');
58
- * // validatedItem is now typed as NetworkRequest | ConsoleMessage
60
+ * const networkItem = validateDetailsItem(response.data.item, 'network');
61
+ * // networkItem is typed as NetworkRequest
62
+ *
63
+ * const consoleItem = validateDetailsItem(response.data.item, 'console');
64
+ * // consoleItem is typed as ConsoleMessage
59
65
  * ```
60
66
  */
61
- export declare function validateDetailsItem(item: unknown, type: 'network' | 'console'): NetworkRequest | ConsoleMessage;
67
+ export declare function validateDetailsItem(item: unknown, type: 'network'): NetworkRequest;
68
+ export declare function validateDetailsItem(item: unknown, type: 'console'): ConsoleMessage;
62
69
  //# sourceMappingURL=typeGuards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../src/utils/typeGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAaxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAYxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,SAAS,GAAG,SAAS,GAC1B,cAAc,GAAG,cAAc,CA4BjC"}
1
+ {"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../src/utils/typeGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAaxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAYxE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC;AAEpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC"}
@@ -59,23 +59,7 @@ export function isConsoleMessage(value) {
59
59
  typeof record['text'] === 'string' &&
60
60
  typeof record['timestamp'] === 'number');
61
61
  }
62
- /**
63
- * Validate and return a details item with proper type safety.
64
- *
65
- * Replaces unsafe `as unknown as` assertions with runtime validation.
66
- * Throws CommandError if validation fails.
67
- *
68
- * @param item - Unknown item from IPC response
69
- * @param type - Expected type ('network' or 'console')
70
- * @returns Validated NetworkRequest or ConsoleMessage
71
- * @throws CommandError if item fails validation
72
- *
73
- * @example
74
- * ```typescript
75
- * const validatedItem = validateDetailsItem(response.data.item, 'network');
76
- * // validatedItem is now typed as NetworkRequest | ConsoleMessage
77
- * ```
78
- */
62
+ // eslint-disable-next-line no-redeclare
79
63
  export function validateDetailsItem(item, type) {
80
64
  if (!item || typeof item !== 'object') {
81
65
  throw new CommandError('Invalid item data: expected an object', { suggestion: 'This may indicate corrupted data from the daemon' }, EXIT_CODES.SESSION_FILE_ERROR);
@@ -1 +1 @@
1
- {"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../src/utils/typeGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,OAAO,CACL,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ;QACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,OAAO,CACL,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,IAA2B;IAE3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,YAAY,CACpB,uCAAuC,EACvC,EAAE,UAAU,EAAE,kDAAkD,EAAE,EAClE,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,YAAY,CACpB,2FAA2F,EAC3F,EAAE,UAAU,EAAE,iDAAiD,EAAE,EACjE,UAAU,CAAC,kBAAkB,CAC9B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CACpB,+EAA+E,EAC/E,EAAE,UAAU,EAAE,yDAAyD,EAAE,EACzE,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../src/utils/typeGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,OAAO,CACL,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ;QACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,KAAgC,CAAC;IAEhD,OAAO,CACL,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAClC,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AA4BD,wCAAwC;AACxC,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,IAA2B;IAE3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,YAAY,CACpB,uCAAuC,EACvC,EAAE,UAAU,EAAE,kDAAkD,EAAE,EAClE,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,YAAY,CACpB,2FAA2F,EAC3F,EAAE,UAAU,EAAE,iDAAiD,EAAE,EACjE,UAAU,CAAC,kBAAkB,CAC9B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CACpB,+EAA+E,EAC/E,EAAE,UAAU,EAAE,yDAAyD,EAAE,EACzE,UAAU,CAAC,kBAAkB,CAC9B,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browser-debugger-cli",
3
- "version": "0.6.9",
3
+ "version": "0.6.11",
4
4
  "description": "DevTools telemetry in your terminal. For humans and agents. Direct WebSocket to Chrome's debugging port.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -46,12 +46,12 @@
46
46
  "dependencies": {
47
47
  "chrome-launcher": "^1.2.1",
48
48
  "commander": "^14.0.2",
49
- "devtools-protocol": "^0.0.1543509",
49
+ "devtools-protocol": "^0.0.1548823",
50
50
  "ws": "^8.18.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@eslint/js": "^9.39.0",
54
- "@types/node": "^22.19.0",
54
+ "@types/node": "^24.10.1",
55
55
  "@types/ws": "^8.5.10",
56
56
  "@typescript-eslint/eslint-plugin": "^8.46.2",
57
57
  "@typescript-eslint/parser": "^8.46.2",
@@ -62,7 +62,7 @@
62
62
  "eslint-import-resolver-typescript": "^4.4.4",
63
63
  "eslint-plugin-import": "^2.32.0",
64
64
  "eslint-plugin-no-relative-import-paths": "^1.6.1",
65
- "eslint-plugin-tsdoc": "^0.4.0",
65
+ "eslint-plugin-tsdoc": "^0.5.0",
66
66
  "eslint-plugin-unused-imports": "^4.3.0",
67
67
  "globals": "^16.5.0",
68
68
  "husky": "^9.1.7",