@deepseek-ai/dsh-sdk-jsonrpc-server 0.1.0-rc.7 → 0.1.0-rc.8

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/sdk/server/README.md
5
- README.md: 5377b4fcf425cc5e10497e9d40fdddc075d52a10
6
- README.zh.md: dcca65a7175bb2774460bf265d98e41439df6a01
5
+ README.md: 29ad5840b9d70c9c22ecd387730ba21ce89cbe07
6
+ README.zh.md: f5afb255c83fa62fa4c2891cf725ffbf4c93e77d
package/README.md CHANGED
@@ -22,7 +22,7 @@ The plugin answers `shutdown`, flushes the response, disposes the root context s
22
22
 
23
23
  ## Wire notes
24
24
 
25
- `initialize.serverInfo.name` is the wire-stable `deepseek-harness-sdk-runtime`. An optional positive `initialize.maxTokens` becomes the request output cap of each SDK-created agent and its in-process descendants; invalid values reject initialization, while omission sends no SDK cap and allows the selected adapter or provider route default to apply. `session/prompt` queues one identified user message and immediately returns `{ messageId }`. The server streams every durable fact as `session.event` and every whole-agent lifecycle transition as `session.status`; it does not assign an assistant message or `turn/end` to that prompt. Independent requests may enqueue more work on the same session. Persistence roots and persona come from `cordis.yml`.
25
+ `initialize` is the runtime-readiness boundary: when the server is mounted by a Loader composition, it waits for the current plugin tree to settle before replying, so async sibling capabilities such as initial MCP tool discovery are visible to the first prompt. Hand-built contexts without Loader remain immediately usable. `initialize.serverInfo.name` is the wire-stable `deepseek-harness-sdk-runtime`. An optional positive `initialize.maxTokens` becomes the request output cap of each SDK-created agent and its in-process descendants; invalid values reject initialization, while omission sends no SDK cap and allows the selected adapter or provider route default to apply. `session/prompt` queues one identified user message and immediately returns `{ messageId }`. The server streams every durable fact as `session.event` and every whole-agent lifecycle transition as `session.status`; it does not assign an assistant message or `turn/end` to that prompt. Independent requests may enqueue more work on the same session. Persistence roots and persona come from `cordis.yml`.
26
26
 
27
27
  ## Model Experience
28
28
 
package/README.zh.md CHANGED
@@ -22,7 +22,7 @@ Stdout 只承载 JSON-RPC 帧。部署不得组合 stdout logger;诊断应写
22
22
 
23
23
  ## 协议说明
24
24
 
25
- `initialize.serverInfo.name` 的协议稳定值为 `deepseek-harness-sdk-runtime`。可选的正整数 `initialize.maxTokens` 会成为每个 SDK 创建的 agent 及其进程内后代的请求输出上限;非法值会使初始化失败,省略时则不发送 SDK 上限,并应用所选适配器或提供方路由的默认值。`session/prompt` 将一条带标识的用户消息排入队列,并立即返回 `{ messageId }`。服务器将每个持久事实作为 `session.event` 流式发出,并将整个 agent 生命周期的每次状态转换作为 `session.status` 发出;它不会把某条助手消息或 `turn/end` 归属于该提示词。同一会话上的独立请求可以继续排入更多工作。持久化根目录和 persona 由 `cordis.yml` 提供。
25
+ `initialize` 是运行时就绪边界:服务器由 Loader 组合挂载时,会等待当前插件树完成所有加载任务后再响应,因此首次提示词能够看到 MCP 初始工具发现等异步同级能力。没有 Loader 的手工组装上下文仍可立即使用。`initialize.serverInfo.name` 的协议稳定值为 `deepseek-harness-sdk-runtime`。可选的正整数 `initialize.maxTokens` 会成为每个 SDK 创建的 agent 及其进程内后代的请求输出上限;非法值会使初始化失败,省略时则不发送 SDK 上限,并应用所选适配器或提供方路由的默认值。`session/prompt` 将一条带标识的用户消息排入队列,并立即返回 `{ messageId }`。服务器将每个持久事实作为 `session.event` 流式发出,并将整个 agent 生命周期的每次状态转换作为 `session.status` 发出;它不会把某条助手消息或 `turn/end` 归属于该提示词。同一会话上的独立请求可以继续排入更多工作。持久化根目录和 persona 由 `cordis.yml` 提供。
26
26
 
