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.
- package/README.md +10 -0
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js +72 -16
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.js +1 -1
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts +4 -28
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +81 -187
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +8 -0
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/DomElementResolver.d.ts +2 -2
- package/dist/commands/dom/DomElementResolver.d.ts.map +1 -1
- package/dist/commands/dom/DomElementResolver.js +34 -13
- package/dist/commands/dom/DomElementResolver.js.map +1 -1
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts +2 -0
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.d.ts.map +1 -0
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.js +184 -0
- package/dist/commands/dom/__tests__/screenshotResize.unit.test.js.map +1 -0
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +14 -10
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +10 -7
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/form.d.ts +14 -0
- package/dist/commands/dom/form.d.ts.map +1 -0
- package/dist/commands/dom/form.js +439 -0
- package/dist/commands/dom/form.js.map +1 -0
- package/dist/commands/dom/formDiscovery.d.ts +26 -0
- package/dist/commands/dom/formDiscovery.d.ts.map +1 -0
- package/dist/commands/dom/formDiscovery.js +476 -0
- package/dist/commands/dom/formDiscovery.js.map +1 -0
- package/dist/commands/dom/formFillHelpers.d.ts +2 -1
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +54 -24
- package/dist/commands/dom/formFillHelpers.js.map +1 -1
- package/dist/commands/dom/formInteraction.d.ts.map +1 -1
- package/dist/commands/dom/formInteraction.js +26 -10
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts +2 -1
- package/dist/commands/dom/formSubmitHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formSubmitHelpers.js.map +1 -1
- package/dist/commands/dom/formTypes.d.ts +75 -0
- package/dist/commands/dom/formTypes.d.ts.map +1 -0
- package/dist/commands/dom/formTypes.js +7 -0
- package/dist/commands/dom/formTypes.js.map +1 -0
- package/dist/commands/dom/helpers.d.ts +11 -4
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +324 -40
- package/dist/commands/dom/helpers.js.map +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -1
- package/dist/commands/dom/index.js +17 -5
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +4 -4
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +11 -11
- package/dist/commands/dom/screenshotResize.d.ts +81 -0
- package/dist/commands/dom/screenshotResize.d.ts.map +1 -0
- package/dist/commands/dom/screenshotResize.js +103 -0
- package/dist/commands/dom/screenshotResize.js.map +1 -0
- package/dist/commands/helpJson.d.ts +20 -0
- package/dist/commands/helpJson.d.ts.map +1 -1
- package/dist/commands/helpJson.js +21 -29
- package/dist/commands/helpJson.js.map +1 -1
- package/dist/commands/network/har.d.ts.map +1 -1
- package/dist/commands/network/har.js +3 -2
- package/dist/commands/network/har.js.map +1 -1
- package/dist/commands/network/list.d.ts +0 -8
- package/dist/commands/network/list.d.ts.map +1 -1
- package/dist/commands/network/list.js +131 -201
- package/dist/commands/network/list.js.map +1 -1
- package/dist/commands/network/shared.d.ts.map +1 -1
- package/dist/commands/network/shared.js +6 -0
- package/dist/commands/network/shared.js.map +1 -1
- package/dist/commands/optionBehaviors.d.ts +26 -0
- package/dist/commands/optionBehaviors.d.ts.map +1 -0
- package/dist/commands/optionBehaviors.js +195 -0
- package/dist/commands/optionBehaviors.js.map +1 -0
- package/dist/commands/peek.d.ts +2 -4
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +108 -92
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.js +1 -1
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/dataFetcher.d.ts +58 -0
- package/dist/commands/shared/dataFetcher.d.ts.map +1 -0
- package/dist/commands/shared/dataFetcher.js +98 -0
- package/dist/commands/shared/dataFetcher.js.map +1 -0
- package/dist/commands/shared/optionTypes.d.ts +8 -4
- package/dist/commands/shared/optionTypes.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +6 -5
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/shared/validation.d.ts +0 -45
- package/dist/commands/shared/validation.d.ts.map +1 -1
- package/dist/commands/shared/validation.js +65 -107
- package/dist/commands/shared/validation.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +13 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +15 -4
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts +2 -7
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +61 -64
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/cdp.d.ts.map +1 -1
- package/dist/connection/cdp.js +5 -3
- package/dist/connection/cdp.js.map +1 -1
- package/dist/connection/diagnostics.js +1 -1
- package/dist/connection/diagnostics.js.map +1 -1
- package/dist/connection/errors.d.ts +0 -7
- package/dist/connection/errors.d.ts.map +1 -1
- package/dist/connection/errors.js +0 -7
- package/dist/connection/errors.js.map +1 -1
- package/dist/connection/launcher/binaryResolver.d.ts.map +1 -1
- package/dist/connection/launcher/binaryResolver.js +2 -1
- package/dist/connection/launcher/binaryResolver.js.map +1 -1
- package/dist/connection/launcher/preferencesLoader.d.ts.map +1 -1
- package/dist/connection/launcher/preferencesLoader.js +2 -1
- package/dist/connection/launcher/preferencesLoader.js.map +1 -1
- package/dist/connection/launcher.d.ts.map +1 -1
- package/dist/connection/launcher.js +2 -1
- package/dist/connection/launcher.js.map +1 -1
- package/dist/connection/pageReadiness.d.ts.map +1 -1
- package/dist/connection/pageReadiness.js +2 -9
- package/dist/connection/pageReadiness.js.map +1 -1
- package/dist/daemon/handlers/BaseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/BaseHandler.js +1 -1
- package/dist/daemon/handlers/BaseHandler.js.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/QueryHandlers.js +1 -1
- package/dist/daemon/handlers/QueryHandlers.js.map +1 -1
- package/dist/daemon/handlers/SessionHandlers.d.ts.map +1 -1
- package/dist/daemon/handlers/SessionHandlers.js +1 -1
- package/dist/daemon/handlers/SessionHandlers.js.map +1 -1
- package/dist/daemon/ipcServer.js +1 -1
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/launcher.d.ts.map +1 -1
- package/dist/daemon/launcher.js +3 -2
- package/dist/daemon/launcher.js.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.js +4 -3
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
- package/dist/daemon/lifecycle/workerConfig.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerConfig.js +1 -1
- package/dist/daemon/lifecycle/workerConfig.js.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerIpc.js +1 -1
- package/dist/daemon/lifecycle/workerIpc.js.map +1 -1
- package/dist/daemon/server/JsonlParser.d.ts.map +1 -1
- package/dist/daemon/server/JsonlParser.js +1 -1
- package/dist/daemon/server/JsonlParser.js.map +1 -1
- package/dist/daemon/startSession.d.ts.map +1 -1
- package/dist/daemon/startSession.js +1 -1
- package/dist/daemon/startSession.js.map +1 -1
- package/dist/daemon/worker/plugins.js +3 -3
- package/dist/daemon/worker/plugins.js.map +1 -1
- package/dist/index.js +23 -7
- package/dist/index.js.map +1 -1
- package/dist/ipc/protocol/messages.d.ts +2 -2
- package/dist/ipc/protocol/messages.d.ts.map +1 -1
- package/dist/ipc/utils/errors.js +1 -1
- package/dist/ipc/utils/errors.js.map +1 -1
- package/dist/session/QueryCacheManager.d.ts.map +1 -1
- package/dist/session/QueryCacheManager.js +1 -1
- package/dist/session/QueryCacheManager.js.map +1 -1
- package/dist/session/chrome.js +1 -1
- package/dist/session/chrome.js.map +1 -1
- package/dist/session/cleanup.js +5 -5
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/lock.js +1 -1
- package/dist/session/lock.js.map +1 -1
- package/dist/session/metadata.d.ts.map +1 -1
- package/dist/session/metadata.js +1 -1
- package/dist/session/metadata.js.map +1 -1
- package/dist/session/pid.js +1 -1
- package/dist/session/pid.js.map +1 -1
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +1 -1
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filterPresets.d.ts.map +1 -1
- package/dist/telemetry/filterPresets.js +5 -2
- package/dist/telemetry/filterPresets.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +1 -1
- package/dist/telemetry/network.js.map +1 -1
- package/dist/types.d.ts +217 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +33 -1
- package/dist/types.js.map +1 -1
- package/dist/ui/OutputBuilder.d.ts +2 -44
- package/dist/ui/OutputBuilder.d.ts.map +1 -1
- package/dist/ui/OutputBuilder.js +71 -103
- package/dist/ui/OutputBuilder.js.map +1 -1
- package/dist/ui/errors/CommandError.d.ts +0 -2
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts +8 -19
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +12 -68
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/form.d.ts +15 -0
- package/dist/ui/formatters/form.d.ts.map +1 -0
- package/dist/ui/formatters/form.js +314 -0
- package/dist/ui/formatters/form.js.map +1 -0
- package/dist/ui/logging/logger.d.ts +1 -1
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js +1 -1
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/dom.d.ts +14 -0
- package/dist/ui/messages/dom.d.ts.map +1 -0
- package/dist/ui/messages/dom.js +28 -0
- package/dist/ui/messages/dom.js.map +1 -0
- package/dist/ui/messages/errors.d.ts +122 -10
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +280 -11
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/utils/__tests__/shellDetection.unit.test.d.ts +12 -0
- package/dist/utils/__tests__/shellDetection.unit.test.d.ts.map +1 -0
- package/dist/utils/__tests__/shellDetection.unit.test.js +220 -0
- package/dist/utils/__tests__/shellDetection.unit.test.js.map +1 -0
- package/dist/utils/async.d.ts +10 -0
- package/dist/utils/async.d.ts.map +1 -0
- package/dist/utils/async.js +12 -0
- package/dist/utils/async.js.map +1 -0
- package/dist/utils/atomicFile.js +1 -1
- package/dist/utils/atomicFile.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts.map +1 -1
- package/dist/utils/decisionTrees.js +5 -0
- package/dist/utils/decisionTrees.js.map +1 -1
- package/dist/utils/errorMapping.d.ts.map +1 -1
- package/dist/utils/errorMapping.js +4 -1
- package/dist/utils/errorMapping.js.map +1 -1
- package/dist/utils/exitCodes.d.ts +18 -17
- package/dist/utils/exitCodes.d.ts.map +1 -1
- package/dist/utils/exitCodes.js +97 -17
- package/dist/utils/exitCodes.js.map +1 -1
- package/dist/utils/shellDetection.d.ts +34 -0
- package/dist/utils/shellDetection.d.ts.map +1 -0
- package/dist/utils/shellDetection.js +94 -0
- package/dist/utils/shellDetection.js.map +1 -0
- package/dist/utils/suggestions.d.ts +19 -0
- package/dist/utils/suggestions.d.ts.map +1 -0
- package/dist/utils/suggestions.js +34 -0
- package/dist/utils/suggestions.js.map +1 -0
- package/dist/utils/taskMappings.d.ts.map +1 -1
- package/dist/utils/taskMappings.js +40 -0
- package/dist/utils/taskMappings.js.map +1 -1
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +14 -0
- package/dist/utils/url.js.map +1 -1
- 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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"}
|
package/dist/commands/peek.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type { Command } from 'commander';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
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;
|
|
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"}
|
package/dist/commands/peek.js
CHANGED
|
@@ -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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
|
119
|
-
|
|
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":"
|
|
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":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CommandRunner.js","sourceRoot":"","sources":["../../../src/commands/shared/CommandRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|