browser-debugger-cli 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) 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/cdp.d.ts.map +1 -1
  9. package/dist/commands/cdp.js +1 -20
  10. package/dist/commands/cdp.js.map +1 -1
  11. package/dist/commands/cleanup.d.ts.map +1 -1
  12. package/dist/commands/cleanup.js +0 -13
  13. package/dist/commands/cleanup.js.map +1 -1
  14. package/dist/commands/console.d.ts.map +1 -1
  15. package/dist/commands/console.js +0 -5
  16. package/dist/commands/console.js.map +1 -1
  17. package/dist/commands/details.d.ts.map +1 -1
  18. package/dist/commands/details.js +0 -5
  19. package/dist/commands/details.js.map +1 -1
  20. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  21. package/dist/commands/dom/evalHelpers.js +0 -5
  22. package/dist/commands/dom/evalHelpers.js.map +1 -1
  23. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  24. package/dist/commands/dom/formFillHelpers.js +0 -9
  25. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  26. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  27. package/dist/commands/dom/formInteraction.js +0 -5
  28. package/dist/commands/dom/formInteraction.js.map +1 -1
  29. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
  30. package/dist/commands/dom/formSubmitHelpers.js +0 -13
  31. package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
  32. package/dist/commands/dom/helpers.d.ts.map +1 -1
  33. package/dist/commands/dom/helpers.js +0 -22
  34. package/dist/commands/dom/helpers.js.map +1 -1
  35. package/dist/commands/dom/index.d.ts.map +1 -1
  36. package/dist/commands/dom/index.js +0 -6
  37. package/dist/commands/dom/index.js.map +1 -1
  38. package/dist/commands/dom/reactEventHelpers.d.ts +3 -3
  39. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  40. package/dist/commands/dom/reactEventHelpers.js +0 -28
  41. package/dist/commands/dom/reactEventHelpers.js.map +1 -1
  42. package/dist/commands/network.d.ts.map +1 -1
  43. package/dist/commands/network.js +159 -10
  44. package/dist/commands/network.js.map +1 -1
  45. package/dist/commands/peek.d.ts.map +1 -1
  46. package/dist/commands/peek.js +15 -12
  47. package/dist/commands/peek.js.map +1 -1
  48. package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
  49. package/dist/commands/shared/CommandRunner.js +0 -8
  50. package/dist/commands/shared/CommandRunner.js.map +1 -1
  51. package/dist/commands/shared/__tests__/validation.unit.test.d.ts +7 -0
  52. package/dist/commands/shared/__tests__/validation.unit.test.d.ts.map +1 -0
  53. package/dist/commands/shared/__tests__/validation.unit.test.js +141 -0
  54. package/dist/commands/shared/__tests__/validation.unit.test.js.map +1 -0
  55. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  56. package/dist/commands/shared/startHelpers.js +0 -10
  57. package/dist/commands/shared/startHelpers.js.map +1 -1
  58. package/dist/commands/shared/validation.d.ts +17 -0
  59. package/dist/commands/shared/validation.d.ts.map +1 -1
  60. package/dist/commands/shared/validation.js +105 -5
  61. package/dist/commands/shared/validation.js.map +1 -1
  62. package/dist/commands/start.d.ts.map +1 -1
  63. package/dist/commands/start.js +0 -6
  64. package/dist/commands/start.js.map +1 -1
  65. package/dist/commands/status.d.ts.map +1 -1
  66. package/dist/commands/status.js +0 -2
  67. package/dist/commands/status.js.map +1 -1
  68. package/dist/commands/stop.d.ts.map +1 -1
  69. package/dist/commands/stop.js +0 -10
  70. package/dist/commands/stop.js.map +1 -1
  71. package/dist/commands/tail.d.ts.map +1 -1
  72. package/dist/commands/tail.js +0 -7
  73. package/dist/commands/tail.js.map +1 -1
  74. package/dist/commands.d.ts.map +1 -1
  75. package/dist/commands.js +0 -5
  76. package/dist/commands.js.map +1 -1
  77. package/dist/connection/cdp.d.ts.map +1 -1
  78. package/dist/connection/cdp.js +0 -3
  79. package/dist/connection/cdp.js.map +1 -1
  80. package/dist/connection/diagnostics.d.ts.map +1 -1
  81. package/dist/connection/diagnostics.js +7 -4
  82. package/dist/connection/diagnostics.js.map +1 -1
  83. package/dist/connection/pageReadiness.d.ts.map +1 -1
  84. package/dist/connection/pageReadiness.js +0 -1
  85. package/dist/connection/pageReadiness.js.map +1 -1
  86. package/dist/daemon/__tests__/commandRegistry.contract.test.js +259 -0
  87. package/dist/daemon/__tests__/commandRegistry.contract.test.js.map +1 -1
  88. package/dist/daemon/handlers/BaseHandler.d.ts +75 -0
  89. package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -0
  90. package/dist/daemon/handlers/BaseHandler.js +103 -0
  91. package/dist/daemon/handlers/BaseHandler.js.map +1 -0
  92. package/dist/daemon/handlers/CommandHandlers.d.ts +3 -4
  93. package/dist/daemon/handlers/CommandHandlers.d.ts.map +1 -1
  94. package/dist/daemon/handlers/CommandHandlers.js +14 -52
  95. package/dist/daemon/handlers/CommandHandlers.js.map +1 -1
  96. package/dist/daemon/handlers/QueryHandlers.d.ts +8 -6
  97. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
  98. package/dist/daemon/handlers/QueryHandlers.js +42 -94
  99. package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
  100. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
  101. package/dist/daemon/handlers/SessionHandlers.js +0 -15
  102. package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
  103. package/dist/daemon/handlers/requestHandlers.d.ts +5 -1
  104. package/dist/daemon/handlers/requestHandlers.d.ts.map +1 -1
  105. package/dist/daemon/handlers/requestHandlers.js +7 -2
  106. package/dist/daemon/handlers/requestHandlers.js.map +1 -1
  107. package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
  108. package/dist/daemon/handlers/responseHandler.js +19 -8
  109. package/dist/daemon/handlers/responseHandler.js.map +1 -1
  110. package/dist/daemon/ipcServer.d.ts.map +1 -1
  111. package/dist/daemon/ipcServer.js +4 -11
  112. package/dist/daemon/ipcServer.js.map +1 -1
  113. package/dist/daemon/launcher.d.ts.map +1 -1
  114. package/dist/daemon/launcher.js +0 -18
  115. package/dist/daemon/launcher.js.map +1 -1
  116. package/dist/daemon/lifecycle/cdpSetup.d.ts.map +1 -1
  117. package/dist/daemon/lifecycle/cdpSetup.js +0 -4
  118. package/dist/daemon/lifecycle/cdpSetup.js.map +1 -1
  119. package/dist/daemon/lifecycle/chromeConnection.js +0 -1
  120. package/dist/daemon/lifecycle/chromeConnection.js.map +1 -1
  121. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  122. package/dist/daemon/lifecycle/signalHandlers.js +0 -3
  123. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  124. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  125. package/dist/daemon/lifecycle/workerCleanup.js +0 -7
  126. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  127. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
  128. package/dist/daemon/lifecycle/workerIpc.js +0 -1
  129. package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
  130. package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
  131. package/dist/daemon/server/JsonlParser.js +0 -2
  132. package/dist/daemon/server/JsonlParser.js.map +1 -1
  133. package/dist/daemon/startSession.d.ts.map +1 -1
  134. package/dist/daemon/startSession.js +0 -15
  135. package/dist/daemon/startSession.js.map +1 -1
  136. package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
  137. package/dist/daemon/worker/commandRegistry.js +34 -1
  138. package/dist/daemon/worker/commandRegistry.js.map +1 -1
  139. package/dist/daemon/worker/plugins.d.ts.map +1 -1
  140. package/dist/daemon/worker/plugins.js +0 -3
  141. package/dist/daemon/worker/plugins.js.map +1 -1
  142. package/dist/daemon/worker.js +0 -9
  143. package/dist/daemon/worker.js.map +1 -1
  144. package/dist/daemon.js +0 -2
  145. package/dist/daemon.js.map +1 -1
  146. package/dist/index.js +0 -14
  147. package/dist/index.js.map +1 -1
  148. package/dist/ipc/client.d.ts +47 -1
  149. package/dist/ipc/client.d.ts.map +1 -1
  150. package/dist/ipc/client.js +51 -0
  151. package/dist/ipc/client.js.map +1 -1
  152. package/dist/ipc/index.d.ts.map +1 -1
  153. package/dist/ipc/index.js +0 -6
  154. package/dist/ipc/index.js.map +1 -1
  155. package/dist/ipc/protocol/commands.d.ts +44 -0
  156. package/dist/ipc/protocol/commands.d.ts.map +1 -1
  157. package/dist/ipc/protocol/commands.js +8 -0
  158. package/dist/ipc/protocol/commands.js.map +1 -1
  159. package/dist/ipc/session/queries.d.ts +26 -2
  160. package/dist/ipc/session/queries.d.ts.map +1 -1
  161. package/dist/ipc/transport/index.d.ts.map +1 -1
  162. package/dist/ipc/transport/index.js +0 -1
  163. package/dist/ipc/transport/index.js.map +1 -1
  164. package/dist/ipc/transport/jsonl.d.ts.map +1 -1
  165. package/dist/ipc/transport/jsonl.js +0 -1
  166. package/dist/ipc/transport/jsonl.js.map +1 -1
  167. package/dist/session/cleanup.d.ts.map +1 -1
  168. package/dist/session/cleanup.js +0 -20
  169. package/dist/session/cleanup.js.map +1 -1
  170. package/dist/telemetry/__tests__/filters.unit.test.js +119 -1
  171. package/dist/telemetry/__tests__/filters.unit.test.js.map +1 -1
  172. package/dist/telemetry/__tests__/network.contract.test.js +114 -0
  173. package/dist/telemetry/__tests__/network.contract.test.js.map +1 -1
  174. package/dist/telemetry/dom.js +4 -4
  175. package/dist/telemetry/dom.js.map +1 -1
  176. package/dist/telemetry/filters.d.ts +17 -0
  177. package/dist/telemetry/filters.d.ts.map +1 -1
  178. package/dist/telemetry/filters.js +25 -0
  179. package/dist/telemetry/filters.js.map +1 -1
  180. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts +8 -0
  181. package/dist/telemetry/har/__tests__/builder.unit.test.d.ts.map +1 -0
  182. package/dist/telemetry/har/__tests__/builder.unit.test.js +694 -0
  183. package/dist/telemetry/har/__tests__/builder.unit.test.js.map +1 -0
  184. package/dist/telemetry/har/builder.d.ts +43 -0
  185. package/dist/telemetry/har/builder.d.ts.map +1 -0
  186. package/dist/telemetry/har/builder.js +440 -0
  187. package/dist/telemetry/har/builder.js.map +1 -0
  188. package/dist/telemetry/har/types.d.ts +290 -0
  189. package/dist/telemetry/har/types.d.ts.map +1 -0
  190. package/dist/telemetry/har/types.js +7 -0
  191. package/dist/telemetry/har/types.js.map +1 -0
  192. package/dist/telemetry/network.d.ts.map +1 -1
  193. package/dist/telemetry/network.js +37 -4
  194. package/dist/telemetry/network.js.map +1 -1
  195. package/dist/types.d.ts +31 -0
  196. package/dist/types.d.ts.map +1 -1
  197. package/dist/ui/OutputBuilder.d.ts.map +1 -1
  198. package/dist/ui/OutputBuilder.js +0 -8
  199. package/dist/ui/OutputBuilder.js.map +1 -1
  200. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  201. package/dist/ui/errors/CommandError.js +0 -1
  202. package/dist/ui/errors/CommandError.js.map +1 -1
  203. package/dist/ui/errors/index.d.ts.map +1 -1
  204. package/dist/ui/errors/index.js +0 -2
  205. package/dist/ui/errors/index.js.map +1 -1
  206. package/dist/ui/formatters/details.d.ts.map +1 -1
  207. package/dist/ui/formatters/details.js +1 -0
  208. package/dist/ui/formatters/details.js.map +1 -1
  209. package/dist/ui/formatters/dom.d.ts.map +1 -1
  210. package/dist/ui/formatters/dom.js +0 -3
  211. package/dist/ui/formatters/dom.js.map +1 -1
  212. package/dist/ui/formatters/index.d.ts +1 -0
  213. package/dist/ui/formatters/index.d.ts.map +1 -1
  214. package/dist/ui/formatters/index.js +1 -0
  215. package/dist/ui/formatters/index.js.map +1 -1
  216. package/dist/ui/formatters/networkHeaders.d.ts +14 -0
  217. package/dist/ui/formatters/networkHeaders.d.ts.map +1 -0
  218. package/dist/ui/formatters/networkHeaders.js +47 -0
  219. package/dist/ui/formatters/networkHeaders.js.map +1 -0
  220. package/dist/ui/formatters/preview.d.ts.map +1 -1
  221. package/dist/ui/formatters/preview.js +42 -21
  222. package/dist/ui/formatters/preview.js.map +1 -1
  223. package/dist/ui/formatters/status.d.ts.map +1 -1
  224. package/dist/ui/formatters/status.js +0 -11
  225. package/dist/ui/formatters/status.js.map +1 -1
  226. package/dist/ui/formatting.d.ts.map +1 -1
  227. package/dist/ui/formatting.js +0 -6
  228. package/dist/ui/formatting.js.map +1 -1
  229. package/dist/ui/logging/logger.d.ts +1 -1
  230. package/dist/ui/logging/logger.d.ts.map +1 -1
  231. package/dist/ui/logging/logger.js.map +1 -1
  232. package/dist/ui/messages/chrome.d.ts.map +1 -1
  233. package/dist/ui/messages/chrome.js +0 -6
  234. package/dist/ui/messages/chrome.js.map +1 -1
  235. package/dist/ui/messages/commands.d.ts.map +1 -1
  236. package/dist/ui/messages/commands.js +0 -12
  237. package/dist/ui/messages/commands.js.map +1 -1
  238. package/dist/ui/messages/debug.d.ts.map +1 -1
  239. package/dist/ui/messages/debug.js +0 -6
  240. package/dist/ui/messages/debug.js.map +1 -1
  241. package/dist/ui/messages/internal.d.ts.map +1 -1
  242. package/dist/ui/messages/internal.js +0 -3
  243. package/dist/ui/messages/internal.js.map +1 -1
  244. package/dist/ui/messages/preview.d.ts.map +1 -1
  245. package/dist/ui/messages/preview.js +0 -12
  246. package/dist/ui/messages/preview.js.map +1 -1
  247. package/dist/ui/messages/session.d.ts.map +1 -1
  248. package/dist/ui/messages/session.js +0 -3
  249. package/dist/ui/messages/session.js.map +1 -1
  250. package/dist/utils/atomicFile.d.ts.map +1 -1
  251. package/dist/utils/atomicFile.js +9 -6
  252. package/dist/utils/atomicFile.js.map +1 -1
  253. package/dist/utils/exitCodes.d.ts.map +1 -1
  254. package/dist/utils/exitCodes.js +0 -2
  255. package/dist/utils/exitCodes.js.map +1 -1
  256. package/dist/utils/validation.d.ts.map +1 -1
  257. package/dist/utils/validation.js +0 -3
  258. package/dist/utils/validation.js.map +1 -1
  259. package/dist/utils/version.d.ts.map +1 -1
  260. package/dist/utils/version.js +0 -1
  261. package/dist/utils/version.js.map +1 -1
  262. package/package.json +1 -1
