@intentic/browser 1.304.0 → 1.305.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,7 +34,8 @@ fails loudly, which is the behaviour worth having.
34
34
  **Their browser, not their profile.** A browser only speaks CDP if it was started with `--remote-debugging-port`,
35
35
  and nobody's everyday browser was; restarting theirs to add the flag would close every tab they had open. So: if a
36
36
  debugging endpoint is already there, it is used; otherwise a separate instance starts with its own profile
37
- directory under `~/.intentic/browser`.
37
+ directory under `~/.intentic/browser`, one per browser: a user-data-dir records the build that wrote it, and
38
+ Chromium refuses a profile from a newer version than its own, so Brave must not be handed the directory Edge left.
38
39
 
39
40
  That separate profile is a feature rather than a compromise. It is empty the first time, so the user signs into
40
41
  whatever is needed once, in a window they can watch, and it persists afterwards. Their own session is never
@@ -43,12 +44,15 @@ automated and never at risk from a misfired click.
43
44
  Which *binary* gets started is asked of the OS, not guessed: the browser registered for `https` (Windows'
44
45
  `UserChoice` ProgId, `xdg-settings get default-web-browser` on Linux), used whenever it is Chromium-family. A
45
46
  default that cannot speak CDP — Firefox, Safari — falls through to the guesses in `browserCandidates`, and those
46
- are ordered so a browser installed on purpose outranks one the OS shipped: Brave, then Chrome, then Edge. Edge
47
- exists on every Windows whether its owner wanted one or not, so finding it says nothing about what they use.
48
-
49
- A Windows caveat worth knowing before someone reports it as a bug: the registered default is frequently Edge on a
50
- machine whose owner lives in another browser, because setting a default in Windows takes a deliberate trip through
51
- Settings and a fresh install does not always win one. The browser that opens is then correct and still surprising.
47
+ are ordered so a browser installed on purpose outranks one the OS shipped: Brave, then Chrome, then Edge.
48
+
49
+ With one exception, which was reported as a bug and is one: **Edge registered as the default does not count as a
50
+ choice.** Windows ships Edge and hands it the `https` association, and setting a different default takes a
51
+ deliberate trip through Settings that a fresh install does not always win — so on a machine whose owner lives in
52
+ Brave, "the default browser" answers Edge, and an agent opening Edge in front of them is simply wrong. When the
53
+ OS's answer is the browser it shipped and something else is installed, the installed one wins (`pickBrowser`).
54
+ Nothing of the person's rides on either choice: the profile is this package's own, empty of their logins and
55
+ extensions whichever binary starts.
52
56
 
53
57
  ## Why hand-rolled CDP rather than Puppeteer or Playwright
54
58
 
package/dist/launch.d.ts CHANGED
@@ -1,11 +1,14 @@
1
1
  export declare const DEFAULT_PORT = 9222;
2
- export declare const profileDir: () => string;
2
+ export declare const browserFamily: (binary: string) => string;
3
+ export declare const profileDir: (binary: string) => string;
3
4
  export declare const isChromiumFamily: (path: string) => boolean;
4
5
  export declare const browserCandidates: (platform: NodeJS.Platform) => string[];
5
6
  export declare const registryValue: (output: string) => string | undefined;
6
7
  export declare const executableFromCommand: (command: string) => string | undefined;
7
8
  export declare const executableFromDesktopEntry: (contents: string) => string | undefined;
8
9
  export declare const defaultBrowser: (platform?: NodeJS.Platform) => Promise<string | undefined>;
10
+ export declare const shippedWithOs: (path: string) => boolean;
11
+ export declare const pickBrowser: (chosen: string | undefined, installed: readonly string[]) => string | undefined;
9
12
  export declare const ensureBrowser: (port?: number, url?: string) => Promise<{
10
13
  started: boolean;
11
14
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,OAAO,CAAC;AAGjC,eAAO,MAAM,UAAU,QAAO,MAAiD,CAAC;AAIhF,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,OAA2E,CAAC;AAK5H,eAAO,MAAM,iBAAiB,aAAc,MAAM,CAAC,QAAQ,KAAG,MAAM,EA2BnE,CAAC;AAYF,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAM,GAAG,SAAiE,CAAC;AAG1H,eAAO,MAAM,qBAAqB,YAAa,MAAM,KAAG,MAAM,GAAG,SAIhE,CAAC;AAGF,eAAO,MAAM,0BAA0B,aAAc,MAAM,KAAG,MAAM,GAAG,SAOtE,CAAC;AA6DF,eAAO,MAAM,cAAc,cAAoB,MAAM,CAAC,QAAQ,KAAsB,OAAO,CAAC,MAAM,GAAG,SAAS,CAG7G,CAAC;AAsBF,eAAO,MAAM,aAAa,UAAgB,MAAM,QAAuB,MAAM,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAgB3G,CAAC"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,OAAO,CAAC;AAIjC,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAA+F,CAAC;AAM/I,eAAO,MAAM,UAAU,WAAY,MAAM,KAAG,MAAwE,CAAC;AAIrH,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,OAA2E,CAAC;AAK5H,eAAO,MAAM,iBAAiB,aAAc,MAAM,CAAC,QAAQ,KAAG,MAAM,EA2BnE,CAAC;AAYF,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAM,GAAG,SAAiE,CAAC;AAG1H,eAAO,MAAM,qBAAqB,YAAa,MAAM,KAAG,MAAM,GAAG,SAIhE,CAAC;AAGF,eAAO,MAAM,0BAA0B,aAAc,MAAM,KAAG,MAAM,GAAG,SAOtE,CAAC;AA6DF,eAAO,MAAM,cAAc,cAAoB,MAAM,CAAC,QAAQ,KAAsB,OAAO,CAAC,MAAM,GAAG,SAAS,CAG7G,CAAC;AAIF,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,OAAgD,CAAC;AAO9F,eAAO,MAAM,WAAW,WAAY,MAAM,GAAG,SAAS,aAAa,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAG/F,CAAC;AAyBF,eAAO,MAAM,aAAa,UAAgB,MAAM,QAAuB,MAAM,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAgB3G,CAAC"}
package/dist/launch.js CHANGED
@@ -5,7 +5,8 @@ import { join } from "node:path";
5
5
  import { probe, waitForPort } from "./cdp.js";
