@comecaramelos/dsh-chrome-mcp 1.0.0 → 2.0.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 (172) hide show
  1. package/README.md +44 -39
  2. package/lib/client.js +2186 -614
  3. package/lib/client.js.map +4 -4
  4. package/lib/host/apply.d.ts +38 -1
  5. package/lib/host/apply.d.ts.map +1 -1
  6. package/lib/host/apply.js +43 -17
  7. package/lib/host/apply.js.map +1 -1
  8. package/lib/host/bridge.d.ts +28 -19
  9. package/lib/host/bridge.d.ts.map +1 -1
  10. package/lib/host/bridge.js +71 -79
  11. package/lib/host/bridge.js.map +1 -1
  12. package/lib/host/catalog.d.ts +2 -2
  13. package/lib/host/catalog.js +2 -2
  14. package/lib/host/commands/chrome-path.d.ts +4 -0
  15. package/lib/host/commands/chrome-path.d.ts.map +1 -0
  16. package/lib/host/commands/chrome-path.js +65 -0
  17. package/lib/host/commands/chrome-path.js.map +1 -0
  18. package/lib/host/commands/chrome-refresh.d.ts +17 -0
  19. package/lib/host/commands/chrome-refresh.d.ts.map +1 -0
  20. package/lib/host/commands/chrome-refresh.js +37 -0
  21. package/lib/host/commands/chrome-refresh.js.map +1 -0
  22. package/lib/host/commands/index.d.ts +26 -0
  23. package/lib/host/commands/index.d.ts.map +1 -0
  24. package/lib/host/commands/index.js +41 -0
  25. package/lib/host/commands/index.js.map +1 -0
  26. package/lib/host/constants.d.ts +107 -30
  27. package/lib/host/constants.d.ts.map +1 -1
  28. package/lib/host/constants.js +107 -30
  29. package/lib/host/constants.js.map +1 -1
  30. package/lib/host/controller/_trace.d.ts +3 -0
  31. package/lib/host/controller/_trace.d.ts.map +1 -0
  32. package/lib/host/controller/_trace.js +14 -0
  33. package/lib/host/controller/_trace.js.map +1 -0
  34. package/lib/host/controller/bridge-run.d.ts +4 -2
  35. package/lib/host/controller/bridge-run.d.ts.map +1 -1
  36. package/lib/host/controller/bridge-run.js +24 -8
  37. package/lib/host/controller/bridge-run.js.map +1 -1
  38. package/lib/host/controller/captures.d.ts +9 -16
  39. package/lib/host/controller/captures.d.ts.map +1 -1
  40. package/lib/host/controller/captures.js +73 -48
  41. package/lib/host/controller/captures.js.map +1 -1
  42. package/lib/host/controller/commits.d.ts +2 -2
  43. package/lib/host/controller/commits.d.ts.map +1 -1
  44. package/lib/host/controller/commits.js +97 -41
  45. package/lib/host/controller/commits.js.map +1 -1
  46. package/lib/host/controller/connections.d.ts +38 -0
  47. package/lib/host/controller/connections.d.ts.map +1 -0
  48. package/lib/host/controller/connections.js +71 -0
  49. package/lib/host/controller/connections.js.map +1 -0
  50. package/lib/host/controller/controller.d.ts +19 -24
  51. package/lib/host/controller/controller.d.ts.map +1 -1
  52. package/lib/host/controller/controller.js +181 -114
  53. package/lib/host/controller/controller.js.map +1 -1
  54. package/lib/host/controller/index.d.ts +18 -14
  55. package/lib/host/controller/index.d.ts.map +1 -1
  56. package/lib/host/controller/index.js +16 -14
  57. package/lib/host/controller/index.js.map +1 -1
  58. package/lib/host/controller/notes.d.ts +9 -9
  59. package/lib/host/controller/notes.d.ts.map +1 -1
  60. package/lib/host/controller/notes.js +16 -21
  61. package/lib/host/controller/notes.js.map +1 -1
  62. package/lib/host/controller/persist.d.ts +10 -3
  63. package/lib/host/controller/persist.d.ts.map +1 -1
  64. package/lib/host/controller/persist.js +89 -42
  65. package/lib/host/controller/persist.js.map +1 -1
  66. package/lib/host/controller/publish.d.ts +4 -0
  67. package/lib/host/controller/publish.d.ts.map +1 -0
  68. package/lib/host/controller/publish.js +56 -0
  69. package/lib/host/controller/publish.js.map +1 -0
  70. package/lib/host/controller/runs.d.ts +34 -10
  71. package/lib/host/controller/runs.d.ts.map +1 -1
  72. package/lib/host/controller/runs.js +241 -58
  73. package/lib/host/controller/runs.js.map +1 -1
  74. package/lib/host/controller/state.d.ts +122 -20
  75. package/lib/host/controller/state.d.ts.map +1 -1
  76. package/lib/host/controller/windows-run.d.ts +10 -2
  77. package/lib/host/controller/windows-run.d.ts.map +1 -1
  78. package/lib/host/controller/windows-run.js +66 -35
  79. package/lib/host/controller/windows-run.js.map +1 -1
  80. package/lib/host/discovery/candidates.d.ts +23 -13
  81. package/lib/host/discovery/candidates.d.ts.map +1 -1
  82. package/lib/host/discovery/candidates.js +20 -8
  83. package/lib/host/discovery/candidates.js.map +1 -1
  84. package/lib/host/discovery/index.d.ts +1 -0
  85. package/lib/host/discovery/index.d.ts.map +1 -1
  86. package/lib/host/discovery/index.js +1 -0
  87. package/lib/host/discovery/index.js.map +1 -1
  88. package/lib/host/discovery/probe.d.ts +16 -5
  89. package/lib/host/discovery/probe.d.ts.map +1 -1
  90. package/lib/host/discovery/probe.js +68 -10
  91. package/lib/host/discovery/probe.js.map +1 -1
  92. package/lib/host/discovery/scan.d.ts +14 -9
  93. package/lib/host/discovery/scan.d.ts.map +1 -1
  94. package/lib/host/discovery/scan.js +56 -30
  95. package/lib/host/discovery/scan.js.map +1 -1
  96. package/lib/host/flags.d.ts +28 -5
  97. package/lib/host/flags.d.ts.map +1 -1
  98. package/lib/host/flags.js +75 -7
  99. package/lib/host/flags.js.map +1 -1
  100. package/lib/host/kind.d.ts +45 -0
  101. package/lib/host/kind.d.ts.map +1 -0
  102. package/lib/host/kind.js +251 -0
  103. package/lib/host/kind.js.map +1 -0
  104. package/lib/host/manager.d.ts +21 -0
  105. package/lib/host/manager.d.ts.map +1 -0
  106. package/lib/host/manager.js +113 -0
  107. package/lib/host/manager.js.map +1 -0
  108. package/lib/host/migration.d.ts +26 -0
  109. package/lib/host/migration.d.ts.map +1 -0
  110. package/lib/host/migration.js +127 -0
  111. package/lib/host/migration.js.map +1 -0
  112. package/lib/host/plugin-meta.d.ts +12 -3
  113. package/lib/host/plugin-meta.d.ts.map +1 -1
  114. package/lib/host/plugin-meta.js +13 -4
  115. package/lib/host/plugin-meta.js.map +1 -1
  116. package/lib/host/schema.d.ts +301 -247
  117. package/lib/host/schema.d.ts.map +1 -1
  118. package/lib/host/schema.js +145 -120
  119. package/lib/host/schema.js.map +1 -1
  120. package/lib/host/settings.d.ts +22 -3
  121. package/lib/host/settings.d.ts.map +1 -1
  122. package/lib/host/settings.js +81 -60
  123. package/lib/host/settings.js.map +1 -1
  124. package/lib/host/status.d.ts +7 -10
  125. package/lib/host/status.d.ts.map +1 -1
  126. package/lib/host/status.js +8 -23
  127. package/lib/host/status.js.map +1 -1
  128. package/lib/host/tool.d.ts +13 -7
  129. package/lib/host/tool.d.ts.map +1 -1
  130. package/lib/host/tool.js +4 -3
  131. package/lib/host/tool.js.map +1 -1
  132. package/lib/host/types/config.d.ts +66 -12
  133. package/lib/host/types/config.d.ts.map +1 -1
  134. package/lib/host/types/executable.d.ts +8 -3
  135. package/lib/host/types/executable.d.ts.map +1 -1
  136. package/lib/host/types/index.d.ts +5 -4
  137. package/lib/host/types/index.d.ts.map +1 -1
  138. package/lib/host/types/services.d.ts +26 -0
  139. package/lib/host/types/services.d.ts.map +1 -0
  140. package/lib/host/types/services.js +9 -0
  141. package/lib/host/types/services.js.map +1 -0
  142. package/lib/host/types/settings.d.ts +118 -65
  143. package/lib/host/types/settings.d.ts.map +1 -1
  144. package/lib/host/types/stderr.d.ts +3 -5
  145. package/lib/host/types/stderr.d.ts.map +1 -1
  146. package/lib/host/values.d.ts +152 -37
  147. package/lib/host/values.d.ts.map +1 -1
  148. package/lib/host/values.js +304 -112
  149. package/lib/host/values.js.map +1 -1
  150. package/lib/host/windows/connect-flags.d.ts +19 -8
  151. package/lib/host/windows/connect-flags.d.ts.map +1 -1
  152. package/lib/host/windows/connect-flags.js +50 -20
  153. package/lib/host/windows/connect-flags.js.map +1 -1
  154. package/lib/host/windows/index.d.ts +1 -1
  155. package/lib/host/windows/index.d.ts.map +1 -1
  156. package/lib/host/windows/index.js +1 -1
  157. package/lib/host/windows/index.js.map +1 -1
  158. package/lib/host/windows/paths.d.ts +27 -6
  159. package/lib/host/windows/paths.d.ts.map +1 -1
  160. package/lib/host/windows/paths.js +40 -13
  161. package/lib/host/windows/paths.js.map +1 -1
  162. package/lib/host/windows/run.d.ts.map +1 -1
  163. package/lib/host/windows/run.js +3 -2
  164. package/lib/host/windows/run.js.map +1 -1
  165. package/lib/index.d.ts +72 -56
  166. package/lib/index.d.ts.map +1 -1
  167. package/lib/index.js +74 -55
  168. package/lib/index.js.map +1 -1
  169. package/locale/en.json +6 -0
  170. package/locale/zh.json +6 -0
  171. package/package.json +35 -14
  172. package/cordis.patch.yml +0 -5
