@aiwayds/dsh-mcp-adapter 0.4.2 → 0.5.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 CHANGED
@@ -4,7 +4,7 @@ English | [简体中文](README.zh.md)
4
4
 
5
5
  Token-efficient MCP adapter for [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) — a **prompt-side shim** inspired by [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter).
6
6
 
7
- **Requires dsh >= 0.1.5-rc.2** — this plugin targets the dsh RC/stable line only (CI and releases resolve the newest of the `latest`/`next` dist-tags at runtime). **The alpha line is no longer supported.**
7
+ **Requires dsh >= 0.1.7-rc.1** — this plugin targets the dsh RC/stable line only (CI and releases resolve the newest of the `latest`/`next` dist-tags at runtime). **The alpha line is no longer supported.**
8
8
 
9
9
  ## The problem
10
10
 
@@ -29,6 +29,8 @@ Image results keep their native behavior: `mcp_call` delegates `output.render` t
29
29
 
30
30
  **Code Mode:** under `mode: 'code'` the wire already collapses to `run_code`; this plugin is a no-op there.
31
31
 
32
+ **Host resource tools (dsh ≥ 0.1.6):** the host ships `@deepseek-ai/dsh-mcp-resources`, which registers three shared tools — `list_mcp_resources`, `list_mcp_resource_templates`, `read_mcp_resource` — without the `mcp__` prefix. By design they never enter the fold path and surface to the model natively; the fold/keep semantics are unchanged, and `keep` only ever promotes names that match the prefix, so nothing here is affected.
33
+
32
34
  **Load position:** loaded through host composition (the `cordis.patch.yml` `insert` below) the adapter is global — every agent's assemblies are folded. Loaded through an agent-scoped context instead, it applies only to that agent.
33
35
 
34
36
  ## Setup
@@ -62,9 +64,11 @@ dsh plugin --profile <name> remove @aiwayds/dsh-mcp-adapter
62
64
 
63
65
  The host reconciles the profile automatically: the `dsh.profile.bundles` entry is spliced out and the package's patch layer drops.
64
66
 
65
- One thing deliberately **stays**: the `mcp-adapter:` section in `~/.dsh/settings.yaml` — the stable server ids (`1..99`) and the disabled gates. It is never pruned by design: if you reinstall the plugin, every server keeps the same id it had before.
67
+ One thing deliberately **stays**: the plugin's gate file at `~/.dsh/storages/mcp-adapter/gate.json` (`$DSH_HOME` honors an override) — the stable server ids (`1..99`) and the disabled gates. It is never pruned by design: if you reinstall the plugin, every server keeps the same id it had before.
68
+
69
+ To purge that state too, delete the `storages/mcp-adapter/` directory yourself; ids will be re-allocated from scratch on reinstall.
66
70
 
