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