@pagepocket/cdp-adapter 0.5.1 → 0.6.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/dist/index.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import type { InterceptSession, InterceptTarget, NetworkEventHandlers, NetworkInterceptorAdapter } from "@pagepocket/lib";
2
- import type CDPTypes from "chrome-remote-interface";
3
- type CdpConnectionOptions = CDPTypes.Options;
4
2
  type CdpClient = {
5
3
  send?: (method: string, params?: Record<string, unknown>) => Promise<unknown>;
6
4
  on?: (event: string, listener: (payload: unknown) => void) => void;
@@ -18,19 +16,28 @@ type CdpClient = {
18
16
  requestWillBeSent?: (listener: (payload: unknown) => void) => void;
19
17
  responseReceived?: (listener: (payload: unknown) => void) => void;
20
18
  loadingFailed?: (listener: (payload: unknown) => void) => void;
19
+ loadingFinished?: (listener: (payload: unknown) => void) => void;
21
20
  };
22
21
  Page?: {
23
22
  enable?: () => Promise<void>;
24
23
  navigate?: (params: {
25
24
  url: string;
26
25
  }) => Promise<void>;
26
+ getResourceContent?: (params: {
27
+ frameId: string;
28
+ url: string;
29
+ }) => Promise<{
30
+ content: string;
31
+ base64Encoded?: boolean;
32
+ }>;
27
33
  };
28
34
  };
29
35
  export type CdpAdapterOptions = {
30
- host?: string;
31
- port?: number;
32
- target?: CdpConnectionOptions["target"];
33
- clientFactory?: (options: CdpConnectionOptions) => Promise<CdpClient>;
36
+ protocolVersion?: string;
37
+ clientFactory?: (options?: {
38
+ tabId: number;
39
+ protocolVersion: string;
40
+ }) => Promise<CdpClient> | CdpClient;
34
41
  };
