@lobu/connector-sdk 11.3.0 → 12.0.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/browser/cdp.d.ts +0 -18
- package/dist/browser/cdp.d.ts.map +1 -1
- package/dist/browser/cdp.js +3 -66
- package/dist/browser/cdp.js.map +1 -1
- package/dist/browser/launcher.d.ts +0 -4
- package/dist/browser/launcher.d.ts.map +1 -1
- package/dist/browser/launcher.js +12 -14
- package/dist/browser/launcher.js.map +1 -1
- package/dist/browser/stealth.d.ts +2 -22
- package/dist/browser/stealth.d.ts.map +1 -1
- package/dist/browser/stealth.js +0 -72
- package/dist/browser/stealth.js.map +1 -1
- package/dist/browser-network.d.ts +5 -11
- package/dist/browser-network.d.ts.map +1 -1
- package/dist/browser-network.js +10 -30
- package/dist/browser-network.js.map +1 -1
- package/dist/connector-runtime.d.ts +35 -1
- package/dist/connector-runtime.d.ts.map +1 -1
- package/dist/connector-runtime.js +44 -0
- package/dist/connector-runtime.js.map +1 -1
- package/dist/connector-types.d.ts +30 -0
- package/dist/connector-types.d.ts.map +1 -1
- package/dist/connector-types.js.map +1 -1
- package/dist/define-connector.d.ts +7 -1
- package/dist/define-connector.d.ts.map +1 -1
- package/dist/define-connector.js +6 -0
- package/dist/define-connector.js.map +1 -1
- package/dist/extension-dom-scrape.d.ts +11 -1
- package/dist/extension-dom-scrape.d.ts.map +1 -1
- package/dist/extension-dom-scrape.js +18 -5
- package/dist/extension-dom-scrape.js.map +1 -1
- package/dist/extension-network.d.ts +3 -3
- package/dist/extension-network.js +3 -3
- package/dist/http-client.d.ts +27 -0
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +21 -2
- package/dist/http-client.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/metrics.d.ts +173 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +84 -0
- package/dist/metrics.js.map +1 -0
- package/dist/nix-package.d.ts +24 -0
- package/dist/nix-package.d.ts.map +1 -0
- package/dist/nix-package.js +59 -0
- package/dist/nix-package.js.map +1 -0
- package/dist/reaction-client-types.d.ts +29 -2
- package/dist/reaction-client-types.d.ts.map +1 -1
- package/dist/sources/cache.d.ts +3 -3
- package/dist/sources/cache.d.ts.map +1 -1
- package/dist/sources/cache.js +1 -1
- package/dist/sources/cache.js.map +1 -1
- package/dist/sources/git-file-source.d.ts +2 -1
- package/dist/sources/git-file-source.d.ts.map +1 -1
- package/dist/sources/git-http.d.ts +1 -1
- package/dist/sources/git-http.d.ts.map +1 -1
- package/dist/sources/git-http.js +1 -1
- package/dist/sources/git-http.js.map +1 -1
- package/dist/sources/git-snapshot.d.ts +2 -1
- package/dist/sources/git-snapshot.d.ts.map +1 -1
- package/dist/sources/glob.d.ts +0 -8
- package/dist/sources/glob.d.ts.map +1 -1
- package/dist/sources/glob.js +1 -1
- package/dist/sources/glob.js.map +1 -1
- package/dist/sources/snapshot.d.ts +2 -1
- package/dist/sources/snapshot.d.ts.map +1 -1
- package/package.json +12 -14
- package/dist/browser/devtools-active-port.d.ts +0 -20
- package/dist/browser/devtools-active-port.d.ts.map +0 -1
- package/dist/browser/devtools-active-port.js +0 -46
- package/dist/browser/devtools-active-port.js.map +0 -1
- package/dist/browser/mirror-cookies.d.ts +0 -64
- package/dist/browser/mirror-cookies.d.ts.map +0 -1
- package/dist/browser/mirror-cookies.js +0 -292
- package/dist/browser/mirror-cookies.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-http.js","sourceRoot":"","sources":["../../src/sources/git-http.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"git-http.js","sourceRoot":"","sources":["../../src/sources/git-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type nodeFsType from 'node:fs';
|
|
2
2
|
import type { Snapshot } from '../file-source.js';
|
|
3
|
-
|
|
3
|
+
interface GitSnapshotOptions {
|
|
4
4
|
exclude?: (relativePath: string) => boolean;
|
|
5
5
|
}
|
|
6
6
|
export declare class GitSnapshot implements Snapshot {
|
|
@@ -11,4 +11,5 @@ export declare class GitSnapshot implements Snapshot {
|
|
|
11
11
|
readFile(relativePath: string): Promise<Buffer>;
|
|
12
12
|
readText(relativePath: string): Promise<string>;
|
|
13
13
|
}
|
|
14
|
+
export {};
|
|
14
15
|
//# sourceMappingURL=git-snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-snapshot.d.ts","sourceRoot":"","sources":["../../src/sources/git-snapshot.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,
|
|
1
|
+
{"version":3,"file":"git-snapshot.d.ts","sourceRoot":"","sources":["../../src/sources/git-snapshot.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,qBAAa,WAAY,YAAW,QAAQ;;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAMnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,OAAO,UAAU,EACrB,OAAO,GAAE,kBAAuB;IAQ3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IAsB/C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW/C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAuBtD"}
|
package/dist/sources/glob.d.ts
CHANGED
|
@@ -18,14 +18,6 @@
|
|
|
18
18
|
* to (git source uses a separate snapshot dir without `.git`).
|
|
19
19
|
*/
|
|
20
20
|
export declare function walkDirectoryRelative(root: string): AsyncIterable<string>;
|
|
21
|
-
/**
|
|
22
|
-
* Compile a glob to a RegExp. Anchored on both ends.
|
|
23
|
-
*
|
|
24
|
-
* Implementation note: we walk the glob char-by-char rather than splitting on
|
|
25
|
-
* `*` so we can distinguish `*` from `**` without ambiguity, and so literal
|
|
26
|
-
* regex metacharacters get escaped exactly once.
|
|
27
|
-
*/
|
|
28
|
-
export declare function globToRegExp(glob: string): RegExp;
|
|
29
21
|
/** Test a POSIX-style relative path against `glob`. */
|
|
30
22
|
export declare function matchesGlob(relativePath: string, glob: string): boolean;
|
|
31
23
|
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/sources/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;;;;GAKG;AACH,wBAAuB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAwBhF;
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/sources/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;;;;GAKG;AACH,wBAAuB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAwBhF;AAuED,uDAAuD;AACvD,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAKvE"}
|
package/dist/sources/glob.js
CHANGED
|
@@ -54,7 +54,7 @@ export async function* walkDirectoryRelative(root) {
|
|
|
54
54
|
* `*` so we can distinguish `*` from `**` without ambiguity, and so literal
|
|
55
55
|
* regex metacharacters get escaped exactly once.
|
|
56
56
|
*/
|
|
57
|
-
|
|
57
|
+
function globToRegExp(glob) {
|
|
58
58
|
let re = '^';
|
|
59
59
|
for (let i = 0; i < glob.length; i++) {
|
|
60
60
|
const c = glob[i];
|
package/dist/sources/glob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/sources/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,qBAAqB,CAAC,IAAY;IACvD,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAW,EAAE,MAAc;QAC9C,IAAI,OAAmC,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC7D,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,2DAA2D;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,MAAM,UAAU,CAAC;YACnB,CAAC;YACD,kEAAkE;YAClE,2EAA2E;QAC7E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/sources/glob.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Snapshot } from '../file-source.js';
|
|
2
|
-
|
|
2
|
+
interface DirectorySnapshotOptions {
|
|
3
3
|
/**
|
|
4
4
|
* Predicate run against each POSIX-style relative path during walk and
|
|
5
5
|
* read. Returning `true` excludes the path. Used to hide internal dirs
|
|
@@ -16,4 +16,5 @@ export declare class DirectorySnapshot implements Snapshot {
|
|
|
16
16
|
readFile(relativePath: string): Promise<Buffer>;
|
|
17
17
|
readText(relativePath: string): Promise<string>;
|
|
18
18
|
}
|
|
19
|
+
export {};
|
|
19
20
|
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/sources/snapshot.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/sources/snapshot.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,UAAU,wBAAwB;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,qBAAa,iBAAkB,YAAW,QAAQ;;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAMT,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;IAUzE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IAO/C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA6CtD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lobu/connector-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"description": "Lobu memory SDK — build pluggable connectors for Lobu memory",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,21 +22,19 @@
|
|
|
22
22
|
"default": "./dist/define-connector.js"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
|
-
"./
|
|
26
|
-
"types": "./dist/identity-types.d.ts",
|
|
27
|
-
"import": "./dist/identity-types.js"
|
|
28
|
-
},
|
|
29
|
-
"./browser-mirror": {
|
|
25
|
+
"./nix-package": {
|
|
30
26
|
"import": {
|
|
31
|
-
"types": "./dist/
|
|
32
|
-
"default": "./dist/
|
|
27
|
+
"types": "./dist/nix-package.d.ts",
|
|
28
|
+
"default": "./dist/nix-package.js"
|
|
29
|
+
},
|
|
30
|
+
"require": {
|
|
31
|
+
"types": "./dist/nix-package.d.ts",
|
|
32
|
+
"default": "./dist/nix-package.js"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
|
-
"./
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
"default": "./dist/browser/devtools-active-port.js"
|
|
39
|
-
}
|
|
35
|
+
"./identity-types": {
|
|
36
|
+
"types": "./dist/identity-types.d.ts",
|
|
37
|
+
"import": "./dist/identity-types.js"
|
|
40
38
|
}
|
|
41
39
|
},
|
|
42
40
|
"files": [
|
|
@@ -48,7 +46,7 @@
|
|
|
48
46
|
"clean": "rm -rf dist"
|
|
49
47
|
},
|
|
50
48
|
"dependencies": {
|
|
51
|
-
"@lobu/core": "
|
|
49
|
+
"@lobu/core": "12.0.0",
|
|
52
50
|
"@sinclair/typebox": "^0.34.41",
|
|
53
51
|
"isomorphic-git": "^1.34.0",
|
|
54
52
|
"ky": "^1.14.0",
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read Chrome's `DevToolsActivePort` file (two lines: port + WS path) to
|
|
3
|
-
* discover a live CDP endpoint. Works for both Chrome M144's chrome://
|
|
4
|
-
* inspect toggle and the classic `--remote-debugging-port=<n>` launch
|
|
5
|
-
* flag — both write the same file. The constructed `ws://127.0.0.1:
|
|
6
|
-
* <port><path>` is a standard CDP WebSocket; Playwright's
|
|
7
|
-
* `chromium.connectOverCDP(wsUrl)` attaches directly.
|
|
8
|
-
*/
|
|
9
|
-
export interface DevToolsActivePort {
|
|
10
|
-
port: number;
|
|
11
|
-
wsPath: string;
|
|
12
|
-
wsUrl: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Read and parse `<userDataRoot>/DevToolsActivePort`. Returns null if the
|
|
16
|
-
* file is missing or malformed (e.g. Chrome hasn't been launched with
|
|
17
|
-
* remote debugging enabled in this profile).
|
|
18
|
-
*/
|
|
19
|
-
export declare function readDevToolsActivePort(userDataRoot: string): Promise<DevToolsActivePort | null>;
|
|
20
|
-
//# sourceMappingURL=devtools-active-port.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools-active-port.d.ts","sourceRoot":"","sources":["../../src/browser/devtools-active-port.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAuBpC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read Chrome's `DevToolsActivePort` file (two lines: port + WS path) to
|
|
3
|
-
* discover a live CDP endpoint. Works for both Chrome M144's chrome://
|
|
4
|
-
* inspect toggle and the classic `--remote-debugging-port=<n>` launch
|
|
5
|
-
* flag — both write the same file. The constructed `ws://127.0.0.1:
|
|
6
|
-
* <port><path>` is a standard CDP WebSocket; Playwright's
|
|
7
|
-
* `chromium.connectOverCDP(wsUrl)` attaches directly.
|
|
8
|
-
*/
|
|
9
|
-
import { existsSync } from 'node:fs';
|
|
10
|
-
import { readFile } from 'node:fs/promises';
|
|
11
|
-
import { join } from 'node:path';
|
|
12
|
-
/**
|
|
13
|
-
* Read and parse `<userDataRoot>/DevToolsActivePort`. Returns null if the
|
|
14
|
-
* file is missing or malformed (e.g. Chrome hasn't been launched with
|
|
15
|
-
* remote debugging enabled in this profile).
|
|
16
|
-
*/
|
|
17
|
-
export async function readDevToolsActivePort(userDataRoot) {
|
|
18
|
-
const path = join(userDataRoot, 'DevToolsActivePort');
|
|
19
|
-
if (!existsSync(path))
|
|
20
|
-
return null;
|
|
21
|
-
let raw;
|
|
22
|
-
try {
|
|
23
|
-
raw = await readFile(path, 'utf-8');
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
const lines = raw
|
|
29
|
-
.split('\n')
|
|
30
|
-
.map((l) => l.trim())
|
|
31
|
-
.filter(Boolean);
|
|
32
|
-
if (lines.length < 2)
|
|
33
|
-
return null;
|
|
34
|
-
const port = Number(lines[0]);
|
|
35
|
-
const wsPath = lines[1];
|
|
36
|
-
if (!Number.isFinite(port) || port <= 0 || port > 65535)
|
|
37
|
-
return null;
|
|
38
|
-
if (!wsPath.startsWith('/'))
|
|
39
|
-
return null;
|
|
40
|
-
return {
|
|
41
|
-
port,
|
|
42
|
-
wsPath,
|
|
43
|
-
wsUrl: `ws://127.0.0.1:${port}${wsPath}`,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=devtools-active-port.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools-active-port.js","sourceRoot":"","sources":["../../src/browser/devtools-active-port.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,GAAG;SACd,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO;QACL,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,kBAAkB,IAAI,GAAG,MAAM,EAAE;KACzC,CAAC;AACJ,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decrypt cookies from a user-owned Chrome profile and inject them into a
|
|
3
|
-
* headless connector subprocess — the "mirror" model. The user picks a
|
|
4
|
-
* Chrome profile in the Lobu menu bar; at sync time we decrypt cookies
|
|
5
|
-
* via the macOS Keychain, drop Google-account domains (to avoid Google's
|
|
6
|
-
* session-conflict logout on the user's real Chrome), and hand a
|
|
7
|
-
* Playwright-ready Cookie[] to the runner. macOS only in v1.
|
|
8
|
-
*/
|
|
9
|
-
import type { Cookie } from 'playwright';
|
|
10
|
-
export interface DecryptChromeCookiesParams {
|
|
11
|
-
/** "chrome" / "brave" / "arc" / "edge". v1 only honors "chrome". */
|
|
12
|
-
sourceBrowser?: string;
|
|
13
|
-
/** Absolute path to Chrome's user-data root (the dir that contains
|
|
14
|
-
* "Default", "Profile 1", etc. plus Local State). */
|
|
15
|
-
userDataRoot: string;
|
|
16
|
-
/** Subdir name of the source profile, e.g. "Default" or "Profile 1". */
|
|
17
|
-
sourceProfileDir: string;
|
|
18
|
-
/** Optional allow-list of host domains. When set, only cookies whose
|
|
19
|
-
* host_key matches one of these (exact, leading-dot, or wildcard
|
|
20
|
-
* subdomain) are returned. Empty = keep all. Used by `lobu memory
|
|
21
|
-
* browser-auth` to scope captures to a specific connector. */
|
|
22
|
-
allowDomains?: string[];
|
|
23
|
-
/** Optional deny-list of host domains. Cookies whose host_key matches
|
|
24
|
-
* any of these are dropped. Used by mirror mode to skip Google-account
|
|
25
|
-
* cookies (avoids Google's session-conflict logout). */
|
|
26
|
-
denyDomains?: Set<string>;
|
|
27
|
-
}
|
|
28
|
-
export interface DecryptChromeCookiesResult {
|
|
29
|
-
cookies: Cookie[];
|
|
30
|
-
/** How many cookies decrypted successfully before filtering. */
|
|
31
|
-
total_decrypted: number;
|
|
32
|
-
/** How many cookies got dropped by the deny-list. */
|
|
33
|
-
denied: number;
|
|
34
|
-
/** How many cookies got dropped by the allow-list (or by validation). */
|
|
35
|
-
filtered: number;
|
|
36
|
-
}
|
|
37
|
-
export interface MirrorCookieAcquireParams {
|
|
38
|
-
sourceBrowser: string;
|
|
39
|
-
userDataRoot: string;
|
|
40
|
-
sourceProfileDir: string;
|
|
41
|
-
}
|
|
42
|
-
export interface MirrorCookieAcquireResult {
|
|
43
|
-
cookies: Cookie[];
|
|
44
|
-
skipped_google_count: number;
|
|
45
|
-
total_decrypted_count: number;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Mirror-mode wrapper: decrypt the profile's cookies, filter out the
|
|
49
|
-
* Google-account deny-list. Used by `lobu connector run` so the connector
|
|
50
|
-
* subprocess can run authenticated against a user's Chrome state without
|
|
51
|
-
* launching anything.
|
|
52
|
-
*/
|
|
53
|
-
export declare function acquireMirroredCookies(params: MirrorCookieAcquireParams): Promise<MirrorCookieAcquireResult>;
|
|
54
|
-
/**
|
|
55
|
-
* Decrypt cookies from a macOS Chrome profile's SQLite store via the
|
|
56
|
-
* Keychain entry. Generic primitive consumed by both mirror mode (with
|
|
57
|
-
* the Google deny-list) and the CLI's `lobu memory browser-auth` capture
|
|
58
|
-
* flow (with a connector-scoped allow-list). Replaces the older
|
|
59
|
-
* `extractCookiesMacOS` that used to live in
|
|
60
|
-
* `packages/cli/src/commands/memory/_lib/browser-auth-cmd.ts` — that
|
|
61
|
-
* file now imports this.
|
|
62
|
-
*/
|
|
63
|
-
export declare function decryptChromeCookiesMacOS(params: DecryptChromeCookiesParams): Promise<DecryptChromeCookiesResult>;
|
|
64
|
-
//# sourceMappingURL=mirror-cookies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mirror-cookies.d.ts","sourceRoot":"","sources":["../../src/browser/mirror-cookies.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAsCzC,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;yDACqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;kEAG8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;4DAEwD;IACxD,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAsBpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CA8MrC"}
|
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decrypt cookies from a user-owned Chrome profile and inject them into a
|
|
3
|
-
* headless connector subprocess — the "mirror" model. The user picks a
|
|
4
|
-
* Chrome profile in the Lobu menu bar; at sync time we decrypt cookies
|
|
5
|
-
* via the macOS Keychain, drop Google-account domains (to avoid Google's
|
|
6
|
-
* session-conflict logout on the user's real Chrome), and hand a
|
|
7
|
-
* Playwright-ready Cookie[] to the runner. macOS only in v1.
|
|
8
|
-
*/
|
|
9
|
-
import { execFileSync } from 'node:child_process';
|
|
10
|
-
import { copyFileSync, existsSync, mkdtempSync, rmSync } from 'node:fs';
|
|
11
|
-
import { tmpdir } from 'node:os';
|
|
12
|
-
import { join } from 'node:path';
|
|
13
|
-
import { sdkLogger } from '../logger.js';
|
|
14
|
-
/** Google-account domains we never copy. Two Chrome instances presenting
|
|
15
|
-
* the same Google OAuth cookies trigger Google's session-conflict
|
|
16
|
-
* heuristic, which force-logs out the user's real Chrome. The set covers
|
|
17
|
-
* Google's Sign-In, YouTube, Gmail, and content-CDN auth — enough to keep
|
|
18
|
-
* Lobu-side Chromium out of the Google account entirely. */
|
|
19
|
-
const GOOGLE_ACCOUNT_DOMAINS_DENY_LIST = new Set([
|
|
20
|
-
'google.com',
|
|
21
|
-
'accounts.google.com',
|
|
22
|
-
'mail.google.com',
|
|
23
|
-
'gmail.com',
|
|
24
|
-
'youtube.com',
|
|
25
|
-
'googleusercontent.com',
|
|
26
|
-
'googleapis.com',
|
|
27
|
-
]);
|
|
28
|
-
/** Map auth_data.source_browser → (Application Support relative path, Keychain service/account).
|
|
29
|
-
* We only fully support Chrome in v1; the others are stubbed for the future
|
|
30
|
-
* but always return null on the keychain lookup path. */
|
|
31
|
-
function browserConfig(sourceBrowser) {
|
|
32
|
-
switch (sourceBrowser) {
|
|
33
|
-
case 'chrome':
|
|
34
|
-
return {
|
|
35
|
-
userDataRootDefault: 'Google/Chrome',
|
|
36
|
-
keychain: { service: 'Chrome Safe Storage', account: 'Chrome' },
|
|
37
|
-
};
|
|
38
|
-
// Brave / Edge / Arc decryption needs different keychain entries plus
|
|
39
|
-
// version probing — held back until the v1 mirror flow lands.
|
|
40
|
-
default:
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Mirror-mode wrapper: decrypt the profile's cookies, filter out the
|
|
46
|
-
* Google-account deny-list. Used by `lobu connector run` so the connector
|
|
47
|
-
* subprocess can run authenticated against a user's Chrome state without
|
|
48
|
-
* launching anything.
|
|
49
|
-
*/
|
|
50
|
-
export async function acquireMirroredCookies(params) {
|
|
51
|
-
const result = await decryptChromeCookiesMacOS({
|
|
52
|
-
sourceBrowser: params.sourceBrowser,
|
|
53
|
-
userDataRoot: params.userDataRoot,
|
|
54
|
-
sourceProfileDir: params.sourceProfileDir,
|
|
55
|
-
denyDomains: new Set(GOOGLE_ACCOUNT_DOMAINS_DENY_LIST),
|
|
56
|
-
});
|
|
57
|
-
sdkLogger.info({
|
|
58
|
-
userDataRoot: params.userDataRoot,
|
|
59
|
-
sourceProfileDir: params.sourceProfileDir,
|
|
60
|
-
totalDecryptedCount: result.total_decrypted,
|
|
61
|
-
skippedGoogleCount: result.denied,
|
|
62
|
-
keptCount: result.cookies.length,
|
|
63
|
-
}, '[MirrorCookies] Acquired');
|
|
64
|
-
return {
|
|
65
|
-
cookies: result.cookies,
|
|
66
|
-
skipped_google_count: result.denied,
|
|
67
|
-
total_decrypted_count: result.total_decrypted,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Decrypt cookies from a macOS Chrome profile's SQLite store via the
|
|
72
|
-
* Keychain entry. Generic primitive consumed by both mirror mode (with
|
|
73
|
-
* the Google deny-list) and the CLI's `lobu memory browser-auth` capture
|
|
74
|
-
* flow (with a connector-scoped allow-list). Replaces the older
|
|
75
|
-
* `extractCookiesMacOS` that used to live in
|
|
76
|
-
* `packages/cli/src/commands/memory/_lib/browser-auth-cmd.ts` — that
|
|
77
|
-
* file now imports this.
|
|
78
|
-
*/
|
|
79
|
-
export async function decryptChromeCookiesMacOS(params) {
|
|
80
|
-
if (process.platform !== 'darwin') {
|
|
81
|
-
throw new Error(`Mirror cookie acquisition is currently macOS-only (process.platform=${process.platform}). Linux/Windows pending.`);
|
|
82
|
-
}
|
|
83
|
-
const cfg = browserConfig(params.sourceBrowser ?? 'chrome');
|
|
84
|
-
if (!cfg) {
|
|
85
|
-
throw new Error(`Mirror mode does not yet support source_browser='${params.sourceBrowser}' (v1 is Chrome only).`);
|
|
86
|
-
}
|
|
87
|
-
// `sourceProfileDir` is supplied by the CLI/UI (user-picked Chrome
|
|
88
|
-
// profile slug like "Default" or "Profile 1"). Reject anything that
|
|
89
|
-
// contains path separators or parent-dir references so the join below
|
|
90
|
-
// can't escape `userDataRoot` and read an arbitrary SQLite file.
|
|
91
|
-
const profileDir = params.sourceProfileDir;
|
|
92
|
-
if (typeof profileDir !== 'string' ||
|
|
93
|
-
profileDir.length === 0 ||
|
|
94
|
-
/[/\\\0]/.test(profileDir) ||
|
|
95
|
-
profileDir === '.' ||
|
|
96
|
-
profileDir === '..' ||
|
|
97
|
-
profileDir.startsWith('..')) {
|
|
98
|
-
throw new Error(`Invalid sourceProfileDir '${profileDir}': must be a single Chrome profile directory name (e.g. "Default", "Profile 1")`);
|
|
99
|
-
}
|
|
100
|
-
const cookiePath = join(params.userDataRoot, params.sourceProfileDir, 'Cookies');
|
|
101
|
-
if (!existsSync(cookiePath)) {
|
|
102
|
-
throw new Error(`Source Chrome profile has no Cookies file at ${cookiePath}. The profile may have been deleted or renamed — re-pick in Lobu.`);
|
|
103
|
-
}
|
|
104
|
-
const { pbkdf2Sync, createDecipheriv } = await import('node:crypto');
|
|
105
|
-
// node:sqlite is stable on Node 22+; the lobu repo pins Node 22-24.
|
|
106
|
-
// @types/node 20 doesn't ship typings for it, so we declare the minimal
|
|
107
|
-
// surface we use in src/types/node-sqlite.d.ts.
|
|
108
|
-
const { DatabaseSync } = await import('node:sqlite');
|
|
109
|
-
// Chrome holds a write lock on Cookies; copy to temp so the read can
|
|
110
|
-
// happen safely even while Chrome is running. SQLite WAL mode makes the
|
|
111
|
-
// snapshot consistent.
|
|
112
|
-
const tmpDir = mkdtempSync(join(tmpdir(), 'lobu-mirror-'));
|
|
113
|
-
const tmpCookiePath = join(tmpDir, 'Cookies');
|
|
114
|
-
copyFileSync(cookiePath, tmpCookiePath);
|
|
115
|
-
const journalSrc = join(params.userDataRoot, params.sourceProfileDir, 'Cookies-journal');
|
|
116
|
-
if (existsSync(journalSrc)) {
|
|
117
|
-
copyFileSync(journalSrc, join(tmpDir, 'Cookies-journal'));
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
let keychainKey = null;
|
|
121
|
-
try {
|
|
122
|
-
// execFileSync (no shell) — keychain service/account are hardcoded today
|
|
123
|
-
// but if the browserConfig table ever grows from caller input, the shell
|
|
124
|
-
// form would be a command-injection foothold. Pass args explicitly.
|
|
125
|
-
keychainKey = execFileSync('security', [
|
|
126
|
-
'find-generic-password',
|
|
127
|
-
'-w',
|
|
128
|
-
'-s',
|
|
129
|
-
cfg.keychain.service,
|
|
130
|
-
'-a',
|
|
131
|
-
cfg.keychain.account,
|
|
132
|
-
], { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
|
|
133
|
-
}
|
|
134
|
-
catch {
|
|
135
|
-
keychainKey = null;
|
|
136
|
-
}
|
|
137
|
-
if (!keychainKey) {
|
|
138
|
-
throw new Error('Could not read the Chrome encryption key from macOS Keychain. ' +
|
|
139
|
-
'If a system dialog appeared, click "Always Allow" and retry. If no dialog appeared, ' +
|
|
140
|
-
'your Keychain may be locked — run: security unlock-keychain');
|
|
141
|
-
}
|
|
142
|
-
// Chrome's key derivation: PBKDF2(keychainKey, "saltysalt", 1003, 16, sha1).
|
|
143
|
-
const derivedKey = pbkdf2Sync(keychainKey, 'saltysalt', 1003, 16, 'sha1');
|
|
144
|
-
const db = new DatabaseSync(tmpCookiePath, { readOnly: true });
|
|
145
|
-
let rows;
|
|
146
|
-
try {
|
|
147
|
-
rows = db
|
|
148
|
-
.prepare(`SELECT name, host_key, path, encrypted_value,
|
|
149
|
-
CAST(expires_utc AS TEXT) as expires_utc_text,
|
|
150
|
-
is_httponly, is_secure, samesite
|
|
151
|
-
FROM cookies`)
|
|
152
|
-
.all();
|
|
153
|
-
}
|
|
154
|
-
finally {
|
|
155
|
-
// Close the SQLite handle even if prepare/all throws — otherwise the
|
|
156
|
-
// temp DB stays open until the process exits, which on a hot reload
|
|
157
|
-
// path leaks one fd per sync.
|
|
158
|
-
try {
|
|
159
|
-
db.close();
|
|
160
|
-
}
|
|
161
|
-
catch {
|
|
162
|
-
/* best-effort */
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
const cookies = [];
|
|
166
|
-
let totalDecrypted = 0;
|
|
167
|
-
let denied = 0;
|
|
168
|
-
let filtered = 0;
|
|
169
|
-
const chromeEpochOffset = 11644473600n;
|
|
170
|
-
const iv = Buffer.alloc(16, ' ');
|
|
171
|
-
const allowSet = params.allowDomains?.length
|
|
172
|
-
? buildAllowMatcher(params.allowDomains)
|
|
173
|
-
: null;
|
|
174
|
-
for (const row of rows) {
|
|
175
|
-
const raw = row.encrypted_value;
|
|
176
|
-
const encrypted = raw instanceof Buffer ? raw : Buffer.from(raw);
|
|
177
|
-
let value = '';
|
|
178
|
-
if (encrypted.length > 3) {
|
|
179
|
-
const version = encrypted.slice(0, 3).toString('utf-8');
|
|
180
|
-
if (version === 'v10' || version === 'v11') {
|
|
181
|
-
const ciphertext = encrypted.slice(3);
|
|
182
|
-
try {
|
|
183
|
-
const decipher = createDecipheriv('aes-128-cbc', derivedKey, iv);
|
|
184
|
-
const dec = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
|
|
185
|
-
value = extractCookieValue(dec);
|
|
186
|
-
}
|
|
187
|
-
catch {
|
|
188
|
-
continue;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
value = encrypted.toString('utf-8');
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
if (!value && !row.name)
|
|
196
|
-
continue;
|
|
197
|
-
totalDecrypted += 1;
|
|
198
|
-
// Deny-list (e.g. Google account domains for mirror mode) wins over
|
|
199
|
-
// allow-list — keeps callers from accidentally allowing something
|
|
200
|
-
// the deny-list intended to skip.
|
|
201
|
-
if (params.denyDomains && matchesDomainSet(row.host_key, params.denyDomains)) {
|
|
202
|
-
denied += 1;
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
if (allowSet && !allowSet(row.host_key)) {
|
|
206
|
-
filtered += 1;
|
|
207
|
-
continue;
|
|
208
|
-
}
|
|
209
|
-
// Playwright's addCookies is fail-fast on any invalid entry. A
|
|
210
|
-
// handful of cookies decrypt to garbage (pre-M80 layout, legacy
|
|
211
|
-
// v10 variants); reject anything with non-printable bytes since
|
|
212
|
-
// those are clearly metadata leaking through, not a real value.
|
|
213
|
-
if (!row.name || !row.host_key || !isLikelyCookieValue(value)) {
|
|
214
|
-
filtered += 1;
|
|
215
|
-
continue;
|
|
216
|
-
}
|
|
217
|
-
const rowPath = row.path && row.path.length > 0 ? row.path : '/';
|
|
218
|
-
const expiresUtc = BigInt(row.expires_utc_text ?? '0');
|
|
219
|
-
const expiresUnix = expiresUtc > 0n ? Number(expiresUtc / 1000000n - chromeEpochOffset) : -1;
|
|
220
|
-
// Chrome's `samesite` is -1 (unspecified) | 0 (None) | 1 (Lax) | 2
|
|
221
|
-
// (Strict). Playwright requires exactly one of the three named
|
|
222
|
-
// values; collapse "unspecified" to Lax (the modern Chrome
|
|
223
|
-
// default). "None" requires Secure — promote insecure-None to Lax
|
|
224
|
-
// so the addCookies batch stays valid.
|
|
225
|
-
const sameSite = row.samesite === 0 ? 'None' : row.samesite === 2 ? 'Strict' : 'Lax';
|
|
226
|
-
const finalSameSite = sameSite === 'None' && row.is_secure !== 1 ? 'Lax' : sameSite;
|
|
227
|
-
cookies.push({
|
|
228
|
-
name: row.name,
|
|
229
|
-
value,
|
|
230
|
-
domain: row.host_key,
|
|
231
|
-
path: rowPath,
|
|
232
|
-
expires: expiresUnix,
|
|
233
|
-
httpOnly: row.is_httponly === 1,
|
|
234
|
-
secure: row.is_secure === 1,
|
|
235
|
-
sameSite: finalSameSite,
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
return { cookies, total_decrypted: totalDecrypted, denied, filtered };
|
|
239
|
-
}
|
|
240
|
-
finally {
|
|
241
|
-
try {
|
|
242
|
-
rmSync(tmpDir, { recursive: true, force: true });
|
|
243
|
-
}
|
|
244
|
-
catch {
|
|
245
|
-
// ignore tmp dir cleanup failure
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
/** Chrome M80+ prepends 32 bytes of SHA256(host_key) to the plaintext
|
|
250
|
-
* before encrypting (per Chromium's `os_crypt_mac.mm`). Slice those off
|
|
251
|
-
* and the remainder is the cookie value, with PKCS#7 padding stripped
|
|
252
|
-
* automatically by Node's `createDecipheriv.final()`. Pre-M80 cookies
|
|
253
|
-
* that lack the prefix decrypt to all-garbage under this slice and get
|
|
254
|
-
* dropped by `isLikelyCookieValue` downstream. */
|
|
255
|
-
function extractCookieValue(buf) {
|
|
256
|
-
if (buf.length <= 32)
|
|
257
|
-
return buf.toString('utf-8');
|
|
258
|
-
return buf.slice(32).toString('utf-8');
|
|
259
|
-
}
|
|
260
|
-
/** Build a host-matching predicate for an allow-list: exact host match or
|
|
261
|
-
* subdomain match (matches `.example.com` and `sub.example.com`). */
|
|
262
|
-
function buildAllowMatcher(domains) {
|
|
263
|
-
const patterns = domains.map((d) => d.replace(/^\./, '').toLowerCase());
|
|
264
|
-
return (host) => {
|
|
265
|
-
const normalized = host.toLowerCase();
|
|
266
|
-
return patterns.some((p) => normalized === p || normalized.endsWith(`.${p}`));
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
function matchesDomainSet(host, deny) {
|
|
270
|
-
const normalized = host.replace(/^\./, '').toLowerCase();
|
|
271
|
-
if (deny.has(normalized))
|
|
272
|
-
return true;
|
|
273
|
-
for (const denied of deny) {
|
|
274
|
-
if (normalized.endsWith(`.${denied}`))
|
|
275
|
-
return true;
|
|
276
|
-
}
|
|
277
|
-
return false;
|
|
278
|
-
}
|
|
279
|
-
/** Real cookie values are printable ASCII (the Set-Cookie wire format
|
|
280
|
-
* forbids control characters). Anything else is a decryption artifact
|
|
281
|
-
* we should drop before sending to Playwright. */
|
|
282
|
-
function isLikelyCookieValue(value) {
|
|
283
|
-
if (!value)
|
|
284
|
-
return false;
|
|
285
|
-
for (let i = 0; i < value.length; i++) {
|
|
286
|
-
const c = value.charCodeAt(i);
|
|
287
|
-
if (c < 0x20 || c > 0x7e)
|
|
288
|
-
return false;
|
|
289
|
-
}
|
|
290
|
-
return true;
|
|
291
|
-
}
|
|
292
|
-
//# sourceMappingURL=mirror-cookies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mirror-cookies.js","sourceRoot":"","sources":["../../src/browser/mirror-cookies.ts"],"names":[],"mappings":"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"}
|