67
- To purge that state too, delete the `mcp-adapter:` section from `settings.yaml` yourself; ids will be re-allocated from scratch on reinstall.
71
+ Upgrading from a dsh 0.1.5 install: the old `mcp-adapter:` section of `settings.yaml` is **not** auto-imported (the 0.1.7 host renames that file to `settings.yaml.imported` after its one-shot import, and the section name does not match this plugin's entry id). The original values stay readable in `settings.yaml.imported`; servers you had disabled need one `/mcp disable <id>` each to re-latch. Your `config:` values in the profile patch carry over unchanged.
68
72
 
69
73
  ## Config
70
74
 
@@ -74,6 +78,9 @@ To purge that state too, delete the `mcp-adapter:` section from `settings.yaml`
74
78
  | `keep` | `[]` | name patterns (`*` wildcard) kept native — pi-mcp-adapter's "direct mode", for high-frequency tools that deserve first-class schemas |
75
79
  | `servers` | `[]` | server-name whitelist: when non-empty, only these servers' tools are folded / cataloged / dispatchable (all three consult the same list) |
76
80
  | `descriptionLimit` | `200` | max chars per tool description in the `mcp_list` catalog |
81
+ | `storageDir` | `""` | gate storage directory override; empty = `<dsh home>/storages/mcp-adapter` (read once at plugin start — moving it takes effect on restart) |
82
+
83
+ Every field is declared **volatile** (the dsh 0.1.7 settings contract): all five appear on the plugin's settings page under the `dsh-mcp-adapter` entry, and editing them there applies **without restarting the plugin** — the fold boundary, catalog and dispatch pick the new values up on their very next use. The `config:` block in your profile patch keeps working exactly as before.
77
84
 
78
85
  ```yaml
79
86
  config:
@@ -107,9 +114,9 @@ The plugin registers one slash command on the platform `commands` service — co
107
114
  | `/mcp disable <id>` | Latch a whole server off: its tools force-fold out of every prompt — keep and `servers` exemptions included — it disappears from the `mcp_list` catalog, and `mcp_call` refuses it with an `/mcp enable <id>` hint |
108
115
  | `/mcp enable <id>` | Restore it under the same stable id |
109
116
 
110
- Any other form answers with usage. Every server observed by `/mcp` gets a stable numeric id (`1..99`, smallest free first), persisted in the dsh settings service under the `mcp-adapter:` section of your settings file (`~/.dsh/settings.yaml` on a stock install). Ids survive restarts and re-sync gaps and are never recycled — an id always names the same server; when all 99 are taken the `/mcp` views label it explicitly (`id space exhausted (99/99): N server(s) beyond the cap cannot be gated`, plus a marker on each affected group).
117
+ Any other form answers with usage. Every server observed by `/mcp` gets a stable numeric id (`1..99`, smallest free first), persisted in the plugin's own gate file at `<dsh home>/storages/mcp-adapter/gate.json` (machine state — deliberately a file, not a settings-page field). Ids survive restarts and re-sync gaps and are never recycled — an id always names the same server; when all 99 are taken the `/mcp` views label it explicitly (`id space exhausted (99/99): N server(s) beyond the cap cannot be gated`, plus a marker on each affected group).
111
118
 
112
- Disable is **gate-style, not a disconnect**: the official client exposes no disconnect API, so tools stay registered and connections keep running — gating only removes them from the prompt, the catalog, and dispatch. All three latches judge through one shared verdict, so they can never disagree with each other or with what `/mcp` displays. Enable/disable persist through the settings service; without one everything still works and only the toggles answer with an explanatory error.
119
+ Disable is **gate-style, not a disconnect**: the official client exposes no disconnect API, so tools stay registered and connections keep running — gating only removes them from the prompt, the catalog, and dispatch. All three latches judge through one shared verdict, so they can never disagree with each other or with what `/mcp` displays. Enable/disable persist through that file (atomic tmp+rename writes; a corrupt document warns once at startup and degrades to everything-enabled, and the next allocation write heals it). If the storage location cannot be written at all, everything still works and only the toggles answer with a persistence error.
113
120
 
114
121
  One real boundary: that latch is prompt-side (catalog/dispatch); native direct calls to a remembered `mcp__server__tool` name may still execute — for hard enforcement pair with pipeline guards or `tools.restrict()`.
115
122
 
package/README.zh.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  面向 [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) 的省 token MCP 适配器——一个受 [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter) 启发的 **prompt-side shim**(提示词侧垫片)。
6
6
 
7
- **要求 dsh >= 0.1.5-rc.2** — 本插件只跟随 dsh RC/stable 线(CI 与发版在运行时解析 latest/next 中更新的 dist-tag)。**不再支持 alpha 线。**
7
+ **要求 dsh >= 0.1.7-rc.1** — 本插件只跟随 dsh RC/stable 线(CI 与发版在运行时解析 latest/next 中更新的 dist-tag)。**不再支持 alpha 线。**
8
8
 
9
9
  ## 问题
10
10
 
@@ -29,6 +29,8 @@
29
29
 
30
30
  **Code Mode:** 在 `mode: 'code'` 下线上本来就折叠为 `run_code`,本插件天然 no-op。
31
31
 
32
+ **宿主资源工具(dsh ≥ 0.1.6):** 宿主内置的 `@deepseek-ai/dsh-mcp-resources` 注册三个共享工具 —— `list_mcp_resources`、`list_mcp_resource_templates`、`read_mcp_resource`,均不带 `mcp__` 前缀。它们按设计不进折叠路径,原生呈现给模型;折叠与 keep 语义保持不变,`keep` 也只会命中匹配前缀的名字,本插件无需任何额外配置。
33
+
32
34
  **加载位置:** 经宿主组合加载(即下方 `cordis.patch.yml` 的 `insert` 行)时全局生效——所有 agent 的装配都会被折叠;若经某个 agent 的 scoped context 加载,则只对该 agent 生效。
33
35
 
34
36
  ## 安装
@@ -54,9 +56,11 @@ dsh plugin --profile <name> remove @aiwayds/dsh-mcp-adapter
54
56
 
55
57
  宿主会自动完成清理:`dsh.profile.bundles` 里对应的条目被拼接移除,插件的 patch 层随之失效。
56
58
 
57
- 有一份状态被刻意**保留**:`~/.dsh/settings.yaml` 里的 `mcp-adapter:` 小节——stable server id(1..99)和 disabled 门闩。它按设计永不回收:重装本插件后,每个 server 仍沿用之前的 id。
59
+ 有一份状态被刻意**保留**:插件自己的门闩文件 `~/.dsh/storages/mcp-adapter/gate.json`(设置了 `DSH_HOME` 则以其为准)——stable server id(1..99)和 disabled 门闩。它按设计永不回收:重装本插件后,每个 server 仍沿用之前的 id。
60
+
61
+ 连这份状态也想清掉的话,请自行删除 `storages/mcp-adapter/` 目录;重装时 id 会重新分配。
58
62
 
59
- 连这份状态也想清掉的话,请自行删除 `settings.yaml` 里的 `mcp-adapter:` 小节;重装时 id 会重新分配。
63
+ 从 dsh 0.1.5 升级:旧 `settings.yaml` 里的 `mcp-adapter:` 小节**不会**自动迁移(0.1.7 宿主首次启动时把该文件一次性导入并改名为 `settings.yaml.imported`,而旧段名与本插件 entry id 不同名)。原文仍可在 `settings.yaml.imported` 里查看;此前 disable 过的 server 需各补一条 `/mcp disable <id>` 重新闩上。profile patch 里该 entry 的 `config:` 配置原样继承,不受影响。
60
64
 
61
65
  ## 配置
62
66
 
@@ -66,6 +70,7 @@ dsh plugin --profile <name> remove @aiwayds/dsh-mcp-adapter
66
70
  | `keep` | `[]` | 保持原生进 prompt 的名字模式(`*` 通配)——对应 pi-mcp-adapter 的 direct 模式,适合高频、值得占一等座 schema 的工具 |
67
71
  | `servers` | `[]` | server 白名单:非空时只有这些 server 的工具会被折叠 / 进目录 / 可分发(三处共用同一份名单) |
68
72
  | `descriptionLimit` | `200` | `mcp_list` 目录里每条工具描述的最大字符数 |
73
+ | `storageDir` | `""` | 门闩存储目录覆盖;空 = `<dsh home>/storages/mcp-adapter`(插件启动时读一次,改后需重启插件生效) |
69
74
 
70
75
  ```yaml
71
76
  config:
@@ -77,6 +82,8 @@ config:
77
82
  - github
78
83
  ```
79
84
 
85
+ 以上字段全部声明为 **volatile**(dsh 0.1.7 settings 契约):五个键都会出现在插件设置页(entry `dsh-mcp-adapter`)中,在设置页修改**无需重启插件即可生效**——折叠边界、目录与分发在下一次使用时立即采用新值。profile patch 里的 `config:` 写法照旧可用。
86
+
80
87
  **信任边界:** 默认所有匹配 `prefix` 的工具都会被折叠——前缀只是命名约定而非安全边界,第三方插件恰好用 `mcp__*` 注册的工具同样会折叠。若只信任官方 client 的 server,请在 `servers` 里显式列出;其余保持原生(仍可直调,只是不走 meta-tool)。
81
88
 
82
89
  ## 备注
@@ -99,9 +106,9 @@ config:
99
106
  | `/mcp disable <id>` | 把一个 server 整体闩上:工具强制折叠出 prompt(keep 与 `servers` 豁免一并覆盖)、从 `mcp_list` 目录消失、`mcp_call` 拒绝并给 `/mcp enable <id>` 指引 |
100
107
  | `/mcp enable <id>` | 用同一个 stable id 复原 |
101
108
 
102
- 其余形态一律回复用法说明。`/mcp` 观测到的每个 server 都会分到一个稳定数字 id(1..99,最小空闲优先),经 dsh settings 服务持久化到配置文件的 `mcp-adapter:` 小节(默认安装即 `~/.dsh/settings.yaml`)。id 跨重启、跨 re-sync 空窗保持不变,且永不回收——一个 id 永远指同一个 server;99 个用尽时由 `/mcp` 视图明确标注(`id space exhausted (99/99): N server(s) beyond the cap cannot be gated`,受影响的分组行会带标记)。
109
+ 其余形态一律回复用法说明。`/mcp` 观测到的每个 server 都会分到一个稳定数字 id(1..99,最小空闲优先),持久化到插件自己的门闩文件 `<dsh home>/storages/mcp-adapter/gate.json`(机器态——刻意用文件而非设置页字段)。id 跨重启、跨 re-sync 空窗保持不变,且永不回收——一个 id 永远指同一个 server;99 个用尽时由 `/mcp` 视图明确标注(`id space exhausted (99/99): N server(s) beyond the cap cannot be gated`,受影响的分组行会带标记)。
103
110
 
104
- disable 是**门闩式开关,不是真断连**:官方 client 不提供断连 API,工具仍留在注册表里、连接照常运行——门闩只把它请出 prompt、目录与分发。三层门闩共用同一个判定函数,彼此之间以及与 `/mcp` 的展示永远不会口径不一。enable/disable 经 settings 服务持久化;没有 settings 服务时其余功能照常,只有 toggle 会回一条说明性报错。
111
+ disable 是**门闩式开关,不是真断连**:官方 client 不提供断连 API,工具仍留在注册表里、连接照常运行——门闩只把它请出 prompt、目录与分发。三层门闩共用同一个判定函数,彼此之间以及与 `/mcp` 的展示永远不会口径不一。enable/disable 经该文件持久化(tmp+rename 原子写;文档损坏时启动告警一次并退化为全启,下一次分配写会自动修复)。若存储位置完全不可写,其余功能照常,只有 toggle 会回一条持久化报错。
105
112
 
106
113
  一条真实边界:门闩生效在 prompt 侧(目录/分发层);记得完整工具名的模型仍可能原生直调 `mcp__server__tool` 成功——需要硬性拦截时,请配合管线 guard 或 `tools.restrict()`。
107
114
 
package/cordis.patch.yml CHANGED
@@ -26,6 +26,12 @@
26
26
  # client's registrations)
27
27
  # descriptionLimit: max chars per tool description in the mcp_list
28
28
  # catalog (default 200)
29
+ # storageDir: gate storage directory override; empty (default) =
30
+ # <dsh home>/storages/mcp-adapter
31
+ #
32
+ # All five keys are volatile (dsh 0.1.7 settings contract): they appear on
33
+ # the plugin's settings page (entry `dsh-mcp-adapter`) and hot-reload there
34
+ # without a plugin restart. This `config:` form keeps working too.
29
35
 
30
36
  - insert:
31
37
  - id: dsh-mcp-adapter
package/icon.svg ADDED
@@ -0,0 +1,5 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9 2.5V7M15 2.5V7"/>
3
+ <path d="M6.5 7h11v4.5a5.5 5.5 0 0 1-11 0z"/>
4
+ <path d="M12 17v4.5"/>
5
+ </svg>
package/lib/index.d.ts CHANGED
@@ -33,8 +33,9 @@
33
33
  * three latches at once — its tools force-fold out of every prompt (keep and
34
34
  * `servers` whitelist exemptions included), it disappears from the catalog,
35
35
  * and `mcp_call` refuses it with an enable hint. Each server gets a stable
36
- * numeric id (1..99, smallest free first) persisted in the dsh settings
37
- * service (`mcp-adapter` namespace), so ids survive restarts and re-syncs.
36
+ * numeric id (1..99, smallest free first) persisted in the plugin's own gate
37
+ * file under the dsh home (`storages/mcp-adapter/gate.json`), so ids survive
38
+ * restarts and re-syncs.
38
39
  *
39
40
  * Child-owned projections are preserved: `mcp_call` delegates its
40
41
  * `output.render` to the dispatched child and forwards the child's
@@ -84,14 +85,19 @@ export declare const MCP_CALL_TOOL_NAME = "mcp_call";
84
85
  /** Upper bound of the stable per-server id space. */
85
86
  export declare const MCP_SERVER_ID_LIMIT = 99;
86
87
  /**
87
- * dsh settings namespace persisting the stable ids and the disabled set.
88
- * Plain literal: dsh-settings 0.1.2-alpha.3 removed the runtime
89
- * settingsNamespace() helper this constant used to call (same adaptation as
90
- * dsh-model-sync / dsh-cron / dsh-vault).
88
+ * dsh 0.1.7 note: the runtime settings registry this state used to live in
89
+ * (`settings.register('mcp-adapter', …)` on the 0.1.5 `SettingsScope`) is
90
+ * gone — 0.1.7 settings are the projection of a plugin's `Config` schema and
91
+ * volatile fields are user-editable values, which a machine-maintained id
92
+ * registry must never be. The gate therefore persists through the plugin's
93
+ * OWN file under the dsh home (same seam as dsh-cron/dsh-vault):
94
+ * `<dsh home>/storages/mcp-adapter/gate.json`.
91
95
  */
92
- export declare const MCP_ADAPTER_SETTINGS_NAMESPACE = "mcp-adapter";
96
+ export declare const MCP_ADAPTER_STORAGE_DIRNAME = "mcp-adapter";
97
+ /** The gate document file name inside {@link MCP_ADAPTER_STORAGE_DIRNAME}. */
98
+ export declare const GATE_FILE_NAME = "gate.json";
93
99
  /**
94
- * The persisted gate state (one settings section). `serverIds` maps every
100
+ * The persisted gate state (one gate.json document). `serverIds` maps every
95
101
  * OBSERVED server name to its stable id and is never pruned — enable/disable
96
102
  * never recycles an id, so an id always means the same server, even across
97
103
  * restarts and temporary re-sync gaps.
@@ -105,8 +111,8 @@ export interface ServerIdRegistry {
105
111
  /**
106
112
  * Read-side snapshot of the registry the three latches consult. Structurally
107
113
  * a superset of {@link ServerIdRegistry}; everything (config objects included)
108
- * shaped like this qualifies, so production hands frozen `scope.get()` values
109
- * straight in.
114
+ * shaped like this qualifies, so production hands the gate store's frozen
115
+ * mirror straight in.
110
116
  */
111
117
  export interface ServerGateState {
112
118
  readonly serverIds: Readonly<Record<string, number>>;
@@ -114,8 +120,6 @@ export interface ServerGateState {
114
120
  }
115
121
  /** Gate snapshot meaning "nothing observed, nothing disabled". */
116
122
  export declare const EMPTY_SERVER_GATE: ServerGateState;
117
- /** Schema of the persisted `mcp-adapter` settings section. */
118
- export declare const SERVER_ID_REGISTRY_SCHEMA: z<ServerIdRegistry>;
119
123
  /**
120
124
  * Coerce any resolved settings value into a trustworthy gate snapshot. The
121
125
  * schema already validates at resolve time, but every latch judges from THIS
@@ -163,21 +167,70 @@ export interface ServerToggleOutcome {
163
167
  * removes the id mapping — re-disabling later reuses the same number.
164
168
  */
165
169
  export declare function setServerDisabledState(state: ServerGateState | undefined, server: string, disable: boolean): ServerToggleOutcome;
166
- /** Resolved adapter configuration. */
170
+ /**
171
+ * The live gate handle production hands to the three latches and the /mcp
172
+ * command: an in-memory mirror loaded once at apply time, written through to
173
+ * the gate file on every persist. Reads never throw and never touch the disk;
174
+ * writes may (and the command surface turns a failed write into a structured
175
+ * error while the mirror keeps its previous value — "state unchanged").
176
+ */
177
+ export interface GateStore {
178
+ /** Current normalized snapshot (corrupt input already sanitized away). */
179
+ get(): ServerGateState;
180
+ /** Persist one complete next registry; the mirror moves only after the file landed. */
181
+ write(next: ServerIdRegistry): Promise<void>;
182
+ }
183
+ /** The warning seam {@link createFileGateStore} reports boot-time problems through. */
184
+ export type GateWarn = (message: string) => void;
185
+ /** Resolve the dsh home (`DSH_HOME`, else `~/.dsh`) — same seam as dsh-cron/dsh-vault. */
186
+ export declare function resolveDshHome(): string;
187
+ /**
188
+ * Absolute gate directory for one `storageDir` config value: empty (default)
189
+ * means `<dsh home>/storages/mcp-adapter`, anything else is the override used
190
+ * verbatim (resolved).
191
+ */
192
+ export declare function resolveGateDir(configured: string): string;
193
+ /**
194
+ * Build the production gate store over one directory. The initial read is
195
+ * synchronous (boot-time, once); writes land atomically (tmp file + rename)
196
+ * so a crash mid-write can never leave a torn document, and the in-memory
197
+ * mirror only advances after the file is durably renamed into place.
198
+ */
199
+ export declare function createFileGateStore(dir: string, warn: GateWarn): GateStore;
200
+ /**
201
+ * Live config reference. 0.1.7 settings contract: volatile `Config` fields
202
+ * reach `apply` as host-swapped references — `.get()` snapshots the current
203
+ * value, and a settings-page write swaps the value in place WITHOUT remounting
204
+ * the plugin, so every consumer must read through the reference per use.
205
+ */
206
+ export interface VolatileRef<T> {
207
+ get(): T;
208
+ }
209
+ /**
210
+ * Resolved adapter configuration as `apply` receives it. Every knob is
211
+ * user-tunable from the settings page (entry `dsh-mcp-adapter`) and hot-reloads
212
+ * without a plugin restart.
213
+ */
167
214
  export interface AdapterConfig {
168
215
  /** Tool-name prefix to fold out of assembled prompts. */
169
- prefix: string;
216
+ prefix: VolatileRef<string>;
170
217
  /** Name patterns ("*" wildcard) kept native in the prompt. */
171
- keep: string[];
218
+ keep: VolatileRef<string[]>;
172
219
  /**
173
220
  * Server-name whitelist. Empty (default) folds every prefix-matching tool —
174
221
  * the prefix is then a naming convention, not a trust boundary. Non-empty
175
222
  * folds/catalogs/dispatches ONLY tools of the listed servers; fold, catalog
176
223
  * and dispatch all consult the same list.
177
224
  */
178
- servers: string[];
225
+ servers: VolatileRef<string[]>;
179
226
  /** Max chars per tool description in the mcp_list catalog. */
180
- descriptionLimit: number;
227
+ descriptionLimit: VolatileRef<number>;
228
+ /**
229
+ * Gate storage directory override; empty (default) =
230
+ * `<dsh home>/storages/mcp-adapter`. Read once at apply time (the store is
231
+ * built there); changing it takes effect on the next plugin restart.
232
+ */
233
+ storageDir: VolatileRef<string>;
181
234
  }
182
235
  export declare const Config: z<AdapterConfig>;
183
236
  /**
@@ -264,9 +317,9 @@ export interface McpListOptions {
264
317
  /** Server-name whitelist; empty or omitted admits every server. */
265
318
  servers?: readonly string[];
266
319
  /**
267
- * Live gate reader (production: fresh `settingsScope.get()` snapshot per
268
- * execution). A callback, not a value: the factory is built once at apply
269
- * time and must observe later /mcp disable/enable writes.
320
+ * Live gate reader (production: the file-backed gate store's current
321
+ * mirror per execution). A callback, not a value: the factory is built
322
+ * once at apply time and must observe later /mcp disable/enable writes.
270
323
  */
271
324
  getGate?: () => ServerGateState | undefined;
272
325
  }
@@ -403,10 +456,10 @@ export interface McpCommandOptions {
403
456
  /** Max chars per tool description in rendered listings. */
404
457
  descriptionLimit: number;
405
458
  /**
406
- * Live-resolved gate snapshot at invocation time (undefined = the settings
407
- * service is not composed, so ids/toggles are absent from all views and
408
- * everything renders enabled). A snapshot per invocation keeps these
409
- * renderers pure and never stale within one command execution.
459
+ * Live-resolved gate snapshot at invocation time (undefined = no gate store
460
+ * is available, so ids/toggles are absent from all views and everything
461
+ * renders enabled). A snapshot per invocation keeps these renderers pure
462
+ * and never stale within one command execution.
410
463
  */
411
464
  gate?: ServerGateState;
412
465
  /**
@@ -485,7 +538,7 @@ export interface McpHealthStats {
485
538
  *
486
539
  * @param schemas - schemas visible to the receiving agent.
487
540
  * @param options - adapter knobs (prefix/keep/servers) plus the live gate
488
- * snapshot (`gate`) when the settings service is composed.
541
+ * snapshot (`gate`) when a gate store is available.
489
542
  * @param metaToolsLive - whether both meta-tools resolve to this plugin's
490
543
  * definitions in the receiving agent's scope.
491
544
  * @returns the folding health plus the partition behind it.
@@ -615,16 +668,15 @@ export interface McpCommandView {
615
668
  /** Whether both meta-tools resolve to this plugin's definitions there. */
616
669
  metaToolsLive: boolean;
617
670
  /**
618
- * Gate snapshot resolved when the invocation started; `undefined` means the
619
- * dsh settings service is not composed in this process (stable ids and
620
- * toggles are unavailable; views degrade to enabled-everything).
671
+ * Gate snapshot resolved when the invocation started; `undefined` means no
672
+ * gate store is available in this process (stable ids and toggles are
673
+ * unavailable; views degrade to enabled-everything).
621
674
  */
622
675
  gate?: ServerGateState;
623
676
  /**
624
- * Persist one complete next registry (production: a wholesale `replace` of
625
- * the `mcp-adapter` settings section, mirroring agent-default-model's
626
- * save-selection precedent). Absent ⇒ /mcp disable/enable answers with an
627
- * explanatory error instead of silently dropping the intent.
677
+ * Persist one complete next registry (production: an atomic write of the
678
+ * plugin's gate.json document). Absent ⇒ /mcp disable/enable answers with
679
+ * an explanatory error instead of silently dropping the intent.
628
680
  */
629
681
  writeGate?: (next: ServerIdRegistry) => Promise<void>;
630
682
  /**
@@ -707,7 +759,11 @@ export declare function renderDispatched(metaArgs: unknown, value: unknown, reso
707
759
  export declare function delegateFinalizeContent(metaArgs: unknown, result: Readonly<ToolExecutionResult>, exec: Readonly<ToolExecution>, resolveChild: (name: string) => ToolDefinition | undefined): ContentBlock[] | undefined;
708
760
  /**
709
761
  * Build the `mcp_list` meta-tool definition.
710
- * @param options - catalog knobs (prefix, description limit).
762
+ * @param options - catalog knobs (prefix, description limit). MAY be a live
763
+ * options object (plain getters): the factory reads `prefix`, `servers`,
764
+ * `descriptionLimit` and `getGate` through the object on EVERY execution,
765
+ * so volatile config can be wired by reference — only the description text
766
+ * freezes at factory time.
711
767
  * @param listSchemas - visible-schemas source (production: `ctx.tools.schemas`,
712
768
  * called with the calling agent so restrictions are respected).
713
769
  * @returns the complete tool definition.
@@ -715,17 +771,20 @@ export declare function delegateFinalizeContent(metaArgs: unknown, result: Reado
715
771
  export declare function createMcpListTool(options: McpListOptions, listSchemas: (scope?: ScopeKey) => readonly ToolSchema[]): ToolDefinition;
716
772
  /**
717
773
  * Build the `mcp_call` meta-tool definition.
718
- * @param prefix - the configured MCP prefix (dispatch boundary).
774
+ * @param prefix - the configured MCP prefix (dispatch boundary). A thunk is
775
+ * accepted so volatile config is re-read on every dispatch; a plain string
776
+ * freezes the boundary at factory time.
719
777
  * @param resolve - scope-aware definition resolver (production:
720
778
  * `ctx.tools.get`, called with the calling agent).
721
- * @param servers - server-name whitelist (default: no filtering).
722
- * @param getGate - live disabled-server reader (production: fresh
723
- * `settingsScope.get()` snapshot per dispatch; default/omitted: nothing is
724
- * disabled). Deliberately a callback — the definition object outlives any
725
- * one settings snapshot and must observe later /mcp enable/disable writes.
779
+ * @param servers - server-name whitelist (default: no filtering). A thunk is
780
+ * accepted for live volatile config, same as `prefix`.
781
+ * @param getGate - live disabled-server reader (production: the file-backed
782
+ * gate store's current mirror; default/omitted: nothing is disabled).
783
+ * Deliberately a callback — the definition object outlives any one gate
784
+ * snapshot and must observe later /mcp enable/disable writes.
726
785
  * @returns the complete tool definition.
727
786
  */
728
- export declare function createMcpCallTool(prefix: string, resolve: (name: string, scope?: ScopeKey) => ToolDefinition | undefined, servers?: readonly string[], getGate?: () => ServerGateState | undefined): ToolDefinition;
787
+ export declare function createMcpCallTool(prefix: string | (() => string), resolve: (name: string, scope?: ScopeKey) => ToolDefinition | undefined, servers?: readonly string[] | (() => readonly string[]), getGate?: () => ServerGateState | undefined): ToolDefinition;
729
788
  /**
730
789
  * Register the two meta-tools and install the assembly folding listener.
731
790
  *
@@ -733,19 +792,25 @@ export declare function createMcpCallTool(prefix: string, resolve: (name: string
733
792
  * both registrations are rolled back, a warning is logged, and NO listener
734
793
  * is installed — the official full-schema passthrough stays intact.
735
794
  *
736
- * Server gating: when a dsh settings service is composed, the `mcp-adapter`
737
- * namespace is registered on it and every gate consumer reads FRESH resolved
738
- * values through small callbacks — the plugin keeps no in-memory copy that
739
- * could drift from settings. The read itself is defended too: if the
740
- * resolved-value lookup throws, consumers see an absent gate (everything
741
- * enabled) instead of the error, keeping the assemble waterfall alive.
795
+ * Server gating: the gate mirror loads synchronously once from the plugin's
796
+ * gate file (`resolveGateDir(config.storageDir.get())`), and every gate
797
+ * consumer reads the CURRENT mirror through {@link getGate} — the plugin
798
+ * keeps no stale copy that could drift from /mcp writes. A corrupt or
799
+ * unreadable document degrades to the empty gate (everything enabled) at
800
+ * load time, keeping the assemble waterfall alive.
801
+ *
802
+ * Config volatility: every knob (prefix/keep/servers/descriptionLimit) is a
803
+ * volatile reference — 0.1.7 settings-page writes swap values in place
804
+ * WITHOUT remounting the plugin, so nothing captured at apply time may go
805
+ * stale: the waterfall, both meta-tools and the /mcp command all re-read
806
+ * through {@link cfgNow} per use.
742
807
  *
743
- * Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)`
744
- * (same seam as settings), so hosts without the commands service keep this
745
- * plugin fully functional — one warning, no command. A registration name
746
- * conflict degrades to the same warning independently.
808
+ * Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)`,
809
+ * so hosts without the commands service keep this plugin fully functional —
810
+ * one warning, no command. A registration name conflict degrades to the same
811
+ * warning independently.
747
812
  *
748
813
  * @param ctx - plugin context carrying the tool registry.
749
- * @param config - resolved adapter configuration.
814
+ * @param config - resolved adapter configuration (volatile live references).
750
815
  */
751
816
  export declare function apply(ctx: Context, config: AdapterConfig): void;
package/lib/index.js CHANGED
@@ -33,8 +33,9 @@
33
33
  * three latches at once — its tools force-fold out of every prompt (keep and
34
34
  * `servers` whitelist exemptions included), it disappears from the catalog,
35
35
  * and `mcp_call` refuses it with an enable hint. Each server gets a stable
36
- * numeric id (1..99, smallest free first) persisted in the dsh settings
37
- * service (`mcp-adapter` namespace), so ids survive restarts and re-syncs.
36
+ * numeric id (1..99, smallest free first) persisted in the plugin's own gate
37
+ * file under the dsh home (`storages/mcp-adapter/gate.json`), so ids survive
38
+ * restarts and re-syncs.
38
39
  *
39
40
  * Child-owned projections are preserved: `mcp_call` delegates its
40
41
  * `output.render` to the dispatched child and forwards the child's
@@ -52,6 +53,10 @@
52
53
  *
53
54
  * @module @aiwayds/dsh-mcp-adapter
54
55
  */
56
+ import { mkdir, rename, writeFile } from 'node:fs/promises';
57
+ import { readFileSync } from 'node:fs';
58
+ import { homedir } from 'node:os';
59
+ import { join, resolve as resolvePath } from 'node:path';
55
60
  import z from '@deepseek-ai/schemastery';
56
61
  /** Cordis plugin name used by loader diagnostics. */
57
62
  export const name = 'mcp-adapter';
@@ -87,19 +92,19 @@ const PREFIX_PATTERN = /^[A-Za-z0-9_-]{1,64}$/;
87
92
  /** Upper bound of the stable per-server id space. */
88
93
  export const MCP_SERVER_ID_LIMIT = 99;
89
94
  /**
90
- * dsh settings namespace persisting the stable ids and the disabled set.
91
- * Plain literal: dsh-settings 0.1.2-alpha.3 removed the runtime
92
- * settingsNamespace() helper this constant used to call (same adaptation as
93
- * dsh-model-sync / dsh-cron / dsh-vault).
95
+ * dsh 0.1.7 note: the runtime settings registry this state used to live in
96
+ * (`settings.register('mcp-adapter', …)` on the 0.1.5 `SettingsScope`) is
97
+ * gone — 0.1.7 settings are the projection of a plugin's `Config` schema and
98
+ * volatile fields are user-editable values, which a machine-maintained id
99
+ * registry must never be. The gate therefore persists through the plugin's
100
+ * OWN file under the dsh home (same seam as dsh-cron/dsh-vault):
101
+ * `<dsh home>/storages/mcp-adapter/gate.json`.
94
102
  */
95
- export const MCP_ADAPTER_SETTINGS_NAMESPACE = 'mcp-adapter';
103
+ export const MCP_ADAPTER_STORAGE_DIRNAME = 'mcp-adapter';
104
+ /** The gate document file name inside {@link MCP_ADAPTER_STORAGE_DIRNAME}. */
105
+ export const GATE_FILE_NAME = 'gate.json';
96
106
  /** Gate snapshot meaning "nothing observed, nothing disabled". */
97
107
  export const EMPTY_SERVER_GATE = { serverIds: {}, disabled: [] };
98
- /** Schema of the persisted `mcp-adapter` settings section. */
99
- export const SERVER_ID_REGISTRY_SCHEMA = z.object({
100
- serverIds: z.dict(z.number().step(1).min(1).max(MCP_SERVER_ID_LIMIT)).default({}),
101
- disabled: z.array(z.number().step(1).min(1).max(MCP_SERVER_ID_LIMIT)).default([]),
102
- });
103
108
  /** Whether one number is an allocatable server id. */
104
109
  function isValidServerId(id) {
105
110
  return typeof id === 'number' && Number.isInteger(id) && id >= 1 && id <= MCP_SERVER_ID_LIMIT;
@@ -212,11 +217,70 @@ export function setServerDisabledState(state, server, disable) {
212
217
  changed: disable ? id !== undefined && !has : has,
213
218
  };
214
219
  }
220
+ /** Resolve the dsh home (`DSH_HOME`, else `~/.dsh`) — same seam as dsh-cron/dsh-vault. */
221
+ export function resolveDshHome() {
222
+ return process.env.DSH_HOME !== undefined && process.env.DSH_HOME !== ''
223
+ ? process.env.DSH_HOME
224
+ : join(homedir(), '.dsh');
225
+ }
226
+ /**
227
+ * Absolute gate directory for one `storageDir` config value: empty (default)
228
+ * means `<dsh home>/storages/mcp-adapter`, anything else is the override used
229
+ * verbatim (resolved).
230
+ */
231
+ export function resolveGateDir(configured) {
232
+ return configured.trim() === ''
233
+ ? join(resolveDshHome(), 'storages', MCP_ADAPTER_STORAGE_DIRNAME)
234
+ : resolvePath(configured);
235
+ }
236
+ /**
237
+ * Load the gate mirror from one gate file. A missing file is the fresh-install
238
+ * zero state (silent); an unreadable or unparseable one is warned about once
239
+ * here and degrades to the empty gate — every server counts as enabled, the
240
+ * fail-open hard requirement.
241
+ */
242
+ function loadInitialGate(file, warn) {
243
+ try {
244
+ return normalizeServerGate(JSON.parse(readFileSync(file, 'utf8')));
245
+ }
246
+ catch (error) {
247
+ if (error?.code !== 'ENOENT') {
248
+ warn(`mcp-adapter: the persisted enable/disable state at ${file} is unreadable `
249
+ + `(${error instanceof Error ? error.message : String(error)}) `
250
+ + '— starting from an empty gate (every server enabled)');
251
+ }
252
+ return EMPTY_SERVER_GATE;
253
+ }
254
+ }
255
+ /**
256
+ * Build the production gate store over one directory. The initial read is
257
+ * synchronous (boot-time, once); writes land atomically (tmp file + rename)
258
+ * so a crash mid-write can never leave a torn document, and the in-memory
259
+ * mirror only advances after the file is durably renamed into place.
260
+ */
261
+ export function createFileGateStore(dir, warn) {
262
+ const file = join(dir, GATE_FILE_NAME);
263
+ let mirror = loadInitialGate(file, warn);
264
+ return {
265
+ get: () => mirror,
266
+ async write(next) {
267
+ // Copy-on-write payload: the document is complete and self-contained,
268
+ // exactly what the old wholesale settings `replace` guaranteed.
269
+ const payload = JSON.stringify({ serverIds: { ...next.serverIds }, disabled: [...next.disabled] }, null, 2) + '\n';
270
+ await mkdir(dir, { recursive: true });
271
+ const tmp = `${file}.${process.pid}.${Date.now()}.tmp`;
272
+ await writeFile(tmp, payload, 'utf8');
273
+ await rename(tmp, file);
274
+ mirror = normalizeServerGate(next);
275
+ },
276
+ };
277
+ }
215
278
  export const Config = z.object({
216
- prefix: z.string().pattern(PREFIX_PATTERN).default(DEFAULT_PREFIX),
217
- keep: z.array(String).default([]),
218
- servers: z.array(String).default([]),
219
- descriptionLimit: z.number().step(1).min(1).max(Number.MAX_SAFE_INTEGER).default(DEFAULT_DESCRIPTION_LIMIT),
279
+ prefix: z.string().pattern(PREFIX_PATTERN).default(DEFAULT_PREFIX).volatile(),
280
+ keep: z.array(String).default([]).volatile(),
281
+ servers: z.array(String).default([]).volatile(),
282
+ descriptionLimit: z.number().step(1).min(1).max(Number.MAX_SAFE_INTEGER).default(DEFAULT_DESCRIPTION_LIMIT).volatile(),
283
+ storageDir: z.string().default('').volatile(),
220
284
  });
221
285
  // ---- Keep-pattern matching (pure) ----
222
286
  /** Compiled keep patterns, keyed by source pattern. */
@@ -648,7 +712,7 @@ export function liveServerNames(schemas, options) {
648
712
  *
649
713
  * @param schemas - schemas visible to the receiving agent.
650
714
  * @param options - adapter knobs (prefix/keep/servers) plus the live gate
651
- * snapshot (`gate`) when the settings service is composed.
715
+ * snapshot (`gate`) when a gate store is available.
652
716
  * @param metaToolsLive - whether both meta-tools resolve to this plugin's
653
717
  * definitions in the receiving agent's scope.
654
718
  * @returns the folding health plus the partition behind it.
@@ -902,7 +966,7 @@ export function renderMcpConfig(schemas, options) {
902
966
  const hits = candidates.filter(schema => serverOfToolName(schema.name, options.prefix) === server);
903
967
  lines.push(` - ${server}`, hits.length === 0 ? ' (no matching tools)' : ` tools: ${hits.map(schema => annotateDisabled(schema.name)).join(', ')}`);
904
968
  }
905
- // Persistent gate inventory — only meaningful with a live settings-backed
969
+ // Persistent gate inventory — only meaningful with a live gate-backed
906
970
  // snapshot, so absent snapshots keep the legacy output untouched.
907
971
  if (options.gate !== undefined) {
908
972
  const mapped = Object.entries(options.gate.serverIds).sort((left, right) => left[1] - right[1]);
@@ -1022,8 +1086,8 @@ async function runServerToggle(form, id, registry, view) {
1022
1086
  if (registry === undefined || view.writeGate === undefined) {
1023
1087
  return {
1024
1088
  kind: 'error',
1025
- text: `"/mcp ${form}" needs the dsh settings service to persist server state, `
1026
- + 'and it is not composed in this process',
1089
+ text: `"/mcp ${form}" needs the persistent gate store to record server state, `
1090
+ + 'and it is not available in this process',
1027
1091
  };
1028
1092
  }
1029
1093
  const liveServers = new Set(liveServerNames(view.schemas, view.config));
@@ -1191,7 +1255,11 @@ export function delegateFinalizeContent(metaArgs, result, exec, resolveChild) {
1191
1255
  }
1192
1256
  /**
1193
1257
  * Build the `mcp_list` meta-tool definition.
1194
- * @param options - catalog knobs (prefix, description limit).
1258
+ * @param options - catalog knobs (prefix, description limit). MAY be a live
1259
+ * options object (plain getters): the factory reads `prefix`, `servers`,
1260
+ * `descriptionLimit` and `getGate` through the object on EVERY execution,
1261
+ * so volatile config can be wired by reference — only the description text
1262
+ * freezes at factory time.
1195
1263
  * @param listSchemas - visible-schemas source (production: `ctx.tools.schemas`,
1196
1264
  * called with the calling agent so restrictions are respected).
1197
1265
  * @returns the complete tool definition.
@@ -1240,24 +1308,29 @@ export function createMcpListTool(options, listSchemas) {
1240
1308
  }
1241
1309
  /**
1242
1310
  * Build the `mcp_call` meta-tool definition.
1243
- * @param prefix - the configured MCP prefix (dispatch boundary).
1311
+ * @param prefix - the configured MCP prefix (dispatch boundary). A thunk is
1312
+ * accepted so volatile config is re-read on every dispatch; a plain string
1313
+ * freezes the boundary at factory time.
1244
1314
  * @param resolve - scope-aware definition resolver (production:
1245
1315
  * `ctx.tools.get`, called with the calling agent).
1246
- * @param servers - server-name whitelist (default: no filtering).
1247
- * @param getGate - live disabled-server reader (production: fresh
1248
- * `settingsScope.get()` snapshot per dispatch; default/omitted: nothing is
1249
- * disabled). Deliberately a callback — the definition object outlives any
1250
- * one settings snapshot and must observe later /mcp enable/disable writes.
1316
+ * @param servers - server-name whitelist (default: no filtering). A thunk is
1317
+ * accepted for live volatile config, same as `prefix`.
1318
+ * @param getGate - live disabled-server reader (production: the file-backed
1319
+ * gate store's current mirror; default/omitted: nothing is disabled).
1320
+ * Deliberately a callback — the definition object outlives any one gate
1321
+ * snapshot and must observe later /mcp enable/disable writes.
1251
1322
  * @returns the complete tool definition.
1252
1323
  */
1253
1324
  export function createMcpCallTool(prefix, resolve, servers = [], getGate) {
1325
+ const prefixNow = typeof prefix === 'function' ? prefix : () => prefix;
1326
+ const serversNow = typeof servers === 'function' ? servers : () => servers;
1254
1327
  return {
1255
1328
  name: MCP_CALL_TOOL_NAME,
1256
1329
  description: [
1257
- `Invoke one MCP tool by its full registered name (like "${prefix}<server>__<tool>").`,
1330
+ `Invoke one MCP tool by its full registered name (like "${prefixNow()}<server>__<tool>").`,
1258
1331
  `First call ${MCP_LIST_TOOL_NAME} to discover tool names and expand the exact input schema,`,
1259
1332
  'then pass { "tool": "<full name>", "arguments": { ... } }.',
1260
- `Only tools named with the "${prefix}" prefix are dispatchable — anything else is refused.`,
1333
+ `Only tools named with the "${prefixNow()}" prefix are dispatchable — anything else is refused.`,
1261
1334
  'The result is the invoked tool\'s own return value, or a structured { "error": ... } you can correct and retry.',
1262
1335
  ].join(' '),
1263
1336
  parameters: {
@@ -1277,7 +1350,7 @@ export function createMcpCallTool(prefix, resolve, servers = [], getGate) {
1277
1350
  schema: {},
1278
1351
  render: (args, value) => renderDispatched(args, value, name => resolve(name)),
1279
1352
  },
1280
- execute: (args, exec) => dispatchMcpCall(args, prefix, name => resolve(name, exec.agent), exec, servers, getGate?.()),
1353
+ execute: (args, exec) => dispatchMcpCall(args, prefixNow(), name => resolve(name, exec.agent), exec, serversNow(), getGate?.()),
1281
1354
  // Restore child-owned projections (image attachments): the registry
1282
1355
  // invokes THIS definition's finalizer, so it must forward to the child's
1283
1356
  // with the same exec object dispatch passed to child.execute.
@@ -1292,79 +1365,52 @@ export function createMcpCallTool(prefix, resolve, servers = [], getGate) {
1292
1365
  * both registrations are rolled back, a warning is logged, and NO listener
1293
1366
  * is installed — the official full-schema passthrough stays intact.
1294
1367
  *
1295
- * Server gating: when a dsh settings service is composed, the `mcp-adapter`
1296
- * namespace is registered on it and every gate consumer reads FRESH resolved
1297
- * values through small callbacks — the plugin keeps no in-memory copy that
1298
- * could drift from settings. The read itself is defended too: if the
1299
- * resolved-value lookup throws, consumers see an absent gate (everything
1300
- * enabled) instead of the error, keeping the assemble waterfall alive.
1368
+ * Server gating: the gate mirror loads synchronously once from the plugin's
1369
+ * gate file (`resolveGateDir(config.storageDir.get())`), and every gate
1370
+ * consumer reads the CURRENT mirror through {@link getGate} — the plugin
1371
+ * keeps no stale copy that could drift from /mcp writes. A corrupt or
1372
+ * unreadable document degrades to the empty gate (everything enabled) at
1373
+ * load time, keeping the assemble waterfall alive.
1374
+ *
1375
+ * Config volatility: every knob (prefix/keep/servers/descriptionLimit) is a
1376
+ * volatile reference — 0.1.7 settings-page writes swap values in place
1377
+ * WITHOUT remounting the plugin, so nothing captured at apply time may go
1378
+ * stale: the waterfall, both meta-tools and the /mcp command all re-read
1379
+ * through {@link cfgNow} per use.
1301
1380
  *
1302
- * Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)`
1303
- * (same seam as settings), so hosts without the commands service keep this
1304
- * plugin fully functional — one warning, no command. A registration name
1305
- * conflict degrades to the same warning independently.
1381
+ * Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)`,
1382
+ * so hosts without the commands service keep this plugin fully functional —
1383
+ * one warning, no command. A registration name conflict degrades to the same
1384
+ * warning independently.
1306
1385
  *
1307
1386
  * @param ctx - plugin context carrying the tool registry.
1308
- * @param config - resolved adapter configuration.
1387
+ * @param config - resolved adapter configuration (volatile live references).
1309
1388
  */
1310
1389
  export function apply(ctx, config) {
1311
- const foldOptions = {
1312
- prefix: config.prefix,
1313
- keep: config.keep,
1314
- servers: config.servers,
1315
- };
1316
- const listOptions = {
1317
- prefix: config.prefix,
1318
- descriptionLimit: config.descriptionLimit,
1319
- servers: config.servers,
1320
- };
1321
- // Optional settings consumption (the canonical inject-scoped pattern): the
1322
- // registration rides its own child fiber, so disposing it removes exactly
1323
- // the namespace. Late binding over `settingsScope` means the meta-tools,
1324
- // waterfall, and command created below observe the mount whenever it lands.
1325
- let settingsScope;
1326
- if (typeof ctx.inject === 'function') {
1327
- ctx.inject(['settings'], (sctx) => {
1328
- settingsScope = sctx.settings.register(MCP_ADAPTER_SETTINGS_NAMESPACE, SERVER_ID_REGISTRY_SCHEMA);
1329
- return () => { settingsScope = undefined; };
1330
- });
1331
- }
1332
- // One-shot latch: a persistently broken settings provider would otherwise
1333
- // re-warn on EVERY assembled prompt (getGate runs per waterfall execution).
1334
- let gateReadWarned = false;
1335
- // Fresh snapshot per read; normalize guards hand-edited documents. The
1336
- // scope being absent is distinguishable from an empty section: undefined
1337
- // propagates so toggle commands can name their missing dependency.
1338
- const getGate = () => {
1339
- const scope = settingsScope;
1340
- if (scope === undefined)
1341
- return undefined;
1342
- try {
1343
- return normalizeServerGate(scope.get());
1344
- }
1345
- catch (error) {
1346
- // Fail-open, hard requirement: a throwing read must never blow up the
1347
- // system-prompt/assemble waterfall or a /mcp invocation. Gate-less
1348
- // means every server counts as enabled — visibility only ever grows.
1349
- if (!gateReadWarned) {
1350
- gateReadWarned = true;
1351
- ctx.logger.warn(`mcp-adapter: reading the persisted enable/disable state failed `
1352
- + `(${error instanceof Error ? error.message : String(error)}) `
1353
- + '— treating every server as enabled');
1354
- }
1355
- return undefined;
1356
- }
1357
- };
1358
- const writeGate = async (next) => {
1359
- const scope = settingsScope;
1360
- if (scope === undefined)
1361
- throw new Error('settings service went away before the write');
1362
- // Wholesale replace (not update): we always hold the complete next
1363
- // section, and replace cannot merge stale keys back under us.
1364
- await scope.replace({ serverIds: { ...next.serverIds }, disabled: [...next.disabled] });
1365
- };
1366
- const listDefinition = createMcpListTool({ ...listOptions, getGate }, scope => ctx.tools.schemas(scope));
1367
- const callDefinition = createMcpCallTool(config.prefix, (name, scope) => ctx.tools.get(name, scope), config.servers, getGate);
1390
+ const cfgNow = () => ({
1391
+ prefix: config.prefix.get(),
1392
+ keep: config.keep.get(),
1393
+ servers: config.servers.get(),
1394
+ descriptionLimit: config.descriptionLimit.get(),
1395
+ });
1396
+ // Persistent enable/disable state: file-backed gate store (the 0.1.5
1397
+ // settings namespace is gone; volatile fields are for user-facing values,
1398
+ // which a machine id registry must never be). Reads come from the mirror,
1399
+ // writes go through atomically; the storage dir is read once — moving it
1400
+ // takes effect on the next plugin restart.
1401
+ const store = createFileGateStore(resolveGateDir(config.storageDir.get()), message => ctx.logger.warn(message));
1402
+ const getGate = () => store.get();
1403
+ const writeGate = (next) => store.write(next);
1404
+ // Live options object: getters re-resolve volatile config per execution, so
1405
+ // catalog/dispatch immediately follow settings-page edits (the list tool's
1406
+ // description text is the only factory-time freeze, and it is cosmetic).
1407
+ const listDefinition = createMcpListTool({
1408
+ get prefix() { return cfgNow().prefix; },
1409
+ get servers() { return cfgNow().servers; },
1410
+ get descriptionLimit() { return cfgNow().descriptionLimit; },
1411
+ getGate,
1412
+ }, scope => ctx.tools.schemas(scope));
1413
+ const callDefinition = createMcpCallTool(() => cfgNow().prefix, (name, scope) => ctx.tools.get(name, scope), () => cfgNow().servers, getGate);
1368
1414
  const disposers = [];
1369
1415
  try {
1370
1416
  disposers.push(ctx.tools.register(listDefinition));
@@ -1392,7 +1438,10 @@ export function apply(ctx, config) {
1392
1438
  // missing, shadowed, or foreign `mcp_list`/`mcp_call` means passthrough.
1393
1439
  const metaToolsLive = ctx.tools.get(MCP_LIST_TOOL_NAME, context.scope) === listDefinition
1394
1440
  && ctx.tools.get(MCP_CALL_TOOL_NAME, context.scope) === callDefinition;
1395
- return foldPromptAssembly(assembled, foldOptions, metaToolsLive, getGate());
1441
+ // Volatile knobs are re-read per assembly: settings-page edits reach the
1442
+ // next prompt without a plugin remount.
1443
+ const { prefix, keep, servers } = cfgNow();
1444
+ return foldPromptAssembly(assembled, { prefix, keep, servers }, metaToolsLive, getGate());
1396
1445
  });
1397
1446
  // Status + server toggles on the platform command service (visible in TUI
1398
1447
  // completion and web slash panels). The service is mounted SOFTLY: unlike
@@ -1423,18 +1472,13 @@ export function apply(ctx, config) {
1423
1472
  const schemas = ctx.tools.schemas(scope);
1424
1473
  const metaToolsLive = ctx.tools.get(MCP_LIST_TOOL_NAME, scope) === listDefinition
1425
1474
  && ctx.tools.get(MCP_CALL_TOOL_NAME, scope) === callDefinition;
1426
- // ONE snapshot per execution keeps config.gate and view.gate identical.
1475
+ // ONE snapshot per execution keeps config.gate and view.gate identical;
1476
+ // volatile knobs are re-read per invocation (live settings-page edits).
1427
1477
  const gate = getGate();
1428
1478
  return executeMcpCommand({
1429
1479
  rawInput: invocation.rawInput,
1430
1480
  schemas,
1431
- config: {
1432
- prefix: config.prefix,
1433
- keep: config.keep,
1434
- servers: config.servers,
1435
- descriptionLimit: config.descriptionLimit,
1436
- gate,
1437
- },
1481
+ config: { ...cfgNow(), gate },
1438
1482
  metaToolsLive,
1439
1483
  gate,
1440
1484
  signal: invocation.signal,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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": "dsh-mcp-adapter",
4
+ "description": "Token-efficient MCP shim: folds mcp__* tool schemas out of every assembled prompt, exposing constant meta-tools mcp_list / mcp_call instead."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "dsh-mcp-adapter",
4
+ "description": "省 token 的 MCP 垫片:把 mcp__* 工具 schema 折出每次组装的提示词,代之以恒定的 mcp_list / mcp_call 元工具。"
5
+ }
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiwayds/dsh-mcp-adapter",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "dsh plugin: token-efficient prompt-side shim for the official MCP client — folds mcp__* tool schemas out of every assembled prompt and exposes two constant meta-tools (mcp_list / mcp_call) instead",
5
5
  "keywords": [
6
6
  "dsh",
@@ -13,6 +13,7 @@
13
13
  "type": "module",
14
14
  "main": "lib/index.js",
15
15
  "types": "lib/index.d.ts",
16
+ "icon": "./icon.svg",
16
17
  "license": "MIT",
17
18
  "engines": {
18
19
  "node": ">=22.19.0"
@@ -22,10 +23,13 @@
22
23
  "scripts",
23
24
  "cordis.patch.yml",
24
25
  "README.md",
25
- "README.zh.md"
26
+ "README.zh.md",
27
+ "icon.svg",
28
+ "locale/*.json"
26
29
  ],
27
30
  "scripts": {
28
31
  "link-closure": "node scripts/link-dsh-closure.mjs",
32
+ "postinstall": "node scripts/link-dsh-closure.mjs",
29
33
  "build": "tsc -p tsconfig.json",
30
34
  "check": "tsc --noEmit -p tsconfig.json",
31
35
  "precheck": "node scripts/link-dsh-closure.mjs",
@@ -33,9 +37,38 @@
33
37
  "test": "node --test test/*.test.mjs",
34
38
  "smoke": "node scripts/smoke-boot.mjs"
35
39
  },
40
+ "peerDependencies": {
41
+ "@deepseek-ai/cordis": "4.0.4",
42
+ "@deepseek-ai/schemastery": "3.18.4",
43
+ "@deepseek-ai/dsh-commands": ">=0.1.7-rc.1",
44
+ "@deepseek-ai/dsh-llm": ">=0.1.7-rc.1",
45
+ "@deepseek-ai/dsh-scope": ">=0.1.7-rc.1",
46
+ "@deepseek-ai/dsh-system-prompt": ">=0.1.7-rc.1",
47
+ "@deepseek-ai/dsh-tools": ">=0.1.7-rc.1",
48
+ "@deepseek-ai/dsh-util-values": ">=0.1.7-rc.1"
49
+ },
50
+ "peerDependenciesMeta": {
51
+ "@deepseek-ai/cordis": {
52
+ "optional": true
53
+ },
54
+ "@deepseek-ai/schemastery": {
55
+ "optional": true
56
+ },
57
+ "@deepseek-ai/dsh-commands": {
58
+ "optional": true
59
+ }
60
+ },
36
61
  "devDependencies": {
37
62
  "@types/node": "^24.0.0",
38
- "typescript": "~5.9.0"
63
+ "typescript": "~5.9.0",
64
+ "@deepseek-ai/cordis": "4.0.4",
65
+ "@deepseek-ai/schemastery": "3.18.4",
66
+ "@deepseek-ai/dsh-commands": "0.1.7-rc.1",
67
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.1",
68
+ "@deepseek-ai/dsh-scope": "0.1.7-rc.1",
69
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
70
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.1",
71
+ "@deepseek-ai/dsh-util-values": "0.1.7-rc.1"
39
72
  },
40
73
  "dsh": {
41
74
  "bundle": {
@@ -19,9 +19,9 @@
19
19
  //
20
20
  // dsh-mcp-adapter note: with no MCP servers configured the meta-tools mount
21
21
  // but nothing folds (idle); the smoke proves the plugin LOADS and APPLIES —
22
- // including the settings-backed gate namespace registration — under the
23
- // real host, which is exactly the gate (a broken import/inject/compose dies
24
- // with a loader error).
22
+ // including the file-backed gate store construction (a silent no-op boot read
23
+ // when no gate file exists yet) — under the real host, which is exactly the
24
+ // gate (a broken import/inject/compose dies with a loader error).
25
25
 
26
26
  import { spawnSync } from 'node:child_process'
27
27
  import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs'