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.
- package/README.md +85 -0
- package/dist/collectors/console.d.ts +17 -0
- package/dist/collectors/console.d.ts.map +1 -0
- package/dist/collectors/console.js +65 -0
- package/dist/collectors/console.js.map +1 -0
- package/dist/collectors/dom.d.ts +21 -0
- package/dist/collectors/dom.d.ts.map +1 -0
- package/dist/collectors/dom.js +88 -0
- package/dist/collectors/dom.js.map +1 -0
- package/dist/collectors/network.d.ts +19 -0
- package/dist/collectors/network.d.ts.map +1 -0
- package/dist/collectors/network.js +114 -0
- package/dist/collectors/network.js.map +1 -0
- package/dist/connection/cdp.d.ts +99 -0
- package/dist/connection/cdp.d.ts.map +1 -0
- package/dist/connection/cdp.js +317 -0
- package/dist/connection/cdp.js.map +1 -0
- package/dist/connection/finder.d.ts +11 -0
- package/dist/connection/finder.d.ts.map +1 -0
- package/dist/connection/finder.js +23 -0
- package/dist/connection/finder.js.map +1 -0
- package/dist/connection/launcher.d.ts +30 -0
- package/dist/connection/launcher.d.ts.map +1 -0
- package/dist/connection/launcher.js +134 -0
- package/dist/connection/launcher.js.map +1 -0
- package/dist/connection/tabs.d.ts +49 -0
- package/dist/connection/tabs.d.ts.map +1 -0
- package/dist/connection/tabs.js +216 -0
- package/dist/connection/tabs.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +431 -0
- package/dist/index.js.map +1 -0
- package/dist/session/BdgSession.d.ts +62 -0
- package/dist/session/BdgSession.d.ts.map +1 -0
- package/dist/session/BdgSession.js +172 -0
- package/dist/session/BdgSession.js.map +1 -0
- package/dist/types.d.ts +159 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/pageLoad.d.ts +21 -0
- package/dist/utils/pageLoad.d.ts.map +1 -0
- package/dist/utils/pageLoad.js +85 -0
- package/dist/utils/pageLoad.js.map +1 -0
- package/dist/utils/session.d.ts +104 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +244 -0
- package/dist/utils/session.js.map +1 -0
- package/dist/utils/url.d.ts +6 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +11 -0
- package/dist/utils/url.js.map +1 -0
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +20 -0
- package/dist/utils/validation.js.map +1 -0
- 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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAWxE;;;;;;;;GAQG;AACH,MAAM,OAAO,UAAU;IAUX;IACA;IAVF,GAAG,CAAgB;IACnB,UAAU,GAAG,IAAI,GAAG,EAAkC,CAAC;IACvD,SAAS,CAAS;IAClB,QAAQ,GAAG,KAAK,CAAC;IACjB,eAAe,GAAqB,EAAE,CAAC;IACvC,WAAW,GAAqB,EAAE,CAAC;IACnC,gBAAgB,GAAoB,EAAE,CAAC;IAE/C,YACU,MAAiB,EACjB,IAAY;QADZ,WAAM,GAAN,MAAM,CAAW;QACjB,SAAI,GAAJ,IAAI,CAAQ;QAEpB,IAAI,CAAC,GAAG,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,mEAAmE;QACnE,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;YACvD,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QAEH,+BAA+B;QAC/B,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,yDAAyD;QACzD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,IAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAwB,CAAC;QAE7B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBACZ,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBACvE,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,KAAK;gBACR,OAAO,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE1C,qDAAqD;QACrD,IAAI,OAA4B,CAAC;QACjC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC3C,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,qEAAqE;gBACrE,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAClE,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,MAAM,GAAc;YACxB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;YACrC,MAAM,EAAE;gBACN,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG;gBACpC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;aAC3C;YACD,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,qBAAqB;QACrB,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,CAAC;QAED,mFAAmF;QACnF,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAExC,4CAA4C;YAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAExB,yEAAyE;YACzE,iDAAiD;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,sBAAsB;YACxB,CAAC;YACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACxH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD;;;;OAIG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;CACF"}
|
package/dist/types.d.ts
ADDED
|
@@ -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 @@
|
|
|
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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"}
|