6
6
  import { BrowserError } from "./types.js";
7
7
  export const DEFAULT_PORT = 9222;
8
- export const profileDir = () => join(homedir(), ".intentic", "browser");
8
+ export const browserFamily = (binary) => (binary.split(/[/\\]/).pop() ?? "").replace(/\.exe$/i, "").toLowerCase() || "browser";
9
+ export const profileDir = (binary) => join(homedir(), ".intentic", "browser", browserFamily(binary));
9
10
  export const isChromiumFamily = (path) => /(chrome|chromium|edge|brave|vivaldi|opera|thorium)/i.test(path);
10
11
  export const browserCandidates = (platform) => {
11
12
  if (platform === "win32") {
@@ -102,10 +103,15 @@ export const defaultBrowser = async (platform = process.platform) => {
102
103
  const path = platform === "win32" ? await windowsDefault() : platform === "linux" ? await linuxDefault() : undefined;
103
104
  return path !== undefined && isChromiumFamily(path) && existsSync(path) ? path : undefined;
104
105
  };
105
- const findBrowser = async () => (await defaultBrowser()) ?? browserCandidates(process.platform).find((path) => existsSync(path));
106
- const flags = (port, url) => [
106
+ export const shippedWithOs = (path) => /(msedge|microsoft-edge)/i.test(path);
107
+ export const pickBrowser = (chosen, installed) => {
108
+ const deliberate = installed.find((path) => !shippedWithOs(path));
109
+ return chosen !== undefined && !(shippedWithOs(chosen) && deliberate !== undefined) ? chosen : (deliberate ?? installed[0]);
110
+ };
111
+ const findBrowser = async (platform = process.platform) => pickBrowser(await defaultBrowser(platform), browserCandidates(platform).filter((path) => existsSync(path)));
112
+ const flags = (binary, port, url) => [
107
113
  `--remote-debugging-port=${port}`,
108
- `--user-data-dir=${profileDir()}`,
114
+ `--user-data-dir=${profileDir(binary)}`,
109
115
  "--no-first-run",
110
116
  "--no-default-browser-check",
111
117
  "--disable-session-crashed-bubble",
@@ -121,7 +127,7 @@ export const ensureBrowser = async (port = DEFAULT_PORT, url) => {
121
127
  if (binary === undefined) {
122
128
  throw new BrowserError("This computer has no Brave, Chrome, Chromium or Edge, and browser control needs one of them.", "Install Brave (or Google Chrome) and try again.");
123
129
  }
124
- const child = spawn(binary, flags(port, url), { detached: true, stdio: "ignore" });
130
+ const child = spawn(binary, flags(binary, port, url), { detached: true, stdio: "ignore" });
125
131
  child.unref();
126
132
  await waitForPort(port, START_TIMEOUT_MS);
127
133
  return { started: true };
@@ -1 +1 @@
1
- {"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/browser",
3
- "version": "1.304.0",
3
+ "version": "1.305.0",
4
4
  "description": "Drive a Chromium browser from Node over CDP — open pages, read them as structured text, click and type by element reference. No dependencies.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -41,21 +41,21 @@
41
41
  }
42
42
  },
43
43
  "dependencies": {
44
- "@intentic/base": "1.304.0",
44
+ "@intentic/base": "1.305.0",
45
45
  "tslib": "2.8.1"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@intentic/testing": "0.0.0",
49
49
  "@intentic/tsconfig": "0.0.0",
50
+ "@types/bun": "1.4.0",
50
51
  "@types/node": "24.13.2",
51
- "@typescript/native-preview": "7.0.0-dev.20260707.2",
52
- "vitest": "4.1.10"
52
+ "@typescript/native-preview": "7.0.0-dev.20260707.2"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "tsgo",
56
56
  "typecheck": "tsgo --noEmit -p tsconfig.test.json",
57
57
  "watch": "tsgo --build --watch",
58
- "test": "vitest run",
59
- "test:watch": "vitest"
58
+ "test": "suites",
59
+ "test:watch": "suites --watch"
60
60
  }
61
61
  }