@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
package/lib/index.js CHANGED
@@ -1,93 +1,112 @@
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
  // ── identity ────────────────────────────────────────────────────────────────
71
81
  export { inject, name } from "./host/plugin-meta.js";
72
82
  // ── fixed identifiers and budgets ───────────────────────────────────────────
73
- 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";
74
- // ── the two schemas ─────────────────────────────────────────────────────────
75
- export { Config, SettingsSchema } from "./host/schema.js";
83
+ 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";
84
+ // ── the single schema ───────────────────────────────────────────────────────
85
+ export { Config } from "./host/schema.js";
76
86
  // ── the wiring ──────────────────────────────────────────────────────────────
77
87
  export { apply } from "./host/apply.js";
88
+ // ── the connection kinds, and what one entry answers with ────────────────────
89
+ export { createChromeKinds, createChromeKind, createChromeWindowsKind, entryExecutable, entryExtraFlags, entryStderrMode, executableChoices, joinFlagLines, parseFlagLines } from "./host/kind.js";
90
+ // What a standalone row config means now (D4), and whether it was turned down.
91
+ export { carriesStandaloneConfig, migrationDismissed, standaloneProposal } from "./host/migration.js";
92
+ // The `mcpConnections` seam itself.
93
+ export { attachToManager, isOwnedKind } from "./host/manager.js";
94
+ // ── the configuration form's identity + routing ─────────────────────────────
95
+ export { chromeMcpEntryId } from "./host/settings.js";
78
96
  // ── the behavior tests and diagnostics drive directly ───────────────────────
79
- export { bridgeConfig, bridgeStderrLogPath, buildBridgeSpawn, buildServerArgs, captureLogger } from "./host/bridge.js";
80
- export { checkChrome, chromeExecutableCandidates, DEFAULT_CHROME_PATHS, defaultChromePaths, discoverChrome, scanChromeExecutables } from "./host/discovery/index.js";
97
+ export { bridgeConfig, bridgeStderrLogPath, buildBridgeSpawn, buildServerArgs, captureLogger, pinnedServerCli, serverCommand, usesPinnedServer } from "./host/bridge.js";
98
+ export { checkChrome, chromeExecutableCandidates, DEFAULT_CHROME_PATHS, defaultChromePaths, discoverChrome, probeExecutable, readWindowsInstallVersion, scanChromeExecutables } from "./host/discovery/index.js";
81
99
  export { isChromeMissing, toolResultNote } from "./host/status.js";
100
+ export { WINDOWS_VERSION_UNKNOWN } from "./host/constants.js";
82
101
  export { isWindowsExecutablePath, isWindowsExecutableUnderWsl, isWindowsSubsystemForLinux } from "./host/platform.js";
83
102
  // The Windows Chrome run behind the **Prelaunch Windows Chrome** button: locate,
84
103
  // prereq, launch, port and the connect-mode flag it writes.
85
- export { browserUrlFlagPort, findWindowsChromeExecutable, linkWindowsChromeProfile, runWindowsChromeConnect, windowsChromeLandingHtml, windowsChromeLandingPath, windowsChromeLandingUrl, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeUrl, windowsChromeProjectDir, windowsFileUrl, windowsPathToMount, withBrowserUrlFlag } from "./host/windows/index.js";
104
+ export { browserUrlFlagPort, findWindowsChromeExecutable, findWindowsChromeExecutables, linkWindowsChromeProfile, runWindowsChromeConnect, windowsChromeLandingHtml, windowsChromeLandingPath, windowsChromeLandingUrl, windowsChromeLocalAppData, windowsChromeProfileDir, windowsChromeUrl, windowsChromeProjectDir, windowsFileUrl, windowsPathToMount, withBrowserUrlFlag } from "./host/windows/index.js";
86
105
  // The MCP tool that carries the same run to the agent: registration + the
87
106
  // `prelaunch_windows_chrome` definition.
88
107
  export { PRELAUNCH_WINDOWS_CHROME_NAME, installPrelaunchWindowsChromeTool, prelaunchWindowsChromeDefinition } from "./host/tool.js";
89
- export { carriesExecutablePath, extractExecutablePathFlag, sameFlags, stripExecutablePathFlags, validateExtraFlags } from "./host/flags.js";
90
- export { normalizeCustomPaths, readPersistedChromePath, readPersistedCustomPaths, readPersistedFlags, readPersistedStderrMode, resolveEffectiveChromePath, resolveEnvFlags, resolveStderrMode } from "./host/values.js";
108
+ export { carriesConfigFile, carriesConnectionMode, carriesExecutablePath, carriesOtherChannel, extractExecutablePathFlag, flagsSkipCheck, flagsSkipProbe, sameFlags, stripExecutablePathFlags, validateExtraFlags } from "./host/flags.js";
109
+ export { createLiveMirror, liveMirrorKeys, normalizeCustomPaths, readConfigField, readConfigForm, readConfigLayers, readPersistedChromePath, readPersistedCustomPaths, readPersistedFlags, readPersistedStderrMode, readSavedExecutables, resolveEffectiveChromePath, resolveEnvFlags, resolveLaunchFlags, resolveSelection, resolveStderrMode } from "./host/values.js";
91
110
  // The saved-executable rows: pure helpers over `{ id: path, name: label }`, the
92
111
  // list the picker edits and a merged run extends.
