browser-debugger-cli 0.6.2 → 0.6.5

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 (328) hide show
  1. package/README.md +9 -3
  2. package/dist/cdp/protocol.d.ts.map +1 -1
  3. package/dist/cdp/protocol.js +0 -6
  4. package/dist/cdp/protocol.js.map +1 -1
  5. package/dist/cdp/schema.d.ts.map +1 -1
  6. package/dist/cdp/schema.js +0 -2
  7. package/dist/cdp/schema.js.map +1 -1
  8. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts +12 -0
  9. package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +1 -0
  10. package/dist/commands/__tests__/machineReadableHelp.contract.test.js +102 -0
  11. package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -0
  12. package/dist/commands/cdp.d.ts.map +1 -1
  13. package/dist/commands/cdp.js +9 -24
  14. package/dist/commands/cdp.js.map +1 -1
  15. package/dist/commands/cleanup.d.ts.map +1 -1
  16. package/dist/commands/cleanup.js +0 -13
  17. package/dist/commands/cleanup.js.map +1 -1
  18. package/dist/commands/console.d.ts.map +1 -1
  19. package/dist/commands/console.js +22 -7
  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 +0 -5
  23. package/dist/commands/details.js.map +1 -1
  24. package/dist/commands/dom/a11y.d.ts.map +1 -1
  25. package/dist/commands/dom/a11y.js +51 -15
  26. package/dist/commands/dom/a11y.js.map +1 -1
  27. package/dist/commands/dom/evalHelpers.d.ts +1 -1
  28. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  29. package/dist/commands/dom/evalHelpers.js +3 -7
  30. package/dist/commands/dom/evalHelpers.js.map +1 -1
  31. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  32. package/dist/commands/dom/formFillHelpers.js +30 -11
  33. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  34. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  35. package/dist/commands/dom/formInteraction.js +0 -5
  36. package/dist/commands/dom/formInteraction.js.map +1 -1
  37. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
  38. package/dist/commands/dom/formSubmitHelpers.js +0 -13
  39. package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
  40. package/dist/commands/dom/helpers.d.ts.map +1 -1
  41. package/dist/commands/dom/helpers.js +0 -22
  42. package/dist/commands/dom/helpers.js.map +1 -1
  43. package/dist/commands/dom/index.d.ts.map +1 -1
  44. package/dist/commands/dom/index.js +85 -19
  45. package/dist/commands/dom/index.js.map +1 -1
  46. package/dist/commands/dom/reactEventHelpers.d.ts +3 -3
  47. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  48. package/dist/commands/dom/reactEventHelpers.js +3 -31
  49. package/dist/commands/dom/reactEventHelpers.js.map +1 -1
  50. package/dist/commands/machineReadableHelp.d.ts +48 -0
  51. package/dist/commands/machineReadableHelp.d.ts.map +1 -1
  52. package/dist/commands/machineReadableHelp.js +80 -0
  53. package/dist/commands/machineReadableHelp.js.map +1 -1
  54. package/dist/commands/network.d.ts.map +1 -1
  55. package/dist/commands/network.js +185 -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 -14
  59. package/dist/commands/peek.js.map +1 -1
  60. package/dist/commands/shared/CommandRunner.d.ts +2 -0
  61. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  62. package/dist/commands/shared/CommandRunner.js +3 -8
  63. package/dist/commands/shared/CommandRunner.js.map +1 -1
  64. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +7 -0
  65. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +1 -0
  66. package/dist/commands/shared/__tests__/validation.unit.test.js +141 -0
  67. package/dist/commands/shared/__tests__/validation.unit.test.js.map +1 -0
  68. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  69. package/dist/commands/shared/startHelpers.js +0 -10
  70. package/dist/commands/shared/startHelpers.js.map +1 -1
  71. package/dist/commands/shared/validation.d.ts +19 -0
  72. package/dist/commands/shared/validation.d.ts.map +1 -1
  73. package/dist/commands/shared/validation.js +110 -7
  74. package/dist/commands/shared/validation.js.map +1 -1
  75. package/dist/commands/start.d.ts.map +1 -1
  76. package/dist/commands/start.js +0 -6
  77. package/dist/commands/start.js.map +1 -1
  78. package/dist/commands/status.d.ts.map +1 -1
  79. package/dist/commands/status.js +0 -2
  80. package/dist/commands/status.js.map +1 -1
  81. package/dist/commands/stop.d.ts.map +1 -1
  82. package/dist/commands/stop.js +2 -11
  83. package/dist/commands/stop.js.map +1 -1
  84. package/dist/commands/tail.js +6 -7
  85. package/dist/commands/tail.js.map +1 -1
  86. package/dist/commands.d.ts.map +1 -1
  87. package/dist/commands.js +0 -5
  88. package/dist/commands.js.map +1 -1
  89. package/dist/connection/cdp.d.ts.map +1 -1
  90. package/dist/connection/cdp.js +9 -12
  91. package/dist/connection/cdp.js.map +1 -1
  92. package/dist/connection/diagnostics.d.ts.map +1 -1
  93. package/dist/connection/diagnostics.js +7 -4
  94. package/dist/connection/diagnostics.js.map +1 -1
  95. package/dist/connection/pageReadiness.d.ts.map +1 -1
  96. package/dist/connection/pageReadiness.js +0 -1
  97. package/dist/connection/pageReadiness.js.map +1 -1
  98. package/dist/constants.d.ts.map +1 -1
  99. package/dist/constants.js +3 -1
  100. package/dist/constants.js.map +1 -1
  101. package/dist/daemon/__tests__/commandRegistry.contract.test.js +259 -0
  102. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
  103. package/dist/daemon/handlers/BaseHandler.d.ts +75 -0
  104. package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -0
  105. package/dist/daemon/handlers/BaseHandler.js +103 -0
  106. package/dist/daemon/handlers/BaseHandler.js.map +1 -0
  107. package/dist/daemon/handlers/CommandHandlers.d.ts +3 -4
  108. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
  109. package/dist/daemon/handlers/CommandHandlers.js +14 -52
  110. package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
  111. package/dist/daemon/handlers/QueryHandlers.d.ts +8 -6
  112. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
  113. package/dist/daemon/handlers/QueryHandlers.js +42 -94
  114. package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
  115. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
  116. package/dist/daemon/handlers/SessionHandlers.js +0 -15
  117. package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
  118. package/dist/daemon/handlers/requestHandlers.d.ts +5 -1
  119. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -1
  120. package/dist/daemon/handlers/requestHandlers.js +7 -2
  121. package/dist/daemon/handlers/requestHandlers.js.map +1 -1
  122. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  123. package/dist/daemon/handlers/responseHandler.js +19 -8
  124. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  125. package/dist/daemon/ipcServer.d.ts.map +1 -1
  126. package/dist/daemon/ipcServer.js +4 -11
  127. package/dist/daemon/ipcServer.js.map +1 -1
  128. package/dist/daemon/launcher.d.ts.map +1 -1
  129. package/dist/daemon/launcher.js +0 -18
  130. package/dist/daemon/launcher.js.map +1 -1
  131. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -1
  132. package/dist/daemon/lifecycle/cdpSetup.js +0 -4
  133. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -1
  134. package/dist/daemon/lifecycle/chromeConnection.js +0 -1
  135. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -1
  136. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  137. package/dist/daemon/lifecycle/signalHandlers.js +0 -3
  138. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  139. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  140. package/dist/daemon/lifecycle/workerCleanup.js +0 -7
  141. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  142. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
  143. package/dist/daemon/lifecycle/workerIpc.js +0 -1
  144. package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
  145. package/dist/daemon/patternDefinitions.d.ts +47 -0
  146. package/dist/daemon/patternDefinitions.d.ts.map +1 -0
  147. package/dist/daemon/patternDefinitions.js +71 -0
  148. package/dist/daemon/patternDefinitions.js.map +1 -0
  149. package/dist/daemon/patternDetector.d.ts +60 -0
  150. package/dist/daemon/patternDetector.d.ts.map +1 -0
  151. package/dist/daemon/patternDetector.js +74 -0
  152. package/dist/daemon/patternDetector.js.map +1 -0
  153. package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
  154. package/dist/daemon/server/JsonlParser.js +0 -2
  155. package/dist/daemon/server/JsonlParser.js.map +1 -1
  156. package/dist/daemon/startSession.d.ts.map +1 -1
  157. package/dist/daemon/startSession.js +0 -15
  158. package/dist/daemon/startSession.js.map +1 -1
  159. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +11 -0
  160. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +1 -0
  161. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +136 -0
  162. package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +1 -0
  163. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  164. package/dist/daemon/worker/commandRegistry.js +46 -2
  165. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  166. package/dist/daemon/worker/plugins.d.ts.map +1 -1
  167. package/dist/daemon/worker/plugins.js +0 -3
  168. package/dist/daemon/worker/plugins.js.map +1 -1
  169. package/dist/daemon/worker.js +0 -9
  170. package/dist/daemon/worker.js.map +1 -1
  171. package/dist/daemon.js +0 -2
  172. package/dist/daemon.js.map +1 -1
  173. package/dist/index.js +0 -14
  174. package/dist/index.js.map +1 -1
  175. package/dist/ipc/client.d.ts +47 -1
  176. package/dist/ipc/client.d.ts.map +1 -1
  177. package/dist/ipc/client.js +51 -0
  178. package/dist/ipc/client.js.map +1 -1
  179. package/dist/ipc/index.d.ts.map +1 -1
  180. package/dist/ipc/index.js +0 -6
  181. package/dist/ipc/index.js.map +1 -1
  182. package/dist/ipc/protocol/commands.d.ts +46 -0
  183. package/dist/ipc/protocol/commands.d.ts.map +1 -1
  184. package/dist/ipc/protocol/commands.js +8 -0
  185. package/dist/ipc/protocol/commands.js.map +1 -1
  186. package/dist/ipc/session/queries.d.ts +26 -2
  187. package/dist/ipc/session/queries.d.ts.map +1 -1
  188. package/dist/ipc/transport/index.d.ts.map +1 -1
  189. package/dist/ipc/transport/index.js +0 -1
  190. package/dist/ipc/transport/index.js.map +1 -1
  191. package/dist/ipc/transport/jsonl.d.ts.map +1 -1
  192. package/dist/ipc/transport/jsonl.js +0 -1
  193. package/dist/ipc/transport/jsonl.js.map +1 -1
  194. package/dist/session/cleanup.d.ts.map +1 -1
  195. package/dist/session/cleanup.js +2 -20
  196. package/dist/session/cleanup.js.map +1 -1
  197. package/dist/session/queryCache.d.ts +35 -0
  198. package/dist/session/queryCache.d.ts.map +1 -0
  199. package/dist/session/queryCache.js +83 -0
  200. package/dist/session/queryCache.js.map +1 -0
  201. package/dist/telemetry/__tests__/filters.unit.test.js +119 -1
  202. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -1
  203. package/dist/telemetry/__tests__/network.contract.test.js +114 -0
  204. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  205. package/dist/telemetry/a11y.d.ts +8 -5
  206. package/dist/telemetry/a11y.d.ts.map +1 -1
  207. package/dist/telemetry/a11y.js +34 -19
  208. package/dist/telemetry/a11y.js.map +1 -1
  209. package/dist/telemetry/dom.js +4 -4
  210. package/dist/telemetry/dom.js.map +1 -1
  211. package/dist/telemetry/filters.d.ts +17 -0
  212. package/dist/telemetry/filters.d.ts.map +1 -1
  213. package/dist/telemetry/filters.js +25 -0
  214. package/dist/telemetry/filters.js.map +1 -1
  215. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +8 -0
  216. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +1 -0
  217. package/dist/telemetry/har/__tests__/builder.unit.test.js +694 -0
  218. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +1 -0
  219. package/dist/telemetry/har/builder.d.ts +43 -0
  220. package/dist/telemetry/har/builder.d.ts.map +1 -0
  221. package/dist/telemetry/har/builder.js +440 -0
  222. package/dist/telemetry/har/builder.js.map +1 -0
  223. package/dist/telemetry/har/types.d.ts +290 -0
  224. package/dist/telemetry/har/types.d.ts.map +1 -0
  225. package/dist/telemetry/har/types.js +7 -0
  226. package/dist/telemetry/har/types.js.map +1 -0
  227. package/dist/telemetry/network.d.ts.map +1 -1
  228. package/dist/telemetry/network.js +37 -4
  229. package/dist/telemetry/network.js.map +1 -1
  230. package/dist/types.d.ts +31 -0
  231. package/dist/types.d.ts.map +1 -1
  232. package/dist/ui/OutputBuilder.d.ts.map +1 -1
  233. package/dist/ui/OutputBuilder.js +0 -8
  234. package/dist/ui/OutputBuilder.js.map +1 -1
  235. package/dist/ui/errors/CommandError.d.ts +5 -1
  236. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  237. package/dist/ui/errors/CommandError.js +0 -1
  238. package/dist/ui/errors/CommandError.js.map +1 -1
  239. package/dist/ui/errors/index.d.ts.map +1 -1
  240. package/dist/ui/errors/index.js +0 -2
  241. package/dist/ui/errors/index.js.map +1 -1
  242. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +13 -0
  243. package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +1 -0
  244. package/dist/ui/formatters/__tests__/preview.unit.test.js +180 -0
  245. package/dist/ui/formatters/__tests__/preview.unit.test.js.map +1 -0
  246. package/dist/ui/formatters/details.d.ts.map +1 -1
  247. package/dist/ui/formatters/details.js +1 -0
  248. package/dist/ui/formatters/details.js.map +1 -1
  249. package/dist/ui/formatters/dom.d.ts.map +1 -1
  250. package/dist/ui/formatters/dom.js +5 -5
  251. package/dist/ui/formatters/dom.js.map +1 -1
  252. package/dist/ui/formatters/helpFormatters.d.ts +41 -0
  253. package/dist/ui/formatters/helpFormatters.d.ts.map +1 -0
  254. package/dist/ui/formatters/helpFormatters.js +80 -0
  255. package/dist/ui/formatters/helpFormatters.js.map +1 -0
  256. package/dist/ui/formatters/index.d.ts +1 -0
  257. package/dist/ui/formatters/index.d.ts.map +1 -1
  258. package/dist/ui/formatters/index.js +1 -0
  259. package/dist/ui/formatters/index.js.map +1 -1
  260. package/dist/ui/formatters/networkHeaders.d.ts +14 -0
  261. package/dist/ui/formatters/networkHeaders.d.ts.map +1 -0
  262. package/dist/ui/formatters/networkHeaders.js +47 -0
  263. package/dist/ui/formatters/networkHeaders.js.map +1 -0
  264. package/dist/ui/formatters/preview.d.ts.map +1 -1
  265. package/dist/ui/formatters/preview.js +102 -33
  266. package/dist/ui/formatters/preview.js.map +1 -1
  267. package/dist/ui/formatters/sessionFormatters.d.ts +58 -0
  268. package/dist/ui/formatters/sessionFormatters.d.ts.map +1 -0
  269. package/dist/ui/formatters/sessionFormatters.js +116 -0
  270. package/dist/ui/formatters/sessionFormatters.js.map +1 -0
  271. package/dist/ui/formatters/status.d.ts.map +1 -1
  272. package/dist/ui/formatters/status.js +0 -11
  273. package/dist/ui/formatters/status.js.map +1 -1
  274. package/dist/ui/formatting.d.ts.map +1 -1
  275. package/dist/ui/formatting.js +0 -6
  276. package/dist/ui/formatting.js.map +1 -1
  277. package/dist/ui/logging/logger.d.ts +1 -1
  278. package/dist/ui/logging/logger.d.ts.map +1 -1
  279. package/dist/ui/logging/logger.js.map +1 -1
  280. package/dist/ui/messages/chrome.d.ts.map +1 -1
  281. package/dist/ui/messages/chrome.js +0 -6
  282. package/dist/ui/messages/chrome.js.map +1 -1
  283. package/dist/ui/messages/commands.d.ts +9 -0
  284. package/dist/ui/messages/commands.d.ts.map +1 -1
  285. package/dist/ui/messages/commands.js +11 -13
  286. package/dist/ui/messages/commands.js.map +1 -1
  287. package/dist/ui/messages/debug.d.ts.map +1 -1
  288. package/dist/ui/messages/debug.js +0 -6
  289. package/dist/ui/messages/debug.js.map +1 -1
  290. package/dist/ui/messages/errors.d.ts +53 -0
  291. package/dist/ui/messages/errors.d.ts.map +1 -1
  292. package/dist/ui/messages/errors.js +59 -0
  293. package/dist/ui/messages/errors.js.map +1 -1
  294. package/dist/ui/messages/hints.d.ts +33 -0
  295. package/dist/ui/messages/hints.d.ts.map +1 -0
  296. package/dist/ui/messages/hints.js +37 -0
  297. package/dist/ui/messages/hints.js.map +1 -0
  298. package/dist/ui/messages/internal.d.ts.map +1 -1
  299. package/dist/ui/messages/internal.js +0 -3
  300. package/dist/ui/messages/internal.js.map +1 -1
  301. package/dist/ui/messages/preview.d.ts.map +1 -1
  302. package/dist/ui/messages/preview.js +0 -12
  303. package/dist/ui/messages/preview.js.map +1 -1
  304. package/dist/ui/messages/session.d.ts +11 -1
  305. package/dist/ui/messages/session.d.ts.map +1 -1
  306. package/dist/ui/messages/session.js +14 -24
  307. package/dist/ui/messages/session.js.map +1 -1
  308. package/dist/utils/atomicFile.d.ts.map +1 -1
  309. package/dist/utils/atomicFile.js +9 -6
  310. package/dist/utils/atomicFile.js.map +1 -1
  311. package/dist/utils/decisionTrees.d.ts +54 -0
  312. package/dist/utils/decisionTrees.d.ts.map +1 -0
  313. package/dist/utils/decisionTrees.js +171 -0
  314. package/dist/utils/decisionTrees.js.map +1 -0
  315. package/dist/utils/exitCodes.d.ts.map +1 -1
  316. package/dist/utils/exitCodes.js +0 -2
  317. package/dist/utils/exitCodes.js.map +1 -1
  318. package/dist/utils/taskMappings.d.ts +47 -0
  319. package/dist/utils/taskMappings.d.ts.map +1 -0
  320. package/dist/utils/taskMappings.js +118 -0
  321. package/dist/utils/taskMappings.js.map +1 -0
  322. package/dist/utils/validation.d.ts.map +1 -1
  323. package/dist/utils/validation.js +0 -3
  324. package/dist/utils/validation.js.map +1 -1
  325. package/dist/utils/version.d.ts.map +1 -1
  326. package/dist/utils/version.js +0 -1
  327. package/dist/utils/version.js.map +1 -1
  328. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Validation unit tests
