pi-browser-use 0.6.1 → 0.8.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 (76) 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 +11 -1
  15. package/dist/doctor.d.ts.map +1 -1
  16. package/dist/doctor.js +23 -7
  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 +565 -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 +90 -0
  35. package/dist/persistent-backend.d.ts.map +1 -0
  36. package/dist/persistent-backend.js +229 -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/shared-backend.d.ts +70 -0
  63. package/dist/shared-backend.d.ts.map +1 -0
  64. package/dist/shared-backend.js +152 -0
  65. package/dist/shared-backend.js.map +1 -0
  66. package/dist/tab-bridge.d.ts +71 -0
  67. package/dist/tab-bridge.d.ts.map +1 -0
  68. package/dist/tab-bridge.js +198 -0
  69. package/dist/tab-bridge.js.map +1 -0
  70. package/extension/README.md +33 -0
  71. package/extension/background.js +185 -0
  72. package/extension/manifest.json +12 -0
  73. package/package.json +2 -1
  74. package/skills/auth-bootstrap/SKILL.md +13 -0
  75. package/skills/browser-policy/SKILL.md +39 -4
  76. 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":"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"}
@@ -0,0 +1,90 @@
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
+ /** Agent-session identity for the shared registry. Generated when omitted. */
37
+ sessionId?: string;
38
+ launch?: (options: ChromeLaunchOptions) => Promise<ChromeProcess>;
39
+ lock?: (profileDir: string) => ProfileLockHandle;
40
+ /** Build the MCP client already pointed at `browserUrl`. */
41
+ attachClient?: (config: BrowserUseConfig) => AttachedClient;
42
+ }
43
+ export declare class PersistentBackend {
44
+ private readonly options;
45
+ private chrome;
46
+ private lock;
47
+ private client;
48
+ private sharedAdvert;
49
+ private readonly launch;
50
+ private readonly acquireLock;
51
+ private readonly attachClient;
52
+ readonly sessionId: string;
53
+ constructor(options: PersistentBackendOptions);
54
+ /** True when this session owns the Chrome process (may restart it). */
55
+ get owned(): boolean;
56
+ profileDir(): string;
57
+ browserUrl(): string | undefined;
58
+ attached(): AttachedClient | undefined;
59
+ /** OS pid of the owned Chrome process, for explicit user-facing fronting. */
60
+ pid(): number | undefined;
61
+ /**
62
+ * Start Pi-owned Chrome and prepare the MCP attach config. When an
63
+ * `attachClient` factory was injected, the client is created here;
64
+ * otherwise the caller builds its DevToolsClient from `attachConfig()`.
65
+ */
66
+ start(signal?: AbortSignal): Promise<BrowserUseConfig>;
67
+ /** Effective browser URL: owned Chrome or the shared peer's. */
68
+ effectiveBrowserUrl(): string;
69
+ /**
70
+ * MCP attach config: same session options, but pointed at Pi-owned Chrome
71
+ * (or the shared peer's). `userDataDir`/`isolated` are stripped — MCP
72
+ * must attach, not launch.
73
+ */
74
+ attachConfig(): BrowserUseConfig;
75
+ running(): boolean;
76
+ /**
77
+ * Clean shutdown. Owned: close client, quit Chrome, release lock,
78
+ * withdraw advert. Shared: close only our own MCP client — never touch
79
+ * the peer's browser.
80
+ */
81
+ stop(): Promise<void>;
82
+ /** Restart into the other visibility (headless <-> headed fallback). */
83
+ restart(headed: boolean): Promise<BrowserUseConfig>;
84
+ }
85
+ /**
86
+ * Persistent mode self-launches Pi-owned Chrome (§4) unless the legacy
87
+ * escape hatch is set (MCP launches Chrome itself, pre-Phase-2 behavior).
88
+ */
89
+ export declare function shouldSelfLaunch(config: BrowserUseConfig): boolean;
90
+ //# 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,EAA0C,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AASlG,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,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,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;IAUhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0D;IACjF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IACvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4D;IACzF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEG,OAAO,EAAE,wBAAwB;IAO9D,uEAAuE;IACvE,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM,GAAG,SAAS;IAQhC,QAAQ,IAAI,cAAc,GAAG,SAAS;IAItC,6EAA6E;IAC7E,GAAG,IAAI,MAAM,GAAG,SAAS;IAIzB;;;;OAIG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuD5D,gEAAgE;IAChE,mBAAmB,IAAI,MAAM;IAM7B;;;;OAIG;IACH,YAAY,IAAI,gBAAgB;IAQhC,OAAO,IAAI,OAAO;IAKlB;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C3B,wEAAwE;IAClE,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAW1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAIlE"}
@@ -0,0 +1,229 @@
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, ProfileLockedError } from './profile-lock.js';
28
+ import { advertiseBackend, newSessionId, readLiveAdvert, withdrawAdvert, } from './shared-backend.js';
29
+ import { prepareBrowserProfile } from './profile.js';
30
+ import { DEFAULT_PROFILE_DIR } from './config.js';
31
+ export class PersistentBackend {
32
+ options;
33
+ chrome;
34
+ lock;
35
+ client;
36
+ sharedAdvert;
37
+ launch;
38
+ acquireLock;
39
+ attachClient;
40
+ sessionId;
41
+ constructor(options) {
42
+ this.options = options;
43
+ this.launch = options.launch ?? launchChrome;
44
+ this.acquireLock = options.lock ?? ((dir) => acquireProfileLock(dir));
45
+ this.attachClient = options.attachClient;
46
+ this.sessionId = options.sessionId ?? newSessionId();
47
+ }
48
+ /** True when this session owns the Chrome process (may restart it). */
49
+ get owned() {
50
+ return this.sharedAdvert === undefined;
51
+ }
52
+ profileDir() {
53
+ return this.options.config.userDataDir ?? DEFAULT_PROFILE_DIR;
54
+ }
55
+ browserUrl() {
56
+ try {
57
+ return this.effectiveBrowserUrl();
58
+ }
59
+ catch {
60
+ return undefined;
61
+ }
62
+ }
63
+ attached() {
64
+ return this.client;
65
+ }
66
+ /** OS pid of the owned Chrome process, for explicit user-facing fronting. */
67
+ pid() {
68
+ return this.chrome?.pid;
69
+ }
70
+ /**
71
+ * Start Pi-owned Chrome and prepare the MCP attach config. When an
72
+ * `attachClient` factory was injected, the client is created here;
73
+ * otherwise the caller builds its DevToolsClient from `attachConfig()`.
74
+ */
75
+ async start(signal) {
76
+ if (this.running())
77
+ return this.attachConfig();
78
+ if (signal?.aborted)
79
+ throw new Error('Persistent backend start aborted.');
80
+ const profileDir = this.profileDir();
81
+ prepareBrowserProfile({ ...this.options.config, userDataDir: profileDir });
82
+ try {
83
+ this.lock = this.acquireLock(profileDir);
84
+ }
85
+ catch (error) {
86
+ // A live peer owns Chrome: share it instead of failing. No lock, no
87
+ // kill rights — this session only borrows pages.
88
+ if (error instanceof ProfileLockedError) {
89
+ const advert = readLiveAdvert(profileDir);
90
+ if (advert) {
91
+ this.sharedAdvert = advert;
92
+ const attach = this.attachConfig();
93
+ if (this.attachClient)
94
+ this.client = this.attachClient(attach);
95
+ return attach;
96
+ }
97
+ }
98
+ throw error;
99
+ }
100
+ try {
101
+ // Pin the named Pi profile; migrate legacy layouts once, under lock.
102
+ ensureNamedProfile(profileDir);
103
+ // Explicit headed wins; otherwise infer from config (headless:false
104
+ // means headed) so direct construction can't silently go headless.
105
+ const headed = this.options.headed ?? this.options.config.headless === false;
106
+ this.chrome = await this.launch({
107
+ userDataDir: profileDir,
108
+ profileDirectory: PI_PROFILE_NAME,
109
+ headless: !headed,
110
+ chromeArgs: this.options.config.chromeArgs,
111
+ executablePath: this.options.config.executablePath,
112
+ });
113
+ }
114
+ catch (error) {
115
+ this.lock.release();
116
+ this.lock = undefined;
117
+ throw error;
118
+ }
119
+ if (signal?.aborted) {
120
+ await this.stop();
121
+ throw new Error('Persistent backend start aborted.');
122
+ }
123
+ advertiseBackend(profileDir, {
124
+ pid: process.pid,
125
+ browserUrl: this.chrome.browserUrl,
126
+ port: this.chrome.port,
127
+ sessionId: this.sessionId,
128
+ startedAt: new Date().toISOString(),
129
+ });
130
+ const attach = this.attachConfig();
131
+ if (this.attachClient)
132
+ this.client = this.attachClient(attach);
133
+ return attach;
134
+ }
135
+ /** Effective browser URL: owned Chrome or the shared peer's. */
136
+ effectiveBrowserUrl() {
137
+ if (this.chrome)
138
+ return this.chrome.browserUrl;
139
+ if (this.sharedAdvert)
140
+ return this.sharedAdvert.browserUrl;
141
+ throw new Error('Persistent backend is not running.');
142
+ }
143
+ /**
144
+ * MCP attach config: same session options, but pointed at Pi-owned Chrome
145
+ * (or the shared peer's). `userDataDir`/`isolated` are stripped — MCP
146
+ * must attach, not launch.
147
+ */
148
+ attachConfig() {
149
+ const browserUrl = this.effectiveBrowserUrl();
150
+ const { userDataDir: _userDataDir, isolated: _isolated, ...rest } = this.options.config;
151
+ void _userDataDir;
152
+ void _isolated;
153
+ return { ...rest, browserUrl, isolated: false };
154
+ }
155
+ running() {
156
+ if (this.sharedAdvert)
157
+ return true;
158
+ return this.chrome !== undefined && !this.chrome.exited;
159
+ }
160
+ /**
161
+ * Clean shutdown. Owned: close client, quit Chrome, release lock,
162
+ * withdraw advert. Shared: close only our own MCP client — never touch
163
+ * the peer's browser.
164
+ */
165
+ async stop() {
166
+ const errors = [];
167
+ if (this.client) {
168
+ try {
169
+ await this.client.close();
170
+ }
171
+ catch (error) {
172
+ errors.push(error);
173
+ }
174
+ this.client = undefined;
175
+ }
176
+ if (this.sharedAdvert) {
177
+ this.sharedAdvert = undefined;
178
+ if (errors.length > 0) {
179
+ throw new Error(`Shared backend stop reported errors: ${errors.map(String).join('; ')}`);
180
+ }
181
+ return;
182
+ }
183
+ if (this.chrome) {
184
+ try {
185
+ await this.chrome.shutdown();
186
+ }
187
+ catch (error) {
188
+ errors.push(error);
189
+ }
190
+ this.chrome = undefined;
191
+ }
192
+ if (this.lock) {
193
+ try {
194
+ this.lock.release();
195
+ }
196
+ catch (error) {
197
+ errors.push(error);
198
+ }
199
+ this.lock = undefined;
200
+ withdrawAdvert(this.profileDir(), this.sessionId);
201
+ }
202
+ if (errors.length > 0) {
203
+ throw new Error(`Persistent backend stop reported ${errors.length} error(s): ${errors
204
+ .map((e) => (e instanceof Error ? e.message : String(e)))
205
+ .join('; ')}`);
206
+ }
207
+ }
208
+ /** Restart into the other visibility (headless <-> headed fallback). */
209
+ async restart(headed) {
210
+ if (this.sharedAdvert) {
211
+ throw new Error('Cannot restart a shared peer backend (owned by another live session). ' +
212
+ 'Ask that session to switch visibility, or wait for it to exit.');
213
+ }
214
+ await this.stop();
215
+ this.options.headed = headed;
216
+ return this.start();
217
+ }
218
+ }
219
+ /**
220
+ * Persistent mode self-launches Pi-owned Chrome (§4) unless the legacy
221
+ * escape hatch is set (MCP launches Chrome itself, pre-Phase-2 behavior).
222
+ */
223
+ export function shouldSelfLaunch(config) {
224
+ if (process.env['PI_BROWSER_USE_LEGACY_PERSISTENT'] === '1')
225
+ return false;
226
+ void config;
227
+ return true;
228
+ }
229
+ //# 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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"}