@@ -8,22 +8,38 @@
8
8
  * `userDataDir` and `browserUrl` in the same argv). The run calls these to
9
9
  * answer and to persist its outcome; ./run.ts drives them.
10
10
  */
11
+ import { carriesConnectionMode } from "../flags.js";
11
12
  import { BROWSER_URL_FLAG_PREFIX } from "../constants.js";
12
13
  /** The connect address one debugging port answers for. */
13
14
  export function windowsChromeUrl(port) {
14
15
  return `http://127.0.0.1:${Math.trunc(port)}`;
15
16
  }
16
- /** The debugging port one `--browserUrl=` entry carries, 0 when the list
17
- * carries none (or one this helper cannot read). */
17
+ /** The debugging port the live connect entry carries, 0 when the list carries
18
+ * none. The entry's **spelling** is irrelevant: the port is read through the
19
+ * very predicate that decides connect mode (`carriesConnectionMode` in
20
+ * `./flags.ts`), so `--browserUrl=<url>`, `--browserUrl <url>` (the two-entry
21
+ * form the whitespace-split env source produces), one string carrying its
22
+ * value after whitespace, and `--wsEndpoint=<url>` all answer with the live
23
+ * port instead of reading as "no live session". */
18
24
  export function browserUrlFlagPort(flags) {
19
- for (const flag of Array.isArray(flags) ? flags : []) {
20
- if (typeof flag !== "string" || !flag.startsWith(BROWSER_URL_FLAG_PREFIX))
25
+ const list = Array.isArray(flags) ? flags : [];
26
+ for (let index = 0; index < list.length; index += 1) {
27
+ const flag = list[index];
28
+ if (typeof flag !== "string" || !carriesConnectionMode(flag))
21
29
  continue;
22
- const url = flag.slice(BROWSER_URL_FLAG_PREFIX.length);
23
- const match = url.match(/:(\d+)\/?$/u);
24
- if (match === null)
25
- return 0;
26
- return Number.parseInt(match[1], 10);
30
+ const eq = flag.indexOf("=");
31
+ if (eq !== -1) {
32
+ const match = flag.slice(eq + 1).trim().match(/:(\d+)/u);
33
+ return match === null ? 0 : Number.parseInt(match[1], 10);
34
+ }
35
+ const whitespace = flag.slice(2).match(/\s/u);
36
+ if (whitespace?.index !== void 0) {
37
+ const match = flag.slice(whitespace.index + 3).trim().match(/:(\d+)/u);
38
+ return match === null ? 0 : Number.parseInt(match[1], 10);
39
+ }
40
+ const value = list[index + 1];
41
+ const match = typeof value === "string" ? value.trim().match(/:(\d+)/u) : null;
42
+ return match === null ? 0 : Number.parseInt(match[1], 10);
27
43
  }
28
44
  return 0;
29
45
  }
@@ -33,31 +49,45 @@ export function browserUrlFlagPort(flags) {
33
49
  * live with chrome-devtools-mcp), so the run drops it when it pins connect. */
34
50
  const CONNECT_EXCLUDED_FLAG = "--user-data-dir";
35
51
  /**
36
- * Replace this plugin's own connect entry and keep everything else: an entry
37
- * already pinned to `--browserUrl=` is rewritten in place (one connect source,
38
- * never two), and a list without one gets the entry appended. That is the
39
- * idempotency rule the saved-executable merge follows for a repeated id.
52
+ * Collapse every connect entry the list carries into the run's own address, so
53
+ * the saved list keeps exactly **one** connect source whatever spelling it was
54
+ * stored in — the same idempotency rule the saved-executable merge follows for
55
+ * a repeated id, keyed now on the whole connect-mode predicate rather than one
56
+ * flag spelling. An entry that carries its value as the *following* entry (the
57
+ * `--browserUrl <url>` form the whitespace-split env source produces) consumes
58
+ * that value with it, so no bare URL survives as a stray argv item.
59
+ *
40
60
  * The one thing that does not survive is a `--user-data-dir` row: connect
41
- * carries no local profile to hand the browser, upstream refuses both at
42
- * once, so keeping a saved Flags-WSL row would leave the bridge unspawnable.
61
+ * carries no local profile to hand the browser, upstream refuses both at once,
62
+ * so keeping a saved Flags-WSL row would leave the bridge unspawnable
63
+ * (`Arguments userDataDir and browserUrl are mutually exclusive`, measured live
64
+ * with chrome-devtools-mcp).
43
65
  */
44
66
  export function withBrowserUrlFlag(flags, url) {
45
67
  const entry = `${BROWSER_URL_FLAG_PREFIX}${url}`;
46
68
  const list = Array.isArray(flags) ? flags : [];
47
69
  const next = [];
48
70
  let replaced = false;
71
+ let awaitingValue = false;
49
72
  for (const flag of list) {
50
73
  if (typeof flag !== "string")
51
74
  continue;
52
75
  if (flag.startsWith(CONNECT_EXCLUDED_FLAG))
53
76
  continue;
54
- if (flag.startsWith(BROWSER_URL_FLAG_PREFIX)) {
55
- if (replaced)
56
- continue;
57
- next.push(entry);
58
- replaced = true;
77
+ if (carriesConnectionMode(flag)) {
78
+ if (!replaced) {
79
+ next.push(entry);
80
+ replaced = true;
81
+ }
82
+ // No inline value (no `=`, no whitespace) means the value is the
83
+ // entry that follows — drop it with the flag, exactly the way
84
+ // `stripExecutablePathFlags` consumes a `--flag <path>` spelling.
85
+ awaitingValue = !flag.includes("=") && !/\s/u.test(flag);
59
86
  continue;
60
87
  }
88
+ if (awaitingValue && !flag.startsWith("-"))
89
+ continue;
90
+ awaitingValue = false;
61
91
  next.push(flag);
62
92
  }
63
93
  if (!replaced)
@@ -1 +1 @@
1
- {"version":3,"file":"connect-flags.js","sourceRoot":"","sources":["../../../src/host/windows/connect-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,OAAO,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;oDACoD;AACpD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;YAAE,SAAS;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;;+EAG+E;AAC/E,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,GAAW;IAC1D,MAAM,KAAK,GAAG,GAAG,uBAAuB,GAAG,GAAG,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;YAAE,SAAS;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3C,IAAI,QAAQ;gBAAE,SAAS;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACb,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"connect-flags.js","sourceRoot":"","sources":["../../../src/host/windows/connect-flags.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@
22
22
  * `.probe/windows-chrome-connect-probe.log`. Every half is injectable, so the
23
23
  * tests never depend on the machine they run on.
24
24
  */
25
- export { findWindowsChromeExecutable, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeProjectDir, windowsPathToMount } from "./paths.js";
25
+ export { findWindowsChromeExecutable, findWindowsChromeExecutables, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeProjectDir, windowsPathToMount } from "./paths.js";
26
26
  export { linkWindowsChromeProfile } from "./link.js";
27
27
  export { browserUrlFlagPort, withBrowserUrlFlag, windowsChromeUrl } from "./connect-flags.js";
28
28
  export { windowsChromeLandingAsset, windowsChromeLandingHtml, windowsChromeLandingPath, windowsChromeLandingUrl, windowsFileUrl } from "./landing.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host/windows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACH,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/host/windows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC"}
@@ -22,7 +22,7 @@
22
22
  * `.probe/windows-chrome-connect-probe.log`. Every half is injectable, so the
23
23
  * tests never depend on the machine they run on.
24
24
  */
25
- export { findWindowsChromeExecutable, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeProjectDir, windowsPathToMount } from "./paths.js";
25
+ export { findWindowsChromeExecutable, findWindowsChromeExecutables, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeProjectDir, windowsPathToMount } from "./paths.js";
26
26
  export { linkWindowsChromeProfile } from "./link.js";
27
27
  export { browserUrlFlagPort, withBrowserUrlFlag, windowsChromeUrl } from "./connect-flags.js";
28
28
  export { windowsChromeLandingAsset, windowsChromeLandingHtml, windowsChromeLandingPath, windowsChromeLandingUrl, windowsFileUrl } from "./landing.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/windows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACH,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/host/windows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC"}
@@ -1,16 +1,37 @@
1
1
  /**
2
2
  * The Windows spelling mapped onto the interop mount (`C:\Program Files\…` →
3
- * `/mnt/c/Program Files/…`), which is the form WSL can stat. A path with no
4
- * drive letter is not a Windows mount path and yields "".
3
+ * `/mnt/c/Program Files/…`), which is the form WSL can stat. A path already
4
+ * spelled as the mount maps to itself — the mount spelling is what the WSL side
5
+ * can stat and therefore what a saved row or the row config may carry — and a
6
+ * path that is neither maps nowhere and yields "".
7
+ *
8
+ * A path may have been written or copied shell-style, where a space is escaped
9
+ * (`Program\ Files`). Such a backslash escapes the space that follows it and is
10
+ * not a separator, so it folds away to the plain space first; every other
11
+ * backslash is a Windows separator and folds to a slash. Turning one space
12
+ * escape blindly into a slash produced `Program/ Files` — a path that exists
13
+ * nowhere and answers `not-found` for a Chrome the run had actually located
14
+ * (measured live 2026-10-12 against a saved mount-spelled selection).
5
15
  */
6
16
  export declare function windowsPathToMount(path: unknown): string;
7
17
  /**
8
- * Locate the Windows-side Chrome through the interop mount: the first
9
- * candidate whose mount path exists, "" when this machine carries none of
10
- * them. The returned path keeps its **Windows** spelling — it is what the
11
- * `start` invocation takes and what the card names.
18
+ * Locate the Windows-side Chrome through the interop mount: the first candidate
19
+ * whose mount path exists, "" when this machine carries none of them. The
20
+ * returned path keeps its **Windows** spelling — it is what the `start`
21
+ * invocation takes and what the card names.
12
22
  */
13
23
  export declare function findWindowsChromeExecutable(exists?: (path: string) => boolean, candidates?: readonly string[]): string;
24
+ /**
25
+ * Every Windows-side executable this host carries, in the list's own preference
26
+ * order and in its **Windows** spelling — the whole located set, not only the
27
+ * first. This is what the executable run folds into its candidate list, so the
28
+ * picker offers the Windows browser instead of hiding it. A machine that carries
29
+ * none of them answers nothing, so the list is what is installed here, never a
30
+ * fixed set of install locations. Nothing on the list is ever spawned from WSL
31
+ * (see `blockedForPlatform`); it is offered so that the **Prelaunch Windows
32
+ * Chrome** run can be pointed at the one the picker selected.
33
+ */
34
+ export declare function findWindowsChromeExecutables(exists?: (path: string) => boolean, candidates?: readonly string[]): string[];
14
35
  /**
15
36
  * The Windows-side profile directory: `<localAppData>\<dir>\.chrome[-<port>]`.
16
37
  * The profile has to live on the Windows filesystem — Chrome takes real locks
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/host/windows/paths.ts"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAMxD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA4C,EACtE,UAAU,GAAE,SAAS,MAAM,EAA8B,GAC1D,MAAM,CAOR;AAKD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,SAAY,GAAG,MAAM,CAMvF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAelD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBtG"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/host/windows/paths.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAQxD;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA4C,EACtE,UAAU,GAAE,SAAS,MAAM,EAA8B,GAC1D,MAAM,CAER;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CACxC,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAA4C,EACtE,UAAU,GAAE,SAAS,MAAM,EAA8B,GAC1D,MAAM,EAAE,CAQV;AAKD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,SAAY,GAAG,MAAM,CAMvF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAelD;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBtG"}
@@ -16,33 +16,60 @@ import { existsSync } from "node:fs";
16
16
  import { WINDOWS_CHROME_CANDIDATES, WINDOWS_CHROME_PROFILE_DIRNAME } from "../constants.js";
17
17
  /**
18
18
  * The Windows spelling mapped onto the interop mount (`C:\Program Files\…` →
19
- * `/mnt/c/Program Files/…`), which is the form WSL can stat. A path with no
20
- * drive letter is not a Windows mount path and yields "".
19
+ * `/mnt/c/Program Files/…`), which is the form WSL can stat. A path already
20
+ * spelled as the mount maps to itself — the mount spelling is what the WSL side
21
+ * can stat and therefore what a saved row or the row config may carry — and a
22
+ * path that is neither maps nowhere and yields "".
23
+ *
24
+ * A path may have been written or copied shell-style, where a space is escaped
25
+ * (`Program\ Files`). Such a backslash escapes the space that follows it and is
26
+ * not a separator, so it folds away to the plain space first; every other
27
+ * backslash is a Windows separator and folds to a slash. Turning one space
28
+ * escape blindly into a slash produced `Program/ Files` — a path that exists
29
+ * nowhere and answers `not-found` for a Chrome the run had actually located
30
+ * (measured live 2026-10-12 against a saved mount-spelled selection).
21
31
  */
22
32
  export function windowsPathToMount(path) {
23
33
  if (typeof path !== "string")
24
34
  return "";
25
- const candidate = path.trim();
26
- const match = candidate.match(/^([a-z]):[\\/](.*)$/iu);
27
- if (match === null)
35
+ const candidate = path.trim().replace(/\\ /gu, " ").replace(/\\/gu, "/");
36
+ const windows = candidate.match(/^([a-z]):\/(.*)$/iu);
37
+ if (windows !== null)
38
+ return `/mnt/${windows[1].toLowerCase()}/${windows[2]}`;
39
+ const mounted = candidate.match(/^\/mnt\/([a-z])\/(.*)$/iu);
40
+ if (mounted === null)
28
41
  return "";
29
- return `/mnt/${match[1].toLowerCase()}/${match[2].replace(/\\/gu, "/")}`;
42
+ return `/mnt/${mounted[1].toLowerCase()}/${mounted[2]}`;
30
43
  }
31
44
  /**
32
- * Locate the Windows-side Chrome through the interop mount: the first
33
- * candidate whose mount path exists, "" when this machine carries none of
34
- * them. The returned path keeps its **Windows** spelling — it is what the
35
- * `start` invocation takes and what the card names.
45
+ * Locate the Windows-side Chrome through the interop mount: the first candidate
46
+ * whose mount path exists, "" when this machine carries none of them. The
47
+ * returned path keeps its **Windows** spelling — it is what the `start`
48
+ * invocation takes and what the card names.
36
49
  */
37
50
  export function findWindowsChromeExecutable(exists = (path) => existsSync(path), candidates = WINDOWS_CHROME_CANDIDATES) {
51
+ return findWindowsChromeExecutables(exists, candidates)[0] ?? "";
52
+ }
53
+ /**
54
+ * Every Windows-side executable this host carries, in the list's own preference
55
+ * order and in its **Windows** spelling — the whole located set, not only the
56
+ * first. This is what the executable run folds into its candidate list, so the
57
+ * picker offers the Windows browser instead of hiding it. A machine that carries
58
+ * none of them answers nothing, so the list is what is installed here, never a
59
+ * fixed set of install locations. Nothing on the list is ever spawned from WSL
60
+ * (see `blockedForPlatform`); it is offered so that the **Prelaunch Windows
61
+ * Chrome** run can be pointed at the one the picker selected.
62
+ */
63
+ export function findWindowsChromeExecutables(exists = (path) => existsSync(path), candidates = WINDOWS_CHROME_CANDIDATES) {
64
+ const found = [];
38
65
  for (const candidate of Array.isArray(candidates) ? candidates : []) {
39
66
  const path = typeof candidate === "string" ? candidate.trim() : "";
40
- if (path === "")
67
+ if (path === "" || found.includes(path))
41
68
  continue;
42
69
  if (exists(windowsPathToMount(path)))
43
- return path;
70
+ found.push(path);
44
71
  }
45
- return "";
72
+ return found;
46
73
  }
47
74
  /** Cached answer of the Windows-side profile root (`windowsChromeLocalAppData`). */
48
75
  let cachedLocalAppData;
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/host/windows/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAE5F;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACvC,SAAoC,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EACtE,aAAgC,yBAAyB;IAEzD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,oFAAoF;AACpF,IAAI,kBAAsC,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAqB,EAAE,IAAI,GAAG,SAAS;IAC3E,MAAM,IAAI,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,GAAG,IAAI,KAAK,8BAA8B,KAAK,OAAO,EAAE,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACrC,IAAI,OAAO,kBAAkB,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAC;IACtE,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CACpB,+DAA+D,EAC/D,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,sDAAsD,CAAC,EACrG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CACtC,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,kBAAkB,GAAG,KAAK,CAAC;QAC3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACL,kBAAkB,GAAG,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAkB,EAAE,QAAiB,EAAE,OAAe;IAC1F,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IACtF,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACtE,MAAM,IAAI,GAAI,QAAqC,CAAC,IAAI,CAAC;IACzD,IAAI,OAAO,IAAI,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAc,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAI,OAA4C,EAAE,MACR,CAAC;QACvD,MAAM,GAAG,GAAG,OAAO,MAAM,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,GAAG,KAAK,EAAE;YAAE,SAAS;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACpB,IAAI,GAAG,SAAS,CAAC;YACjB,IAAI,GAAG,GAAG,CAAC;QACf,CAAC;IACL,CAAC;IACD,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/host/windows/paths.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/host/windows/run.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQnF;2CAC2C;AAC3C,MAAM,MAAM,uBAAuB,GAAG;IAClC;uBACmB;IACnB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC;6CACyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;4DACwD;IACxD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,uBAAuB,CAAC;IAChF;sCACkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;oBAGgB;IAChB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;0EACsE;IACtE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;0BACsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D;yEACqE;IACrE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF;;;wEAGoE;IACpE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpE,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6J9G"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/host/windows/run.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQnF;2CAC2C;AAC3C,MAAM,MAAM,uBAAuB,GAAG;IAClC;uBACmB;IACnB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC;6CACyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;4DACwD;IACxD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,uBAAuB,CAAC;IAChF;sCACkC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;oBAGgB;IAChB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;0EACsE;IACtE,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,qEAAqE;IACrE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;0BACsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D;yEACqE;IACrE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF;;;wEAGoE;IACpE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpE,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8J9G"}
@@ -107,8 +107,9 @@ export async function runWindowsChromeConnect(options = {}) {
107
107
  }
108
108
  if (!prereqOk)
109
109
  return { state: "unreachable", port: 0, url: "", profileDir: "", error: WINDOWS_CHROME_PREREQ_ERROR };
110
- // 3. port. A live `--browserUrl` entry already answers: re-check it and
111
- // settle on it without a second launch when it still holds.
110
+ // 3. port. A live connect entry already answers — in every spelling
111
+ // `flags.ts` accepts, not only the one the run itself writes — so it is
112
+ // re-checked and settled on without a second launch when it still holds.
112
113
  const livePort = browserUrlFlagPort(options.currentFlags);
113
114
  if (livePort > 0 && (await reachable("127.0.0.1", livePort))) {
114
115
  // The already-live session is profiled in the same per-port directory a
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/host/windows/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/host/windows/run.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,86 +1,102 @@
1
1
  /**
2
2
  * @comecaramelos/dsh-chrome-mcp — host half, public surface.
3
3
  *
4
- * Connects the DSH Chrome MCP server (`chrome-devtools-mcp`, launched as
5
- * `npx -y chrome-devtools-mcp@latest [extraFlags]`) as an MCP server through
6
- * the stock @deepseek-ai/dsh-mcp-client bridge, and exposes the user-facing
7
- * settings — extra flags, the Chrome executable picker, and error reporting —
8
- * under the `chrome-mcp` settings namespace: the Web GUI's Plugins settings
9
- * page renders a card (see ./client.js) keyed by that namespace. Editing the
10
- * extra flags re-applies the nested mcp-client plugin in place
11
- * (fiber.update), which restarts the bridge with the new arguments; so does
12
- * picking another executable.
4
+ * A **component** of the `dsh-mcp-manager` bundle: this package registers the
5
+ * `chrome` and `chrome-windows` kinds of MCP connection with the manager's
6
+ * `mcpConnections` service — the first runs `chrome-devtools-mcp` as a local
7
+ * stdio connection (`npx -y chrome-devtools-mcp@latest [extraFlags]`, wrapped
8
+ * for its stderr), the second drives the Windows-side Chrome through the WSL
9
+ * interop mount and connects to its debugging port. Whether a connection runs
10
+ * is the manager pool's decision, not this package's; the row itself starts
11
+ * nothing.
13
12
  *
14
- * Persistence boundary: only the user-authored fields land in
15
- * `$DSH_HOME/settings.yaml` — `extraFlags` (the last UI edit, used to launch
16
- * on (re)start), `chromePath` (the executable the picker selected — or that the
17
- * host seeded once), `executables` (the saved-executable rows: `{ id: path,
18
- * name: label }` — the catalog shape the reference plugin's picker edits),
19
- * `refreshExecutablesNonce` (the card's **Search executables** trigger),
20
- * `stderrMode` (the card's
21
- * "Reduce log output" toggle: "log" captures the bridge's stderr into a
22
- * per-spawn log file, "console" echoes it, "" follows the row-config
23
- * `bridgeStderr`) and `chromeCustomPaths` (the **legacy** MRU of hand-typed
24
- * paths, folded into the rows once and never written again). A module plugin
25
- * has no host→client push channel (`harness.handle` is reserved for
26
- * code-string halves), which is why the card's executable action travels as the
27
- * `refreshExecutablesNonce` trigger. Status state (`lastError`,
28
- * `executableDiscoveryRevision`, `chromeVersion`, `executableStatus`,
29
- * `chromeMissing`, `effectiveChromePath`, `effectiveSource`,
30
- * `wslWindowsExecutable`, the static `rowStderr` mirror, the static
31
- * `defaultExtraFlags` mirror and the static
32
- * `wslExtraFlags` mirror ride the composition
33
- * base layer — served to the client inside the resolved value, held in memory,
34
- * never persisted.
13
+ * Identity is the row's **profile entry id** (`mcp-chrome`), read off the
14
+ * plugin's own fiber — not a namespace of its own, and `serverName` is no longer
15
+ * part of it (a connection's tool namespace is its own `entry.id`).
35
16
  *
36
- * One plugin instance per dsh host: the settings namespace is fixed.
17
+ * What stays in the row is machine state — the saved executable rows, the
18
+ * seeded selection, the defaults the connections follow when they carry no own
19
+ * answer — and the card surface that edits it: the extra-flags rows, the
20
+ * Chrome executable picker, and error reporting.
21
+ *
22
+ * Persistence boundary: only the user-authored fields land in the profile's own
23
+ * patch layer — `extraFlags` (the default flags list),
24
+ * `chromePath` (the default executable: the picker's pick or the host's seed),
25
+ * `executables` (the saved-executable rows: `{ id: path, name: label }`),
26
+ * `droppedExecutables`, `chromeCustomPaths` (**legacy** MRU, folded once),
27
+ * `refreshExecutablesNonce` (**Fetch executables** trigger),
28
+ * `openWindowsChromeNonce` (**Prelaunch Windows Chrome** trigger),
29
+ * `stderrMode` (the default console-output mode) and `migrationDismissed`
30
+ * (whether the standalone-config translation was turned down; see D4).
31
+ *
32
+ * Status state (`lastError`, `executableDiscoveryRevision`, `chromeVersion`,
33
+ * `executableStatus`, `chromeMissing`, `effectiveChromePath`, `effectiveSource`,
34
+ * `stderrEffective`, `wslWindowsExecutable`, the static `defaultExtraFlags`
35
+ * mirror, the static `wslExtraFlags` mirror, `windowsChromeStatus`,
36
+ * `carriesConnectionMode`, `runningFlags` and `runningNote`) is the **live
37
+ * mirror**: every one of them is a `.volatile()` field of the same `Config` the
38
+ * form edits, published by committing that mirror onto this fiber's entry — a
39
+ * purely volatile commit persists nothing, never remounts the fiber, and is what
40
+ * the card settles its snapshot on. The controller reads the two layers the
41
+ * distinction needs (`user` = what the patch carries, `base` = what the row
42
+ * config carries under it) off the described form row, never off a document of
43
+ * its own.
37
44
  *
38
45
  * Everything behind this surface lives in ./host/*:
39
46
  *
40
- * ./host/apply.ts the wiring (controller + section)
41
- * ./host/controller/ live state: base layer, bridge, checks, captures
42
- * ./host/settings.ts namespace install, commit routing, validation
47
+ * ./host/apply.ts the wiring (controller + kinds + form + tool + commands)
48
+ * ./host/manager.ts the `mcpConnections` seam (register, notify, propose)
49
+ * ./host/kind.ts the two kinds: fields, choices, `resolve`
50
+ * ./host/migration.ts the standalone-config translation (D4)
51
+ * ./host/controller/ live state: the mirror + its publish, runs, captures
52
+ * ./host/settings.ts form attach, entry-id rule, commit routing
43
53
  * ./host/catalog.ts the saved-executable rows the picker edits
44
54
  * ./host/discovery/ the candidate paths + `--version` probes + check run
45
- * ./host/bridge.ts the bridge argv + config, stderr wrapper, log capture
55
+ * ./host/bridge.ts the bridge argv + spawn wrapper, stderr log
46
56
  * ./host/flags.ts extra-flags validation + flag predicates
47
57
  * ./host/platform.ts WSL detection + the Windows-executable predicate
48
- * ./host/values.ts precedence resolution + persisted reads
58
+ * ./host/values.ts precedence resolution + the form's layer reads
49
59
  * ./host/status.ts error classification + tool-result notes
50
- * ./host/schema.ts the zod schemas
60
+ * ./host/schema.ts the single `Config`
51
61
  * ./host/constants.ts fixed identifiers, budgets, patterns
52
62
  *
53
- * Config (cordis row):
54
- * serverName tool namespace prefix (default "chrome")
63
+ * Config (the single `Config`, cordis row + form):
64
+ * serverName legacy tool namespace (ignored by connections; the
65
+ * standalone translation reads it as the entry `id`)
55
66
  * command launcher executable (default "npx")
56
67
  * package npm spec to npx (default "chrome-devtools-mcp@latest")
57
- * extraFlags flags appended after the spec
68
+ * extraFlags default flags appended after the spec (.volatile())
58
69
  * (default ["--no-usage-statistics", "--no-performance-crux"])
59
- * chromePath row-config executable, appended as
60
- * `--executablePath=<path>` — the fallback source of the
61
- * selection for hosts whose card never picked one
62
- * (a `--executablePath` flag left in `extraFlags` is
63
- * folded into this source)
70
+ * chromePath the default executable selection (.volatile())
64
71
  * chromePaths scan candidate list when nothing is picked
65
72
  * (default defaultChromePaths(), mirroring upstream's
66
73
  * stable-channel locations)
67
- * env / cwd / toolCallTimeoutMs / failOnStartupError / reconnect
68
- * passed through to dsh-mcp-client
74
+ * env / cwd / toolCallTimeoutMs / maxInstructionBytes / failOnStartupError /
75
+ * reconnect defaults every connection config carries with
76
+ * whatever its own fields answer instead
77
+ *
78
+ * One plugin instance per dsh host: the entry id is fixed.
69
79
  */
70
80
  export { inject, name } from "./host/plugin-meta.js";
71
- export { CONFIGURATION_DOCS_URL, DEFAULT_EXTRA_FLAGS, FLAGS_ENV_VAR, SETTINGS_NAMESPACE, WINDOWS_CHROME_CANDIDATES, WINDOWS_CHROME_PORT, WINDOWS_CHROME_PORT_POOL, WINDOWS_CHROME_PREREQ_PORTS, WSL_EXTRA_FLAGS } from "./host/constants.js";
72
- export { Config, SettingsSchema } from "./host/schema.js";
81
+ export { CONFIGURATION_DOCS_URL, DEFAULT_EXTRA_FLAGS, ENTRY_ID, FLAGS_ENV_VAR, WINDOWS_CHROME_CANDIDATES, WINDOWS_CHROME_PORT, WINDOWS_CHROME_PORT_POOL, WINDOWS_CHROME_PREREQ_PORTS, WSL_EXTRA_FLAGS } from "./host/constants.js";
82
+ export { Config } from "./host/schema.js";
73
83
  export { apply } from "./host/apply.js";
74
- export { bridgeConfig, bridgeStderrLogPath, buildBridgeSpawn, buildServerArgs, captureLogger } from "./host/bridge.js";
75
- export { checkChrome, chromeExecutableCandidates, DEFAULT_CHROME_PATHS, defaultChromePaths, discoverChrome, scanChromeExecutables } from "./host/discovery/index.js";
84
+ export { createChromeKinds, createChromeKind, createChromeWindowsKind, entryExecutable, entryExtraFlags, entryStderrMode, executableChoices, joinFlagLines, parseFlagLines } from "./host/kind.js";
85
+ export { carriesStandaloneConfig, migrationDismissed, standaloneProposal } from "./host/migration.js";
86
+ export { attachToManager, isOwnedKind } from "./host/manager.js";
87
+ export { chromeMcpEntryId } from "./host/settings.js";
88
+ export { bridgeConfig, bridgeStderrLogPath, buildBridgeSpawn, buildServerArgs, captureLogger, pinnedServerCli, serverCommand, usesPinnedServer } from "./host/bridge.js";
89
+ export { checkChrome, chromeExecutableCandidates, DEFAULT_CHROME_PATHS, defaultChromePaths, discoverChrome, probeExecutable, readWindowsInstallVersion, scanChromeExecutables } from "./host/discovery/index.js";
76
90
  export { isChromeMissing, toolResultNote } from "./host/status.js";
91
+ export { WINDOWS_VERSION_UNKNOWN } from "./host/constants.js";
77
92
  export { isWindowsExecutablePath, isWindowsExecutableUnderWsl, isWindowsSubsystemForLinux } from "./host/platform.js";
78
- export { browserUrlFlagPort, findWindowsChromeExecutable, linkWindowsChromeProfile, runWindowsChromeConnect, windowsChromeLandingHtml, windowsChromeLandingPath, windowsChromeLandingUrl, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeUrl, windowsChromeProjectDir, windowsFileUrl, windowsPathToMount, withBrowserUrlFlag } from "./host/windows/index.js";
93
+ export { browserUrlFlagPort, findWindowsChromeExecutable, findWindowsChromeExecutables, linkWindowsChromeProfile, runWindowsChromeConnect, windowsChromeLandingHtml, windowsChromeLandingPath, windowsChromeLandingUrl, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeUrl, windowsChromeProjectDir, windowsFileUrl, windowsPathToMount, withBrowserUrlFlag } from "./host/windows/index.js";
79
94
  export { PRELAUNCH_WINDOWS_CHROME_NAME, installPrelaunchWindowsChromeTool, prelaunchWindowsChromeDefinition } from "./host/tool.js";
80
- export { carriesExecutablePath, extractExecutablePathFlag, sameFlags, stripExecutablePathFlags, validateExtraFlags } from "./host/flags.js";
81
- export { normalizeCustomPaths, readPersistedChromePath, readPersistedCustomPaths, readPersistedFlags, readPersistedStderrMode, resolveEffectiveChromePath, resolveEnvFlags, resolveStderrMode } from "./host/values.js";
95
+ export { carriesConfigFile, carriesConnectionMode, carriesExecutablePath, carriesOtherChannel, extractExecutablePathFlag, flagsSkipCheck, flagsSkipProbe, sameFlags, stripExecutablePathFlags, validateExtraFlags } from "./host/flags.js";
96
+ export { createLiveMirror, liveMirrorKeys, normalizeCustomPaths, readConfigField, readConfigForm, readConfigLayers, readPersistedChromePath, readPersistedCustomPaths, readPersistedFlags, readPersistedStderrMode, readSavedExecutables, resolveEffectiveChromePath, resolveEnvFlags, resolveLaunchFlags, resolveSelection, resolveStderrMode } from "./host/values.js";
82
97
  export { entryIds, entryLabel, findEntry, isValidEntryId, mergeEntries, normalizeEntries } from "./host/catalog.js";
83
- export type { BridgeStderrMode, ChromeMcpConfig, EffectiveChromeSource, ReconnectConfig } from "./host/types/index.js";
98
+ export type { BridgeStderrMode, ChromeMcpConfig, ConfigField, ConfigLayers, ConfigLayerFields, ConfigLiveFields, ConfigUserFields, EffectiveChromeSource, ReconnectConfig } from "./host/types/index.js";
84
99
  export type { ChromeExecutableEntry, ChromeExecutableStatus } from "./host/types/index.js";
85
- export type { McpBridge, PluginContext, SettingsBaseLayer, SettingsOp, SettingsResolved, SettingsService, SettingsUserFields, ToolCallExecution, ToolCallResult, ValidatedSettings, WindowsChromeRun, WindowsChromeState, WindowsChromeStatus } from "./host/types/index.js";
100
+ export type { ChromeMcpForm, McpBridge, PluginContext, SettingsFormRow, SettingsForms, ToolCallExecution, ToolCallResult, WindowsChromeRun, WindowsChromeState, WindowsChromeStatus } from "./host/types/index.js";
101
+ export type { ConfigFormValues } from "./host/schema.js";
86
102
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAGH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EACH,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGtH,OAAO,EACH,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AACpI,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,SAAS,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5I,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAMpH,YAAY,EACR,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,YAAY,EACR,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACtB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}