pi-browser-use 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +39 -11
  2. package/dist/auth-verifiers.d.ts +60 -0
  3. package/dist/auth-verifiers.d.ts.map +1 -0
  4. package/dist/auth-verifiers.js +92 -0
  5. package/dist/auth-verifiers.js.map +1 -0
  6. package/dist/chrome-launcher.d.ts +100 -0
  7. package/dist/chrome-launcher.d.ts.map +1 -0
  8. package/dist/chrome-launcher.js +268 -0
  9. package/dist/chrome-launcher.js.map +1 -0
  10. package/dist/config.d.ts +3 -1
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +28 -5
  13. package/dist/config.js.map +1 -1
  14. package/dist/doctor.d.ts +8 -1
  15. package/dist/doctor.d.ts.map +1 -1
  16. package/dist/doctor.js +16 -6
  17. package/dist/doctor.js.map +1 -1
  18. package/dist/existing-flow.d.ts +68 -0
  19. package/dist/existing-flow.d.ts.map +1 -0
  20. package/dist/existing-flow.js +128 -0
  21. package/dist/existing-flow.js.map +1 -0
  22. package/dist/focus-policy.d.ts +28 -0
  23. package/dist/focus-policy.d.ts.map +1 -0
  24. package/dist/focus-policy.js +28 -0
  25. package/dist/focus-policy.js.map +1 -0
  26. package/dist/index.d.ts +2 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +494 -39
  29. package/dist/index.js.map +1 -1
  30. package/dist/named-profile.d.ts +47 -0
  31. package/dist/named-profile.d.ts.map +1 -0
  32. package/dist/named-profile.js +123 -0
  33. package/dist/named-profile.js.map +1 -0
  34. package/dist/persistent-backend.d.ts +77 -0
  35. package/dist/persistent-backend.d.ts.map +1 -0
  36. package/dist/persistent-backend.js +166 -0
  37. package/dist/persistent-backend.js.map +1 -0
  38. package/dist/persistent-store.d.ts +35 -0
  39. package/dist/persistent-store.d.ts.map +1 -0
  40. package/dist/persistent-store.js +98 -0
  41. package/dist/persistent-store.js.map +1 -0
  42. package/dist/profile-lock.d.ts +40 -0
  43. package/dist/profile-lock.d.ts.map +1 -0
  44. package/dist/profile-lock.js +165 -0
  45. package/dist/profile-lock.js.map +1 -0
  46. package/dist/profile.d.ts +3 -1
  47. package/dist/profile.d.ts.map +1 -1
  48. package/dist/profile.js +15 -6
  49. package/dist/profile.js.map +1 -1
  50. package/dist/session-manager.d.ts +125 -0
  51. package/dist/session-manager.d.ts.map +1 -0
  52. package/dist/session-manager.js +275 -0
  53. package/dist/session-manager.js.map +1 -0
  54. package/dist/session.d.ts +92 -0
  55. package/dist/session.d.ts.map +1 -0
  56. package/dist/session.js +29 -0
  57. package/dist/session.js.map +1 -0
  58. package/dist/setup-flow.d.ts +78 -0
  59. package/dist/setup-flow.d.ts.map +1 -0
  60. package/dist/setup-flow.js +97 -0
  61. package/dist/setup-flow.js.map +1 -0
  62. package/dist/tab-bridge.d.ts +71 -0
  63. package/dist/tab-bridge.d.ts.map +1 -0
  64. package/dist/tab-bridge.js +198 -0
  65. package/dist/tab-bridge.js.map +1 -0
  66. package/extension/README.md +33 -0
  67. package/extension/background.js +185 -0
  68. package/extension/manifest.json +12 -0
  69. package/package.json +2 -1
  70. package/skills/auth-bootstrap/SKILL.md +13 -0
  71. package/skills/browser-policy/SKILL.md +29 -4
  72. package/skills/gmail-auth/SKILL.md +51 -0
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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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Named Pi Chrome profile (spec: Pi's browser identity).
3
+ *
4
+ * Pi's persistent data lives in a dedicated user-data-dir root
5
+ * (~/.pi/browser-profile), but Chrome's human-visible profile inside it was
6
+ * whatever Chrome picked ("Default", "Profile 1", ...). This module pins it
7
+ * to a stable directory named exactly `pi-browser-use`, launched via
8
+ * `--profile-directory`:
9
+ *
10
+ * ```text
11
+ * ~/.pi/browser-profile/ <- user-data-dir root (locks, metadata)
12
+ * pi-browser-use/ <- the named profile (cookies, logins)
13
+ * Cookies, Preferences, ...
14
+ * ```
15
+ *
16
+ * Legacy/singleton layouts ("Default", "Profile 1") are migrated once with a
17
+ * plain directory rename while Chrome is stopped and the profile lock is
18
+ * held — same files, same machine, so Keychain-bound secrets keep working.
19
+ * Chrome is always launched with the explicit flag afterwards, so a stale
20
+ * `last_used` pointer can never resurrect the old directory.
21
+ */
22
+ export declare const PI_PROFILE_NAME = "pi-browser-use";
23
+ /** Human-visible name in Chrome's profile menu/picker. */
24
+ export declare const PI_PROFILE_DISPLAY_NAME = "Pi Browser";
25
+ /**
26
+ * Stamp the display name on a profile directory's Preferences (best effort,
27
+ * Chrome stopped only). Fresh directories get a minimal Preferences file
28
+ * that Chrome backfills on launch; custom user-chosen names are preserved.
29
+ */
30
+ export declare function seedDisplayName(profileDir: string): boolean;
31
+ /** True when an external Chrome currently holds this user-data-dir root. */
32
+ export declare function isChromeRunningOn(root: string): boolean;
33
+ export interface NamedProfile {
34
+ /** user-data-dir root (unchanged). */
35
+ root: string;
36
+ /** Profile directory name to pass as --profile-directory. */
37
+ name: string;
38
+ /** Legacy directory migrated, if any. */
39
+ migratedFrom: string | null;
40
+ }
41
+ /**
42
+ * Ensure `<root>/pi-browser-use` is the live profile. Migrates the current
43
+ * legacy directory (last_used, else Default, else Profile 1) exactly once.
44
+ * The caller must hold the profile lock and Chrome must be stopped.
45
+ */
46
+ export declare function ensureNamedProfile(root: string): NamedProfile;
47
+ //# sourceMappingURL=named-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named-profile.d.ts","sourceRoot":"","sources":["../src/named-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAE/C,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,eAAe,CAAA;AAUnD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAwB3D;AAKD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AA0BD,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CA0B7D"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Named Pi Chrome profile (spec: Pi's browser identity).
3
+ *
4
+ * Pi's persistent data lives in a dedicated user-data-dir root
5
+ * (~/.pi/browser-profile), but Chrome's human-visible profile inside it was
6
+ * whatever Chrome picked ("Default", "Profile 1", ...). This module pins it
7
+ * to a stable directory named exactly `pi-browser-use`, launched via
8
+ * `--profile-directory`:
9
+ *
10
+ * ```text
11
+ * ~/.pi/browser-profile/ <- user-data-dir root (locks, metadata)
12
+ * pi-browser-use/ <- the named profile (cookies, logins)
13
+ * Cookies, Preferences, ...
14
+ * ```
15
+ *
16
+ * Legacy/singleton layouts ("Default", "Profile 1") are migrated once with a
17
+ * plain directory rename while Chrome is stopped and the profile lock is
18
+ * held — same files, same machine, so Keychain-bound secrets keep working.
19
+ * Chrome is always launched with the explicit flag afterwards, so a stale
20
+ * `last_used` pointer can never resurrect the old directory.
21
+ */
22
+ import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
23
+ import { join } from 'node:path';
24
+ export const PI_PROFILE_NAME = 'pi-browser-use';
25
+ /** Human-visible name in Chrome's profile menu/picker. */
26
+ export const PI_PROFILE_DISPLAY_NAME = 'Pi Browser';
27
+ /** Generic Chrome-assigned names worth replacing with ours. */
28
+ const GENERIC_PROFILE_NAMES = [/^person \d+$/i, /^your chrome$/i, /^default$/i];
29
+ function isGenericName(name) {
30
+ if (typeof name !== 'string' || name.trim().length === 0)
31
+ return true;
32
+ return GENERIC_PROFILE_NAMES.some((pattern) => pattern.test(name.trim()));
33
+ }
34
+ /**
35
+ * Stamp the display name on a profile directory's Preferences (best effort,
36
+ * Chrome stopped only). Fresh directories get a minimal Preferences file
37
+ * that Chrome backfills on launch; custom user-chosen names are preserved.
38
+ */
39
+ export function seedDisplayName(profileDir) {
40
+ try {
41
+ mkdirSync(profileDir, { recursive: true });
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ const path = join(profileDir, 'Preferences');
47
+ try {
48
+ const raw = readFileSync(path, 'utf8');
49
+ const prefs = JSON.parse(raw);
50
+ const current = (prefs.profile ?? {}).name;
51
+ if (!isGenericName(current))
52
+ return false;
53
+ prefs.profile = { ...(prefs.profile ?? {}), name: PI_PROFILE_DISPLAY_NAME };
54
+ writeFileSync(path, JSON.stringify(prefs));
55
+ return true;
56
+ }
57
+ catch (error) {
58
+ if (error.code !== 'ENOENT')
59
+ return false;
60
+ try {
61
+ writeFileSync(path, JSON.stringify({ profile: { name: PI_PROFILE_DISPLAY_NAME } }));
62
+ return true;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ }
69
+ /** Chrome singleton markers: present while any Chrome holds the root. */
70
+ const SINGLETON_FILES = ['SingletonSocket', 'SingletonLock', 'SingletonCookie'];
71
+ /** True when an external Chrome currently holds this user-data-dir root. */
72
+ export function isChromeRunningOn(root) {
73
+ return SINGLETON_FILES.some((file) => existsSync(join(root, file)));
74
+ }
75
+ function readLastUsed(root) {
76
+ try {
77
+ const state = JSON.parse(readFileSync(join(root, 'Local State'), 'utf8'));
78
+ const lastUsed = state.profile?.last_used;
79
+ return typeof lastUsed === 'string' && lastUsed.length > 0 ? lastUsed : undefined;
80
+ }
81
+ catch {
82
+ return undefined;
83
+ }
84
+ }
85
+ function writeLastUsed(root, name) {
86
+ const path = join(root, 'Local State');
87
+ try {
88
+ const raw = readFileSync(path, 'utf8');
89
+ const state = JSON.parse(raw);
90
+ state.profile = { ...(state.profile ?? {}), last_used: name };
91
+ writeFileSync(path, JSON.stringify(state));
92
+ }
93
+ catch {
94
+ // Best effort: the explicit launch flag decides anyway.
95
+ }
96
+ }
97
+ /**
98
+ * Ensure `<root>/pi-browser-use` is the live profile. Migrates the current
99
+ * legacy directory (last_used, else Default, else Profile 1) exactly once.
100
+ * The caller must hold the profile lock and Chrome must be stopped.
101
+ */
102
+ export function ensureNamedProfile(root) {
103
+ const target = join(root, PI_PROFILE_NAME);
104
+ if (existsSync(target)) {
105
+ seedDisplayName(target);
106
+ return { root, name: PI_PROFILE_NAME, migratedFrom: null };
107
+ }
108
+ const candidates = [readLastUsed(root), 'Default', 'Profile 1'].filter((name) => typeof name === 'string');
109
+ const source = candidates.find((name) => existsSync(join(root, name)));
110
+ if (!source) {
111
+ // Fresh root: seed the name now so Chrome is born Pi-branded.
112
+ seedDisplayName(target);
113
+ return { root, name: PI_PROFILE_NAME, migratedFrom: null };
114
+ }
115
+ if (isChromeRunningOn(root)) {
116
+ throw new Error(`Chrome is running on ${root}: refusing to migrate ${source} to ${PI_PROFILE_NAME} while the profile is live.`);
117
+ }
118
+ renameSync(join(root, source), target);
119
+ writeLastUsed(root, PI_PROFILE_NAME);
120
+ seedDisplayName(target);
121
+ return { root, name: PI_PROFILE_NAME, migratedFrom: source };
122
+ }
123
+ //# sourceMappingURL=named-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"named-profile.js","sourceRoot":"","sources":["../src/named-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE/C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAA;AAEnD,+DAA+D;AAC/D,MAAM,qBAAqB,GAAG,CAAC,eAAe,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAA;AAE/E,SAAS,aAAa,CAAC,IAAa;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACrE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC;QACH,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0C,CAAA;QACtE,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;QAC1C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QACzC,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAA;QAC3E,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QACpE,IAAI,CAAC;YACH,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAA;YACnF,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,eAAe,GAAG,CAAC,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAE/E,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAEvE,CAAA;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAA;QACzC,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0C,CAAA;QACtE,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;QAC7D,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAC1C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,eAAe,CAAC,MAAM,CAAC,CAAA;QACvB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC5D,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,MAAM,CACpE,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CACnD,CAAA;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAEtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,8DAA8D;QAC9D,eAAe,CAAC,MAAM,CAAC,CAAA;QACvB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC5D,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,yBAAyB,MAAM,OAAO,eAAe,6BAA6B,CAC/G,CAAA;IACH,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;IACtC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IACpC,eAAe,CAAC,MAAM,CAAC,CAAA;IACvB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Pi-owned Persistent Chrome backend (spec sections 2 and 4).
3
+ *
4
+ * Normal automation launches Chrome directly with the Pi profile and an
5
+ * ephemeral loopback remote-debugging port, then MCP attaches via
6
+ * `--browser-url` — instead of asking MCP/Puppeteer to create the browser:
7
+ *
8
+ * ```text
9
+ * Google Chrome --user-data-dir="<pi-profile>"
10
+ * --remote-debugging-port=<ephemeral> [--headless]
11
+ * ↕
12
+ * chrome-devtools-mcp --browser-url=http://127.0.0.1:<port>
13
+ * ```
14
+ *
15
+ * Invariants:
16
+ * - one Chrome process <-> one persistent profile (profile lock held for the
17
+ * whole backend lifetime, acquired on start, released on stop);
18
+ * - dynamically allocated localhost port, never hardcoded 9222;
19
+ * - clean shutdown (SIGTERM, then SIGKILL) before any relaunch, so headed and
20
+ * headless instances never overlap on the same user-data-dir.
21
+ *
22
+ * The launcher and MCP-client factory are injectable so the lifecycle is
23
+ * unit-testable without a real Chrome.
24
+ */
25
+ import { type ChromeLaunchOptions, type ChromeProcess } from './chrome-launcher.js';
26
+ import { type ProfileLockHandle } from './profile-lock.js';
27
+ import { type BrowserUseConfig } from './config.js';
28
+ export interface AttachedClient {
29
+ close(): Promise<void>;
30
+ }
31
+ export interface PersistentBackendOptions {
32
+ /** Resolved Pi config for the persistent profile. */
33
+ config: BrowserUseConfig;
34
+ /** Headed (false = headless automation, true = visible fallback/auth). */
35
+ headed?: boolean;
36
+ launch?: (options: ChromeLaunchOptions) => Promise<ChromeProcess>;
37
+ lock?: (profileDir: string) => ProfileLockHandle;
38
+ /** Build the MCP client already pointed at `browserUrl`. */
39
+ attachClient?: (config: BrowserUseConfig) => AttachedClient;
40
+ }
41
+ export declare class PersistentBackend {
42
+ private readonly options;
43
+ private chrome;
44
+ private lock;
45
+ private client;
46
+ private readonly launch;
47
+ private readonly acquireLock;
48
+ private readonly attachClient;
49
+ constructor(options: PersistentBackendOptions);
50
+ profileDir(): string;
51
+ browserUrl(): string | undefined;
52
+ attached(): AttachedClient | undefined;
53
+ running(): boolean;
54
+ /** OS pid of the owned Chrome process, for explicit user-facing fronting. */
55
+ pid(): number | undefined;
56
+ /**
57
+ * Start Pi-owned Chrome and prepare the MCP attach config. When an
58
+ * `attachClient` factory was injected, the client is created here;
59
+ * otherwise the caller builds its DevToolsClient from `attachConfig()`.
60
+ */
61
+ start(signal?: AbortSignal): Promise<BrowserUseConfig>;
62
+ /**
63
+ * MCP attach config: same session options, but pointed at Pi-owned Chrome.
64
+ * `userDataDir`/`isolated` are stripped — MCP must attach, not launch.
65
+ */
66
+ attachConfig(): BrowserUseConfig;
67
+ /** Clean shutdown: close MCP client, quit Chrome, release the lock. */
68
+ stop(): Promise<void>;
69
+ /** Restart into the other visibility (headless <-> headed fallback). */
70
+ restart(headed: boolean): Promise<BrowserUseConfig>;
71
+ }
72
+ /**
73
+ * Persistent mode self-launches Pi-owned Chrome (§4) unless the legacy
74
+ * escape hatch is set (MCP launches Chrome itself, pre-Phase-2 behavior).
75
+ */
76
+ export declare function shouldSelfLaunch(config: BrowserUseConfig): boolean;
77
+ //# sourceMappingURL=persistent-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-backend.d.ts","sourceRoot":"","sources":["../src/persistent-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAgB,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEjG,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAExE,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,qDAAqD;IACrD,MAAM,EAAE,gBAAgB,CAAA;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IACjE,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,iBAAiB,CAAA;IAChD,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,cAAc,CAAA;CAC5D;AAED,qBAAa,iBAAiB;IAQhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0D;IACjF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4D;gBAE5D,OAAO,EAAE,wBAAwB;IAM9D,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM,GAAG,SAAS;IAIhC,QAAQ,IAAI,cAAc,GAAG,SAAS;IAItC,OAAO,IAAI,OAAO;IAIlB,6EAA6E;IAC7E,GAAG,IAAI,MAAM,GAAG,SAAS;IAIzB;;;;OAIG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiC5D;;;OAGG;IACH,YAAY,IAAI,gBAAgB;IAQhC,uEAAuE;IACjE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC3B,wEAAwE;IAClE,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAK1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAIlE"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Pi-owned Persistent Chrome backend (spec sections 2 and 4).
3
+ *
4
+ * Normal automation launches Chrome directly with the Pi profile and an
5
+ * ephemeral loopback remote-debugging port, then MCP attaches via
6
+ * `--browser-url` — instead of asking MCP/Puppeteer to create the browser:
7
+ *
8
+ * ```text
9
+ * Google Chrome --user-data-dir="<pi-profile>"
10
+ * --remote-debugging-port=<ephemeral> [--headless]
11
+ * ↕
12
+ * chrome-devtools-mcp --browser-url=http://127.0.0.1:<port>
13
+ * ```
14
+ *
15
+ * Invariants:
16
+ * - one Chrome process <-> one persistent profile (profile lock held for the
17
+ * whole backend lifetime, acquired on start, released on stop);
18
+ * - dynamically allocated localhost port, never hardcoded 9222;
19
+ * - clean shutdown (SIGTERM, then SIGKILL) before any relaunch, so headed and
20
+ * headless instances never overlap on the same user-data-dir.
21
+ *
22
+ * The launcher and MCP-client factory are injectable so the lifecycle is
23
+ * unit-testable without a real Chrome.
24
+ */
25
+ import { launchChrome } from './chrome-launcher.js';
26
+ import { ensureNamedProfile, PI_PROFILE_NAME } from './named-profile.js';
27
+ import { acquireProfileLock } from './profile-lock.js';
28
+ import { prepareBrowserProfile } from './profile.js';
29
+ import { DEFAULT_PROFILE_DIR } from './config.js';
30
+ export class PersistentBackend {
31
+ options;
32
+ chrome;
33
+ lock;
34
+ client;
35
+ launch;
36
+ acquireLock;
37
+ attachClient;
38
+ constructor(options) {
39
+ this.options = options;
40
+ this.launch = options.launch ?? launchChrome;
41
+ this.acquireLock = options.lock ?? ((dir) => acquireProfileLock(dir));
42
+ this.attachClient = options.attachClient;
43
+ }
44
+ profileDir() {
45
+ return this.options.config.userDataDir ?? DEFAULT_PROFILE_DIR;
46
+ }
47
+ browserUrl() {
48
+ return this.chrome?.browserUrl;
49
+ }
50
+ attached() {
51
+ return this.client;
52
+ }
53
+ running() {
54
+ return this.chrome !== undefined && !this.chrome.exited;
55
+ }
56
+ /** OS pid of the owned Chrome process, for explicit user-facing fronting. */
57
+ pid() {
58
+ return this.chrome?.pid;
59
+ }
60
+ /**
61
+ * Start Pi-owned Chrome and prepare the MCP attach config. When an
62
+ * `attachClient` factory was injected, the client is created here;
63
+ * otherwise the caller builds its DevToolsClient from `attachConfig()`.
64
+ */
65
+ async start(signal) {
66
+ if (this.running())
67
+ return this.attachConfig();
68
+ if (signal?.aborted)
69
+ throw new Error('Persistent backend start aborted.');
70
+ const profileDir = this.profileDir();
71
+ prepareBrowserProfile({ ...this.options.config, userDataDir: profileDir });
72
+ this.lock = this.acquireLock(profileDir);
73
+ try {
74
+ // Pin the named Pi profile; migrate legacy layouts once, under lock.
75
+ ensureNamedProfile(profileDir);
76
+ // Explicit headed wins; otherwise infer from config (headless:false
77
+ // means headed) so direct construction can't silently go headless.
78
+ const headed = this.options.headed ?? this.options.config.headless === false;
79
+ this.chrome = await this.launch({
80
+ userDataDir: profileDir,
81
+ profileDirectory: PI_PROFILE_NAME,
82
+ headless: !headed,
83
+ chromeArgs: this.options.config.chromeArgs,
84
+ executablePath: this.options.config.executablePath,
85
+ });
86
+ }
87
+ catch (error) {
88
+ this.lock.release();
89
+ this.lock = undefined;
90
+ throw error;
91
+ }
92
+ if (signal?.aborted) {
93
+ await this.stop();
94
+ throw new Error('Persistent backend start aborted.');
95
+ }
96
+ const attach = this.attachConfig();
97
+ if (this.attachClient)
98
+ this.client = this.attachClient(attach);
99
+ return attach;
100
+ }
101
+ /**
102
+ * MCP attach config: same session options, but pointed at Pi-owned Chrome.
103
+ * `userDataDir`/`isolated` are stripped — MCP must attach, not launch.
104
+ */
105
+ attachConfig() {
106
+ if (!this.chrome)
107
+ throw new Error('Persistent backend is not running.');
108
+ const { userDataDir: _userDataDir, isolated: _isolated, ...rest } = this.options.config;
109
+ void _userDataDir;
110
+ void _isolated;
111
+ return { ...rest, browserUrl: this.chrome.browserUrl, isolated: false };
112
+ }
113
+ /** Clean shutdown: close MCP client, quit Chrome, release the lock. */
114
+ async stop() {
115
+ const errors = [];
116
+ if (this.client) {
117
+ try {
118
+ await this.client.close();
119
+ }
120
+ catch (error) {
121
+ errors.push(error);
122
+ }
123
+ this.client = undefined;
124
+ }
125
+ if (this.chrome) {
126
+ try {
127
+ await this.chrome.shutdown();
128
+ }
129
+ catch (error) {
130
+ errors.push(error);
131
+ }
132
+ this.chrome = undefined;
133
+ }
134
+ if (this.lock) {
135
+ try {
136
+ this.lock.release();
137
+ }
138
+ catch (error) {
139
+ errors.push(error);
140
+ }
141
+ this.lock = undefined;
142
+ }
143
+ if (errors.length > 0) {
144
+ throw new Error(`Persistent backend stop reported ${errors.length} error(s): ${errors
145
+ .map((e) => (e instanceof Error ? e.message : String(e)))
146
+ .join('; ')}`);
147
+ }
148
+ }
149
+ /** Restart into the other visibility (headless <-> headed fallback). */
150
+ async restart(headed) {
151
+ await this.stop();
152
+ this.options.headed = headed;
153
+ return this.start();
154
+ }
155
+ }
156
+ /**
157
+ * Persistent mode self-launches Pi-owned Chrome (§4) unless the legacy
158
+ * escape hatch is set (MCP launches Chrome itself, pre-Phase-2 behavior).
159
+ */
160
+ export function shouldSelfLaunch(config) {
161
+ if (process.env['PI_BROWSER_USE_LEGACY_PERSISTENT'] === '1')
162
+ return false;
163
+ void config;
164
+ return true;
165
+ }
166
+ //# sourceMappingURL=persistent-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-backend.js","sourceRoot":"","sources":["../src/persistent-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Durable Persistent-mode metadata (spec section 2).
3
+ *
4
+ * Only durable state is persisted: initialization flag, profile path, last
5
+ * working launch mode, and last bootstrap timestamp. Passwords, cookies,
6
+ * tokens, or copied browser credentials must never be stored here — Chrome
7
+ * owns those inside its profile directory.
8
+ *
9
+ * Default location is a sibling of the profile directory:
10
+ * `<profileDir>.meta.json` (e.g. `~/.pi/browser-profile.meta.json`), so a
11
+ * profile move/rename never orphans its metadata.
12
+ */
13
+ import type { PersistentBrowserMetadata, SiteBrowserPreference } from './session.js';
14
+ export declare function metadataPathFor(profileDir?: string): string;
15
+ export declare function defaultMetadata(profileDir?: string): PersistentBrowserMetadata;
16
+ /** Load metadata; returns uninitialized defaults when absent or corrupt. */
17
+ export declare function loadPersistentMetadata(profileDir?: string): PersistentBrowserMetadata;
18
+ /** Atomically persist metadata (write-then-rename via temp file). */
19
+ export declare function savePersistentMetadata(meta: PersistentBrowserMetadata): void;
20
+ /** Record a completed bootstrap: initialized now, timestamped. */
21
+ export declare function markBootstrapped(profileDir?: string, at?: string): PersistentBrowserMetadata;
22
+ /** Record which launch mode last automated successfully. */
23
+ export declare function markAutomationResult(profileDir: string, mode: 'headless' | 'headed'): PersistentBrowserMetadata;
24
+ /**
25
+ * Per-origin headed-background preferences (spec section 8). Stored beside
26
+ * the metadata file (`<profileDir>.sites.json`); origins only, never
27
+ * credentials. A site pinned here starts headed-background instead of
28
+ * globally downgrading Persistent because one site rejects headless.
29
+ */
30
+ export declare function sitePreferencesPathFor(profileDir?: string): string;
31
+ /** Load per-origin preferences; empty when absent or corrupt. */
32
+ export declare function loadSitePreferences(profileDir?: string): SiteBrowserPreference[];
33
+ /** Persist per-origin preferences. */
34
+ export declare function saveSitePreferences(profileDir: string, preferences: SiteBrowserPreference[]): void;
35
+ //# sourceMappingURL=persistent-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistent-store.d.ts","sourceRoot":"","sources":["../src/persistent-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpF,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAA4B,GAAG,MAAM,CAEhF;AAED,wBAAgB,eAAe,CAC7B,UAAU,GAAE,MAA4B,GACvC,yBAAyB,CAE3B;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CACpC,UAAU,GAAE,MAA4B,GACvC,yBAAyB,CAgB3B;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAI5E;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAC9B,UAAU,GAAE,MAA4B,EACxC,EAAE,GAAE,MAAiC,GACpC,yBAAyB,CAS3B;AAED,4DAA4D;AAC5D,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAC1B,yBAAyB,CAQ3B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,GAAE,MAA4B,GAAG,MAAM,CAEvF;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CACjC,UAAU,GAAE,MAA4B,GACvC,qBAAqB,EAAE,CAezB;AAED,sCAAsC;AACtC,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,qBAAqB,EAAE,GACnC,IAAI,CAIN"}