dsh-cc-mcp 0.1.0 → 0.1.2

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 CHANGED
@@ -70,6 +70,7 @@ directory paths inside the config, not module specifiers.
70
70
  | `idleTimeoutMs` | `300000` | idle disconnect (0 = never) |
71
71
  | `toolCallTimeoutMs` | `60000` | per-call timeout |
72
72
  | `watchProject` | `true` | hot-reload the project `.mcp.json` |
73
+ | `projectRootMarkers` | `['.git', '.dsh', '.claude']` | directory names that mark a project root when walking up from the session cwd; the first ancestor containing any marker wins. `.dsh` / `.claude` let projects without a `.git` repo still resolve their root |
73
74
 
74
75
  ## Example
75
76
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-cc-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Load Claude Code MCP server configs (.mcp.json / plugin.json inline mcpServers) into DSH as runtime-registered tools: project-root .mcp.json → mcp__<server>__<tool>, plugin MCP → mcp__plugin_<name>_<server>__<tool> (official CC naming). Client bridge on the official @modelcontextprotocol/sdk — no config-row writes, zero-write path preserved.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -27,27 +27,19 @@
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
29
  "@modelcontextprotocol/sdk": "^1.12.0",
30
- "dsh-cc-loader": "^0.1.0"
30
+ "dsh-cc-loader": "^0.1.0",
31
+ "@deepseek-ai/dsh-subprocess": "^0.1.0-rc.7",
32
+ "@deepseek-ai/schemastery": "^3.18.1"
31
33
  },
32
34
  "devDependencies": {
33
- "@deepseek-ai/cordis": "4.0.1",
34
- "@deepseek-ai/dsh-subprocess": "0.1.0-rc.6",
35
- "@deepseek-ai/schemastery": "3.18.1"
35
+ "@deepseek-ai/cordis": "4.0.1"
36
36
  },
37
37
  "peerDependencies": {
38
- "@deepseek-ai/cordis": "*",
39
- "@deepseek-ai/dsh-subprocess": "*",
40
- "@deepseek-ai/schemastery": "*"
38
+ "@deepseek-ai/cordis": "*"
41
39
  },
42
40
  "peerDependenciesMeta": {
43
41
  "@deepseek-ai/cordis": {
44
42
  "optional": true
45
- },
46
- "@deepseek-ai/dsh-subprocess": {
47
- "optional": true
48
- },
49
- "@deepseek-ai/schemastery": {
50
- "optional": true
51
43
  }
52
44
  },
53
45
  "engines": {
package/src/index.js CHANGED
@@ -37,6 +37,7 @@ export const Config = Schema.object({
37
37
  idleTimeoutMs: Schema.number().default(300000),
38
38
  toolCallTimeoutMs: Schema.number().default(60000),
39
39
  watchProject: Schema.boolean().default(true),
40
+ projectRootMarkers: Schema.array(Schema.string()).default(['.git', '.dsh', '.claude']),
40
41
  })
41
42
 
42
43
  const DEFAULT_CALL_TIMEOUT_MS = 60000
@@ -298,7 +299,7 @@ async function wireAgent(ctx, agent, config) {
298
299
  return
299
300
  }
300
301
  const state = createController(ctx, agent, agentCtx, cwd, config)
301
- const projectRoot = config.enableProject ? await findProjectRoot(cwd) : undefined
302
+ const projectRoot = config.enableProject ? await findProjectRoot(cwd, config.projectRootMarkers) : undefined
302
303
  state.projectRoot = projectRoot
303
304
  agentStates.set(agent.id, state)
304
305
  attachWatcher(state)