browser-debugger-cli 0.6.10 → 0.7.0

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 (260) hide show
  1. package/README.md +10 -0
  2. package/dist/commands/cdp.d.ts.map +1 -1
  3. package/dist/commands/cdp.js +72 -16
  4. package/dist/commands/cdp.js.map +1 -1
  5. package/dist/commands/cleanup.js +1 -1
  6. package/dist/commands/cleanup.js.map +1 -1
  7. package/dist/commands/console.d.ts +4 -28
  8. package/dist/commands/console.d.ts.map +1 -1
  9. package/dist/commands/console.js +81 -187
  10. package/dist/commands/console.js.map +1 -1
  11. package/dist/commands/details.d.ts.map +1 -1
  12. package/dist/commands/details.js +8 -0
  13. package/dist/commands/details.js.map +1 -1
  14. package/dist/commands/dom/DomElementResolver.d.ts +2 -2
  15. package/dist/commands/dom/DomElementResolver.d.ts.map +1 -1
  16. package/dist/commands/dom/DomElementResolver.js +34 -13
  17. package/dist/commands/dom/DomElementResolver.js.map +1 -1
  18. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +2 -0
  19. package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +1 -0
  20. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +184 -0
  21. package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +1 -0
  22. package/dist/commands/dom/a11y.d.ts.map +1 -1
  23. package/dist/commands/dom/a11y.js +14 -10
  24. package/dist/commands/dom/a11y.js.map +1 -1
  25. package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
  26. package/dist/commands/dom/evalHelpers.js +10 -7
  27. package/dist/commands/dom/evalHelpers.js.map +1 -1
  28. package/dist/commands/dom/form.d.ts +14 -0
  29. package/dist/commands/dom/form.d.ts.map +1 -0
  30. package/dist/commands/dom/form.js +439 -0
  31. package/dist/commands/dom/form.js.map +1 -0
  32. package/dist/commands/dom/formDiscovery.d.ts +26 -0
  33. package/dist/commands/dom/formDiscovery.d.ts.map +1 -0
  34. package/dist/commands/dom/formDiscovery.js +476 -0
  35. package/dist/commands/dom/formDiscovery.js.map +1 -0
  36. package/dist/commands/dom/formFillHelpers.d.ts +2 -1
  37. package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
  38. package/dist/commands/dom/formFillHelpers.js +54 -24
  39. package/dist/commands/dom/formFillHelpers.js.map +1 -1
  40. package/dist/commands/dom/formInteraction.d.ts.map +1 -1
  41. package/dist/commands/dom/formInteraction.js +26 -10
  42. package/dist/commands/dom/formInteraction.js.map +1 -1
  43. package/dist/commands/dom/formSubmitHelpers.d.ts +2 -1
  44. package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
  45. package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
  46. package/dist/commands/dom/formTypes.d.ts +75 -0
  47. package/dist/commands/dom/formTypes.d.ts.map +1 -0
  48. package/dist/commands/dom/formTypes.js +7 -0
  49. package/dist/commands/dom/formTypes.js.map +1 -0
  50. package/dist/commands/dom/helpers.d.ts +11 -4
  51. package/dist/commands/dom/helpers.d.ts.map +1 -1
  52. package/dist/commands/dom/helpers.js +324 -40
  53. package/dist/commands/dom/helpers.js.map +1 -1
  54. package/dist/commands/dom/index.d.ts.map +1 -1
  55. package/dist/commands/dom/index.js +17 -5
  56. package/dist/commands/dom/index.js.map +1 -1
  57. package/dist/commands/dom/reactEventHelpers.d.ts +4 -4
  58. package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
  59. package/dist/commands/dom/reactEventHelpers.js +11 -11
  60. package/dist/commands/dom/screenshotResize.d.ts +81 -0
  61. package/dist/commands/dom/screenshotResize.d.ts.map +1 -0
  62. package/dist/commands/dom/screenshotResize.js +103 -0
  63. package/dist/commands/dom/screenshotResize.js.map +1 -0
  64. package/dist/commands/helpJson.d.ts +20 -0
  65. package/dist/commands/helpJson.d.ts.map +1 -1
  66. package/dist/commands/helpJson.js +21 -29
  67. package/dist/commands/helpJson.js.map +1 -1
  68. package/dist/commands/network/har.d.ts.map +1 -1
  69. package/dist/commands/network/har.js +3 -2
  70. package/dist/commands/network/har.js.map +1 -1
  71. package/dist/commands/network/list.d.ts +0 -8
  72. package/dist/commands/network/list.d.ts.map +1 -1
  73. package/dist/commands/network/list.js +131 -201
  74. package/dist/commands/network/list.js.map +1 -1
  75. package/dist/commands/network/shared.d.ts.map +1 -1
  76. package/dist/commands/network/shared.js +6 -0
  77. package/dist/commands/network/shared.js.map +1 -1
  78. package/dist/commands/optionBehaviors.d.ts +26 -0
  79. package/dist/commands/optionBehaviors.d.ts.map +1 -0
  80. package/dist/commands/optionBehaviors.js +195 -0
  81. package/dist/commands/optionBehaviors.js.map +1 -0
  82. package/dist/commands/peek.d.ts +2 -4
  83. package/dist/commands/peek.d.ts.map +1 -1
  84. package/dist/commands/peek.js +108 -92
  85. package/dist/commands/peek.js.map +1 -1
  86. package/dist/commands/shared/CommandRunner.js +1 -1
  87. package/dist/commands/shared/CommandRunner.js.map +1 -1
  88. package/dist/commands/shared/dataFetcher.d.ts +58 -0
  89. package/dist/commands/shared/dataFetcher.d.ts.map +1 -0
  90. package/dist/commands/shared/dataFetcher.js +98 -0
  91. package/dist/commands/shared/dataFetcher.js.map +1 -0
  92. package/dist/commands/shared/optionTypes.d.ts +8 -4
  93. package/dist/commands/shared/optionTypes.d.ts.map +1 -1
  94. package/dist/commands/shared/startHelpers.d.ts.map +1 -1
  95. package/dist/commands/shared/startHelpers.js +6 -5
  96. package/dist/commands/shared/startHelpers.js.map +1 -1
  97. package/dist/commands/shared/validation.d.ts +0 -45
  98. package/dist/commands/shared/validation.d.ts.map +1 -1
  99. package/dist/commands/shared/validation.js +65 -107
  100. package/dist/commands/shared/validation.js.map +1 -1
  101. package/dist/commands/status.d.ts.map +1 -1
  102. package/dist/commands/status.js +13 -4
  103. package/dist/commands/status.js.map +1 -1
  104. package/dist/commands/stop.d.ts.map +1 -1
  105. package/dist/commands/stop.js +15 -4
  106. package/dist/commands/stop.js.map +1 -1
  107. package/dist/commands/tail.d.ts +2 -7
  108. package/dist/commands/tail.d.ts.map +1 -1
  109. package/dist/commands/tail.js +61 -64
  110. package/dist/commands/tail.js.map +1 -1
  111. package/dist/connection/cdp.d.ts.map +1 -1
  112. package/dist/connection/cdp.js +5 -3
  113. package/dist/connection/cdp.js.map +1 -1
  114. package/dist/connection/diagnostics.js +1 -1
  115. package/dist/connection/diagnostics.js.map +1 -1
  116. package/dist/connection/errors.d.ts +0 -7
  117. package/dist/connection/errors.d.ts.map +1 -1
  118. package/dist/connection/errors.js +0 -7
  119. package/dist/connection/errors.js.map +1 -1
  120. package/dist/connection/launcher/binaryResolver.d.ts.map +1 -1
  121. package/dist/connection/launcher/binaryResolver.js +2 -1
  122. package/dist/connection/launcher/binaryResolver.js.map +1 -1
  123. package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -1
  124. package/dist/connection/launcher/preferencesLoader.js +2 -1
  125. package/dist/connection/launcher/preferencesLoader.js.map +1 -1
  126. package/dist/connection/launcher.d.ts.map +1 -1
  127. package/dist/connection/launcher.js +2 -1
  128. package/dist/connection/launcher.js.map +1 -1
  129. package/dist/connection/pageReadiness.d.ts.map +1 -1
  130. package/dist/connection/pageReadiness.js +2 -9
  131. package/dist/connection/pageReadiness.js.map +1 -1
  132. package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -1
  133. package/dist/daemon/handlers/BaseHandler.js +1 -1
  134. package/dist/daemon/handlers/BaseHandler.js.map +1 -1
  135. package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
  136. package/dist/daemon/handlers/QueryHandlers.js +1 -1
  137. package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
  138. package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
  139. package/dist/daemon/handlers/SessionHandlers.js +1 -1
  140. package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
  141. package/dist/daemon/ipcServer.js +1 -1
  142. package/dist/daemon/ipcServer.js.map +1 -1
  143. package/dist/daemon/launcher.d.ts.map +1 -1
  144. package/dist/daemon/launcher.js +3 -2
  145. package/dist/daemon/launcher.js.map +1 -1
  146. package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
  147. package/dist/daemon/lifecycle/signalHandlers.js +1 -1
  148. package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
  149. package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
  150. package/dist/daemon/lifecycle/workerCleanup.js +4 -3
  151. package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
  152. package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -1
  153. package/dist/daemon/lifecycle/workerConfig.js +1 -1
  154. package/dist/daemon/lifecycle/workerConfig.js.map +1 -1
  155. package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
  156. package/dist/daemon/lifecycle/workerIpc.js +1 -1
  157. package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
  158. package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
  159. package/dist/daemon/server/JsonlParser.js +1 -1
  160. package/dist/daemon/server/JsonlParser.js.map +1 -1
  161. package/dist/daemon/startSession.d.ts.map +1 -1
  162. package/dist/daemon/startSession.js +1 -1
  163. package/dist/daemon/startSession.js.map +1 -1
  164. package/dist/daemon/worker/plugins.js +3 -3
  165. package/dist/daemon/worker/plugins.js.map +1 -1
  166. package/dist/index.js +23 -7
  167. package/dist/index.js.map +1 -1
  168. package/dist/ipc/protocol/messages.d.ts +2 -2
  169. package/dist/ipc/protocol/messages.d.ts.map +1 -1
  170. package/dist/ipc/utils/errors.js +1 -1
  171. package/dist/ipc/utils/errors.js.map +1 -1
  172. package/dist/session/QueryCacheManager.d.ts.map +1 -1
  173. package/dist/session/QueryCacheManager.js +1 -1
  174. package/dist/session/QueryCacheManager.js.map +1 -1
  175. package/dist/session/chrome.js +1 -1
  176. package/dist/session/chrome.js.map +1 -1
  177. package/dist/session/cleanup.js +5 -5
  178. package/dist/session/cleanup.js.map +1 -1
  179. package/dist/session/lock.js +1 -1
  180. package/dist/session/lock.js.map +1 -1
  181. package/dist/session/metadata.d.ts.map +1 -1
  182. package/dist/session/metadata.js +1 -1
  183. package/dist/session/metadata.js.map +1 -1
  184. package/dist/session/pid.js +1 -1
  185. package/dist/session/pid.js.map +1 -1
  186. package/dist/telemetry/dom.d.ts.map +1 -1
  187. package/dist/telemetry/dom.js +1 -1
  188. package/dist/telemetry/dom.js.map +1 -1
  189. package/dist/telemetry/filterPresets.d.ts.map +1 -1
  190. package/dist/telemetry/filterPresets.js +5 -2
  191. package/dist/telemetry/filterPresets.js.map +1 -1
  192. package/dist/telemetry/network.d.ts.map +1 -1
  193. package/dist/telemetry/network.js +1 -1
  194. package/dist/telemetry/network.js.map +1 -1
  195. package/dist/types.d.ts +217 -1
  196. package/dist/types.d.ts.map +1 -1
  197. package/dist/types.js +33 -1
  198. package/dist/types.js.map +1 -1
  199. package/dist/ui/OutputBuilder.d.ts +2 -44
  200. package/dist/ui/OutputBuilder.d.ts.map +1 -1
  201. package/dist/ui/OutputBuilder.js +71 -103
  202. package/dist/ui/OutputBuilder.js.map +1 -1
  203. package/dist/ui/errors/CommandError.d.ts +0 -2
  204. package/dist/ui/errors/CommandError.d.ts.map +1 -1
  205. package/dist/ui/errors/CommandError.js.map +1 -1
  206. package/dist/ui/formatters/dom.d.ts +8 -19
  207. package/dist/ui/formatters/dom.d.ts.map +1 -1
  208. package/dist/ui/formatters/dom.js +12 -68
  209. package/dist/ui/formatters/dom.js.map +1 -1
  210. package/dist/ui/formatters/form.d.ts +15 -0
  211. package/dist/ui/formatters/form.d.ts.map +1 -0
  212. package/dist/ui/formatters/form.js +314 -0
  213. package/dist/ui/formatters/form.js.map +1 -0
  214. package/dist/ui/logging/logger.d.ts +1 -1
  215. package/dist/ui/logging/logger.d.ts.map +1 -1
  216. package/dist/ui/logging/logger.js +1 -1
  217. package/dist/ui/logging/logger.js.map +1 -1
  218. package/dist/ui/messages/dom.d.ts +14 -0
  219. package/dist/ui/messages/dom.d.ts.map +1 -0
  220. package/dist/ui/messages/dom.js +28 -0
  221. package/dist/ui/messages/dom.js.map +1 -0
  222. package/dist/ui/messages/errors.d.ts +122 -10
  223. package/dist/ui/messages/errors.d.ts.map +1 -1
  224. package/dist/ui/messages/errors.js +280 -11
  225. package/dist/ui/messages/errors.js.map +1 -1
  226. package/dist/utils/__tests__/shellDetection.unit.test.d.ts +12 -0
  227. package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +1 -0
  228. package/dist/utils/__tests__/shellDetection.unit.test.js +220 -0
  229. package/dist/utils/__tests__/shellDetection.unit.test.js.map +1 -0
  230. package/dist/utils/async.d.ts +10 -0
  231. package/dist/utils/async.d.ts.map +1 -0
  232. package/dist/utils/async.js +12 -0
  233. package/dist/utils/async.js.map +1 -0
  234. package/dist/utils/atomicFile.js +1 -1
  235. package/dist/utils/atomicFile.js.map +1 -1
  236. package/dist/utils/decisionTrees.d.ts.map +1 -1
  237. package/dist/utils/decisionTrees.js +5 -0
  238. package/dist/utils/decisionTrees.js.map +1 -1
  239. package/dist/utils/errorMapping.d.ts.map +1 -1
  240. package/dist/utils/errorMapping.js +4 -1
  241. package/dist/utils/errorMapping.js.map +1 -1
  242. package/dist/utils/exitCodes.d.ts +18 -17
  243. package/dist/utils/exitCodes.d.ts.map +1 -1
  244. package/dist/utils/exitCodes.js +97 -17
  245. package/dist/utils/exitCodes.js.map +1 -1
  246. package/dist/utils/shellDetection.d.ts +34 -0
  247. package/dist/utils/shellDetection.d.ts.map +1 -0
  248. package/dist/utils/shellDetection.js +94 -0
  249. package/dist/utils/shellDetection.js.map +1 -0
  250. package/dist/utils/suggestions.d.ts +19 -0
  251. package/dist/utils/suggestions.d.ts.map +1 -0
  252. package/dist/utils/suggestions.js +34 -0
  253. package/dist/utils/suggestions.js.map +1 -0
  254. package/dist/utils/taskMappings.d.ts.map +1 -1
  255. package/dist/utils/taskMappings.js +40 -0
  256. package/dist/utils/taskMappings.js.map +1 -1
  257. package/dist/utils/url.d.ts.map +1 -1
  258. package/dist/utils/url.js +14 -0
  259. package/dist/utils/url.js.map +1 -1
  260. package/package.json +5 -5
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Behavioral metadata registry for self-documenting CLI options.
3
+ *
4
+ * Maps option flags to rich behavioral context that helps agents
5
+ * understand option effects without trial-and-error or source inspection.
6
+ *
7
+ * @see docs/principles/SELF_DOCUMENTING_SYSTEMS.md
8
+ */
9
+ import { MAX_EDGE_PX, PIXELS_PER_TOKEN, TALL_PAGE_THRESHOLD, } from '../commands/dom/screenshotResize.js';
10
+ /**
11
+ * Behavioral metadata registry.
12
+ *
13
+ * Keyed by "command:flag" to support same flag names across different commands.
14
+ */
15
+ const OPTION_BEHAVIORS = {
16
+ 'screenshot:--no-resize': {
17
+ default: `Images auto-resized to max ${MAX_EDGE_PX}px longest edge for Claude Vision optimization (~1,600 tokens)`,
18
+ whenDisabled: `Full resolution capture preserved (may use 10,000+ tokens for large pages)`,
19
+ automaticBehavior: `Pages taller than ${TALL_PAGE_THRESHOLD}:1 aspect ratio automatically use viewport-only capture to prevent unreadable scaled text`,
20
+ tokenImpact: `Formula: tokens = (width × height) / ${PIXELS_PER_TOKEN}. Default resize targets ~1,600 tokens.`,
21
+ },
22
+ 'screenshot:--no-full-page': {
23
+ default: 'Captures full scrollable page content',
24
+ whenEnabled: 'Captures only visible viewport area',
25
+ automaticBehavior: `Pages taller than ${TALL_PAGE_THRESHOLD}:1 aspect ratio automatically fallback to viewport capture even without this flag`,
26
+ },
27
+ 'screenshot:--scroll': {
28
+ whenEnabled: 'Scrolls specified element into view, then captures viewport only (implies --no-full-page)',
29
+ automaticBehavior: 'When used with tall pages, prevents the automatic viewport fallback message since scroll is an explicit user choice',
30
+ },
31
+ 'screenshot:--format': {
32
+ default: 'PNG format (lossless, larger file size)',
33
+ whenEnabled: 'JPEG format available for smaller files with quality trade-off',
34
+ },
35
+ 'screenshot:--quality': {
36
+ default: 'JPEG quality 90 (good balance of quality and size)',
37
+ whenEnabled: 'Lower values reduce file size but increase compression artifacts',
38
+ },
39
+ 'get:--raw': {
40
+ default: 'Returns semantic accessibility structure: [Role] "Name" (properties) - 70-99% token reduction',
41
+ whenEnabled: 'Returns full HTML with all attributes and classes',
42
+ tokenImpact: 'Semantic output uses 70-99% fewer tokens than raw HTML. Use --raw only when you need exact HTML structure.',
43
+ },
44
+ 'get:--all': {
45
+ default: 'Returns first matching element only',
46
+ whenEnabled: 'Returns all matching elements (only works with --raw)',
47
+ },
48
+ 'get:--nth': {
49
+ default: 'Returns first matching element',
50
+ whenEnabled: 'Returns the nth matching element (1-based index, only works with --raw)',
51
+ },
52
+ 'console:-H': {
53
+ default: 'Shows messages from current page load only (most recent navigation)',
54
+ whenEnabled: 'Shows messages from ALL page loads during the session',
55
+ automaticBehavior: 'Page navigations create new "navigation contexts" - default filters to latest context',
56
+ },
57
+ 'console:--history': {
58
+ default: 'Shows messages from current page load only (most recent navigation)',
59
+ whenEnabled: 'Shows messages from ALL page loads during the session',
60
+ automaticBehavior: 'Page navigations create new "navigation contexts" - default filters to latest context',
61
+ },
62
+ 'console:-l': {
63
+ default: 'Smart summary with errors deduplicated and warnings grouped',
64
+ whenEnabled: 'Lists all messages chronologically without deduplication',
65
+ },
66
+ 'console:--list': {
67
+ default: 'Smart summary with errors deduplicated and warnings grouped',
68
+ whenEnabled: 'Lists all messages chronologically without deduplication',
69
+ },
70
+ 'console:--level': {
71
+ default: 'Shows all log levels (error, warning, log, info, debug)',
72
+ whenEnabled: 'Filters to specific level: error, warning, log, info, or debug',
73
+ },
74
+ 'fill:--no-wait': {
75
+ default: 'Waits for network stability after filling input (200ms idle)',
76
+ whenDisabled: 'Returns immediately without waiting for network',
77
+ automaticBehavior: 'Network wait helps ensure React/Vue state updates complete before next action',
78
+ },
79
+ 'fill:--no-blur': {
80
+ default: 'Triggers blur event after filling (validates most form fields)',
81
+ whenDisabled: 'Keeps focus on element after filling',
82
+ automaticBehavior: 'Blur triggers validation in most frameworks - disable only if you need to continue typing',
83
+ },
84
+ 'click:--no-wait': {
85
+ default: 'Waits for network stability after click (200ms idle)',
86
+ whenDisabled: 'Returns immediately without waiting for network',
87
+ automaticBehavior: 'Network wait helps ensure AJAX requests triggered by click complete',
88
+ },
89
+ 'pressKey:--no-wait': {
90
+ default: 'Waits for network stability after key press (200ms idle)',
91
+ whenDisabled: 'Returns immediately without waiting for network',
92
+ },
93
+ 'pressKey:--times': {
94
+ default: 'Presses key once',
95
+ whenEnabled: 'Presses key N times (useful for ArrowDown in autocomplete, Tab navigation)',
96
+ },
97
+ 'pressKey:--modifiers': {
98
+ whenEnabled: 'Adds modifier keys: shift, ctrl, alt, meta (comma-separated). Example: --modifiers ctrl for Ctrl+key',
99
+ },
100
+ 'submit:--wait-navigation': {
101
+ default: 'Waits for network stability only',
102
+ whenEnabled: 'Waits for page navigation to complete (use for forms that redirect)',
103
+ },
104
+ 'submit:--wait-network': {
105
+ default: 'Default network idle timeout',
106
+ whenEnabled: 'Custom network idle timeout in ms (use for slow APIs)',
107
+ },
108
+ 'form:--all': {
109
+ default: 'Shows primary form (highest relevance), mentions others exist',
110
+ whenEnabled: 'Expands all forms on the page with full details',
111
+ automaticBehavior: 'Forms in header/nav/aside score lower; forms with submit buttons score higher',
112
+ tokenImpact: 'Multi-form pages may have 3-5 forms; potentially 10x more output',
113
+ },
114
+ 'form:--brief': {
115
+ default: 'Full form details with values, validation, and ready-to-use commands',
116
+ whenEnabled: 'Quick scan: field names, types, and required status only',
117
+ tokenImpact: 'Reduces output ~50% for initial discovery',
118
+ },
119
+ 'peek:--type': {
120
+ whenEnabled: 'Filters network requests by CDP resource type. Case-insensitive, comma-separated. Valid: Document, Stylesheet, Image, Media, Font, Script, XHR, Fetch, WebSocket, etc.',
121
+ },
122
+ 'peek:-f': {
123
+ default: 'Shows snapshot of current data',
124
+ whenEnabled: 'Continuous monitoring - refreshes every second (like tail -f)',
125
+ },
126
+ 'peek:--follow': {
127
+ default: 'Shows snapshot of current data',
128
+ whenEnabled: 'Continuous monitoring - refreshes every second (like tail -f)',
129
+ },
130
+ 'peek:-v': {
131
+ default: 'Compact output (truncated URLs, no resource types)',
132
+ whenEnabled: 'Verbose output with full URLs and resource types',
133
+ },
134
+ 'peek:--verbose': {
135
+ default: 'Compact output (truncated URLs, no resource types)',
136
+ whenEnabled: 'Verbose output with full URLs and resource types',
137
+ },
138
+ 'peek:--dom': {
139
+ automaticBehavior: 'DOM data only available after session stops. During live session shows "(none)".',
140
+ },
141
+ 'cleanup:--force': {
142
+ default: 'Only cleans up if session process is dead',
143
+ whenEnabled: 'Forces cleanup even if session appears active (use when stuck)',
144
+ },
145
+ 'cleanup:--aggressive': {
146
+ whenEnabled: 'Kills ALL Chrome processes on system (uses chrome-launcher killAll). Use with caution!',
147
+ },
148
+ 'stop:--kill-chrome': {
149
+ default: 'Stops session but leaves Chrome running for potential reconnection',
150
+ whenEnabled: 'Stops session AND terminates the Chrome browser process',
151
+ },
152
+ 'status:-v': {
153
+ default: 'Basic session status (daemon running, session active, URL)',
154
+ whenEnabled: 'Includes Chrome diagnostics and CDP connection details',
155
+ },
156
+ 'status:--verbose': {
157
+ default: 'Basic session status (daemon running, session active, URL)',
158
+ whenEnabled: 'Includes Chrome diagnostics and CDP connection details',
159
+ },
160
+ };
161
+ /**
162
+ * Build behavior registry key from command and flag.
163
+ *
164
+ * @param commandName - Command name (e.g., "screenshot")
165
+ * @param flags - Option flags string (e.g., "--no-resize")
166
+ * @returns Registry key
167
+ */
168
+ function buildKey(commandName, flags) {
169
+ const firstFlag = flags.split(',')[0] ?? flags;
170
+ const flagName = firstFlag.trim().split(' ')[0] ?? firstFlag.trim();
171
+ return `${commandName}:${flagName}`;
172
+ }
173
+ /**
174
+ * Look up behavioral metadata for an option.
175
+ *
176
+ * @param commandName - Name of the command containing the option
177
+ * @param flags - Option flags string from Commander
178
+ * @returns Behavioral metadata if registered, undefined otherwise
179
+ */
180
+ export function getOptionBehavior(commandName, flags) {
181
+ const key = buildKey(commandName, flags);
182
+ return OPTION_BEHAVIORS[key];
183
+ }
184
+ /**
185
+ * Check if an option has registered behavioral metadata.
186
+ *
187
+ * @param commandName - Name of the command containing the option
188
+ * @param flags - Option flags string from Commander
189
+ * @returns True if behavior metadata exists
190
+ */
191
+ export function hasOptionBehavior(commandName, flags) {
192
+ const key = buildKey(commandName, flags);
193
+ return key in OPTION_BEHAVIORS;
194
+ }
195
+ //# sourceMappingURL=optionBehaviors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optionBehaviors.js","sourceRoot":"","sources":["../../src/commands/optionBehaviors.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
- import type { Command } from 'commander';
2
1
  /**
3
- * Register peek command.
4
- *
5
- * @param program - Commander.js Command instance to register commands on
2
+ * Peek command for previewing collected session data.
6
3
  */
