@orkestrel/browser 0.0.25 → 0.0.26

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.
@@ -43,12 +43,15 @@ var BROWSER_CDP_LIST_PATH = "/json/list";
43
43
  *
44
44
  * @remarks
45
45
  * Disables account sync so extension installs cannot reset URL loader factories during page imports.
46
- * Edge can still sign a fresh Windows profile in to the operating-system account.
46
+ * Disables Edge's implicit sign-in so fresh automation profiles carry no Microsoft account.
47
+ * Chromium ignores the unknown Edge feature name on Chrome and Chromium.
48
+ * The launcher merges disabled features with the caller's into one switch.
47
49
  */
48
50
  var BROWSER_LAUNCH_ARGS = Object.freeze([
49
51
  "--no-first-run",
50
52
  "--no-default-browser-check",
51
- "--disable-sync"
53
+ "--disable-sync",
54
+ "--disable-features=msImplicitSignin"
52
55
  ]);
53
56
  /**
54
57
  * Names the flag that enables headless mode on a launched browser process, `'--headless=new'`.
@@ -687,6 +690,10 @@ function findStorePaths(base, platform) {
687
690
  * Launches a browser process with raw-CDP debugging flags.
688
691
  *
689
692
  * @remarks
693
+ * Merges every caller and library `--disable-features` value into one switch because Chromium
694
+ * reads only the last occurrence. Keeps `msImplicitSignin` disabled alongside caller features;
695
+ * Chrome and Chromium ignore this Edge feature name. Preserves the caller's other arguments.
696
+ *
690
697
  * POSIX launches own an isolated process group so lifecycle teardown can
691
698
  * signal and await every Chromium subprocess without affecting the caller.
692
699
  * Windows launches are not detached and own no group, so teardown there
@@ -704,8 +711,18 @@ function findStorePaths(base, platform) {
704
711
  */
705
712
  function launchBrowserProcess(executable, port, headless, profile, extra) {
706
713
  const args = [];
707
- if (extra !== void 0) args.push(...extra);
708
- args.push(`--remote-debugging-port=${port ?? 0}`, ...BROWSER_LAUNCH_ARGS);
714
+ const features = /* @__PURE__ */ new Set();
715
+ for (const arg of [
716
+ ...extra ?? [],
717
+ `--remote-debugging-port=${port ?? 0}`,
718
+ ...BROWSER_LAUNCH_ARGS
719
+ ]) {
720
+ if (arg === "--disable-features") continue;
721
+ if (arg.startsWith("--disable-features=")) {
722
+ for (const feature of arg.slice(19).split(",")) if (feature.trim() !== "") features.add(feature.trim());
723
+ } else args.push(arg);
724
+ }
725
+ args.push(`--disable-features=${[...features].join(",")}`);
709
726
  if (headless) args.push(BROWSER_HEADLESS_ARG);
710
727
  if (profile !== void 0) args.push(`--user-data-dir=${profile}`);
711
728
  return (0, node_child_process.spawn)(executable, args, {
@@ -1056,7 +1073,7 @@ var FileBrowserWriter = class {
1056
1073
  };
1057
1074
  //#endregion
1058
1075
  //#region package.json
1059
- var version = "0.0.25";
1076
+ var version = "0.0.26";
1060
1077
  //#endregion
1061
1078
  //#region src/server/BrowserMCPServer.ts
1062
1079
  /**