@monoes/monobrowse 1.0.27 → 1.0.30

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 (80) hide show
  1. package/dist/src/__tests__/browser-launch-double-loss.test.d.ts +16 -0
  2. package/dist/src/__tests__/browser-launch-double-loss.test.d.ts.map +1 -0
  3. package/dist/src/__tests__/browser-launch-double-loss.test.js +119 -0
  4. package/dist/src/__tests__/browser-launch-double-loss.test.js.map +1 -0
  5. package/dist/src/__tests__/chrome-fallback.test.d.ts +2 -0
  6. package/dist/src/__tests__/chrome-fallback.test.d.ts.map +1 -0
  7. package/dist/src/__tests__/chrome-fallback.test.js +63 -0
  8. package/dist/src/__tests__/chrome-fallback.test.js.map +1 -0
  9. package/dist/src/__tests__/disconnect-session.test.d.ts +13 -0
  10. package/dist/src/__tests__/disconnect-session.test.d.ts.map +1 -0
  11. package/dist/src/__tests__/disconnect-session.test.js +37 -0
  12. package/dist/src/__tests__/disconnect-session.test.js.map +1 -0
  13. package/dist/src/__tests__/profile-cleanup-close.test.d.ts +16 -0
  14. package/dist/src/__tests__/profile-cleanup-close.test.d.ts.map +1 -0
  15. package/dist/src/__tests__/profile-cleanup-close.test.js +250 -0
  16. package/dist/src/__tests__/profile-cleanup-close.test.js.map +1 -0
  17. package/dist/src/__tests__/profile-dir.test.d.ts +10 -0
  18. package/dist/src/__tests__/profile-dir.test.d.ts.map +1 -0
  19. package/dist/src/__tests__/profile-dir.test.js +160 -0
  20. package/dist/src/__tests__/profile-dir.test.js.map +1 -0
  21. package/dist/src/__tests__/setup/isolated-tmpdir.global.d.ts +2 -0
  22. package/dist/src/__tests__/setup/isolated-tmpdir.global.d.ts.map +1 -0
  23. package/dist/src/__tests__/setup/isolated-tmpdir.global.js +30 -0
  24. package/dist/src/__tests__/setup/isolated-tmpdir.global.js.map +1 -0
  25. package/dist/src/browser/browser-discovery.d.ts +8 -0
  26. package/dist/src/browser/browser-discovery.d.ts.map +1 -1
  27. package/dist/src/browser/browser-discovery.js +25 -0
  28. package/dist/src/browser/browser-discovery.js.map +1 -1
  29. package/dist/src/browser/browser-launch.d.ts.map +1 -1
  30. package/dist/src/browser/browser-launch.js +48 -10
  31. package/dist/src/browser/browser-launch.js.map +1 -1
  32. package/dist/src/browser/browser-lifecycle.d.ts +5 -0
  33. package/dist/src/browser/browser-lifecycle.d.ts.map +1 -1
  34. package/dist/src/browser/browser-lifecycle.js +23 -11
  35. package/dist/src/browser/browser-lifecycle.js.map +1 -1
  36. package/dist/src/browser/browser-state.d.ts +4 -0
  37. package/dist/src/browser/browser-state.d.ts.map +1 -1
  38. package/dist/src/browser/browser-state.js +10 -2
  39. package/dist/src/browser/browser-state.js.map +1 -1
  40. package/dist/src/browser/browser.d.ts +2 -2
  41. package/dist/src/browser/browser.d.ts.map +1 -1
  42. package/dist/src/browser/browser.js +2 -2
  43. package/dist/src/browser/browser.js.map +1 -1
  44. package/dist/src/browser/profile-dir.d.ts +88 -0
  45. package/dist/src/browser/profile-dir.d.ts.map +1 -0
  46. package/dist/src/browser/profile-dir.js +242 -0
  47. package/dist/src/browser/profile-dir.js.map +1 -0
  48. package/dist/src/browser/ref-cache.d.ts +4 -0
  49. package/dist/src/browser/ref-cache.d.ts.map +1 -1
  50. package/dist/src/browser/ref-cache.js +2 -0
  51. package/dist/src/browser/ref-cache.js.map +1 -1
  52. package/dist/src/browser/types.d.ts +6 -0
  53. package/dist/src/browser/types.d.ts.map +1 -1
  54. package/dist/src/browser/types.js.map +1 -1
  55. package/dist/src/cli/commands.d.ts +1 -0
  56. package/dist/src/cli/commands.d.ts.map +1 -1
  57. package/dist/src/cli/commands.js +2 -0
  58. package/dist/src/cli/commands.js.map +1 -1
  59. package/dist/src/cli/session.d.ts +9 -0
  60. package/dist/src/cli/session.d.ts.map +1 -1
  61. package/dist/src/cli/session.js +21 -4
  62. package/dist/src/cli/session.js.map +1 -1
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/package.json +1 -1
  65. package/src/__tests__/browser-launch-double-loss.test.ts +128 -0
  66. package/src/__tests__/chrome-fallback.test.ts +74 -0
  67. package/src/__tests__/disconnect-session.test.ts +42 -0
  68. package/src/__tests__/profile-cleanup-close.test.ts +285 -0
  69. package/src/__tests__/profile-dir.test.ts +196 -0
  70. package/src/__tests__/setup/isolated-tmpdir.global.ts +28 -0
  71. package/src/browser/browser-discovery.ts +25 -0
  72. package/src/browser/browser-launch.ts +49 -11
  73. package/src/browser/browser-lifecycle.ts +20 -10
  74. package/src/browser/browser-state.ts +11 -2
  75. package/src/browser/browser.ts +6 -2
  76. package/src/browser/profile-dir.ts +249 -0
  77. package/src/browser/ref-cache.ts +7 -0
  78. package/src/browser/types.ts +6 -0
  79. package/src/cli/commands.ts +2 -0
  80. package/src/cli/session.ts +22 -4