4
+ import type { Command } from 'commander';
7
5
  export declare function registerPeekCommand(program: Command): void;
8
6
  //# sourceMappingURL=peek.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"peek.d.ts","sourceRoot":"","sources":["../../src/commands/peek.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4H1D"}
1
+ {"version":3,"file":"peek.d.ts","sourceRoot":"","sources":["../../src/commands/peek.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsIzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmE1D"}
@@ -1,20 +1,96 @@
1
+ /**
2
+ * Peek command for previewing collected session data.
3
+ */
4
+ import { runCommand } from '../commands/shared/CommandRunner.js';
1
5
  import { jsonOption } from '../commands/shared/commonOptions.js';
2
6
  import { handleDaemonConnectionError } from '../commands/shared/daemonErrorHandler.js';
7
+ import { fetchPreviewOutput, createErrorResult, } from '../commands/shared/dataFetcher.js';
3
8
  import { setupFollowMode } from '../commands/shared/followMode.js';
4
9
  import { positiveIntRule, resourceTypeRule } from '../commands/shared/validation.js';
5
- import { getErrorMessage } from '../connection/errors.js';
6
- import { getPeek } from '../ipc/client.js';
7
- import { validateIPCResponse } from '../ipc/index.js';
8
10
  import { filterByResourceType } from '../telemetry/filters.js';
11
+ import { OutputBuilder } from '../ui/OutputBuilder.js';
12
+ import { CommandError } from '../ui/errors/index.js';
9
13
  import { formatPreview } from '../ui/formatters/preview.js';
10
14
  import { followingPreviewMessage, stoppedFollowingPreviewMessage } from '../ui/messages/preview.js';
11
- import { getExitCodeForConnectionError } from '../utils/errorMapping.js';
12
15
  import { EXIT_CODES } from '../utils/exitCodes.js';
13
- /**
14
- * Register peek command.
15
- *
16
- * @param program - Commander.js Command instance to register commands on
17
- */
16
+ function parseOptions(options) {
17
+ const lastN = positiveIntRule({ min: 1, max: 1000, default: 10 }).validate(options.last);
18
+ const resourceTypes = resourceTypeRule().validate(options.type);
19
+ return { lastN, resourceTypes };
20
+ }
21
+ function handleValidationError(error, json) {
22
+ if (error instanceof CommandError) {
23
+ if (json) {
24
+ const errorOptions = {
25
+ exitCode: error.exitCode,
26
+ };
27
+ if (error.metadata.suggestion) {
28
+ errorOptions.suggestion = error.metadata.suggestion;
29
+ }
30
+ console.log(JSON.stringify(OutputBuilder.buildJsonError(error.message, errorOptions)));
31
+ }
32
+ else {
33
+ console.error(error.message);
34
+ if (error.metadata.suggestion)
35
+ console.error(error.metadata.suggestion);
36
+ }
37
+ process.exit(error.exitCode);
38
+ }
39
+ console.error(error instanceof Error ? error.message : String(error));
40
+ process.exit(EXIT_CODES.INVALID_ARGUMENTS);
41
+ }
42
+ async function fetchAndFilterPreview(lastN, resourceTypes) {
43
+ const result = await fetchPreviewOutput(lastN);
44
+ if (!result.success)
45
+ return result;
46
+ const output = result.data;
47
+ const unfilteredNetworkCount = output.data.network?.length ?? 0;
48
+ if (resourceTypes.length === 0) {
49
+ return { success: true, data: { output, unfilteredNetworkCount } };
50
+ }
51
+ const filteredNetwork = output.data.network
52
+ ? filterByResourceType(output.data.network, resourceTypes)
53
+ : undefined;
54
+ const filteredOutput = {
55
+ ...output,
56
+ data: { ...output.data, ...(filteredNetwork && { network: filteredNetwork }) },
57
+ };
58
+ return { success: true, data: { output: filteredOutput, unfilteredNetworkCount } };
59
+ }
60
+ function createPreviewOptions(base, resourceTypes, unfilteredCount) {
61
+ const options = { ...base };
62
+ if (base.follow)
63
+ options.viewedAt = new Date();
64
+ if (resourceTypes.length > 0) {
65
+ options.filteredTypes = resourceTypes;
66
+ options.unfilteredNetworkCount = unfilteredCount;
67
+ }
68
+ return options;
69
+ }
70
+ async function runFollowMode(options, lastN, resourceTypes, baseOptions) {
71
+ const showPreview = async () => {
72
+ const result = await fetchAndFilterPreview(lastN, resourceTypes);
73
+ if (!result.success) {
74
+ const errorResult = handleDaemonConnectionError(result.error, {
75
+ json: options.json,
76
+ follow: true,
77
+ retryIntervalMs: 1000,
78
+ exitCode: result.exitCode,
79
+ });
80
+ if (errorResult.shouldExit)
81
+ process.exit(errorResult.exitCode);
82
+ return;
83
+ }
84
+ console.clear();
85
+ const previewOptions = createPreviewOptions(baseOptions, resourceTypes, result.data.unfilteredNetworkCount);
86
+ console.log(formatPreview(result.data.output, previewOptions));
87
+ };
88
+ await setupFollowMode(showPreview, {
89
+ startMessage: followingPreviewMessage,
90
+ stopMessage: stoppedFollowingPreviewMessage,
91
+ intervalMs: 1000,
92
+ });
93
+ }
18
94
  export function registerPeekCommand(program) {
19
95
  program
20
96
  .command('peek')
@@ -28,15 +104,20 @@ export function registerPeekCommand(program) {
28
104
  .option('--last <count>', 'Show last N items (default: 10)', '10')
29
105
  .option('--type <types>', 'Filter network requests by resource type (comma-separated: Document,XHR,Fetch,etc.)')
30
106
  .action(async (options) => {
31
- // Deprecation warning for --network flag
32
107
  if (options.network && !options.json) {
33
108
  console.error('Note: "bdg peek --network" is deprecated. Use "bdg network list" for enhanced filtering.');
34
109
  }
35
- const lastRule = positiveIntRule({ min: 1, max: 1000, default: 10 });
36
- const lastN = lastRule.validate(options.last);
37
- const typeRule = resourceTypeRule();
38
- const resourceTypes = typeRule.validate(options.type);
39
- const previewBase = {
110
+ let lastN;
111
+ let resourceTypes;
112
+ try {
113
+ const parsed = parseOptions(options);
114
+ lastN = parsed.lastN;
115
+ resourceTypes = parsed.resourceTypes;
116
+ }
117
+ catch (error) {
118
+ handleValidationError(error, options.json ?? false);
119
+ }
120
+ const baseOptions = {
40
121
  json: options.json,
41
122
  network: options.network,
42
123
  console: options.console,
@@ -45,85 +126,20 @@ export function registerPeekCommand(program) {
45
126
  verbose: options.verbose,
46
127
  follow: options.follow,
47
128
  };
48
- const showPreview = async () => {
49
- try {
50
- // Pass lastN to worker so it returns the appropriate number of items
51
- const response = await getPeek({ lastN });
52
- try {
53
- validateIPCResponse(response);
54
- }
55
- catch (validationError) {
56
- const errorMsg = getErrorMessage(validationError);
57
- const exitCode = getExitCodeForConnectionError(errorMsg);
58
- const result = handleDaemonConnectionError(errorMsg, {
59
- json: options.json,
60
- follow: options.follow,
61
- retryIntervalMs: 1000,
62
- exitCode,
63
- });
64
- if (result.shouldExit) {
65
- process.exit(result.exitCode);
66
- }
67
- return;
68
- }
69
- const output = response.data?.preview;
70
- if (!output) {
71
- const result = handleDaemonConnectionError('No preview data in response', {
72
- json: options.json,
73
- follow: options.follow,
74
- retryIntervalMs: 1000,
75
- exitCode: EXIT_CODES.SESSION_FILE_ERROR,
76
- });
77
- if (result.shouldExit) {
78
- process.exit(result.exitCode);
79
- }
80
- return;
81
- }
82
- if (options.follow) {
83
- console.clear();
84
- }
85
- const unfilteredNetworkCount = output.data.network?.length ?? 0;
86
- const filteredNetwork = output.data.network
87
- ? filterByResourceType(output.data.network, resourceTypes)
88
- : undefined;
89
- const previewOptions = {
90
- ...previewBase,
91
- ...(previewBase.follow && { viewedAt: new Date() }),
92
- ...(resourceTypes.length > 0 && {
93
- filteredTypes: resourceTypes,
94
- unfilteredNetworkCount,
95
- }),
96
- };
97
- const filteredOutput = {
98
- ...output,
99
- data: {
100
- ...output.data,
101
- ...(filteredNetwork !== undefined && { network: filteredNetwork }),
102
- },
103
- };
104
- console.log(formatPreview(filteredOutput, previewOptions));
105
- }
106
- catch {
107
- const result = handleDaemonConnectionError('Daemon not running', {
108
- json: options.json,
109
- follow: options.follow,
110
- retryIntervalMs: 1000,
111
- });
112
- if (result.shouldExit) {
113
- process.exit(result.exitCode);
114
- }
115
- }
116
- };
117
129
  if (options.follow) {
118
- await setupFollowMode(showPreview, {
119
- startMessage: followingPreviewMessage,
120
- stopMessage: stoppedFollowingPreviewMessage,
121
- intervalMs: 1000,
122
- });
123
- }
124
- else {
125
- await showPreview();
130
+ await runFollowMode(options, lastN, resourceTypes, baseOptions);
131
+ return;
126
132
  }
133
+ await runCommand(async () => {
134
+ const result = await fetchAndFilterPreview(lastN, resourceTypes);
135
+ if (!result.success) {
136
+ return createErrorResult(result.error, result.exitCode);
137
+ }
138
+ return { success: true, data: result.data.output };
139
+ }, options, (output) => {
140
+ const previewOptions = createPreviewOptions(baseOptions, resourceTypes, output.data.network?.length ?? 0);
141
+ return formatPreview(output, previewOptions);
142
+ });
127
143
  });
128
144
  }
129
145
  //# sourceMappingURL=peek.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peek.js","sourceRoot":"","sources":["../../src/commands/peek.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peek.js","sourceRoot":"","sources":["../../src/commands/peek.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { getErrorMessage } from '../../connection/errors.js';
2
1
  import { OutputBuilder } from '../../ui/OutputBuilder.js';
3
2
  import { CommandError, isDaemonConnectionError } from '../../ui/errors/index.js';
4
3
  import { daemonNotRunningError, unknownError, genericError } from '../../ui/messages/errors.js';
4
+ import { getErrorMessage } from '../../utils/errors.js';
5
5
  import { EXIT_CODES } from '../../utils/exitCodes.js';
6
6
  /**
7
7
  * Execute an async function and output JSON result with proper error handling.
@@ -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":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,EAAoB;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GACZ,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAqCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAA0C,EAC1C,OAAiB,EACjB,SAAqC;IAErC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,SAAS,GAA4B;oBACzC,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACnE,GAAG,MAAM,CAAC,YAAY;iBACvB,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,SAAS,CAAC,EACxE,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC1E,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACnE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;wBACvD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;4BAC1C,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC3E,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,IAAe,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACrF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,aAAa,CAAC,cAAc,CAAC,oBAAoB,EAAE;oBACjD,UAAU,EAAE,0BAA0B;iBACvC,CAAC,EACF,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Shared data fetching utilities for commands that query daemon state.
3
+ */
4
+ import type { BdgOutput, ConsoleMessage, NetworkRequest } from '../../types.js';
5
+ export type FetchSuccess<T> = {
6
+ success: true;
7
+ data: T;
8
+ };
9
+ export type FetchError = {
10
+ success: false;
11
+ error: string;
12
+ exitCode: number;
13
+ };
14
+ export type FetchResult<T> = FetchSuccess<T> | FetchError;
15
+ interface PreviewData {
16
+ output: BdgOutput;
17
+ network: NetworkRequest[];
18
+ console: ConsoleMessage[];
19
+ }
20
+ /**
21
+ * Fetch raw preview output from daemon.
22
+ */
23
+ export declare function fetchPreviewOutput(lastN?: number): Promise<FetchResult<BdgOutput>>;
24
+ /**
25
+ * Fetch preview data with parsed network and console arrays.
26
+ */
27
+ export declare function fetchPreviewData(lastN?: number): Promise<FetchResult<PreviewData>>;
28
+ /**
29
+ * Fetch network requests from daemon.
30
+ */
31
+ export declare function fetchNetworkRequests(): Promise<FetchResult<NetworkRequest[]>>;
32
+ /**
33
+ * Fetch console messages from daemon.
34
+ */
35
+ export declare function fetchConsoleMessages(): Promise<FetchResult<ConsoleMessage[]>>;
36
+ /**
37
+ * Create error result for daemon not running.
38
+ */
39
+ export declare function createDaemonNotRunningError(): FetchError;
40
+ interface ErrorResult {
41
+ success: false;
42
+ error: string;
43
+ exitCode: number;
44
+ errorContext: {
45
+ suggestion: string;
46
+ };
47
+ }
48
+ /**
49
+ * Create command result with suggestion.
50
+ *
51
+ * @param error - Error message
52
+ * @param exitCode - Exit code for the error
53
+ * @param suggestion - Suggestion text for the user
54
+ * @returns Error result object
55
+ */
56
+ export declare function createErrorResult(error: string, exitCode: number, suggestion?: string): ErrorResult;
57
+ export {};
58
+ //# sourceMappingURL=dataFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/dataFetcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQ5E,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAE1D,UAAU,WAAW;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAyBxF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAYxF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAInF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,UAAU,CAMxD;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,UAAU,SAAoC,GAC7C,WAAW,CAOb"}