@pagepocket/cdp-adapter 0.6.0 → 0.6.2
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/cdp-utils.d.ts +12 -0
- package/dist/cdp-utils.d.ts.map +1 -0
- package/dist/cdp-utils.js +113 -0
- package/dist/cdp-utils.js.map +1 -0
- package/dist/chrome-debugger-client.d.ts +3 -0
- package/dist/chrome-debugger-client.d.ts.map +1 -0
- package/dist/chrome-debugger-client.js +90 -0
- package/dist/chrome-debugger-client.js.map +1 -0
- package/dist/index.d.ts +3 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -479
- package/dist/index.js.map +1 -1
- package/dist/page-actions.d.ts +7 -0
- package/dist/page-actions.d.ts.map +1 -0
- package/dist/page-actions.js +56 -0
- package/dist/page-actions.js.map +1 -0
- package/dist/session.d.ts +11 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +277 -0
- package/dist/session.js.map +1 -0
- package/dist/types.d.ts +114 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ResourceType } from "@pagepocket/interceptor";
|
|
2
|
+
import type { CdpClient } from "./types";
|
|
3
|
+
export declare const decodeBase64: (input: string) => Uint8Array<ArrayBuffer>;
|
|
4
|
+
export declare const encodeUtf8: (input: string) => Uint8Array<ArrayBuffer>;
|
|
5
|
+
export declare const normalizeHeaders: (headers?: Record<string, unknown>) => Record<string, string>;
|
|
6
|
+
export declare const mapResourceType: (input?: string) => ResourceType | undefined;
|
|
7
|
+
export declare const inferResourceTypeFromMime: (mimeType?: string) => ResourceType | undefined;
|
|
8
|
+
export declare const callCdp: <T>(client: CdpClient, method: string, params?: Record<string, unknown>) => Promise<T>;
|
|
9
|
+
export declare const subscribe: (client: CdpClient, eventName: string, handler: (payload: unknown) => void) => () => void | undefined;
|
|
10
|
+
export declare const isNoBodyError: (error: unknown) => boolean;
|
|
11
|
+
export declare const logInfo: (label: string, data: Record<string, unknown>) => void;
|
|
12
|
+
//# sourceMappingURL=cdp-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdp-utils.d.ts","sourceRoot":"","sources":["../src/cdp-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,4BAWzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,4BAAoC,CAAC;AAE7E,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2BASjE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,YAAY,GAAG,SAyB/D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,WAAW,MAAM,KAAG,YAAY,GAAG,SA2B5E,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,CAAC,EAC7B,QAAQ,SAAS,EACjB,QAAQ,MAAM,EACd,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC,CAAC,CAaX,CAAC;AAEF,eAAO,MAAM,SAAS,GACpB,QAAQ,SAAS,EACjB,WAAW,MAAM,EACjB,SAAS,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,2BAgBpC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,YAG3C,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAEnE,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
export const decodeBase64 = (input) => {
|
|
2
|
+
const bufferCtor = globalThis.Buffer;
|
|
3
|
+
if (bufferCtor) {
|
|
4
|
+
return new Uint8Array(bufferCtor.from(input, "base64"));
|
|
5
|
+
}
|
|
6
|
+
const binary = atob(input);
|
|
7
|
+
const bytes = new Uint8Array(binary.length);
|
|
8
|
+
for (let i = 0; i < binary.length; i += 1) {
|
|
9
|
+
bytes[i] = binary.charCodeAt(i);
|
|
10
|
+
}
|
|
11
|
+
return bytes;
|
|
12
|
+
};
|
|
13
|
+
export const encodeUtf8 = (input) => new TextEncoder().encode(input);
|
|
14
|
+
export const normalizeHeaders = (headers) => {
|
|
15
|
+
const output = {};
|
|
16
|
+
if (!headers)
|
|
17
|
+
return output;
|
|
18
|
+
for (const key of Object.keys(headers)) {
|
|
19
|
+
const value = headers[key];
|
|
20
|
+
if (value === undefined || value === null)
|
|
21
|
+
continue;
|
|
22
|
+
output[key] = Array.isArray(value) ? value.join(", ") : String(value);
|
|
23
|
+
}
|
|
24
|
+
return output;
|
|
25
|
+
};
|
|
26
|
+
export const mapResourceType = (input) => {
|
|
27
|
+
if (!input)
|
|
28
|
+
return undefined;
|
|
29
|
+
const normalized = input.toLowerCase();
|
|
30
|
+
switch (normalized) {
|
|
31
|
+
case "document":
|
|
32
|
+
return "document";
|
|
33
|
+
case "stylesheet":
|
|
34
|
+
return "stylesheet";
|
|
35
|
+
case "script":
|
|
36
|
+
return "script";
|
|
37
|
+
case "image":
|
|
38
|
+
return "image";
|
|
39
|
+
case "font":
|
|
40
|
+
return "font";
|
|
41
|
+
case "media":
|
|
42
|
+
return "media";
|
|
43
|
+
case "xhr":
|
|
44
|
+
return "xhr";
|
|
45
|
+
case "fetch":
|
|
46
|
+
return "fetch";
|
|
47
|
+
case "other":
|
|
48
|
+
return "other";
|
|
49
|
+
default:
|
|
50
|
+
return normalized;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
export 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
|
+
};
|
|
80
|
+
export const callCdp = async (client, method, params) => {
|
|
81
|
+
if (typeof client.send === "function") {
|
|
82
|
+
return (await client.send(method, params));
|
|
83
|
+
}
|
|
84
|
+
const [domain, command] = method.split(".");
|
|
85
|
+
const domainApi = client[domain];
|
|
86
|
+
const fn = domainApi?.[command];
|
|
87
|
+
if (typeof fn === "function") {
|
|
88
|
+
return (await fn(params));
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`CDP session missing method ${method}.`);
|
|
91
|
+
};
|
|
92
|
+
export const subscribe = (client, eventName, handler) => {
|
|
93
|
+
if (typeof client.on === "function") {
|
|
94
|
+
client.on(eventName, handler);
|
|
95
|
+
return () => client.off?.(eventName, handler);
|
|
96
|
+
}
|
|
97
|
+
const [domain, event] = eventName.split(".");
|
|
98
|
+
const domainApi = client[domain];
|
|
99
|
+
const fn = domainApi?.[event];
|
|
100
|
+
if (typeof fn === "function") {
|
|
101
|
+
fn(handler);
|
|
102
|
+
return () => undefined;
|
|
103
|
+
}
|
|
104
|
+
throw new Error(`CDP session missing event ${eventName}.`);
|
|
105
|
+
};
|
|
106
|
+
export 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
|
+
export const logInfo = (label, data) => {
|
|
111
|
+
console.info(`[pagepocket][cdp-adapter] ${label} ${JSON.stringify(data)}`);
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=cdp-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdp-utils.js","sourceRoot":"","sources":["../src/cdp-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrome-debugger-client.d.ts","sourceRoot":"","sources":["../src/chrome-debugger-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAuB,oBAAoB,EAAgB,MAAM,SAAS,CAAC;AAIlG,eAAO,MAAM,0BAA0B,GACrC,QAAQ,oBAAoB,EAC5B,iBAAiB,MAAM,KACtB,SAqFF,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const getChromeGlobal = () => globalThis.chrome;
|
|
2
|
+
export const createChromeDebuggerClient = (target, protocolVersion) => {
|
|
3
|
+
const chromeGlobal = getChromeGlobal();
|
|
4
|
+
const chromeDebugger = chromeGlobal?.debugger;
|
|
5
|
+
if (!chromeDebugger) {
|
|
6
|
+
throw new Error("chrome.debugger API is not available in this environment.");
|
|
7
|
+
}
|
|
8
|
+
const chromeRuntime = chromeGlobal?.runtime;
|
|
9
|
+
let attached = false;
|
|
10
|
+
let closed = false;
|
|
11
|
+
const listeners = new Map();
|
|
12
|
+
const assertNoLastError = (action) => {
|
|
13
|
+
const lastError = chromeRuntime?.lastError;
|
|
14
|
+
if (lastError?.message) {
|
|
15
|
+
throw new Error(`${action} failed: ${lastError.message}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const attach = () => new Promise((resolve, reject) => {
|
|
19
|
+
chromeDebugger.attach(target, protocolVersion, () => {
|
|
20
|
+
try {
|
|
21
|
+
assertNoLastError("chrome.debugger.attach");
|
|
22
|
+
attached = true;
|
|
23
|
+
resolve();
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
reject(error);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
const detach = () => new Promise((resolve, reject) => {
|
|
31
|
+
chromeDebugger.detach(target, () => {
|
|
32
|
+
try {
|
|
33
|
+
assertNoLastError("chrome.debugger.detach");
|
|
34
|
+
attached = false;
|
|
35
|
+
resolve();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
reject(error);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
const ensureAttached = async () => {
|
|
43
|
+
if (attached)
|
|
44
|
+
return;
|
|
45
|
+
await attach();
|
|
46
|
+
};
|
|
47
|
+
return {
|
|
48
|
+
send: async (method, params) => {
|
|
49
|
+
await ensureAttached();
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
chromeDebugger.sendCommand(target, method, params ?? {}, (result) => {
|
|
52
|
+
try {
|
|
53
|
+
assertNoLastError(`chrome.debugger.sendCommand(${method})`);
|
|
54
|
+
resolve(result);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
reject(error);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
},
|
|
62
|
+
on: (event, listener) => {
|
|
63
|
+
const handler = (source, method, params) => {
|
|
64
|
+
if (source.tabId !== target.tabId)
|
|
65
|
+
return;
|
|
66
|
+
if (method !== event)
|
|
67
|
+
return;
|
|
68
|
+
listener(params);
|
|
69
|
+
};
|
|
70
|
+
listeners.set(listener, handler);
|
|
71
|
+
chromeDebugger.onEvent.addListener(handler);
|
|
72
|
+
},
|
|
73
|
+
off: (_event, listener) => {
|
|
74
|
+
const handler = listeners.get(listener);
|
|
75
|
+
if (!handler)
|
|
76
|
+
return;
|
|
77
|
+
listeners.delete(listener);
|
|
78
|
+
chromeDebugger.onEvent.removeListener(handler);
|
|
79
|
+
},
|
|
80
|
+
close: async () => {
|
|
81
|
+
if (closed)
|
|
82
|
+
return;
|
|
83
|
+
closed = true;
|
|
84
|
+
if (!attached)
|
|
85
|
+
return;
|
|
86
|
+
await detach();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=chrome-debugger-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrome-debugger-client.js","sourceRoot":"","sources":["../src/chrome-debugger-client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,43 +1,12 @@
|
|
|
1
|
-
import type { InterceptSession, InterceptTarget, NetworkEventHandlers, NetworkInterceptorAdapter } from "@pagepocket/
|
|
2
|
-
type CdpClient
|
|
3
|
-
send?: (method: string, params?: Record<string, unknown>) => Promise<unknown>;
|
|
4
|
-
on?: (event: string, listener: (payload: unknown) => void) => void;
|
|
5
|
-
off?: (event: string, listener: (payload: unknown) => void) => void;
|
|
6
|
-
close?: () => Promise<void>;
|
|
7
|
-
Network?: {
|
|
8
|
-
enable?: (params?: Record<string, unknown>) => Promise<void>;
|
|
9
|
-
disable?: () => Promise<void>;
|
|
10
|
-
getResponseBody?: (params: {
|
|
11
|
-
requestId: string;
|
|
12
|
-
}) => Promise<{
|
|
13
|
-
body: string;
|
|
14
|
-
base64Encoded?: boolean;
|
|
15
|
-
}>;
|
|
16
|
-
requestWillBeSent?: (listener: (payload: unknown) => void) => void;
|
|
17
|
-
responseReceived?: (listener: (payload: unknown) => void) => void;
|
|
18
|
-
loadingFailed?: (listener: (payload: unknown) => void) => void;
|
|
19
|
-
loadingFinished?: (listener: (payload: unknown) => void) => void;
|
|
20
|
-
};
|
|
21
|
-
Page?: {
|
|
22
|
-
enable?: () => Promise<void>;
|
|
23
|
-
navigate?: (params: {
|
|
24
|
-
url: string;
|
|
25
|
-
}) => Promise<void>;
|
|
26
|
-
getResourceContent?: (params: {
|
|
27
|
-
frameId: string;
|
|
28
|
-
url: string;
|
|
29
|
-
}) => Promise<{
|
|
30
|
-
content: string;
|
|
31
|
-
base64Encoded?: boolean;
|
|
32
|
-
}>;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
1
|
+
import type { InterceptSession, InterceptTarget, NetworkEventHandlers, NetworkInterceptorAdapter, TriggerAction } from "@pagepocket/interceptor";
|
|
2
|
+
import type { CdpClient } from "./types";
|
|
35
3
|
export type CdpAdapterOptions = {
|
|
36
4
|
protocolVersion?: string;
|
|
37
5
|
clientFactory?: (options?: {
|
|
38
6
|
tabId: number;
|
|
39
7
|
protocolVersion: string;
|
|
40
8
|
}) => Promise<CdpClient> | CdpClient;
|
|
9
|
+
triggerActions?: TriggerAction[];
|
|
41
10
|
};
|
|
42
11
|
export declare class CdpAdapter implements NetworkInterceptorAdapter {
|
|
43
12
|
readonly name = "cdp";
|
|
@@ -51,5 +20,4 @@ export declare class CdpAdapter implements NetworkInterceptorAdapter {
|
|
|
51
20
|
constructor(options?: CdpAdapterOptions);
|
|
52
21
|
start(target: InterceptTarget, handlers: NetworkEventHandlers, _options?: Record<string, unknown>): Promise<InterceptSession>;
|
|
53
22
|
}
|
|
54
|
-
export {};
|
|
55
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,EACzB,aAAa,EACd,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,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;IACrC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,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;CAmB7B"}
|