27
27
  ## 模型体验
28
28
 
package/lib/index.js CHANGED
@@ -236,6 +236,7 @@ function apply(ctx, config) {
236
236
  return exitTask;
237
237
  };
238
238
  transport.onRequest(async (method, params) => {
239
+ if (method === "initialize") await ctx.get("loader")?.await();
239
240
  const result = await server.handleRequest(method, params);
240
241
  if (method === "shutdown") setImmediate(() => {
241
242
  disposeAndExit();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-sdk-jsonrpc-server",
3
3
  "description": "Stdio JSON-RPC server plugin for out-of-process DeepSeek Harness SDK clients",
4
- "version": "0.1.0-rc.7",
4
+ "version": "0.1.0-rc.8",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -35,28 +35,28 @@
35
35
  "@deepseek-ai/schemastery": "^3.18.1"
36
36
  },
37
37
  "peerDependencies": {
38
- "@deepseek-ai/dsh-agent": "^0.1.0-rc.7",
39
- "@deepseek-ai/dsh-invariants": "^0.1.0-rc.7",
40
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.7",
41
- "@deepseek-ai/dsh-llm-deepseek": "^0.1.0-rc.7",
42
- "@deepseek-ai/dsh-scope": "^0.1.0-rc.7",
43
- "@deepseek-ai/dsh-sdk-protocol": "^0.1.0-rc.7",
44
- "@deepseek-ai/dsh-session": "^0.1.0-rc.7",
45
- "@deepseek-ai/dsh-subagent": "^0.1.0-rc.7",
46
- "@deepseek-ai/cordis": "^4.0.1"
38
+ "@deepseek-ai/dsh-agent": "^0.1.0-rc.8",
39
+ "@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
40
+ "@deepseek-ai/dsh-llm-deepseek": "^0.1.0-rc.8",
41
+ "@deepseek-ai/dsh-scope": "^0.1.0-rc.8",
42
+ "@deepseek-ai/dsh-sdk-protocol": "^0.1.0-rc.8",
43
+ "@deepseek-ai/dsh-subagent": "^0.1.0-rc.8",
44
+ "@deepseek-ai/dsh-session": "^0.1.0-rc.8",
45
+ "@deepseek-ai/cordis": "^4.0.1",
46
+ "@deepseek-ai/dsh-invariants": "^0.1.0-rc.8"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
50
- "@deepseek-ai/dsh-agent-spine-demo": "^0.1.0-rc.7",
51
- "@deepseek-ai/dsh-invariants": "^0.1.0-rc.7",
52
- "@deepseek-ai/dsh-llm-deepseek": "^0.1.0-rc.7",
53
- "@deepseek-ai/dsh-agent": "^0.1.0-rc.7",
54
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.7",
55
- "@deepseek-ai/dsh-scope": "^0.1.0-rc.7",
56
- "@deepseek-ai/dsh-sdk-protocol": "^0.1.0-rc.7",
57
- "@deepseek-ai/dsh-session": "^0.1.0-rc.7",
58
- "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.0-rc.7",
59
- "@deepseek-ai/dsh-subagent": "^0.1.0-rc.7",
50
+ "@deepseek-ai/dsh-agent": "^0.1.0-rc.8",
51
+ "@deepseek-ai/dsh-agent-spine-demo": "^0.1.0-rc.8",
52
+ "@deepseek-ai/dsh-invariants": "^0.1.0-rc.8",
53
+ "@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
54
+ "@deepseek-ai/dsh-llm-deepseek": "^0.1.0-rc.8",
55
+ "@deepseek-ai/dsh-scope": "^0.1.0-rc.8",
56
+ "@deepseek-ai/dsh-sdk-protocol": "^0.1.0-rc.8",
57
+ "@deepseek-ai/dsh-session": "^0.1.0-rc.8",
58
+ "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.0-rc.8",
59
+ "@deepseek-ai/dsh-subagent": "^0.1.0-rc.8",
60
60
  "@deepseek-ai/cordis": "^4.0.1"
61
61
  }
62
62
  }