93
112
  export { entryIds, entryLabel, findEntry, isValidEntryId, mergeEntries, normalizeEntries } from "./host/catalog.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAErD,+EAA+E;AAC/E,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,eAAe,EAClB,MAAM,qBAAqB,CAAC;AAE7B,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE1D,+EAA+E;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,+EAA+E;AAC/E,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;AACtH,iFAAiF;AACjF,4DAA4D;AAC5D,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;AACjC,0EAA0E;AAC1E,yCAAyC;AACzC,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;AAC1B,gFAAgF;AAChF,kDAAkD;AAClD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/locale/en.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Chrome MCP",
4
+ "description": "Drives chrome-devtools-mcp — a local Chrome browser or the Windows-side Chrome through WSL — as an MCP connection, with the executable picker on top of it."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "Chrome MCP",
4
+ "description": "将 chrome-devtools-mcp 作为 MCP 连接运行——本地 Chrome 浏览器,或经 WSL 驱动 Windows 侧 Chrome——并在其上提供可执行文件选择器。"
5
+ }
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comecaramelos/dsh-chrome-mcp",
3
- "description": "DSH plugin: DSH Chrome MCP bridge (`npx -y chrome-devtools-mcp@latest`) integration (wraps @deepseek-ai/dsh-mcp-client)",
3
+ "description": "Chrome MCP connection kinds for the dsh-mcp-manager bundle",
4
4
  "author": "ComeCaramelos <hello@comecaramelos.com>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,53 +10,74 @@
10
10
  "url": "https://github.com/ComeCaramelos/dsh-chrome-mcp/issues"
11
11
  },
12
12
  "homepage": "https://github.com/ComeCaramelos/dsh-chrome-mcp#readme",
13
- "version": "1.0.0",
13
+ "version": "2.0.0",
14
14
  "license": "MIT",
15
15
  "type": "module",
16
16
  "main": "lib/index.js",
17
+ "icon": "assets/icon.svg",
17
18
  "exports": {
18
19
  ".": "./lib/index.js",
19
20
  "./client": "./lib/client.js",
21
+ "./locale/*.json": "./locale/*.json",
20
22
  "./package.json": "./package.json"
21
23
  },
22
24
  "files": [
23
25
  "lib",
24
26
  "assets",
25
- "cordis.patch.yml"
27
+ "locale/*.json"
26
28
  ],
27
29
  "scripts": {
28
30
  "build": "tsc && npm run build:client",
29
31
  "build:host": "tsc",
30
32
  "build:client": "tsc -p src/client/tsconfig.json && node scripts/build-client.mjs",
31
- "clean": "rm -rf lib",
33
+ "clean": "node -e \"require('node:fs').rmSync('lib', { recursive: true, force: true })\"",
32
34
  "dev": "tsc --watch",
33
35
  "prepack": "npm run build",
34
36
  "test": "npm run build && node --test \"test/*.test.mjs\""
35
37
  },
36
38
  "dsh": {
37
- "bundle": {
38
- "patch": "./cordis.patch.yml"
39
- },
40
39
  "client": {
41
40
  "platform": "web",
42
41
  "inject": [
43
42
  "@deepseek-ai/dsh-client-locale",
44
- "@deepseek-ai/dsh-client-ui-settings"
43
+ "@deepseek-ai/dsh-client-ui-settings",
44
+ "@deepseek-ai/dsh-client-ui-plugin-manager"
45
45
  ]
46
46
  }
47
47
  },
48
48
  "dependencies": {
49
- "@deepseek-ai/cordis": "^4.0.2",
50
- "@deepseek-ai/dsh-launch-environment": "^0.1.2-rc.1",
51
- "@deepseek-ai/dsh-mcp-client": "^0.1.2-rc.1",
52
- "@deepseek-ai/dsh-subprocess": "^0.1.2-rc.1",
53
- "@deepseek-ai/schemastery": "^3.18.2"
49
+ "@comecaramelos/dsh-ancesters": "^0.0.1",
50
+ "@deepseek-ai/dsh-launch-environment": "^0.2.0-0",
51
+ "@deepseek-ai/dsh-subprocess": "^0.2.0-0",
52
+ "@deepseek-ai/schemastery": "^3.18.4",
53
+ "chrome-devtools-mcp": "1.9.0"
54
54
  },
55
55
  "devDependencies": {
56
+ "@comecaramelos/dsh-mcp-manager": "^0.0.1",
57
+ "@deepseek-ai/cordis": "^4.0.4",
58
+ "@deepseek-ai/dsh-mcp-client": "^0.2.0-0",
59
+ "@modelcontextprotocol/client": "2.3.1",
56
60
  "@types/node": "^24.13.6",
57
- "@types/react": "^18.3.31",
61
+ "@types/react": "^19.3.0",
62
+ "@types/react-dom": "^19.3.0",
58
63
  "esbuild": "^0.25.12",
59
64
  "postcss": "^8.5.28",
65
+ "react": "^19.3.1",
66
+ "react-dom": "^19.3.1",
60
67
  "typescript": "^5.9.3"
68
+ },
69
+ "engines": {
70
+ "dsh": "^0.2.0-0"
71
+ },
72
+ "peerDependencies": {
73
+ "@comecaramelos/dsh-mcp-manager": "*",
74
+ "@deepseek-ai/cordis": "^4.0.4",
75
+ "@deepseek-ai/dsh-mcp-client": "^0.2.0-0"
76
+ },
77
+ "overrides": {
78
+ "@modelcontextprotocol/client": "$@modelcontextprotocol/client"
79
+ },
80
+ "allowScripts": {
81
+ "esbuild": true
61
82
  }
62
83
  }
package/cordis.patch.yml DELETED
@@ -1,5 +0,0 @@
1
- - insert:
2
- - id: mcp-chrome
3
- name: '@comecaramelos/dsh-chrome-mcp'
4
- config:
5
- serverName: chrome