@@ -1 +1 @@
1
- {"version":3,"file":"browser-state.d.ts","sourceRoot":"","sources":["../../../src/browser/browser-state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,qBAA4B,CAAC;AAGtD,eAAO,MAAM,oBAAoB,qBAA4B,CAAC;AAE9D,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvE"}
1
+ {"version":3,"file":"browser-state.d.ts","sourceRoot":"","sources":["../../../src/browser/browser-state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,qBAA4B,CAAC;AAGtD,eAAO,MAAM,oBAAoB,qBAA4B,CAAC;AAG9D,eAAO,MAAM,qBAAqB,aAAoB,CAAC;AAEvD,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvE;AAED;6EAC6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D"}
@@ -5,9 +5,12 @@
5
5
  // to (already-running browser) are never recorded here — we only ever kill
6
6
  // processes we launched ourselves.
7
7
  export const launchedPids = new Map();
8
- // userDataDir per launched port — informational, persisted alongside the pid
9
- // so a later process could clean up the temp profile dir too if ever needed.
8
+ // userDataDir per launched port, persisted alongside the pid so a later
9
+ // process can clean up the temp profile dir too (#395).
10
10
  export const launchedUserDataDirs = new Map();
11
+ // Launched ports whose userDataDir monobrowse created itself (not one the
12
+ // caller supplied). Only these profile dirs are ever deleted on close.
13
+ export const ownedUserDataDirPorts = new Set();
11
14
  /** PID of the Chrome instance *this process* launched on `port`, if any. */
12
15
  export function getLaunchedPid(port) {
13
16
  return launchedPids.get(port);
@@ -16,4 +19,9 @@ export function getLaunchedPid(port) {
16
19
  export function getLaunchedUserDataDir(port) {
17
20
  return launchedUserDataDirs.get(port);
18
21
  }
22
+ /** Whether the userDataDir of the Chrome *this process* launched on `port`
23
+ * was created by monobrowse, and so is deleted when that browser closes. */
24
+ export function ownsLaunchedUserDataDir(port) {
25
+ return ownedUserDataDirPorts.has(port);
26
+ }
19
27
  //# sourceMappingURL=browser-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-state.js","sourceRoot":"","sources":["../../../src/browser/browser-state.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,mCAAmC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AACtD,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE9D,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"browser-state.js","sourceRoot":"","sources":["../../../src/browser/browser-state.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,yEAAyE;AACzE,2EAA2E;AAC3E,8EAA8E;AAC9E,2EAA2E;AAC3E,mCAAmC;AACnC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AACtD,wEAAwE;AACxE,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC9D,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEvD,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;6EAC6E;AAC7E,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
@@ -1,6 +1,6 @@
1
- export { isPortOpen } from './browser-discovery.js';
1
+ export { findChrome, isPortOpen, setChromeFallback } from './browser-discovery.js';
2
2
  export { launchBrowser } from './browser-launch.js';
3
3
  export { closeBrowser, reapIdleLaunchedBrowser } from './browser-lifecycle.js';
4
4
  export { connectToTarget, enableSessionDomains, getCurrentTitle, getCurrentUrl, openUrl, waitForLoad, } from './browser-page.js';
5
- export { getLaunchedPid, getLaunchedUserDataDir } from './browser-state.js';
5
+ export { getLaunchedPid, getLaunchedUserDataDir, ownsLaunchedUserDataDir, } from './browser-state.js';
6
6
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -2,9 +2,9 @@
2
2
  // browser-launch, browser-lifecycle, browser-page). Pure move — this file now
3
3
  // re-exports everything it used to define, so every existing import path
4
4
  // keeps working.
5
- export { isPortOpen } from './browser-discovery.js';
5
+ export { findChrome, isPortOpen, setChromeFallback } from './browser-discovery.js';
6
6
  export { launchBrowser } from './browser-launch.js';
7
7
  export { closeBrowser, reapIdleLaunchedBrowser } from './browser-lifecycle.js';
8
8
  export { connectToTarget, enableSessionDomains, getCurrentTitle, getCurrentUrl, openUrl, waitForLoad, } from './browser-page.js';
9
- export { getLaunchedPid, getLaunchedUserDataDir } from './browser-state.js';
9
+ export { getLaunchedPid, getLaunchedUserDataDir, ownsLaunchedUserDataDir, } from './browser-state.js';
10
10
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,yEAAyE;AACzE,iBAAiB;AAEjB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,yEAAyE;AACzE,iBAAiB;AAEjB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Temporary Chrome profile directories monobrowse creates, and their removal
3
+ * (#395).
4
+ *
5
+ * Every launch without a caller-supplied `userDataDir` (and every CLI
6
+ * session) gets a fresh `--user-data-dir` directly under `os.tmpdir()`.
7
+ * Nothing used to delete them, so they piled up until /tmp ran out of space
8
+ * (81 profiles, 4.4 GB on one machine). Two paths remove them now:
9
+ *
10
+ * - removeOwnedProfileDir(): when monobrowse closes or kills a browser it
11
+ * launched in a directory it created — after Chrome has exited, since
12
+ * Chrome writes into its profile until then.
13
+ * - sweepStaleProfileDirs(): at the next launch, for directories whose
14
+ * owner crashed or was killed before it could close its browser.
15
+ *
16
+ * Both touch only real directories directly inside the tmp root whose name
17
+ * matches one of the exact patterns below. A caller-supplied `userDataDir`
18
+ * never matches them unless the caller copied our naming, and even then the
19
+ * close path also needs the explicit ownership flag launchBrowser records.
20
+ */
21
+ /** A directory younger than this is never swept: its launch may still be
22
+ * starting (Chrome has not yet put its pid anywhere we can see). */
23
+ export declare const PROFILE_SWEEP_GRACE_MS: number;
24
+ /** Name for a new default launch profile, directly under `root`. */
25
+ export declare function launchProfileDirPath(port: number, id: string, root?: string): string;
26
+ /** Name for a new CLI session profile, directly under `root`. */
27
+ export declare function sessionProfileDirPath(id: string, root?: string): string;
28
+ /** The pid encoded in a profile directory name we create, or null when
29
+ * `name` is not one of ours. */
30
+ export declare function profileDirOwnerPid(name: string): number | null;
31
+ /**
32
+ * Whether `dir` is a directory monobrowse created: its name matches our
33
+ * pattern, it is a real directory (not a symlink), and its resolved parent
34
+ * is `root`. Anything else is never deleted.
35
+ */
36
+ export declare function isOwnedProfileDir(dir: string, root?: string): Promise<boolean>;
37
+ /** Whether `pid` is a live process. EPERM means it exists but is not ours. */
38
+ export declare function isPidAlive(pid: number): boolean;
39
+ /**
40
+ * Pids of live processes whose command line passes `--user-data-dir=<dir>`,
41
+ * read from `procDir` (Linux /proc). Null when it cannot be read at all, so
42
+ * the caller falls back to other evidence instead of reading "nobody".
43
+ */
44
+ export declare function profileDirHolders(dir: string, procDir?: string): Promise<number[] | null>;
45
+ /** Whether any live process still uses `dir` as its Chrome profile. `procDir`
46
+ * null skips the /proc scan (non-Linux), leaving only the SingletonLock. */
47
+ export declare function isProfileDirInUse(dir: string, opts?: {
48
+ procDir?: string | null;
49
+ }): Promise<boolean>;
50
+ /**
51
+ * Delete a profile directory monobrowse created, once the browser `pid` that
52
+ * used it has exited (bounded wait) and no other process still holds it.
53
+ * Removal is retried once — Chrome's helpers can still be flushing a file
54
+ * as the first attempt runs. Returns whether the directory is gone. Never
55
+ * throws: a directory left behind is swept at a later launch.
56
+ */
57
+ export declare function removeOwnedProfileDir(dir: string, opts?: {
58
+ pid?: number;
59
+ root?: string;
60
+ procDir?: string | null;
61
+ }): Promise<boolean>;
62
+ export interface ProfileSweepOptions {
63
+ /** Directory to sweep. Default os.tmpdir(); tests inject their own. */
64
+ root?: string;
65
+ /** Minimum age (by mtime) before a directory may be swept. */
66
+ graceMs?: number;
67
+ /** See isProfileDirInUse. */
68
+ procDir?: string | null;
69
+ now?: number;
70
+ }
71
+ /**
72
+ * Delete profile directories left behind by a monobrowse process that died
73
+ * without closing its browser. A directory directly in `root` is removed
74
+ * only when ALL of these hold:
75
+ * - its name matches one of our exact patterns and it is a real directory
76
+ * (symlinks, files and anything else are never touched);
77
+ * - its mtime is older than the grace period, so a concurrent launch that
78
+ * is still starting is left alone;
79
+ * - the pid in its name is not a live process;
80
+ * - no live Chrome uses it (/proc command lines on Linux, plus the
81
+ * profile's SingletonLock everywhere). A CLI `open` process exits right
82
+ * after launching, so this check is what keeps a live session's profile.
83
+ *
84
+ * Best-effort: any error skips that entry, and the sweep never throws.
85
+ * Returns the directories removed.
86
+ */
87
+ export declare function sweepStaleProfileDirs(opts?: ProfileSweepOptions): Promise<string[]>;
88
+ //# sourceMappingURL=profile-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-dir.d.ts","sourceRoot":"","sources":["../../../src/browser/profile-dir.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH;qEACqE;AACrE,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAQrD,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,SAAW,GAAG,MAAM,CAEtF;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,SAAW,GAAG,MAAM,CAEzE;AAED;iCACiC;AACjC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAStF;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ/C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAU,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAwBhG;AAcD;6EAC6E;AAC7E,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACrC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAMD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAClE,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAED,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2B7F"}
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Temporary Chrome profile directories monobrowse creates, and their removal
3
+ * (#395).
4
+ *
5
+ * Every launch without a caller-supplied `userDataDir` (and every CLI
6
+ * session) gets a fresh `--user-data-dir` directly under `os.tmpdir()`.
7
+ * Nothing used to delete them, so they piled up until /tmp ran out of space
8
+ * (81 profiles, 4.4 GB on one machine). Two paths remove them now:
9
+ *
10
+ * - removeOwnedProfileDir(): when monobrowse closes or kills a browser it
11
+ * launched in a directory it created — after Chrome has exited, since
12
+ * Chrome writes into its profile until then.
13
+ * - sweepStaleProfileDirs(): at the next launch, for directories whose
14
+ * owner crashed or was killed before it could close its browser.
15
+ *
16
+ * Both touch only real directories directly inside the tmp root whose name
17
+ * matches one of the exact patterns below. A caller-supplied `userDataDir`
18
+ * never matches them unless the caller copied our naming, and even then the
19
+ * close path also needs the explicit ownership flag launchBrowser records.
20
+ */
21
+ import { lstat, readdir, readFile, readlink, realpath, rm } from 'node:fs/promises';
22
+ import { tmpdir } from 'node:os';
23
+ import { basename, dirname, join } from 'node:path';
24
+ /** `monomind-browser-<port>-<pid>-<uuid8>` (launchBrowser's default profile). */
25
+ const LAUNCH_PROFILE_RE = /^monomind-browser-\d+-(\d+)-[0-9a-f]{8}$/;
26
+ /** `monomind-browse-<pid>-<uuid8>` (a CLI browse session's profile). */
27
+ const SESSION_PROFILE_RE = /^monomind-browse-(\d+)-[0-9a-f]{8}$/;
28
+ /** A directory younger than this is never swept: its launch may still be
29
+ * starting (Chrome has not yet put its pid anywhere we can see). */
30
+ export const PROFILE_SWEEP_GRACE_MS = 10 * 60 * 1000;
31
+ // Bounded waits for removeOwnedProfileDir(): for the browser pid to go, then
32
+ // for any other process still holding the profile (Chrome's helpers).
33
+ const EXIT_WAIT_MS = 5000;
34
+ const HOLDER_WAIT_MS = 2000;
35
+ const POLL_MS = 50;
36
+ const RM_RETRY_DELAY_MS = 250;
37
+ /** Name for a new default launch profile, directly under `root`. */
38
+ export function launchProfileDirPath(port, id, root = tmpdir()) {
39
+ return join(root, `monomind-browser-${port}-${process.pid}-${id}`);
40
+ }
41
+ /** Name for a new CLI session profile, directly under `root`. */
42
+ export function sessionProfileDirPath(id, root = tmpdir()) {
43
+ return join(root, `monomind-browse-${process.pid}-${id}`);
44
+ }
45
+ /** The pid encoded in a profile directory name we create, or null when
46
+ * `name` is not one of ours. */
47
+ export function profileDirOwnerPid(name) {
48
+ const m = LAUNCH_PROFILE_RE.exec(name) ?? SESSION_PROFILE_RE.exec(name);
49
+ return m ? Number(m[1]) : null;
50
+ }
51
+ /**
52
+ * Whether `dir` is a directory monobrowse created: its name matches our
53
+ * pattern, it is a real directory (not a symlink), and its resolved parent
54
+ * is `root`. Anything else is never deleted.
55
+ */
56
+ export async function isOwnedProfileDir(dir, root = tmpdir()) {
57
+ try {
58
+ if (profileDirOwnerPid(basename(dir)) === null)
59
+ return false;
60
+ const st = await lstat(dir);
61
+ if (!st.isDirectory() || st.isSymbolicLink())
62
+ return false;
63
+ return dirname(await realpath(dir)) === (await realpath(root));
64
+ }
65
+ catch {
66
+ return false;
67
+ }
68
+ }
69
+ /** Whether `pid` is a live process. EPERM means it exists but is not ours. */
70
+ export function isPidAlive(pid) {
71
+ if (!Number.isInteger(pid) || pid <= 0)
72
+ return false;
73
+ try {
74
+ process.kill(pid, 0);
75
+ return true;
76
+ }
77
+ catch (err) {
78
+ return err.code === 'EPERM';
79
+ }
80
+ }
81
+ /**
82
+ * Pids of live processes whose command line passes `--user-data-dir=<dir>`,
83
+ * read from `procDir` (Linux /proc). Null when it cannot be read at all, so
84
+ * the caller falls back to other evidence instead of reading "nobody".
85
+ */
86
+ export async function profileDirHolders(dir, procDir = '/proc') {
87
+ let entries;
88
+ try {
89
+ entries = await readdir(procDir);
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ const wanted = new Set([`--user-data-dir=${dir}`]);
95
+ try {
96
+ wanted.add(`--user-data-dir=${await realpath(dir)}`);
97
+ }
98
+ catch {
99
+ /* gone already — the literal path is all there is to match */
100
+ }
101
+ const holders = [];
102
+ for (const entry of entries) {
103
+ if (!/^\d+$/.test(entry))
104
+ continue;
105
+ try {
106
+ const args = (await readFile(join(procDir, entry, 'cmdline'), 'utf8')).split('\0');
107
+ if (args.some((a) => wanted.has(a)))
108
+ holders.push(Number(entry));
109
+ }
110
+ catch {
111
+ /* exited while we looked, or not readable */
112
+ }
113
+ }
114
+ return holders;
115
+ }
116
+ /** The live pid Chrome's `SingletonLock` (a `<host>-<pid>` symlink) names,
117
+ * or null when there is no lock or its pid is gone. */
118
+ async function singletonLockHolder(dir) {
119
+ try {
120
+ const m = /-(\d+)$/.exec(await readlink(join(dir, 'SingletonLock')));
121
+ const pid = m ? Number(m[1]) : Number.NaN;
122
+ return isPidAlive(pid) ? pid : null;
123
+ }
124
+ catch {
125
+ return null;
126
+ }
127
+ }
128
+ /** Whether any live process still uses `dir` as its Chrome profile. `procDir`
129
+ * null skips the /proc scan (non-Linux), leaving only the SingletonLock. */
130
+ export async function isProfileDirInUse(dir, opts = {}) {
131
+ const procDir = opts.procDir === undefined ? defaultProcDir() : opts.procDir;
132
+ if (procDir !== null) {
133
+ const holders = await profileDirHolders(dir, procDir);
134
+ if (holders?.some(isPidAlive))
135
+ return true;
136
+ }
137
+ return (await singletonLockHolder(dir)) !== null;
138
+ }
139
+ function defaultProcDir() {
140
+ return process.platform === 'linux' ? '/proc' : null;
141
+ }
142
+ /**
143
+ * Delete a profile directory monobrowse created, once the browser `pid` that
144
+ * used it has exited (bounded wait) and no other process still holds it.
145
+ * Removal is retried once — Chrome's helpers can still be flushing a file
146
+ * as the first attempt runs. Returns whether the directory is gone. Never
147
+ * throws: a directory left behind is swept at a later launch.
148
+ */
149
+ export async function removeOwnedProfileDir(dir, opts = {}) {
150
+ try {
151
+ if (!(await isOwnedProfileDir(dir, opts.root)))
152
+ return false;
153
+ if (opts.pid !== undefined && !(await waitUntil(() => !isPidAlive(opts.pid), EXIT_WAIT_MS))) {
154
+ return false;
155
+ }
156
+ if (!(await waitUntil(async () => !(await isProfileDirInUse(dir, opts)), HOLDER_WAIT_MS))) {
157
+ return false;
158
+ }
159
+ for (let attempt = 0; attempt < 2; attempt++) {
160
+ try {
161
+ await rm(dir, { recursive: true, force: true });
162
+ return true;
163
+ }
164
+ catch {
165
+ await delay(RM_RETRY_DELAY_MS);
166
+ }
167
+ }
168
+ }
169
+ catch {
170
+ /* best-effort */
171
+ }
172
+ return false;
173
+ }
174
+ /**
175
+ * Delete profile directories left behind by a monobrowse process that died
176
+ * without closing its browser. A directory directly in `root` is removed
177
+ * only when ALL of these hold:
178
+ * - its name matches one of our exact patterns and it is a real directory
179
+ * (symlinks, files and anything else are never touched);
180
+ * - its mtime is older than the grace period, so a concurrent launch that
181
+ * is still starting is left alone;
182
+ * - the pid in its name is not a live process;
183
+ * - no live Chrome uses it (/proc command lines on Linux, plus the
184
+ * profile's SingletonLock everywhere). A CLI `open` process exits right
185
+ * after launching, so this check is what keeps a live session's profile.
186
+ *
187
+ * Best-effort: any error skips that entry, and the sweep never throws.
188
+ * Returns the directories removed.
189
+ */
190
+ export async function sweepStaleProfileDirs(opts = {}) {
191
+ const root = opts.root ?? tmpdir();
192
+ const cutoff = (opts.now ?? Date.now()) - (opts.graceMs ?? PROFILE_SWEEP_GRACE_MS);
193
+ const removed = [];
194
+ let entries;
195
+ try {
196
+ entries = await readdir(root);
197
+ }
198
+ catch {
199
+ return removed;
200
+ }
201
+ for (const name of entries) {
202
+ try {
203
+ const pid = profileDirOwnerPid(name);
204
+ if (pid === null)
205
+ continue;
206
+ const dir = join(root, name);
207
+ const st = await lstat(dir);
208
+ if (!st.isDirectory() || st.mtimeMs >= cutoff)
209
+ continue;
210
+ if (isPidAlive(pid))
211
+ continue;
212
+ if (!(await isOwnedProfileDir(dir, root)))
213
+ continue;
214
+ if (await isProfileDirInUse(dir, opts))
215
+ continue;
216
+ await rm(dir, { recursive: true, force: true });
217
+ removed.push(dir);
218
+ }
219
+ catch {
220
+ /* skip this entry */
221
+ }
222
+ }
223
+ return removed;
224
+ }
225
+ /** Poll `cond` until it holds or `ms` elapses. The timer is ref'd on purpose
226
+ * (see waitForProcessExit in browser-lifecycle.ts): callers await it. */
227
+ async function waitUntil(cond, ms) {
228
+ const deadline = Date.now() + ms;
229
+ for (;;) {
230
+ if (await cond())
231
+ return true;
232
+ if (Date.now() >= deadline)
233
+ return false;
234
+ await delay(POLL_MS);
235
+ }
236
+ }
237
+ function delay(ms) {
238
+ return new Promise((resolve) => {
239
+ setTimeout(resolve, ms);
240
+ });
241
+ }
242
+ //# sourceMappingURL=profile-dir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-dir.js","sourceRoot":"","sources":["../../../src/browser/profile-dir.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,9 @@ export interface SessionRecord {
32
32
  launched: boolean;
33
33
  pid?: number;
34
34
  userDataDir?: string;
35
+ /** true = monobrowse created `userDataDir` itself, so closing this session
36
+ * deletes it (#395). Absent for a caller-supplied or older record. */
37
+ ownsUserDataDir?: boolean;
35
38
  savedAt?: number;
36
39
  /** Set by `--session <name>`: only commands naming it resolve this session,
37
40
  * and commands naming none never land on it. */
@@ -52,6 +55,7 @@ export declare function saveSessionRecord(port: number, opts?: {
52
55
  launched?: boolean;
53
56
  pid?: number;
54
57
  userDataDir?: string;
58
+ ownsUserDataDir?: boolean;
55
59
  savedAt?: number;
56
60
  name?: string;
57
61
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ref-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/ref-cache.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY7C,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAS,CAAC;AASzC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;oEAEoE;AACpE,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAiBhG;AAED,yGAAyG;AACzG,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb;8EAC0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;qDACiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,+EAA+E;AAC/E,eAAO,MAAM,eAAe,QAA2B,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;+CAC+C;AAC/C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAMnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAM7E;AAED;;qDAEqD;AACrD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAkBnE"}
1
+ {"version":3,"file":"ref-cache.d.ts","sourceRoot":"","sources":["../../../src/browser/ref-cache.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY7C,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAS,CAAC;AASzC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;oEAEoE;AACpE,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAiBhG;AAED,yGAAyG;AACzG,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb;8EAC0E;IAC1E,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;2EACuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;qDACiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,+EAA+E;AAC/E,eAAO,MAAM,eAAe,QAA2B,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;+CAC+C;AAC/C,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAMnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAM7E;AAED;;qDAEqD;AACrD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAkBnE"}
@@ -108,6 +108,7 @@ export async function saveSessionRecord(port, opts) {
108
108
  launched: opts?.launched !== false,
109
109
  pid: opts?.pid,
110
110
  userDataDir: opts?.userDataDir,
111
+ ownsUserDataDir: opts?.ownsUserDataDir === true || undefined,
111
112
  savedAt: opts?.savedAt ?? Date.now(),
112
113
  name: opts?.name,
113
114
  }));
@@ -205,6 +206,7 @@ function parseSessionRecord(raw) {
205
206
  ? data.pid
206
207
  : undefined,
207
208
  userDataDir: typeof data.userDataDir === 'string' ? data.userDataDir : undefined,
209
+ ownsUserDataDir: data.ownsUserDataDir === true || undefined,
208
210
  savedAt: typeof data.savedAt === 'number' ? data.savedAt : undefined,
209
211
  name: typeof data.name === 'string' && SESSION_NAME_RE.test(data.name) ? data.name : undefined,
210
212
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ref-cache.js","sourceRoot":"","sources":["../../../src/browser/ref-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref-cache.js","sourceRoot":"","sources":["../../../src/browser/ref-cache.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@ export interface BrowserConfig {
10
10
  headless?: boolean;
11
11
  executablePath?: string;
12
12
  userDataDir?: string;
13
+ /** The caller created `userDataDir` for this launch alone (the CLI's
14
+ * session profile), so monobrowse deletes it when the browser closes,
15
+ * like the default profile. Only honoured for a directory that matches
16
+ * monobrowse's own tmpdir naming; any other `userDataDir` is never
17
+ * deleted. */
18
+ ownsUserDataDir?: boolean;
13
19
  args?: string[];
14
20
  /** Milliseconds to wait for the launched Chrome to open its CDP port
15
21
  * before giving up. Default 10000 — raise this for environments where
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"AAkIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,UAAU;IACV,KAAK;IACL,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,KAAK;IACL,UAAU;IACV,MAAM;IACN,cAAc;IACd,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB;IACjB,8DAA8D;IAC9D,oDAAoD;IACpD,eAAe;IACf,gEAAgE;IAChE,iBAAiB;IACjB,wBAAwB;IACxB,2BAA2B;IAC3B,mBAAmB;IACnB,eAAe;IACf,yBAAyB;IACzB,gCAAgC;IAChC,mBAAmB;IACnB,4DAA4D;IAC5D,kEAAkE;IAClE,+DAA+D;IAC/D,mEAAmE;IACnE,6DAA6D;CAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser/types.ts"],"names":[],"mappings":"AAwIA,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,SAAS;IACT,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,UAAU;IACV,KAAK;IACL,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,KAAK;IACL,UAAU;IACV,MAAM;IACN,cAAc;IACd,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB;IACjB,8DAA8D;IAC9D,oDAAoD;IACpD,eAAe;IACf,gEAAgE;IAChE,iBAAiB;IACjB,wBAAwB;IACxB,2BAA2B;IAC3B,mBAAmB;IACnB,eAAe;IACf,yBAAyB;IACzB,gCAAgC;IAChC,mBAAmB;IACnB,4DAA4D;IAC5D,kEAAkE;IAClE,+DAA+D;IAC/D,mEAAmE;IACnE,6DAA6D;CAC9D,CAAC"}
@@ -26,6 +26,7 @@
26
26
  import type { Command } from './types.js';
27
27
  export { deriveBoxOutput } from './commands-page.js';
28
28
  export { parseBatchCommandLine } from './commands-script.js';
29
+ export { disconnectSession } from './session.js';
29
30
  declare const browseCommand: Command;
30
31
  export default browseCommand;
31
32
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAqEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,YAAY,CAAC;AAIzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAiP7D,QAAA,MAAM,aAAa,EAAE,OA4FpB,CAAC;eAEa,aAAa"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAqEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,YAAY,CAAC;AAIzE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAiPjD,QAAA,MAAM,aAAa,EAAE,OA4FpB,CAAC;eAEa,aAAa"}
@@ -43,6 +43,8 @@ import { applySessionNameFlag, applySessionPortFlag } from './session.js';
43
43
  // before the subcommands were split out, and the tests import them from here.
44
44
  export { deriveBoxOutput } from './commands-page.js';
45
45
  export { parseBatchCommandLine } from './commands-script.js';
46
+ // For embedders that do not process.exit() after a subcommand (#408).
47
+ export { disconnectSession } from './session.js';
46
48
  // ---------------------------------------------------------------------------
47
49
  // batch — dispatches over this file's own subcommand catalogue, which is why
48
50
  // it lives here rather than with the other script commands.
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/cli/commands.ts"],"names":[],"mappings":"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"}