browser-debugger-cli 0.0.1-alpha.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 (58) hide show
  1. package/README.md +85 -0
  2. package/dist/collectors/console.d.ts +17 -0
  3. package/dist/collectors/console.d.ts.map +1 -0
  4. package/dist/collectors/console.js +65 -0
  5. package/dist/collectors/console.js.map +1 -0
  6. package/dist/collectors/dom.d.ts +21 -0
  7. package/dist/collectors/dom.d.ts.map +1 -0
  8. package/dist/collectors/dom.js +88 -0
  9. package/dist/collectors/dom.js.map +1 -0
  10. package/dist/collectors/network.d.ts +19 -0
  11. package/dist/collectors/network.d.ts.map +1 -0
  12. package/dist/collectors/network.js +114 -0
  13. package/dist/collectors/network.js.map +1 -0
  14. package/dist/connection/cdp.d.ts +99 -0
  15. package/dist/connection/cdp.d.ts.map +1 -0
  16. package/dist/connection/cdp.js +317 -0
  17. package/dist/connection/cdp.js.map +1 -0
  18. package/dist/connection/finder.d.ts +11 -0
  19. package/dist/connection/finder.d.ts.map +1 -0
  20. package/dist/connection/finder.js +23 -0
  21. package/dist/connection/finder.js.map +1 -0
  22. package/dist/connection/launcher.d.ts +30 -0
  23. package/dist/connection/launcher.d.ts.map +1 -0
  24. package/dist/connection/launcher.js +134 -0
  25. package/dist/connection/launcher.js.map +1 -0
  26. package/dist/connection/tabs.d.ts +49 -0
  27. package/dist/connection/tabs.d.ts.map +1 -0
  28. package/dist/connection/tabs.js +216 -0
  29. package/dist/connection/tabs.js.map +1 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +431 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/session/BdgSession.d.ts +62 -0
  35. package/dist/session/BdgSession.d.ts.map +1 -0
  36. package/dist/session/BdgSession.js +172 -0
  37. package/dist/session/BdgSession.js.map +1 -0
  38. package/dist/types.d.ts +159 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +2 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/utils/pageLoad.d.ts +21 -0
  43. package/dist/utils/pageLoad.d.ts.map +1 -0
  44. package/dist/utils/pageLoad.js +85 -0
  45. package/dist/utils/pageLoad.js.map +1 -0
  46. package/dist/utils/session.d.ts +104 -0
  47. package/dist/utils/session.d.ts.map +1 -0
  48. package/dist/utils/session.js +244 -0
  49. package/dist/utils/session.js.map +1 -0
  50. package/dist/utils/url.d.ts +6 -0
  51. package/dist/utils/url.d.ts.map +1 -0
  52. package/dist/utils/url.js +11 -0
  53. package/dist/utils/url.js.map +1 -0
  54. package/dist/utils/validation.d.ts +12 -0
  55. package/dist/utils/validation.d.ts.map +1 -0
  56. package/dist/utils/validation.js +20 -0
  57. package/dist/utils/validation.js.map +1 -0
  58. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { CDPConnection } from '../connection/cdp.js';