3
+ *
4
+ * Tests validation rules following the testing philosophy: "Test the contract, not the implementation"
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=validation.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.unit.test.d.ts","sourceRoot":"","sources":["../../../../src/commands/shared/__tests__/validation.unit.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Validation unit tests
3
+ *
4
+ * Tests validation rules following the testing philosophy: "Test the contract, not the implementation"
5
+ */
6
+ import * as assert from 'node:assert/strict';
7
+ import { describe, it } from 'node:test';
8
+ import { resourceTypeRule } from '../../../commands/shared/validation.js';
9
+ import { CommandError } from '../../../ui/errors/index.js';
10
+ import { EXIT_CODES } from '../../../utils/exitCodes.js';
11
+ void describe('validation - resourceTypeRule', () => {
12
+ void it('should return empty array for undefined input', () => {
13
+ const rule = resourceTypeRule();
14
+ const result = rule.validate(undefined);
15
+ assert.deepEqual(result, []);
16
+ });
17
+ void it('should return empty array for null input', () => {
18
+ const rule = resourceTypeRule();
19
+ const result = rule.validate(null);
20
+ assert.deepEqual(result, []);
21
+ });
22
+ void it('should return empty array for empty string', () => {
23
+ const rule = resourceTypeRule();
24
+ const result = rule.validate('');
25
+ assert.deepEqual(result, []);
26
+ });
27
+ void it('should parse single resource type', () => {
28
+ const rule = resourceTypeRule();
29
+ const result = rule.validate('Document');
30
+ assert.deepEqual(result, ['Document']);
31
+ });
32
+ void it('should parse multiple comma-separated types', () => {
33
+ const rule = resourceTypeRule();
34
+ const result = rule.validate('Document,XHR,Fetch');
35
+ assert.deepEqual(result, ['Document', 'XHR', 'Fetch']);
36
+ });
37
+ void it('should normalize case (case-insensitive)', () => {
38
+ const rule = resourceTypeRule();
39
+ assert.deepEqual(rule.validate('document'), ['Document']);
40
+ assert.deepEqual(rule.validate('xhr'), ['XHR']);
41
+ assert.deepEqual(rule.validate('FETCH'), ['Fetch']);
42
+ assert.deepEqual(rule.validate('DoCuMeNt'), ['Document']);
43
+ });
44
+ void it('should trim whitespace around types', () => {
45
+ const rule = resourceTypeRule();
46
+ const result = rule.validate(' Document , XHR , Fetch ');
47
+ assert.deepEqual(result, ['Document', 'XHR', 'Fetch']);
48
+ });
49
+ void it('should handle mixed case in comma-separated list', () => {
50
+ const rule = resourceTypeRule();
51
+ const result = rule.validate('document,XHR,fetch');
52
+ assert.deepEqual(result, ['Document', 'XHR', 'Fetch']);
53
+ });
54
+ void it('should validate all 19 CDP ResourceType values', () => {
55
+ const validTypes = [
56
+ 'Document',
57
+ 'Stylesheet',
58
+ 'Image',
59
+ 'Media',
60
+ 'Font',
61
+ 'Script',
62
+ 'TextTrack',
63
+ 'XHR',
64
+ 'Fetch',
65
+ 'Prefetch',
66
+ 'EventSource',
67
+ 'WebSocket',
68
+ 'Manifest',
69
+ 'SignedExchange',
70
+ 'Ping',
71
+ 'CSPViolationReport',
72
+ 'Preflight',
73
+ 'FedCM',
74
+ 'Other',
75
+ ];
76
+ const rule = resourceTypeRule();
77
+ validTypes.forEach((type) => {
78
+ const result = rule.validate(type);
79
+ assert.deepEqual(result, [type]);
80
+ });
81
+ });
82
+ void it('should throw CommandError for invalid type', () => {
83
+ const rule = resourceTypeRule();
84
+ assert.throws(() => rule.validate('InvalidType'), (error) => {
85
+ assert.ok(error instanceof CommandError);
86
+ assert.ok(error.message.includes('Invalid resource type'));
87
+ assert.ok(error.message.includes('InvalidType'));
88
+ assert.equal(error.exitCode, EXIT_CODES.INVALID_ARGUMENTS);
89
+ return true;
90
+ });
91
+ });
92
+ void it('should throw CommandError for multiple invalid types', () => {
93
+ const rule = resourceTypeRule();
94
+ assert.throws(() => rule.validate('Document,BadType1,XHR,BadType2'), (error) => {
95
+ assert.ok(error instanceof CommandError);
96
+ assert.ok(error.message.includes('Invalid resource type'));
97
+ assert.ok(error.message.includes('BadType1'));
98
+ assert.ok(error.message.includes('BadType2'));
99
+ return true;
100
+ });
101
+ });
102
+ void it('should provide suggestion with valid types in error', () => {
103
+ const rule = resourceTypeRule();
104
+ assert.throws(() => rule.validate('InvalidType'), (error) => {
105
+ assert.ok(error instanceof CommandError);
106
+ const errorObj = error;
107
+ assert.ok(errorObj.metadata?.suggestion);
108
+ assert.ok(errorObj.metadata.suggestion.includes('Document'));
109
+ assert.ok(errorObj.metadata.suggestion.includes('XHR'));
110
+ assert.ok(errorObj.metadata.suggestion.includes('Fetch'));
111
+ return true;
112
+ });
113
+ });
114
+ void it('should throw CommandError for non-string input', () => {
115
+ const rule = resourceTypeRule();
116
+ assert.throws(() => rule.validate(123), (error) => {
117
+ assert.ok(error instanceof CommandError);
118
+ assert.ok(error.message.includes('must be a string'));
119
+ return true;
120
+ });
121
+ assert.throws(() => rule.validate({ type: 'Document' }), (error) => {
122
+ assert.ok(error instanceof CommandError);
123
+ return true;
124
+ });
125
+ });
126
+ void it('should ignore empty values in comma-separated list', () => {
127
+ const rule = resourceTypeRule();
128
+ const result = rule.validate('Document,,XHR,,,Fetch,');
129
+ assert.deepEqual(result, ['Document', 'XHR', 'Fetch']);
130
+ });
131
+ void it('should deduplicate types', () => {
132
+ const rule = resourceTypeRule();
133
+ const result = rule.validate('Document,XHR,Document,Fetch,XHR');
134
+ // Note: Current implementation doesn't deduplicate, but this test documents the behavior
135
+ // If deduplication is desired, update the implementation and this test will pass
136
+ assert.ok(result.includes('Document'));
137
+ assert.ok(result.includes('XHR'));
138
+ assert.ok(result.includes('Fetch'));
139
+ });
140
+ });
141
+ //# sourceMappingURL=validation.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.unit.test.js","sourceRoot":"","sources":["../../../../src/commands/shared/__tests__/validation.unit.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,KAAK,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAClD,KAAK,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAC5D,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACzD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEnD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAClD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QAE/D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEnD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC7D,MAAM,UAAU,GAAoC;YAClD,UAAU;YACV,YAAY;YACZ,OAAO;YACP,OAAO;YACP,MAAM;YACN,QAAQ;YACR,WAAW;YACX,KAAK;YACL,OAAO;YACP,UAAU;YACV,aAAa;YACb,WAAW;YACX,UAAU;YACV,gBAAgB;YAChB,MAAM;YACN,oBAAoB;YACpB,WAAW;YACX,OAAO;YACP,OAAO;SACR,CAAC;QAEF,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACzD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAClC,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EACrD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAClC,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC7D,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAEhC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EACxB,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EACzC,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,CAAC,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QACjE,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAEvD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAEhE,yFAAyF;QACzF,iFAAiF;QACjF,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"startHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/startHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAahD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,EACD,SAAS,EAAE,aAAa,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Df"}
1
+ {"version":3,"file":"startHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/startHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAahD;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,EACD,SAAS,EAAE,aAAa,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAqDf"}
@@ -29,7 +29,6 @@ const log = createLogger('bdg');
29
29
  export async function startSessionViaDaemon(url, options, telemetry) {
30
30
  try {
31
31
  log.debug('Connecting to daemon...');
32
- // Send start_session_request to daemon
33
32
  const response = await sendStartSessionRequest(url, filterDefined({
34
33
  port: options.port,
35
34
  timeout: options.timeout,
@@ -40,9 +39,7 @@ export async function startSessionViaDaemon(url, options, telemetry) {
40
39
  headless: options.headless,
41
40
  chromeWsUrl: options.chromeWsUrl,
42
41
  }));
43
- // Check for errors
44
42
  if (response.status === 'error') {
45
- // Special handling for SESSION_ALREADY_RUNNING with helpful context
46
43
  if (response.errorCode === IPCErrorCode.SESSION_ALREADY_RUNNING && response.existingSession) {
47
44
  const { pid, targetUrl, duration } = response.existingSession;
48
45
  const durationMs = duration ? duration * 1000 : 0;
@@ -53,27 +50,20 @@ export async function startSessionViaDaemon(url, options, telemetry) {
53
50
  }
54
51
  process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
55
52
  }
56
- // Extract metadata from response
57
53
  const { data } = response;
58
54
  if (!data) {
59
55
  console.error(invalidResponseError('missing data'));
60
56
  process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
61
57
  }
62
- // Display landing page with session information
63
58
  const landing = landingPage({
64
59
  url: data.targetUrl,
65
60
  });
66
61
  console.error(landing);
67
- // Session runs in background worker - CLI exits immediately
68
- // This allows user to run other commands in the same terminal
69
62
  process.exit(0);
70
63
  }
71
64
  catch (error) {
72
- // Handle connection errors
73
65
  const errorMessage = getErrorMessage(error);
74
66
  if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
75
- // Daemon is not reachable; use the unified helper so this matches
76
- // other commands (status, stop, etc.).
77
67
  console.error(daemonNotRunningError({ suggestStatus: true, suggestRetry: true }));
78
68
  process.exit(EXIT_CODES.UNHANDLED_EXCEPTION);
79
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startHelpers.js","sourceRoot":"","sources":["../../../src/commands/shared/startHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startHelpers.js","sourceRoot":"","sources":["../../../src/commands/shared/startHelpers.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Provides centralized validation with type safety and consistent error messages.
5
5
  * Eliminates scattered validation logic across commands.
6
6
  */
7
+ import type { Protocol } from '../../connection/typed-cdp.js';
7
8
  /**
8
9
  * Base validation rule interface
9
10
  */
@@ -25,6 +26,8 @@ export interface IntegerRuleOptions {
25
26
  default?: number;
26
27
  /** Whether the field is required */
27
28
  required?: boolean;
29
+ /** Allow 0 to represent "all items" or unlimited */
30
+ allowZeroForAll?: boolean;
28
31
  }
29
32
  /**
30
33
  * Create a positive integer validation rule
@@ -41,4 +44,20 @@ export interface IntegerRuleOptions {
41
44
  * ```
42
45
  */
43
46
  export declare function positiveIntRule(options?: IntegerRuleOptions): ValidationRule<number>;
47
+ /**
48
+ * Create a resource type validation rule for comma-separated type filters.
49
+ * Performs case-insensitive matching and normalization.
50
+ *
51
+ * @returns Validation rule that parses and validates resource types
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const rules = {
56
+ * type: resourceTypeRule(),
57
+ * };
58
+ * const validated = validateOptions(options, rules);
59
+ * // Input: "document,xhr" → Output: ["Document", "XHR"]
60
+ * ```
61
+ */
62
+ export declare function resourceTypeRule(): ValidationRule<Protocol.Network.ResourceType[]>;
44
63
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAqDxF"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAK1D;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAChC,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAoDxF;AA6ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CA8BlF"}
@@ -22,37 +22,35 @@ import { EXIT_CODES } from '../../utils/exitCodes.js';
22
22
  * ```
23
23
  */
24
24
  export function positiveIntRule(options = {}) {
25
- const { min, max, default: defaultValue, required = true } = options;
25
+ const { min, max, default: defaultValue, required = true, allowZeroForAll = false } = options;
26
26
  return {
27
27
  validate: (value) => {
28
- // Handle undefined with default or required check
29
28
  if (value === undefined || value === null) {
30
29
  if (defaultValue !== undefined) {
31
30
  return defaultValue;
32
31
  }
33
32
  if (!required) {
34
- return 0; // Return 0 for optional fields (caller should check)
33
+ return 0;
35
34
  }
36
35
  throw new CommandError('Value is required', {}, EXIT_CODES.INVALID_ARGUMENTS);
37
36
  }
38
- // Parse string to number - only accept strings and numbers
39
37
  if (typeof value !== 'string' && typeof value !== 'number') {
40
38
  throw new CommandError(`Value must be a number, got ${typeof value}`, {}, EXIT_CODES.INVALID_ARGUMENTS);
41
39
  }
42
40
  const strValue = String(value).trim();
43
41
  const parsed = parseInt(strValue, 10);
44
- // Build error options conditionally to satisfy exactOptionalPropertyTypes
45
42
  const errorOptions = {};
46
43
  if (min !== undefined)
47
44
  errorOptions.min = min;
48
45
  if (max !== undefined)
49
46
  errorOptions.max = max;
50
- // Validate it's a number
51
47
  if (isNaN(parsed)) {
52
48
  const message = invalidIntegerError('value', strValue, errorOptions);
53
49
  throw new CommandError(message, {}, EXIT_CODES.INVALID_ARGUMENTS);
54
50
  }
55
- // Validate range
51
+ if (parsed === 0 && allowZeroForAll) {
52
+ return 0;
53
+ }
56
54
  if (min !== undefined && parsed < min) {
57
55
  const message = invalidIntegerError('value', strValue, errorOptions);
58
56
  throw new CommandError(message, {}, EXIT_CODES.INVALID_ARGUMENTS);
@@ -65,4 +63,109 @@ export function positiveIntRule(options = {}) {
65
63
  },
66
64
  };
67
65
  }
66
+ /**
67
+ * Valid CDP ResourceType values for filtering.
68
+ * Matches Protocol.Network.ResourceType enum.
69
+ */
70
+ const VALID_RESOURCE_TYPES = [
71
+ 'Document',
72
+ 'Stylesheet',
73
+ 'Image',
74
+ 'Media',
75
+ 'Font',
76
+ 'Script',
77
+ 'TextTrack',
78
+ 'XHR',
79
+ 'Fetch',
80
+ 'Prefetch',
81
+ 'EventSource',
82
+ 'WebSocket',
83
+ 'Manifest',
84
+ 'SignedExchange',
85
+ 'Ping',
86
+ 'CSPViolationReport',
87
+ 'Preflight',
88
+ 'FedCM',
89
+ 'Other',
90
+ ];
91
+ /**
92
+ * Parse comma-separated string into trimmed, non-empty tokens.
93
+ *
94
+ * @param value - Comma-separated string
95
+ * @returns Array of trimmed, non-empty tokens
96
+ */
97
+ function parseCommaSeparated(value) {
98
+ return value
99
+ .split(',')
100
+ .map((t) => t.trim())
101
+ .filter((t) => t.length > 0);
102
+ }
103
+ /**
104
+ * Normalize resource type string to CDP format (case-insensitive lookup).
105
+ *
106
+ * @param type - User input (e.g., "document", "xhr")
107
+ * @returns Normalized CDP type or undefined if invalid
108
+ */
109
+ function normalizeResourceType(type) {
110
+ const found = VALID_RESOURCE_TYPES.find((valid) => valid.toLowerCase() === type.toLowerCase());
111
+ return found;
112
+ }
113
+ /**
114
+ * Validate and normalize array of resource type strings.
115
+ *
116
+ * @param types - Array of type strings to validate
117
+ * @returns Object with normalized types and invalid entries
118
+ */
119
+ function validateResourceTypes(types) {
120
+ const normalized = [];
121
+ const invalid = [];
122
+ for (const type of types) {
123
+ const normalizedType = normalizeResourceType(type);
124
+ if (normalizedType) {
125
+ normalized.push(normalizedType);
126
+ }
127
+ else {
128
+ invalid.push(type);
129
+ }
130
+ }
131
+ return { normalized, invalid };
132
+ }
133
+ /**
134
+ * Create a resource type validation rule for comma-separated type filters.
135
+ * Performs case-insensitive matching and normalization.
136
+ *
137
+ * @returns Validation rule that parses and validates resource types
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * const rules = {
142
+ * type: resourceTypeRule(),
143
+ * };
144
+ * const validated = validateOptions(options, rules);
145
+ * // Input: "document,xhr" → Output: ["Document", "XHR"]
146
+ * ```
147
+ */
148
+ export function resourceTypeRule() {
149
+ return {
150
+ validate: (value) => {
151
+ // Handle empty input
152
+ if (value === undefined || value === null || value === '') {
153
+ return [];
154
+ }
155
+ // Type guard
156
+ if (typeof value !== 'string') {
157
+ throw new CommandError('Resource type must be a string', {}, EXIT_CODES.INVALID_ARGUMENTS);
158
+ }
159
+ // Parse and validate
160
+ const types = parseCommaSeparated(value);
161
+ const { normalized, invalid } = validateResourceTypes(types);
162
+ // Report errors if any invalid types
163
+ if (invalid.length > 0) {
164
+ const validList = VALID_RESOURCE_TYPES.join(', ');
165
+ throw new CommandError(`Invalid resource type(s): ${invalid.join(', ')}`, { suggestion: `Valid types: ${validList}` }, EXIT_CODES.INVALID_ARGUMENTS);
166
+ }
167
+ return normalized;
168
+ },
169
+ };
170
+ }
68
171
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA0BlD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,UAA8B,EAAE;IAC9D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAErE,OAAO;QACL,QAAQ,EAAE,CAAC,KAAc,EAAU,EAAE;YACnC,kDAAkD;YAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,YAAY,CAAC;gBACtB,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,CAAC,CAAC,qDAAqD;gBACjE,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,mBAAmB,EAAE,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAChF,CAAC;YAED,2DAA2D;YAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC3D,MAAM,IAAI,YAAY,CACpB,+BAA+B,OAAO,KAAK,EAAE,EAC7C,EAAE,EACF,UAAU,CAAC,iBAAiB,CAC7B,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEtC,0EAA0E;YAC1E,MAAM,YAAY,GAAmC,EAAE,CAAC;YACxD,IAAI,GAAG,KAAK,SAAS;gBAAE,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;YAC9C,IAAI,GAAG,KAAK,SAAS;gBAAE,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;YAE9C,yBAAyB;YACzB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACpE,CAAC;YAED,iBAAiB;YACjB,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACpE,CAAC;YAED,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/commands/shared/validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgHzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwB5D"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6GzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqB5D"}
@@ -33,7 +33,6 @@ function buildSessionOptions(options) {
33
33
  min: 1,
34
34
  max: 100,
35
35
  });
36
- // Expand tilde in userDataDir path
37
36
  let userDataDir = options.userDataDir;
38
37
  if (userDataDir?.startsWith('~/')) {
39
38
  userDataDir = userDataDir.replace(/^~/, os.homedir());
@@ -58,9 +57,7 @@ function buildSessionOptions(options) {
58
57
  */
59
58
  async function collectorAction(url, options) {
60
59
  const sessionOptions = buildSessionOptions(options);
61
- // Always collect all 3 types (dom, network, console)
62
60
  const telemetry = ['dom', 'network', 'console'];
63
- // Dispatch to daemon via IPC instead of running in-process
64
61
  await startSessionViaDaemon(url, sessionOptions, telemetry);
65
62
  }
66
63
  /**
@@ -70,14 +67,11 @@ async function collectorAction(url, options) {
70
67
  * @returns void
71
68
  */
72
69
  export function registerStartCommands(program) {
73
- // Default command: always collects all 3 types (dom, network, console)
74
70
  applyCollectorOptions(program.argument('[url]', 'Target URL (example.com or localhost:3000)')).action(async (url, options) => {
75
- // Show friendly help if no URL provided
76
71
  if (!url) {
77
72
  console.error(startCommandHelpMessage());
78
73
  process.exit(0);
79
74
  }
80
- // Validate URL before starting session
81
75
  const { validateUrl } = await import('../utils/url.js');
82
76
  const validation = validateUrl(url);
83
77
  if (!validation.valid) {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+G5D"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6BzC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6G5D"}
@@ -79,8 +79,6 @@ export function registerStatusCommand(program) {
79
79
  const errorMessage = getErrorMessage(error);
80
80
  if (isDaemonConnectionError(error)) {
81
81
  const cleaned = cleanupStaleDaemonPid();
82
- // Use unified daemon error helper to keep messaging consistent
83
- // across commands.
84
82
  return {
85
83
  success: false,
86
84
  error: daemonNotRunningError({ staleCleanedUp: cleaned }),
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiG1D"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiEzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F1D"}
@@ -45,20 +45,18 @@ function getExitCodeForDaemonError(errorCode) {
45
45
  export function registerStopCommand(program) {
46
46
  program
47
47
  .command('stop')
48
- .description('Stop daemon and write collected telemetry to session.json')
48
+ .description('Stop daemon and write collected telemetry to ~/.bdg/session.json')
49
49
  .option('--kill-chrome', 'Also kill Chrome browser process', false)
50
50
  .addOption(jsonOption)
51
+ .addHelpText('after', '\nOutput Location:\n Default: ~/.bdg/session.json\n Tip: Copy to custom location with: cp ~/.bdg/session.json /path/to/output.json')
51
52
  .action(async (options) => {
52
53
  await runCommand(async (opts) => {
53
54
  try {
54
- // Try to stop session via IPC (daemon)
55
55
  const response = await stopSession();
56
56
  if (response.status === 'ok') {
57
- // Session stopped successfully via daemon
58
57
  let chromeStopped = false;
59
58
  let orphanedDaemonsCount = 0;
60
59
  const warnings = [];
61
- // Handle Chrome if requested (daemon captured Chrome PID before cleanup)
62
60
  if (opts.killChrome) {
63
61
  const chromePid = response.chromePid;
64
62
  if (chromePid) {
@@ -77,7 +75,6 @@ export function registerStopCommand(program) {
77
75
  warnings.push('Chrome PID not found (Chrome was not launched by bdg)');
78
76
  }
79
77
  }
80
- // Automatically cleanup orphaned daemon processes
81
78
  orphanedDaemonsCount = cleanupOrphanedDaemons();
82
79
  return {
83
80
  success: true,
@@ -90,8 +87,6 @@ export function registerStopCommand(program) {
90
87
  };
91
88
  }
92
89
  else {
93
- // Daemon returned error
94
- // Special case: NO_SESSION should fail with helpful error message
95
90
  if (response.errorCode === IPCErrorCode.NO_SESSION) {
96
91
  return {
97
92
  success: false,
@@ -99,7 +94,6 @@ export function registerStopCommand(program) {
99
94
  exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
100
95
  };
101
96
  }
102
- // Other errors are actual failures
103
97
  const exitCode = getExitCodeForDaemonError(response.errorCode);
104
98
  return {
105
99
  success: false,
@@ -109,9 +103,7 @@ export function registerStopCommand(program) {
109
103
  }
110
104
  }
111
105
  catch (error) {
112
- // IPC transport failure (ENOENT, ECONNREFUSED, timeout, etc.)
113
106
  const errorMessage = getErrorMessage(error);
114
- // Check if it's a connection error (daemon not running)
115
107
  if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
116
108
  return {
117
109
  success: false,
@@ -122,7 +114,6 @@ export function registerStopCommand(program) {
122
114
  },
123
115
  };
124
116
  }
125
- // Other errors (timeout, parse failures, etc.)
126
117
  return {
127
118
  success: false,
128
119
  error: stopFailedError(errorMessage),