@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.
- package/README.md +44 -39
- package/lib/client.js +2186 -614
- package/lib/client.js.map +4 -4
- package/lib/host/apply.d.ts +38 -1
- package/lib/host/apply.d.ts.map +1 -1
- package/lib/host/apply.js +43 -17
- package/lib/host/apply.js.map +1 -1
- package/lib/host/bridge.d.ts +28 -19
- package/lib/host/bridge.d.ts.map +1 -1
- package/lib/host/bridge.js +71 -79
- package/lib/host/bridge.js.map +1 -1
- package/lib/host/catalog.d.ts +2 -2
- package/lib/host/catalog.js +2 -2
- package/lib/host/commands/chrome-path.d.ts +4 -0
- package/lib/host/commands/chrome-path.d.ts.map +1 -0
- package/lib/host/commands/chrome-path.js +65 -0
- package/lib/host/commands/chrome-path.js.map +1 -0
- package/lib/host/commands/chrome-refresh.d.ts +17 -0
- package/lib/host/commands/chrome-refresh.d.ts.map +1 -0
- package/lib/host/commands/chrome-refresh.js +37 -0
- package/lib/host/commands/chrome-refresh.js.map +1 -0
- package/lib/host/commands/index.d.ts +26 -0
- package/lib/host/commands/index.d.ts.map +1 -0
- package/lib/host/commands/index.js +41 -0
- package/lib/host/commands/index.js.map +1 -0
- package/lib/host/constants.d.ts +107 -30
- package/lib/host/constants.d.ts.map +1 -1
- package/lib/host/constants.js +107 -30
- package/lib/host/constants.js.map +1 -1
- package/lib/host/controller/_trace.d.ts +3 -0
- package/lib/host/controller/_trace.d.ts.map +1 -0
- package/lib/host/controller/_trace.js +14 -0
- package/lib/host/controller/_trace.js.map +1 -0
- package/lib/host/controller/bridge-run.d.ts +4 -2
- package/lib/host/controller/bridge-run.d.ts.map +1 -1
- package/lib/host/controller/bridge-run.js +24 -8
- package/lib/host/controller/bridge-run.js.map +1 -1
- package/lib/host/controller/captures.d.ts +9 -16
- package/lib/host/controller/captures.d.ts.map +1 -1
- package/lib/host/controller/captures.js +73 -48
- package/lib/host/controller/captures.js.map +1 -1
- package/lib/host/controller/commits.d.ts +2 -2
- package/lib/host/controller/commits.d.ts.map +1 -1
- package/lib/host/controller/commits.js +97 -41
- package/lib/host/controller/commits.js.map +1 -1
- package/lib/host/controller/connections.d.ts +38 -0
- package/lib/host/controller/connections.d.ts.map +1 -0
- package/lib/host/controller/connections.js +71 -0
- package/lib/host/controller/connections.js.map +1 -0
- package/lib/host/controller/controller.d.ts +19 -24
- package/lib/host/controller/controller.d.ts.map +1 -1
- package/lib/host/controller/controller.js +181 -114
- package/lib/host/controller/controller.js.map +1 -1
- package/lib/host/controller/index.d.ts +18 -14
- package/lib/host/controller/index.d.ts.map +1 -1
- package/lib/host/controller/index.js +16 -14
- package/lib/host/controller/index.js.map +1 -1
- package/lib/host/controller/notes.d.ts +9 -9
- package/lib/host/controller/notes.d.ts.map +1 -1
- package/lib/host/controller/notes.js +16 -21
- package/lib/host/controller/notes.js.map +1 -1
- package/lib/host/controller/persist.d.ts +10 -3
- package/lib/host/controller/persist.d.ts.map +1 -1
- package/lib/host/controller/persist.js +89 -42
- package/lib/host/controller/persist.js.map +1 -1
- package/lib/host/controller/publish.d.ts +4 -0
- package/lib/host/controller/publish.d.ts.map +1 -0
- package/lib/host/controller/publish.js +56 -0
- package/lib/host/controller/publish.js.map +1 -0
- package/lib/host/controller/runs.d.ts +34 -10
- package/lib/host/controller/runs.d.ts.map +1 -1
- package/lib/host/controller/runs.js +241 -58
- package/lib/host/controller/runs.js.map +1 -1
- package/lib/host/controller/state.d.ts +122 -20
- package/lib/host/controller/state.d.ts.map +1 -1
- package/lib/host/controller/windows-run.d.ts +10 -2
- package/lib/host/controller/windows-run.d.ts.map +1 -1
- package/lib/host/controller/windows-run.js +66 -35
- package/lib/host/controller/windows-run.js.map +1 -1
- package/lib/host/discovery/candidates.d.ts +23 -13
- package/lib/host/discovery/candidates.d.ts.map +1 -1
- package/lib/host/discovery/candidates.js +20 -8
- package/lib/host/discovery/candidates.js.map +1 -1
- package/lib/host/discovery/index.d.ts +1 -0
- package/lib/host/discovery/index.d.ts.map +1 -1
- package/lib/host/discovery/index.js +1 -0
- package/lib/host/discovery/index.js.map +1 -1
- package/lib/host/discovery/probe.d.ts +16 -5
- package/lib/host/discovery/probe.d.ts.map +1 -1
- package/lib/host/discovery/probe.js +68 -10
- package/lib/host/discovery/probe.js.map +1 -1
- package/lib/host/discovery/scan.d.ts +14 -9
- package/lib/host/discovery/scan.d.ts.map +1 -1
- package/lib/host/discovery/scan.js +56 -30
- package/lib/host/discovery/scan.js.map +1 -1
- package/lib/host/flags.d.ts +28 -5
- package/lib/host/flags.d.ts.map +1 -1
- package/lib/host/flags.js +75 -7
- package/lib/host/flags.js.map +1 -1
- package/lib/host/kind.d.ts +45 -0
- package/lib/host/kind.d.ts.map +1 -0
- package/lib/host/kind.js +251 -0
- package/lib/host/kind.js.map +1 -0
- package/lib/host/manager.d.ts +21 -0
- package/lib/host/manager.d.ts.map +1 -0
- package/lib/host/manager.js +113 -0
- package/lib/host/manager.js.map +1 -0
- package/lib/host/migration.d.ts +26 -0
- package/lib/host/migration.d.ts.map +1 -0
- package/lib/host/migration.js +127 -0
- package/lib/host/migration.js.map +1 -0
- package/lib/host/plugin-meta.d.ts +12 -3
- package/lib/host/plugin-meta.d.ts.map +1 -1
- package/lib/host/plugin-meta.js +13 -4
- package/lib/host/plugin-meta.js.map +1 -1
- package/lib/host/schema.d.ts +301 -247
- package/lib/host/schema.d.ts.map +1 -1
- package/lib/host/schema.js +145 -120
- package/lib/host/schema.js.map +1 -1
- package/lib/host/settings.d.ts +22 -3
- package/lib/host/settings.d.ts.map +1 -1
- package/lib/host/settings.js +81 -60
- package/lib/host/settings.js.map +1 -1
- package/lib/host/status.d.ts +7 -10
- package/lib/host/status.d.ts.map +1 -1
- package/lib/host/status.js +8 -23
- package/lib/host/status.js.map +1 -1
- package/lib/host/tool.d.ts +13 -7
- package/lib/host/tool.d.ts.map +1 -1
- package/lib/host/tool.js +4 -3
- package/lib/host/tool.js.map +1 -1
- package/lib/host/types/config.d.ts +66 -12
- package/lib/host/types/config.d.ts.map +1 -1
- package/lib/host/types/executable.d.ts +8 -3
- package/lib/host/types/executable.d.ts.map +1 -1
- package/lib/host/types/index.d.ts +5 -4
- package/lib/host/types/index.d.ts.map +1 -1
- package/lib/host/types/services.d.ts +26 -0
- package/lib/host/types/services.d.ts.map +1 -0
- package/lib/host/types/services.js +9 -0
- package/lib/host/types/services.js.map +1 -0
- package/lib/host/types/settings.d.ts +118 -65
- package/lib/host/types/settings.d.ts.map +1 -1
- package/lib/host/types/stderr.d.ts +3 -5
- package/lib/host/types/stderr.d.ts.map +1 -1
- package/lib/host/values.d.ts +152 -37
- package/lib/host/values.d.ts.map +1 -1
- package/lib/host/values.js +304 -112
- package/lib/host/values.js.map +1 -1
- package/lib/host/windows/connect-flags.d.ts +19 -8
- package/lib/host/windows/connect-flags.d.ts.map +1 -1
- package/lib/host/windows/connect-flags.js +50 -20
- package/lib/host/windows/connect-flags.js.map +1 -1
- package/lib/host/windows/index.d.ts +1 -1
- package/lib/host/windows/index.d.ts.map +1 -1
- package/lib/host/windows/index.js +1 -1
- package/lib/host/windows/index.js.map +1 -1
- package/lib/host/windows/paths.d.ts +27 -6
- package/lib/host/windows/paths.d.ts.map +1 -1
- package/lib/host/windows/paths.js +40 -13
- package/lib/host/windows/paths.js.map +1 -1
- package/lib/host/windows/run.d.ts.map +1 -1
- package/lib/host/windows/run.js +3 -2
- package/lib/host/windows/run.js.map +1 -1
- package/lib/index.d.ts +72 -56
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +74 -55
- package/lib/index.js.map +1 -1
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +35 -14
- 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
|
|
17
|
-
*
|
|
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
|
-
|
|
20
|
-
|
|
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
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return 0;
|
|
26
|
-
|
|
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
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
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
|
-
*
|
|
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
|
|
55
|
-
if (replaced)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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;
|
|
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
|
|
4
|
-
*
|
|
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
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
|
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
|
|
20
|
-
*
|
|
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
|
|
27
|
-
if (
|
|
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/${
|
|
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
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
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
|
-
|
|
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
|
|
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,
|
|
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"}
|
package/lib/host/windows/run.js
CHANGED
|
@@ -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
|
|
111
|
-
//
|
|
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
|
-
*
|
|
5
|
-
* `
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
-
*
|
|
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 +
|
|
41
|
-
* ./host/
|
|
42
|
-
* ./host/
|
|
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 +
|
|
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 +
|
|
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
|
|
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
|
|
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
|
|
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 /
|
|
68
|
-
*
|
|
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,
|
|
72
|
-
export { Config
|
|
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 {
|
|
75
|
-
export {
|
|
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,
|
|
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
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|