2
+ import { CDPTarget, CollectorType, BdgOutput } from '../types.js';
3
+ /**
4
+ * Manages a browser debugging session.
5
+ *
6
+ * Encapsulates the lifecycle of collecting telemetry from a browser tab:
7
+ * - CDP connection management
8
+ * - Collector initialization and cleanup
9
+ * - Data aggregation
10
+ * - Graceful shutdown with final snapshot
11
+ */
12
+ export declare class BdgSession {
13
+ private target;
14
+ private port;
15
+ private cdp;
16
+ private collectors;
17
+ private startTime;
18
+ private isActive;
19
+ private networkRequests;
20
+ private consoleLogs;
21
+ private activeCollectors;
22
+ constructor(target: CDPTarget, port: number);
23
+ connect(): Promise<void>;
24
+ /**
25
+ * Start a specific data collector.
26
+ *
27
+ * @param type - Type of collector to start ('dom', 'network', or 'console')
28
+ * @throws Error if session is not active
29
+ */
30
+ startCollector(type: CollectorType): Promise<void>;
31
+ /**
32
+ * Stop the session and return collected telemetry.
33
+ *
34
+ * Captures final DOM snapshot, aggregates all collected data,
35
+ * and performs cleanup of CDP connection and collectors.
36
+ *
37
+ * @returns Complete telemetry output with success/error status
38
+ * @throws Error if session is not active
39
+ */
40
+ stop(): Promise<BdgOutput>;
41
+ /**
42
+ * Check if the session is active and connected.
43
+ *
44
+ * @returns True if session is active and CDP connection is open
45
+ */
46
+ isConnected(): boolean;
47
+ /**
48
+ * Get the CDP target information for this session.
49
+ *
50
+ * @returns Target information (URL, title, ID, etc.)
51
+ */
52
+ getTarget(): CDPTarget;
53
+ /**
54
+ * Get the CDP connection instance.
55
+ *
56
+ * Useful for registering additional event handlers or sending custom commands.
57
+ *
58
+ * @returns CDP connection instance
59
+ */
60
+ getCDP(): CDPConnection;
61
+ }
62
+ //# sourceMappingURL=BdgSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BdgSession.d.ts","sourceRoot":"","sources":["../../src/session/BdgSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,OAAO,EACL,SAAS,EACT,aAAa,EAIb,SAAS,EAEV,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,qBAAa,UAAU;IAUnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAVd,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,gBAAgB,CAAuB;gBAGrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM;IAMhB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB9B;;;;;OAKG;IACG,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxD;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAsEhC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,SAAS,IAAI,SAAS;IAItB;;;;;;OAMG;IACH,MAAM,IAAI,aAAa;CAGxB"}
@@ -0,0 +1,172 @@
1
+ import { CDPConnection } from '../connection/cdp.js';
2
+ import { validateTarget } from '../connection/finder.js';
3
+ import { startNetworkCollection } from '../collectors/network.js';
4
+ import { startConsoleCollection } from '../collectors/console.js';
5
+ import { prepareDOMCollection, collectDOM } from '../collectors/dom.js';
6
+ /**
7
+ * Manages a browser debugging session.
8
+ *
9
+ * Encapsulates the lifecycle of collecting telemetry from a browser tab:
10
+ * - CDP connection management
11
+ * - Collector initialization and cleanup
12
+ * - Data aggregation
13
+ * - Graceful shutdown with final snapshot
14
+ */
15
+ export class BdgSession {
16
+ target;
17
+ port;
18
+ cdp;
19
+ collectors = new Map();
20
+ startTime;
21
+ isActive = false;
22
+ networkRequests = [];
23
+ consoleLogs = [];
24
+ activeCollectors = [];
25
+ constructor(target, port) {
26
+ this.target = target;
27
+ this.port = port;
28
+ this.cdp = new CDPConnection();
29
+ this.startTime = Date.now();
30
+ }
31
+ async connect() {
32
+ // Connect with retry and keepalive (no auto-reconnect for CLI use)
33
+ await this.cdp.connect(this.target.webSocketDebuggerUrl, {
34
+ maxRetries: 3,
35
+ autoReconnect: false,
36
+ keepaliveInterval: 30000
37
+ });
38
+ // Validate target still exists
39
+ const targetExists = await validateTarget(this.target.id, this.port);
40
+ if (!targetExists) {
41
+ this.cdp.close();
42
+ throw new Error('Target tab closed during connection');
43
+ }
44
+ // Enable Target domain to receive targetDestroyed events
45
+ await this.cdp.send('Target.setDiscoverTargets', { discover: true });
46
+ this.isActive = true;
47
+ }
48
+ /**
49
+ * Start a specific data collector.
50
+ *
51
+ * @param type - Type of collector to start ('dom', 'network', or 'console')
52
+ * @throws Error if session is not active
53
+ */
54
+ async startCollector(type) {
55
+ if (!this.isActive) {
56
+ throw new Error('Session not active');
57
+ }
58
+ this.activeCollectors.push(type);
59
+ let cleanup;
60
+ switch (type) {
61
+ case 'network':
62
+ cleanup = await startNetworkCollection(this.cdp, this.networkRequests);
63
+ break;
64
+ case 'console':
65
+ cleanup = await startConsoleCollection(this.cdp, this.consoleLogs);
66
+ break;
67
+ case 'dom':
68
+ cleanup = await prepareDOMCollection(this.cdp);
69
+ break;
70
+ default:
71
+ throw new Error(`Unknown collector type: ${type}`);
72
+ }
73
+ this.collectors.set(type, cleanup);
74
+ }
75
+ /**
76
+ * Stop the session and return collected telemetry.
77
+ *
78
+ * Captures final DOM snapshot, aggregates all collected data,
79
+ * and performs cleanup of CDP connection and collectors.
80
+ *
81
+ * @returns Complete telemetry output with success/error status
82
+ * @throws Error if session is not active
83
+ */
84
+ async stop() {
85
+ if (!this.isActive) {
86
+ throw new Error('Session not active');
87
+ }
88
+ console.error('Capturing final state...');
89
+ // Attempt to capture DOM if it's an active collector
90
+ let domData;
91
+ if (this.activeCollectors.includes('dom')) {
92
+ try {
93
+ console.error('Capturing DOM snapshot...');
94
+ domData = await collectDOM(this.cdp);
95
+ console.error('DOM snapshot captured successfully');
96
+ }
97
+ catch (domError) {
98
+ // Chrome may be closing during shutdown, ignore DOM capture failures
99
+ console.error('Warning: DOM capture failed (Chrome may be closing):', domError instanceof Error ? domError.message : String(domError));
100
+ }
101
+ }
102
+ // Build output (even if DOM capture failed)
103
+ const output = {
104
+ success: true,
105
+ timestamp: new Date().toISOString(),
106
+ duration: Date.now() - this.startTime,
107
+ target: {
108
+ url: domData?.url || this.target.url,
109
+ title: domData?.title || this.target.title
110
+ },
111
+ data: {}
112
+ };
113
+ // Add collected data
114
+ if (this.activeCollectors.includes('dom') && domData) {
115
+ output.data.dom = domData;
116
+ }
117
+ if (this.activeCollectors.includes('network')) {
118
+ output.data.network = this.networkRequests;
119
+ }
120
+ if (this.activeCollectors.includes('console')) {
121
+ output.data.console = this.consoleLogs;
122
+ }
123
+ // Clean up collectors (skip CDP domain disabling during shutdown to avoid hanging)
124
+ try {
125
+ console.error('Cleaning up session...');
126
+ // Call cleanup functions for all collectors
127
+ this.collectors.forEach(cleanup => cleanup());
128
+ this.collectors.clear();
129
+ // Skip disabling CDP domains - Chrome may be dead during SIGINT shutdown
130
+ // Just close the connection and mark as inactive
131
+ try {
132
+ this.cdp.close();
133
+ }
134
+ catch (closeError) {
135
+ // Ignore close errors
136
+ }
137
+ this.isActive = false;
138
+ console.error('Session cleanup complete');
139
+ }
140
+ catch (cleanupError) {
141
+ console.error('Warning: Cleanup error:', cleanupError instanceof Error ? cleanupError.message : String(cleanupError));
142
+ }
143
+ return output;
144
+ }
145
+ /**
146
+ * Check if the session is active and connected.
147
+ *
148
+ * @returns True if session is active and CDP connection is open
149
+ */
150
+ isConnected() {
151
+ return this.isActive && this.cdp.isConnected();
152
+ }
153
+ /**
154
+ * Get the CDP target information for this session.
155
+ *
156
+ * @returns Target information (URL, title, ID, etc.)
157
+ */
158
+ getTarget() {
159
+ return this.target;
160
+ }
161
+ /**
162
+ * Get the CDP connection instance.
163
+ *
164
+ * Useful for registering additional event handlers or sending custom commands.
165
+ *
166
+ * @returns CDP connection instance
167
+ */
168
+ getCDP() {
169
+ return this.cdp;
170
+ }
171
+ }
172
+ //# sourceMappingURL=BdgSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BdgSession.js","sourceRoot":"","sources":["../../src/session/BdgSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ export interface CDPMessage {
2
+ id: number;
3
+ method?: string;
4
+ params?: Record<string, any>;
5
+ result?: any;
6
+ error?: {
7
+ message: string;
8
+ };
9
+ }
10
+ export interface CDPTarget {
11
+ id: string;
12
+ type: string;
13
+ title: string;
14
+ url: string;
15
+ webSocketDebuggerUrl: string;
16
+ }
17
+ export interface DOMData {
18
+ url: string;
19
+ title: string;
20
+ outerHTML: string;
21
+ }
22
+ export interface NetworkRequest {
23
+ requestId: string;
24
+ url: string;
25
+ method: string;
26
+ timestamp: number;
27
+ status?: number;
28
+ mimeType?: string;
29
+ requestHeaders?: Record<string, string>;
30
+ responseHeaders?: Record<string, string>;
31
+ requestBody?: string;
32
+ responseBody?: string;
33
+ }
34
+ export interface ConsoleMessage {
35
+ type: string;
36
+ text: string;
37
+ timestamp: number;
38
+ args?: any[];
39
+ }
40
+ export interface BdgOutput {
41
+ success: boolean;
42
+ timestamp: string;
43
+ duration: number;
44
+ target: {
45
+ url: string;
46
+ title: string;
47
+ };
48
+ data: {
49
+ dom?: DOMData;
50
+ network?: NetworkRequest[];
51
+ console?: ConsoleMessage[];
52
+ };
53
+ error?: string;
54
+ }
55
+ export type CollectorType = 'dom' | 'network' | 'console';
56
+ export interface CDPNetworkRequestParams {
57
+ requestId: string;
58
+ request: {
59
+ url: string;
60
+ method: string;
61
+ headers: Record<string, string>;
62
+ postData?: string;
63
+ };
64
+ timestamp: number;
65
+ }
66
+ export interface CDPNetworkResponseParams {
67
+ requestId: string;
68
+ response: {
69
+ url: string;
70
+ status: number;
71
+ statusText: string;
72
+ headers: Record<string, string>;
73
+ mimeType: string;
74
+ };
75
+ }
76
+ export interface CDPNetworkLoadingFinishedParams {
77
+ requestId: string;
78
+ timestamp: number;
79
+ }
80
+ export interface CDPNetworkLoadingFailedParams {
81
+ requestId: string;
82
+ errorText: string;
83
+ canceled?: boolean;
84
+ }
85
+ export interface CDPConsoleAPICalledParams {
86
+ type: string;
87
+ args: Array<{
88
+ type: string;
89
+ value?: any;
90
+ description?: string;
91
+ }>;
92
+ timestamp: number;
93
+ }
94
+ export interface CDPExceptionThrownParams {
95
+ exceptionDetails: {
96
+ text?: string;
97
+ exception?: {
98
+ description?: string;
99
+ };
100
+ timestamp?: number;
101
+ };
102
+ }
103
+ export interface CDPTargetDestroyedParams {
104
+ targetId: string;
105
+ }
106
+ export interface ConnectionOptions {
107
+ timeout?: number;
108
+ maxRetries?: number;
109
+ autoReconnect?: boolean;
110
+ keepaliveInterval?: number;
111
+ onReconnect?: () => Promise<void>;
112
+ }
113
+ export type CleanupFunction = () => void;
114
+ export interface SessionState {
115
+ isActive: boolean;
116
+ startTime: number;
117
+ collectors: CollectorType[];
118
+ }
119
+ /**
120
+ * Information about a launched Chrome instance.
121
+ */
122
+ export interface LaunchedChrome {
123
+ pid: number;
124
+ port: number;
125
+ kill: () => Promise<void>;
126
+ }
127
+ /**
128
+ * CDP Target.createTarget response.
129
+ */
130
+ export interface CDPCreateTargetResponse {
131
+ targetId: string;
132
+ }
133
+ /**
134
+ * CDP Target.attachToTarget response.
135
+ */
136
+ export interface CDPAttachToTargetResponse {
137
+ sessionId: string;
138
+ }
139
+ /**
140
+ * CDP Target.getTargets response.
141
+ */
142
+ export interface CDPGetTargetsResponse {
143
+ targetInfos: Array<{
144
+ targetId: string;
145
+ type: string;
146
+ title: string;
147
+ url: string;
148
+ attached: boolean;
149
+ }>;
150
+ }
151
+ /**
152
+ * CDP Page.navigate response.
153
+ */
154
+ export interface CDPNavigateResponse {
155
+ frameId: string;
156
+ loaderId?: string;
157
+ errorText?: string;
158
+ }
159
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import { CDPConnection } from '../connection/cdp.js';
2
+ export interface PageLoadOptions {
3
+ /**
4
+ * Maximum time to wait for page load (ms)
5
+ * @default 30000
6
+ */
7
+ timeout?: number;
8
+ /**
9
+ * Time to wait with no network activity before considering page idle (ms)
10
+ * @default 2000
11
+ */
12
+ networkIdleTime?: number;
13
+ }
14
+ /**
15
+ * Waits for the page to fully load including:
16
+ * - DOM content loaded
17
+ * - Load event fired
18
+ * - Network idle (no new requests for specified time)
19
+ */
20
+ export declare function waitForPageLoad(cdp: CDPConnection, options?: PageLoadOptions): Promise<void>;
21
+ //# sourceMappingURL=pageLoad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageLoad.d.ts","sourceRoot":"","sources":["../../src/utils/pageLoad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,aAAa,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Ff"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Waits for the page to fully load including:
3
+ * - DOM content loaded
4
+ * - Load event fired
5
+ * - Network idle (no new requests for specified time)
6
+ */
7
+ export async function waitForPageLoad(cdp, options = {}) {
8
+ const { timeout = 30000, networkIdleTime = 2000 } = options;
9
+ const startTime = Date.now();
10
+ return new Promise(async (resolve, reject) => {
11
+ let timeoutId;
12
+ let networkIdleTimeoutId;
13
+ let activeRequests = 0;
14
+ // Overall timeout
15
+ timeoutId = setTimeout(() => {
16
+ cleanup();
17
+ reject(new Error(`Page load timeout after ${timeout}ms`));
18
+ }, timeout);
19
+ const cleanup = () => {
20
+ if (timeoutId)
21
+ clearTimeout(timeoutId);
22
+ if (networkIdleTimeoutId)
23
+ clearTimeout(networkIdleTimeoutId);
24
+ };
25
+ const checkNetworkIdle = () => {
26
+ if (networkIdleTimeoutId)
27
+ clearTimeout(networkIdleTimeoutId);
28
+ if (activeRequests === 0) {
29
+ networkIdleTimeoutId = setTimeout(() => {
30
+ const elapsed = Date.now() - startTime;
31
+ console.error(`Page loaded and network idle after ${elapsed}ms`);
32
+ cleanup();
33
+ resolve();
34
+ }, networkIdleTime);
35
+ }
36
+ };
37
+ try {
38
+ // Enable Page domain to listen for load events
39
+ await cdp.send('Page.enable');
40
+ // Listen for load event
41
+ let loadEventFired = false;
42
+ cdp.on('Page.loadEventFired', () => {
43
+ loadEventFired = true;
44
+ console.error('Page load event fired');
45
+ checkNetworkIdle();
46
+ });
47
+ // Enable network tracking to monitor activity
48
+ await cdp.send('Network.enable');
49
+ // Track network requests
50
+ cdp.on('Network.requestWillBeSent', () => {
51
+ activeRequests++;
52
+ });
53
+ cdp.on('Network.loadingFinished', () => {
54
+ activeRequests = Math.max(0, activeRequests - 1);
55
+ if (loadEventFired) {
56
+ checkNetworkIdle();
57
+ }
58
+ });
59
+ cdp.on('Network.loadingFailed', () => {
60
+ activeRequests = Math.max(0, activeRequests - 1);
61
+ if (loadEventFired) {
62
+ checkNetworkIdle();
63
+ }
64
+ });
65
+ // Check if page is already loaded
66
+ const { frameTree } = await cdp.send('Page.getFrameTree');
67
+ if (frameTree) {
68
+ // If we can get the frame tree, the page might already be loaded
69
+ // Give it a moment to check
70
+ setTimeout(() => {
71
+ if (activeRequests === 0) {
72
+ console.error('Page already loaded');
73
+ cleanup();
74
+ resolve();
75
+ }
76
+ }, 500);
77
+ }
78
+ }
79
+ catch (error) {
80
+ cleanup();
81
+ reject(error);
82
+ }
83
+ });
84
+ }
85
+ //# sourceMappingURL=pageLoad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageLoad.js","sourceRoot":"","sources":["../../src/utils/pageLoad.ts"],"names":[],"mappings":"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"}