@deepseek-ai/dsh-mcp-client 0.1.6-alpha.2 → 0.1.7-alpha.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.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/mcp/mcp-client/README.md
5
- README.md: a241dda5d77da5cea1d7092a99d670ead564ba03
6
- README.zh.md: dbebdae8675aecf9c1107f53c9aeec9469def1df
5
+ README.md: d9f81a79b8c54b1437d051f46a72196fd84742c9
6
+ README.zh.md: d6f3e9337c80e5535bb1239dfb7752f3485dbde3
package/README.md CHANGED
@@ -108,7 +108,7 @@ This section explains the design decisions behind the bridge and points at the c
108
108
  - **Naming is a pinned contract.** Public names are pure functions of `(serverName, rawName)` and satisfy the DeepSeek function-name contract; lossy normalization appends a 12-hex-char SHA-256 hash so distinct identities never collapse. Session history and permission rules therefore survive HMR swaps, re-syncs, and other servers' changes.
109
109
  - **The raw name is the only wire name.** `tools/call` always receives the raw name; the public name is never sent to the server and never parsed to recover the raw name.
110
110
  - **Full generation or none.** Syncs swap generations atomically: a fetch failure keeps the previous generation, and a registration conflict rolls back the entire attempted generation.
111
- - **One canonical value, one projection.** The executor returns the protocol-complete canonical `McpResult`; a separate ordered projection prepares Native content, and `finalizeContent` installs it only when the registry's post-execute result is unchanged, so policy blocks and value replacements stay authoritative.
111
+ - **One canonical value, one projection.** The executor preserves the complete canonical MCP value and prepares ordered text/image content. `projectContent` installs that content before `tools/post-execute`, so retention sees real images. Subsequent content replacement, value replacement, and blocking remain authoritative.
112
112
 
113
113
  ### Source map
114
114
 
package/README.zh.md CHANGED
@@ -108,7 +108,7 @@ kind: "package-reference"
108
108
  - **命名是固定约定。** 公开名称是 `(serverName, rawName)` 的纯函数,并满足 DeepSeek 函数名称约定;有损规范化会追加 12 位十六进制 SHA-256 hash,使不同身份绝不会折叠。会话历史与权限规则因此能在 HMR(热模块替换)、重新同步和其他服务器变化后保持有效。
109
109
  - **原始名称是唯一的协议名称。** `tools/call` 始终收到原始名称;公开名称绝不会发给服务器,也绝不会被解析来还原原始名称。
110
110
  - **要么完整世代,要么没有。** 同步会原子地交换世代:获取失败保留上一世代,注册冲突则回滚整个尝试中的世代。
111
- - **一个规范值,一个投影。** 执行器返回协议完整的规范 `McpResult`;另一个有序投影准备 Native 内容,`finalizeContent` 只在注册表的执行后结果未变时安装它,因此策略块与值替换保持权威。
111
+ - **一个规范值,一个投影。** 执行器保留完整的规范 MCP 返回值,并准备有序图文内容。`projectContent` 在 `tools/post-execute` 之前安装已准备的内容,让省略策略看到真实图片块。后续策略的内容替换、值替换和阻止均保持生效。
112
112
 
113
113
  ### 源码地图
114
114
 