@@ -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":"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"}
@@ -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
  */
@@ -41,4 +42,20 @@ export interface IntegerRuleOptions {
41
42
  * ```
42
43
  */
43
44
  export declare function positiveIntRule(options?: IntegerRuleOptions): ValidationRule<number>;
45
+ /**
46
+ * Create a resource type validation rule for comma-separated type filters.
47
+ * Performs case-insensitive matching and normalization.
48
+ *
49
+ * @returns Validation rule that parses and validates resource types
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const rules = {
54
+ * type: resourceTypeRule(),
55
+ * };
56
+ * const validated = validateOptions(options, rules);
57
+ * // Input: "document,xhr" → Output: ["Document", "XHR"]
58
+ * ```
59
+ */
60
+ export declare function resourceTypeRule(): ValidationRule<Protocol.Network.ResourceType[]>;
44
61
  //# 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;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAgDxF;AA6ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CA8BlF"}
@@ -25,7 +25,6 @@ export function positiveIntRule(options = {}) {
25
25
  const { min, max, default: defaultValue, required = true } = 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;
@@ -35,24 +34,20 @@ export function positiveIntRule(options = {}) {
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
56
51
  if (min !== undefined && parsed < min) {
57
52
  const message = invalidIntegerError('value', strValue, errorOptions);
58
53
  throw new CommandError(message, {}, EXIT_CODES.INVALID_ARGUMENTS);
@@ -65,4 +60,109 @@ export function positiveIntRule(options = {}) {
65
60
  },
66
61
  };
67
62
  }
63
+ /**
64
+ * Valid CDP ResourceType values for filtering.
65
+ * Matches Protocol.Network.ResourceType enum.
66
+ */
67
+ const VALID_RESOURCE_TYPES = [
68
+ 'Document',
69
+ 'Stylesheet',
70
+ 'Image',
71
+ 'Media',
72
+ 'Font',
73
+ 'Script',
74
+ 'TextTrack',
75
+ 'XHR',
76
+ 'Fetch',
77
+ 'Prefetch',
78
+ 'EventSource',
79
+ 'WebSocket',
80
+ 'Manifest',
81
+ 'SignedExchange',
82
+ 'Ping',
83
+ 'CSPViolationReport',
84
+ 'Preflight',
85
+ 'FedCM',
86
+ 'Other',
87
+ ];
88
+ /**
89
+ * Parse comma-separated string into trimmed, non-empty tokens.
90
+ *
91
+ * @param value - Comma-separated string
92
+ * @returns Array of trimmed, non-empty tokens
93
+ */
94
+ function parseCommaSeparated(value) {
95
+ return value
96
+ .split(',')
97
+ .map((t) => t.trim())
98
+ .filter((t) => t.length > 0);
99
+ }
100
+ /**
101
+ * Normalize resource type string to CDP format (case-insensitive lookup).
102
+ *
103
+ * @param type - User input (e.g., "document", "xhr")
104
+ * @returns Normalized CDP type or undefined if invalid
105
+ */
106
+ function normalizeResourceType(type) {
107
+ const found = VALID_RESOURCE_TYPES.find((valid) => valid.toLowerCase() === type.toLowerCase());
108
+ return found;
109
+ }
110
+ /**
111
+ * Validate and normalize array of resource type strings.
112
+ *
113
+ * @param types - Array of type strings to validate
114
+ * @returns Object with normalized types and invalid entries
115
+ */
116
+ function validateResourceTypes(types) {
117
+ const normalized = [];
118
+ const invalid = [];
119
+ for (const type of types) {
120
+ const normalizedType = normalizeResourceType(type);
121
+ if (normalizedType) {
122
+ normalized.push(normalizedType);
123
+ }
124
+ else {
125
+ invalid.push(type);
126
+ }
127
+ }
128
+ return { normalized, invalid };
129
+ }
130
+ /**
131
+ * Create a resource type validation rule for comma-separated type filters.
132
+ * Performs case-insensitive matching and normalization.
133
+ *
134
+ * @returns Validation rule that parses and validates resource types
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * const rules = {
139
+ * type: resourceTypeRule(),
140
+ * };
141
+ * const validated = validateOptions(options, rules);
142
+ * // Input: "document,xhr" → Output: ["Document", "XHR"]
143
+ * ```
144
+ */
145
+ export function resourceTypeRule() {
146
+ return {
147
+ validate: (value) => {
148
+ // Handle empty input
149
+ if (value === undefined || value === null || value === '') {
150
+ return [];
151
+ }
152
+ // Type guard
153
+ if (typeof value !== 'string') {
154
+ throw new CommandError('Resource type must be a string', {}, EXIT_CODES.INVALID_ARGUMENTS);
155
+ }
156
+ // Parse and validate
157
+ const types = parseCommaSeparated(value);
158
+ const { normalized, invalid } = validateResourceTypes(types);
159
+ // Report errors if any invalid types
160
+ if (invalid.length > 0) {
161
+ const validList = VALID_RESOURCE_TYPES.join(', ');
162
+ throw new CommandError(`Invalid resource type(s): ${invalid.join(', ')}`, { suggestion: `Valid types: ${validList}` }, EXIT_CODES.INVALID_ARGUMENTS);
163
+ }
164
+ return normalized;
165
+ },
166
+ };
167
+ }
68
168
  //# 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":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAwB/D;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,OAAO,OAAO;SACX,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;SAC1E,MAAM,CACL,yBAAyB,EACzB,iEAAiE,CAClE;SACA,MAAM,CAAC,4BAA4B,EAAE,4BAA4B,EAAE,uBAAuB,CAAC;SAC3F,MAAM,CAAC,WAAW,EAAE,4DAA4D,EAAE,KAAK,CAAC;SACxF,MAAM,CAAC,iCAAiC,EAAE,kCAAkC,EAAE,GAAG,CAAC;SAClF,MAAM,CAAC,WAAW,EAAE,2DAA2D,EAAE,KAAK,CAAC;SACvF,MAAM,CAAC,YAAY,EAAE,4DAA4D,EAAE,KAAK,CAAC;SACzF,MAAM,CACL,uBAAuB,EACvB,4FAA4F,CAC7F,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,OAAyB;IAUpD,MAAM,aAAa,GAAG,sBAAsB,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE;QACjF,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACtC,IAAI,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAClF,WAAW;QACX,UAAU,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;QAChC,WAAW,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAClF,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,OAAyB;IACnE,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjE,MAAM,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,qBAAqB,CACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,4CAA4C,CAAC,CACxE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAuB,EAAE,OAAyB,EAAE,EAAE;QACpE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;YAC/D,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -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,CAuF1D"}
@@ -51,14 +51,11 @@ export function registerStopCommand(program) {
51
51
  .action(async (options) => {
52
52
  await runCommand(async (opts) => {
53
53
  try {
54
- // Try to stop session via IPC (daemon)
55
54
  const response = await stopSession();
56
55
  if (response.status === 'ok') {
57
- // Session stopped successfully via daemon
58
56
  let chromeStopped = false;
59
57
  let orphanedDaemonsCount = 0;
60
58
  const warnings = [];
61
- // Handle Chrome if requested (daemon captured Chrome PID before cleanup)
62
59
  if (opts.killChrome) {
63
60
  const chromePid = response.chromePid;
64
61
  if (chromePid) {
@@ -77,7 +74,6 @@ export function registerStopCommand(program) {
77
74
  warnings.push('Chrome PID not found (Chrome was not launched by bdg)');
78
75
  }
79
76
  }
80
- // Automatically cleanup orphaned daemon processes
81
77
  orphanedDaemonsCount = cleanupOrphanedDaemons();
82
78
  return {
83
79
  success: true,
@@ -90,8 +86,6 @@ export function registerStopCommand(program) {
90
86
  };
91
87
  }
92
88
  else {
93
- // Daemon returned error
94
- // Special case: NO_SESSION should fail with helpful error message
95
89
  if (response.errorCode === IPCErrorCode.NO_SESSION) {
96
90
  return {
97
91
  success: false,
@@ -99,7 +93,6 @@ export function registerStopCommand(program) {
99
93
  exitCode: EXIT_CODES.RESOURCE_NOT_FOUND,
100
94
  };
101
95
  }
102
- // Other errors are actual failures
103
96
  const exitCode = getExitCodeForDaemonError(response.errorCode);
104
97
  return {
105
98
  success: false,
@@ -109,9 +102,7 @@ export function registerStopCommand(program) {
109
102
  }
110
103
  }
111
104
  catch (error) {
112
- // IPC transport failure (ENOENT, ECONNREFUSED, timeout, etc.)
113
105
  const errorMessage = getErrorMessage(error);
114
- // Check if it's a connection error (daemon not running)
115
106
  if (errorMessage.includes('ENOENT') || errorMessage.includes('ECONNREFUSED')) {
116
107
  return {
117
108
  success: false,
@@ -122,7 +113,6 @@ export function registerStopCommand(program) {
122
113
  },
123
114
  };
124
115
  }
125
- // Other errors (timeout, parse failures, etc.)
126
116
  return {
127
117
  success: false,
128
118
  error: stopFailedError(errorMessage),
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+G1D"}
1
+ {"version":3,"file":"tail.d.ts","sourceRoot":"","sources":["../../src/commands/tail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwG1D"}
@@ -48,9 +48,7 @@ export function registerTailCommand(program) {
48
48
  */
49
49
  const showPreview = async () => {
50
50
  try {
51
- // Fetch preview data via IPC from daemon
52
51
  const response = await getPeek();
53
- // Validate IPC response (will throw on error)
54
52
  try {
55
53
  validateIPCResponse(response);
56
54
  }
@@ -66,7 +64,6 @@ export function registerTailCommand(program) {
66
64
  }
67
65
  return;
68
66
  }
69
- // Extract preview data from response
70
67
  const output = response.data?.preview;
71
68
  if (!output) {
72
69
  const result = handleDaemonConnectionError('No preview data in response', {
@@ -80,9 +77,7 @@ export function registerTailCommand(program) {
80
77
  }
81
78
  return;
82
79
  }
83
- // Clear screen before rendering to prevent stacked outputs
84
80
  console.clear();
85
- // Add current view timestamp to show refresh time
86
81
  const previewOptions = {
87
82
  json: options.json,
88
83
  network: options.network,
@@ -105,13 +100,11 @@ export function registerTailCommand(program) {
105
100
  }
106
101
  }
107
102
  };
108
- // Start continuous monitoring
109
103
  console.error(followingPreviewMessage());
110
104
  await showPreview();
111
105
  const followInterval = setInterval(() => {
112
106
  void showPreview();
113
107
  }, interval);
114
- // Handle Ctrl+C gracefully
115
108
  process.on('SIGINT', () => {
116
109
  clearInterval(followInterval);
117
110
  console.error(stoppedFollowingPreviewMessage());