35
42
  export declare class CdpAdapter implements NetworkInterceptorAdapter {
36
43
  readonly name = "cdp";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAK1B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEpD,KAAK,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC;AAE7C,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IACnE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAC3D,IAAI,EAAE,MAAM,CAAC;YACb,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,CAAC,CAAC;QACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;QACnE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;QAClE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;KAChE,CAAC;IACF,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACvD,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;CACvE,CAAC;AAkIF,qBAAa,UAAW,YAAW,yBAAyB;IAC1D,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,YAAY;;;;;MAKnB;IAEF,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,GAAE,iBAAsB;IAIrC,KAAK,CACT,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAqL7B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EAK1B,MAAM,iBAAiB,CAAC;AAmCzB,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IACnE,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAC3D,IAAI,EAAE,MAAM,CAAC;YACb,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,CAAC,CAAC;QACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;QACnE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;QAClE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;QAC/D,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;KAClE,CAAC;IACF,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE;YAC5B,OAAO,EAAE,MAAM,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC;SACb,KAAK,OAAO,CAAC;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,CAAC,CAAC;KACJ,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CACtC,CAAC;AAsRF,qBAAa,UAAW,YAAW,yBAAyB;IAC1D,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,YAAY;;;;;MAKnB;IAEF,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,GAAE,iBAAsB;IAIrC,KAAK,CACT,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,gBAAgB,CAAC;CA+U7B"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- import CDP from "chrome-remote-interface";
2
1
  const decodeBase64 = (input) => {
3
2
  const bufferCtor = globalThis.Buffer;
4
3
  if (bufferCtor) {
@@ -51,6 +50,33 @@ const mapResourceType = (input) => {
51
50
  return normalized;
52
51
  }
53
52
  };
53
+ const inferResourceTypeFromMime = (mimeType) => {
54
+ if (!mimeType)
55
+ return undefined;
56
+ const normalized = mimeType.toLowerCase();
57
+ if (normalized.includes("text/html") || normalized.includes("application/xhtml+xml")) {
58
+ return "document";
59
+ }
60
+ if (normalized.includes("text/css")) {
61
+ return "stylesheet";
62
+ }
63
+ if (normalized.includes("javascript") || normalized.includes("ecmascript")) {
64
+ return "script";
65
+ }
66
+ if (normalized.startsWith("image/")) {
67
+ return "image";
68
+ }
69
+ if (normalized.startsWith("font/") ||
70
+ normalized.includes("woff") ||
71
+ normalized.includes("ttf") ||
72
+ normalized.includes("otf")) {
73
+ return "font";
74
+ }
75
+ if (normalized.startsWith("audio/") || normalized.startsWith("video/")) {
76
+ return "media";
77
+ }
78
+ return undefined;
79
+ };
54
80
  const callCdp = async (client, method, params) => {
55
81
  if (typeof client.send === "function") {
56
82
  return (await client.send(method, params));
@@ -77,6 +103,102 @@ const subscribe = (client, eventName, handler) => {
77
103
  }
78
104
  throw new Error(`CDP session missing event ${eventName}.`);
79
105
  };
106
+ const isNoBodyError = (error) => {
107
+ const message = error instanceof Error ? error.message : String(error);
108
+ return message.includes("No data found for resource with given identifier");
109
+ };
110
+ const logInfo = (label, data) => {
111
+ console.info(`[pagepocket][cdp-adapter] ${label} ${JSON.stringify(data)}`);
112
+ };
113
+ const getChromeGlobal = () => globalThis.chrome;
114
+ const createChromeDebuggerClient = (target, protocolVersion) => {
115
+ const chromeGlobal = getChromeGlobal();
116
+ const chromeDebugger = chromeGlobal?.debugger;
117
+ if (!chromeDebugger) {
118
+ throw new Error("chrome.debugger API is not available in this environment.");
119
+ }
120
+ const chromeRuntime = chromeGlobal?.runtime;
121
+ let attached = false;
122
+ let closed = false;
123
+ const listeners = new Map();
124
+ const assertNoLastError = (action) => {
125
+ const lastError = chromeRuntime?.lastError;
126
+ if (lastError?.message) {
127
+ throw new Error(`${action} failed: ${lastError.message}`);
128
+ }
129
+ };
130
+ const attach = () => new Promise((resolve, reject) => {
131
+ chromeDebugger.attach(target, protocolVersion, () => {
132
+ try {
133
+ assertNoLastError("chrome.debugger.attach");
134
+ attached = true;
135
+ resolve();
136
+ }
137
+ catch (error) {
138
+ reject(error);
139
+ }
140
+ });
141
+ });
142
+ const detach = () => new Promise((resolve, reject) => {
143
+ chromeDebugger.detach(target, () => {
144
+ try {
145
+ assertNoLastError("chrome.debugger.detach");
146
+ attached = false;
147
+ resolve();
148
+ }
149
+ catch (error) {
150
+ reject(error);
151
+ }
152
+ });
153
+ });
154
+ const ensureAttached = async () => {
155
+ if (attached)
156
+ return;
157
+ await attach();
158
+ };
159
+ return {
160
+ send: async (method, params) => {
161
+ await ensureAttached();
162
+ return new Promise((resolve, reject) => {
163
+ chromeDebugger.sendCommand(target, method, params ?? {}, (result) => {
164
+ try {
165
+ assertNoLastError(`chrome.debugger.sendCommand(${method})`);
166
+ resolve(result);
167
+ }
168
+ catch (error) {
169
+ reject(error);
170
+ }
171
+ });
172
+ });
173
+ },
174
+ on: (event, listener) => {
175
+ const handler = (source, method, params) => {
176
+ if (source.tabId !== target.tabId)
177
+ return;
178
+ if (method !== event)
179
+ return;
180
+ listener(params);
181
+ };
182
+ listeners.set(listener, handler);
183
+ chromeDebugger.onEvent.addListener(handler);
184
+ },
185
+ off: (_event, listener) => {
186
+ const handler = listeners.get(listener);
187
+ if (!handler)
188
+ return;
189
+ listeners.delete(listener);
190
+ chromeDebugger.onEvent.removeListener(handler);
191
+ },
192
+ close: async () => {
193
+ if (closed)
194
+ return;
195
+ closed = true;
196
+ if (!attached)
197
+ return;
198
+ await detach();
199
+ }
200
+ };
201
+ };
80
202
  export class CdpAdapter {
81
203
  constructor(options = {}) {
82
204
  this.name = "cdp";
@@ -89,50 +211,46 @@ export class CdpAdapter {
89
211
  this.options = options;
90
212
  }
91
213
  async start(target, handlers, _options) {
92
- if (target.kind !== "cdp-session" && target.kind !== "cdp-tab") {
93
- throw new Error("CdpAdapter only supports cdp-session or cdp-tab targets.");
214
+ if (target.kind !== "cdp-tab") {
215
+ throw new Error("CdpAdapter only supports cdp-tab targets.");
94
216
  }
95
- const clientFactory = this.options.clientFactory ??
96
- ((options) => CDP({
97
- host: options.host,
98
- port: options.port,
99
- target: options.target
100
- }));
101
- const resolveTabTarget = (tabId) => {
102
- return (targets) => {
103
- const match = targets.find((entry) => entry.id === String(tabId));
104
- if (match)
105
- return match;
106
- if (tabId >= 0 && tabId < targets.length)
107
- return tabId;
108
- return targets[0] ?? 0;
109
- };
110
- };
111
- const client = target.kind === "cdp-session"
112
- ? target.session
113
- : await clientFactory({
114
- host: this.options.host,
115
- port: this.options.port,
116
- target: this.options.target ?? resolveTabTarget(target.tabId)
117
- });
118
- const ownsClient = target.kind !== "cdp-session";
217
+ const protocolVersion = this.options.protocolVersion ?? "1.3";
218
+ const clientFactory = this.options.clientFactory;
219
+ const client = (await clientFactory?.({ tabId: target.tabId, protocolVersion })) ??
220
+ createChromeDebuggerClient({ tabId: target.tabId }, protocolVersion);
221
+ const ownsClient = true;
119
222
  await callCdp(client, "Network.enable");
120
223
  const activeRequestId = new Map();
121
224
  const requestSequence = new Map();
122
225
  const requestUrls = new Map();
226
+ const requestInfo = new Map();
227
+ const requestEvents = new Map();
228
+ const responses = new Map();
229
+ const requestTimeOffsets = new Map();
230
+ let globalTimeOffset = null;
123
231
  const getLogicalRequestId = (cdpRequestId) => activeRequestId.get(cdpRequestId) ?? `${cdpRequestId}:0`;
124
- const createResponseBody = (cdpRequestId) => ({
125
- kind: "late",
126
- read: async () => {
127
- const result = await callCdp(client, "Network.getResponseBody", { requestId: cdpRequestId });
128
- if (result.base64Encoded) {
129
- return decodeBase64(result.body);
232
+ const resolveTimestampMs = (payload, requestId) => {
233
+ if (typeof payload.wallTime === "number") {
234
+ if (typeof payload.timestamp === "number") {
235
+ const offset = payload.wallTime - payload.timestamp;
236
+ if (requestId) {
237
+ requestTimeOffsets.set(requestId, offset);
238
+ }
239
+ globalTimeOffset = offset;
130
240
  }
131
- return encodeUtf8(result.body);
241
+ return payload.wallTime * 1000;
132
242
  }
133
- });
243
+ if (typeof payload.timestamp === "number") {
244
+ const offset = (requestId ? requestTimeOffsets.get(requestId) : undefined) ?? globalTimeOffset;
245
+ if (typeof offset === "number") {
246
+ return (payload.timestamp + offset) * 1000;
247
+ }
248
+ }
249
+ return Date.now();
250
+ };
134
251
  const handleRequestWillBeSent = (payload) => {
135
252
  const cdpRequestId = payload.requestId;
253
+ const eventTimestamp = resolveTimestampMs(payload, cdpRequestId);
136
254
  if (payload.redirectResponse) {
137
255
  const previousRequestId = getLogicalRequestId(cdpRequestId);
138
256
  const redirectResponse = payload.redirectResponse;
@@ -146,7 +264,7 @@ export class CdpAdapter {
146
264
  mimeType: redirectResponse.mimeType,
147
265
  fromDiskCache: redirectResponse.fromDiskCache,
148
266
  fromServiceWorker: redirectResponse.fromServiceWorker,
149
- timestamp: Date.now()
267
+ timestamp: eventTimestamp
150
268
  };
151
269
  handlers.onEvent(redirectEvent);
152
270
  }
@@ -156,6 +274,12 @@ export class CdpAdapter {
156
274
  activeRequestId.set(cdpRequestId, logicalRequestId);
157
275
  const url = payload.request.url;
158
276
  requestUrls.set(logicalRequestId, url);
277
+ requestInfo.set(cdpRequestId, {
278
+ url,
279
+ frameId: payload.frameId,
280
+ resourceType: mapResourceType(payload.type),
281
+ initiator: payload.initiator
282
+ });
159
283
  const requestEvent = {
160
284
  type: "request",
161
285
  requestId: logicalRequestId,
@@ -165,29 +289,163 @@ export class CdpAdapter {
165
289
  frameId: payload.frameId,
166
290
  resourceType: mapResourceType(payload.type),
167
291
  initiator: payload.initiator,
168
- timestamp: Date.now()
292
+ timestamp: eventTimestamp
169
293
  };
294
+ requestEvents.set(cdpRequestId, requestEvent);
170
295
  handlers.onEvent(requestEvent);
171
296
  };
172
297
  const handleResponseReceived = (payload) => {
173
298
  const cdpRequestId = payload.requestId;
174
299
  const logicalRequestId = getLogicalRequestId(cdpRequestId);
300
+ const eventTimestamp = resolveTimestampMs(payload, cdpRequestId);
175
301
  const response = payload.response;
176
302
  if (!requestUrls.has(logicalRequestId)) {
177
303
  requestUrls.set(logicalRequestId, response.url);
178
304
  }
179
- const responseEvent = {
180
- type: "response",
181
- requestId: logicalRequestId,
305
+ const storedRequest = requestEvents.get(cdpRequestId);
306
+ const existingInfo = requestInfo.get(cdpRequestId);
307
+ const inferred = inferResourceTypeFromMime(response.mimeType);
308
+ if ((!existingInfo || !existingInfo.resourceType) && inferred) {
309
+ requestInfo.set(cdpRequestId, {
310
+ url: response.url,
311
+ frameId: existingInfo?.frameId ?? payload.frameId,
312
+ resourceType: inferred,
313
+ initiator: existingInfo?.initiator
314
+ });
315
+ }
316
+ if (!storedRequest && inferred) {
317
+ const synthesizedRequest = {
318
+ type: "request",
319
+ requestId: logicalRequestId,
320
+ url: response.url,
321
+ method: "GET",
322
+ headers: {},
323
+ frameId: payload.frameId,
324
+ resourceType: inferred,
325
+ initiator: undefined,
326
+ timestamp: eventTimestamp
327
+ };
328
+ requestEvents.set(cdpRequestId, synthesizedRequest);
329
+ handlers.onEvent(synthesizedRequest);
330
+ }
331
+ else if (storedRequest && inferred && !storedRequest.resourceType) {
332
+ const updatedRequest = {
333
+ ...storedRequest,
334
+ resourceType: inferred,
335
+ timestamp: eventTimestamp
336
+ };
337
+ requestEvents.set(cdpRequestId, updatedRequest);
338
+ handlers.onEvent(updatedRequest);
339
+ }
340
+ logInfo("response received", {
341
+ requestId: cdpRequestId,
182
342
  url: response.url,
183
343
  status: response.status,
184
- statusText: response.statusText,
185
- headers: normalizeHeaders(response.headers),
186
344
  mimeType: response.mimeType,
187
345
  fromDiskCache: response.fromDiskCache,
188
- fromServiceWorker: response.fromServiceWorker,
189
- timestamp: Date.now(),
190
- body: createResponseBody(cdpRequestId)
346
+ fromServiceWorker: response.fromServiceWorker
347
+ });
348
+ responses.set(cdpRequestId, {
349
+ requestId: logicalRequestId,
350
+ response
351
+ });
352
+ };
353
+ const tryGetResponseBody = async (cdpRequestId) => {
354
+ try {
355
+ const result = await callCdp(client, "Network.getResponseBody", { requestId: cdpRequestId });
356
+ if (result.base64Encoded) {
357
+ return decodeBase64(result.body);
358
+ }
359
+ return encodeUtf8(result.body);
360
+ }
361
+ catch (error) {
362
+ if (isNoBodyError(error)) {
363
+ return null;
364
+ }
365
+ throw error;
366
+ }
367
+ };
368
+ const tryGetPageResourceContent = async (info) => {
369
+ if (!info.frameId || !info.url) {
370
+ return null;
371
+ }
372
+ try {
373
+ const result = await callCdp(client, "Page.getResourceContent", {
374
+ frameId: info.frameId,
375
+ url: info.url
376
+ });
377
+ if (result.base64Encoded) {
378
+ return decodeBase64(result.content);
379
+ }
380
+ return encodeUtf8(result.content);
381
+ }
382
+ catch {
383
+ return null;
384
+ }
385
+ };
386
+ const handleLoadingFinished = async (payload) => {
387
+ const cdpRequestId = payload.requestId;
388
+ const eventTimestamp = resolveTimestampMs(payload, cdpRequestId);
389
+ const storedResponse = responses.get(cdpRequestId);
390
+ if (!storedResponse) {
391
+ logInfo("loadingFinished without response", {
392
+ requestId: cdpRequestId
393
+ });
394
+ return;
395
+ }
396
+ const inferred = inferResourceTypeFromMime(storedResponse.response.mimeType);
397
+ const info = requestInfo.get(cdpRequestId);
398
+ if ((!info || !info.resourceType) && inferred) {
399
+ requestInfo.set(cdpRequestId, {
400
+ url: storedResponse.response.url,
401
+ frameId: info?.frameId,
402
+ resourceType: inferred,
403
+ initiator: info?.initiator
404
+ });
405
+ const storedRequest = requestEvents.get(cdpRequestId);
406
+ if (storedRequest && !storedRequest.resourceType) {
407
+ const updatedRequest = {
408
+ ...storedRequest,
409
+ resourceType: inferred
410
+ };
411
+ requestEvents.set(cdpRequestId, updatedRequest);
412
+ handlers.onEvent(updatedRequest);
413
+ }
414
+ }
415
+ let bodyBytes = null;
416
+ try {
417
+ bodyBytes = await tryGetResponseBody(cdpRequestId);
418
+ }
419
+ catch (error) {
420
+ handlers.onError?.(error instanceof Error ? error : new Error(String(error)));
421
+ }
422
+ if (bodyBytes && bodyBytes.byteLength === 0) {
423
+ bodyBytes = null;
424
+ }
425
+ if (!bodyBytes) {
426
+ const fallbackInfo = requestInfo.get(cdpRequestId);
427
+ if (fallbackInfo?.frameId) {
428
+ bodyBytes = await tryGetPageResourceContent(fallbackInfo);
429
+ }
430
+ }
431
+ logInfo("response body status", {
432
+ requestId: cdpRequestId,
433
+ url: storedResponse.response.url,
434
+ resourceType: requestInfo.get(cdpRequestId)?.resourceType,
435
+ bodyBytes: bodyBytes ? bodyBytes.byteLength : 0
436
+ });
437
+ const responseEvent = {
438
+ type: "response",
439
+ requestId: storedResponse.requestId,
440
+ url: storedResponse.response.url,
441
+ status: storedResponse.response.status,
442
+ statusText: storedResponse.response.statusText,
443
+ headers: normalizeHeaders(storedResponse.response.headers),
444
+ mimeType: storedResponse.response.mimeType,
445
+ fromDiskCache: storedResponse.response.fromDiskCache,
446
+ fromServiceWorker: storedResponse.response.fromServiceWorker,
447
+ timestamp: eventTimestamp,
448
+ body: bodyBytes ? { kind: "buffer", data: bodyBytes } : undefined
191
449
  };
192
450
  handlers.onEvent(responseEvent);
193
451
  };
@@ -200,7 +458,7 @@ export class CdpAdapter {
200
458
  requestId: logicalRequestId,
201
459
  url,
202
460
  errorText: payload.errorText,
203
- timestamp: Date.now()
461
+ timestamp: resolveTimestampMs(payload, cdpRequestId)
204
462
  };
205
463
  handlers.onEvent(failedEvent);
206
464
  };
@@ -209,6 +467,9 @@ export class CdpAdapter {
209
467
  cleanupHandlers.push(subscribe(client, "Network.requestWillBeSent", (payload) => handleRequestWillBeSent(payload)));
210
468
  cleanupHandlers.push(subscribe(client, "Network.responseReceived", (payload) => handleResponseReceived(payload)));
211
469
  cleanupHandlers.push(subscribe(client, "Network.loadingFailed", (payload) => handleLoadingFailed(payload)));
470
+ cleanupHandlers.push(subscribe(client, "Network.loadingFinished", (payload) => {
471
+ void handleLoadingFinished(payload);
472
+ }));
212
473
  }
213
474
  catch (error) {
214
475
  if (error instanceof Error) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagepocket/cdp-adapter",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Chrome DevTools Protocol adapter for PagePocket network interception.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,11 +12,9 @@
12
12
  "dist"
13
13
  ],
14
14
  "dependencies": {
15
- "chrome-remote-interface": "^0.33.2",
16
- "@pagepocket/lib": "0.5.1"
15
+ "@pagepocket/lib": "0.6.0"
17
16
  },
18
17
  "devDependencies": {
19
- "@types/chrome-remote-interface": "^0.33.0",
20
18
  "@types/node": "^20.17.12",
21
19
  "tsx": "^4.21.0",
22
20
  "typescript": "^5.7.2"