package/lib/index.js CHANGED
@@ -185,7 +185,7 @@ function createMcpToolDefinition(ctx, options) {
185
185
  parameters: inputSchema,
186
186
  output: createOutput(rawName, supportedOutputSchema(options.outputSchema)),
187
187
  execute: createExecutor(ctx, options, projections),
188
- finalizeContent(exec, result) {
188
+ projectContent(exec, result) {
189
189
  const projection = projections.get(exec);
190
190
  if (projection === void 0) return void 0;
191
191
  projections.delete(exec);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-mcp-client",
3
3
  "description": "MCP client bridge: connects to MCP servers and registers their tools on ctx.tools",
4
- "version": "0.1.6-alpha.2",
4
+ "version": "0.1.7-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,20 +27,20 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
- "@deepseek-ai/dsh-scope": "^0.1.6-alpha.2",
31
- "@deepseek-ai/dsh-attachment": "^0.1.6-alpha.2",
32
- "@deepseek-ai/dsh-llm": "^0.1.6-alpha.2",
33
- "@deepseek-ai/dsh-timeout": "^0.1.6-alpha.2",
34
- "@deepseek-ai/dsh-subprocess": "^0.1.6-alpha.2",
35
- "@deepseek-ai/dsh-tools": "^0.1.6-alpha.2",
36
- "@deepseek-ai/dsh-mcp-resources": "^0.1.6-alpha.2",
37
- "@deepseek-ai/dsh-system-prompt": "^0.1.6-alpha.2",
38
- "@deepseek-ai/cordis": "^4.0.2"
30
+ "@deepseek-ai/dsh-attachment": "0.1.7-alpha.2",
31
+ "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
32
+ "@deepseek-ai/dsh-scope": "0.1.7-alpha.2",
33
+ "@deepseek-ai/dsh-subprocess": "0.1.7-alpha.2",
34
+ "@deepseek-ai/dsh-timeout": "0.1.7-alpha.2",
35
+ "@deepseek-ai/dsh-tools": "0.1.7-alpha.2",
36
+ "@deepseek-ai/cordis": "~4.0.4",
37
+ "@deepseek-ai/dsh-mcp-resources": "0.1.7-alpha.2",
38
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-alpha.2"
39
39
  },
40
40
  "dependencies": {
41
41
  "@modelcontextprotocol/client": "2.0.0",
42
- "@deepseek-ai/schemastery": "^3.18.2",
43
- "@deepseek-ai/dsh-util-values": "^0.1.6-alpha.2"
42
+ "@deepseek-ai/schemastery": "~3.18.4",
43
+ "@deepseek-ai/dsh-util-values": "0.1.7-alpha.2"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@modelcontextprotocol/server-everything": "^2026.7.4",
@@ -48,17 +48,17 @@
48
48
  "@modelcontextprotocol/server": "2.0.0",
49
49
  "@modelcontextprotocol/node": "2.0.0",
50
50
  "zod": "^4.4.3",
51
- "@deepseek-ai/dsh-attachment": "^0.1.6-alpha.2",
52
- "@deepseek-ai/dsh-attachment-local": "^0.1.6-alpha.2",
53
- "@deepseek-ai/dsh-llm": "^0.1.6-alpha.2",
54
- "@deepseek-ai/dsh-scope": "^0.1.6-alpha.2",
55
- "@deepseek-ai/dsh-timeout": "^0.1.6-alpha.2",
56
- "@deepseek-ai/dsh-tools": "^0.1.6-alpha.2",
57
- "@deepseek-ai/cordis": "^4.0.2",
58
- "@deepseek-ai/dsh-http-proxy": "^0.1.6-alpha.2",
59
- "@deepseek-ai/dsh-mcp-resources": "^0.1.6-alpha.2",
60
- "@deepseek-ai/dsh-system-prompt": "^0.1.6-alpha.2",
61
- "@deepseek-ai/dsh-subprocess": "^0.1.6-alpha.2"
51
+ "@deepseek-ai/dsh-attachment": "0.1.7-alpha.2",
52
+ "@deepseek-ai/dsh-attachment-local": "0.1.7-alpha.2",
53
+ "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
54
+ "@deepseek-ai/dsh-scope": "0.1.7-alpha.2",
55
+ "@deepseek-ai/dsh-subprocess": "0.1.7-alpha.2",
56
+ "@deepseek-ai/dsh-timeout": "0.1.7-alpha.2",
57
+ "@deepseek-ai/dsh-tools": "0.1.7-alpha.2",
58
+ "@deepseek-ai/dsh-mcp-resources": "0.1.7-alpha.2",
59
+ "@deepseek-ai/dsh-http-proxy": "0.1.7-alpha.2",
60
+ "@deepseek-ai/cordis": "~4.0.4",
61
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-alpha.2"
62
62
  },
63
63
  "peerDependenciesMeta": {
64
64
  "@deepseek-ai/dsh-mcp-resources": {