dsh-mcp-panel 0.6.2 → 0.6.4

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/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project are documented in this file.
4
4
 
5
+ ## [0.6.4] - 2026-09-02
6
+
7
+ ### Changed
8
+
9
+ - Align the devDependency pins to the published dsh 0.1.2-alpha.5 line and re-verify the adaptation claims; no behavior change.
10
+
11
+ ## [0.6.3] - 2026-09-01
12
+
13
+ ### Changed
14
+
15
+ - Align the devDependency pins to the published dsh `0.1.2-alpha.3` line (11 `@deepseek-ai/dsh-*` packages), align `cordis`/`schemastery` to `^4.0.2`/`^3.18.2`, and raise the compat probe pins to `0.1.2-alpha.3`. No behavior change; the five-language READMEs record the alpha.3 fact.
16
+
5
17
  ## [0.6.2] - 2026-08-30
6
18
 
7
19
  ### Fixed
package/README.es.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Superficie | Estado |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` 0.1.2-alpha.5 (adaptado el 2026-09-02): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | Plataformas | Web GUI (doble cara: host + navegador) |
31
31
  | Modelo | Cualquiera (el panel es de solo lectura; solo la salida de `/mcp` es legible por el modelo) |
package/README.hi.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | सतह | स्थिति |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` 0.1.2-alpha.5 (2026-09-02 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | प्लेटफ़ॉर्म | Web GUI (दोहरा चेहरा: host + browser) |
31
31
  | मॉडल | कोई भी (पैनल रीड-ओनली है; केवल `/mcp` आउटपुट मॉडल-पठनीय है) |
package/README.md CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  | Surface | Status |
30
30
  |---|---|
31
- | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
31
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` 0.1.2-alpha.5 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
32
32
  | Node | `^22.19.0 \|\| >=24.0.0` |
33
33
  | Platforms | Web GUI (dual-face: host + browser) |
34
34
  | Model | Any (the panel is read-only; only `/mcp` output is model-readable) |
package/README.pt.md CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  | Superfície | Status |
27
27
  |---|---|
28
- | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
28
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` 0.1.2-alpha.5 (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
29
29
  | Node | `^22.19.0 \|\| >=24.0.0` |
30
30
  | Plataformas | Web GUI (duas faces: host + navegador) |
31
31
  | Modelo | Qualquer (o painel é somente leitura; só a saída de `/mcp` é legível pelo modelo) |
package/README.zh.md CHANGED
@@ -27,7 +27,7 @@
27
27
 
28
28
  | 维度 | 状态 |
29
29
  |---|---|
30
- | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` |
30
+ | Harness | DeepSeek Harness `0.1.1-rc.2`–`0.2.0` 0.1.2-alpha.5(2026-09-02 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
31
31
  | Node | `^22.19.0 \|\| >=24.0.0` |
32
32
  | 平台 | Web GUI(双面:Host + 浏览器) |
33
33
  | 模型 | 任意(面板只读;仅 `/mcp` 输出对模型可见) |
package/lib/index.js CHANGED
@@ -810,7 +810,7 @@ const INITIALIZE_PROTOCOL_VERSION = "2024-11-05";
810
810
  * advertised version tracks the package version. */
811
811
  const PROBE_CLIENT_INFO = {
812
812
  name: "dsh-mcp-panel",
813
- version: "0.6.2"
813
+ version: "0.6.4"
814
814
  };
815
815
  /** Display cap for server-reported name/version fields in probe details. */
816
816
  const DISPLAY_LIMIT = 80;
@@ -2306,7 +2306,10 @@ const DEFAULT_SERVICE_CONFIG = {
2306
2306
  /** Whether one agent's session currently has an open turn (approval precondition). */
2307
2307
  function hasOpenTurn(agent) {
2308
2308
  try {
2309
- const events = (agent?.session)?.events;
2309
+ const session = agent?.session;
2310
+ if (session === void 0 || session === null) return false;
2311
+ const probe = session;
2312
+ const events = typeof probe.snapshotEvents === "function" ? probe.snapshotEvents() : probe.events;
2310
2313
  if (!Array.isArray(events)) return false;
2311
2314
  for (let index = events.length - 1; index >= 0; index -= 1) {
2312
2315
  const type = events[index]?.type;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-mcp-panel",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "MCP management console for the official DeepSeek Harness MCP client: /mcp command with health diagnostics and pipeline trial calls, a Settings MCP tab with server CRUD (append-only profile-patch fragments, approval-gated writes with automatic backups), a tool trial console over the official tool pipeline, connection status, reconnect counts and sanitized tool inventory, plus an optional Streamable HTTP probe.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -81,7 +81,7 @@
81
81
  ],
82
82
  "compatibility": {
83
83
  "dshVersions": [
84
- "0.1.1-rc.2"
84
+ "0.1.2-alpha.5"
85
85
  ]
86
86
  },
87
87
  "capability": {
@@ -114,13 +114,13 @@
114
114
  "node": "^22.19.0 || >=24.0.0"
115
115
  },
116
116
  "peerDependencies": {
117
- "@deepseek-ai/cordis": "^4.0.1",
117
+ "@deepseek-ai/cordis": "^4.0.2",
118
118
  "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
119
119
  "@deepseek-ai/dsh-commands": ">=0.1.0-rc.8 <0.2.0",
120
120
  "@deepseek-ai/dsh-jobs": ">=0.1.0-rc.8 <0.2.0",
121
121
  "@deepseek-ai/dsh-tools": ">=0.1.0-rc.8 <0.2.0",
122
122
  "@deepseek-ai/dsh-typert-protocol": ">=0.1.0-rc.8 <0.2.0",
123
- "@deepseek-ai/schemastery": "^3.18.0",
123
+ "@deepseek-ai/schemastery": "^3.18.2",
124
124
  "@deepseek-ai/dsh-client-connection": ">=0.1.1-rc.2 <0.2.0",
125
125
  "@deepseek-ai/dsh-api-remotes": ">=0.1.1-rc.2 <0.2.0",
126
126
  "@deepseek-ai/dsh-client-locale": ">=0.1.1-rc.2 <0.2.0",
@@ -147,25 +147,26 @@
147
147
  "@deepseek-ai/dsh-subprocess": "0.1.1-rc.2"
148
148
  },
149
149
  "devDependencies": {
150
- "@deepseek-ai/cordis": "^4.0.1",
150
+ "@deepseek-ai/dsh-attachment": "0.1.2-alpha.5",
151
+ "@deepseek-ai/cordis": "^4.0.2",
151
152
  "@deepseek-ai/cordis-plugin-include": "1.0.6",
152
153
  "@deepseek-ai/cordis-plugin-loader": "^1.0.2",
153
- "@deepseek-ai/dsh-agent": "0.1.1-rc.2",
154
- "@deepseek-ai/dsh-app-boot": "0.1.1-rc.2",
155
- "@deepseek-ai/dsh-api-remotes": "0.1.1-rc.2",
156
- "@deepseek-ai/dsh-client-connection": "0.1.1-rc.2",
157
- "@deepseek-ai/dsh-client-locale": "0.1.1-rc.2",
158
- "@deepseek-ai/dsh-client-ui-settings": "0.1.1-rc.2",
159
- "@deepseek-ai/dsh-client-ui-slots": "0.1.1-rc.2",
160
- "@deepseek-ai/dsh-cmdline": "0.1.1-rc.2",
161
- "@deepseek-ai/dsh-commands": "0.1.1-rc.2",
162
- "@deepseek-ai/dsh-home-paths": "0.1.1-rc.2",
163
- "@deepseek-ai/dsh-jobs": "0.1.1-rc.2",
164
- "@deepseek-ai/dsh-session": "0.1.1-rc.2",
165
- "@deepseek-ai/dsh-system-prompt": "0.1.1-rc.2",
166
- "@deepseek-ai/dsh-tools": "0.1.1-rc.2",
167
- "@deepseek-ai/dsh-typert-protocol": "0.1.1-rc.2",
168
- "@deepseek-ai/schemastery": "^3.18.0",
154
+ "@deepseek-ai/dsh-agent": "0.1.2-alpha.5",
155
+ "@deepseek-ai/dsh-app-boot": "0.1.2-alpha.5",
156
+ "@deepseek-ai/dsh-api-remotes": "0.1.2-alpha.5",
157
+ "@deepseek-ai/dsh-client-connection": "0.1.2-alpha.5",
158
+ "@deepseek-ai/dsh-client-locale": "0.1.2-alpha.5",
159
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.5",
160
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.5",
161
+ "@deepseek-ai/dsh-cmdline": "0.1.2-alpha.5",
162
+ "@deepseek-ai/dsh-commands": "0.1.2-alpha.5",
163
+ "@deepseek-ai/dsh-home-paths": "0.1.2-alpha.5",
164
+ "@deepseek-ai/dsh-jobs": "0.1.2-alpha.5",
165
+ "@deepseek-ai/dsh-session": "0.1.2-alpha.5",
166
+ "@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.5",
167
+ "@deepseek-ai/dsh-tools": "0.1.2-alpha.5",
168
+ "@deepseek-ai/dsh-typert-protocol": "0.1.2-alpha.5",
169
+ "@deepseek-ai/schemastery": "^3.18.2",
169
170
  "@types/node": "^22.19.0",
170
171
  "@types/react": "18.3.31",
171
172
  "@vitest/coverage-v8": "4.1.10",
package/src/probe.ts CHANGED
@@ -38,7 +38,7 @@ const INITIALIZE_PROTOCOL_VERSION = '2024-11-05'
38
38
  /** MCP clientInfo facts; protocol constants, not configuration. Exported so the
39
39
  * version-consistency tripwire (`tests/version.spec.ts`) can assert the
40
40
  * advertised version tracks the package version. */
41
- export const PROBE_CLIENT_INFO = { name: 'dsh-mcp-panel', version: '0.6.2' }
41
+ export const PROBE_CLIENT_INFO = { name: 'dsh-mcp-panel', version: '0.6.4' }
42
42
 
43
43
  /** One settled probe: outcome status plus a sanitized one-line detail. */
44
44
  export interface ProbeOutcome {
package/src/service.ts CHANGED
@@ -167,8 +167,12 @@ const DEFAULT_SERVICE_CONFIG: McpPanelServiceConfig = {
167
167
  /** Whether one agent's session currently has an open turn (approval precondition). */
168
168
  function hasOpenTurn(agent: unknown): boolean {
169
169
  try {
170
- const session = (agent as { session?: { events?: readonly { type?: unknown }[] } } | null)?.session
171
- const events = session?.events
170
+ const session = (agent as { session?: unknown } | null)?.session
171
+ if (session === undefined || session === null) return false
172
+ // alpha.5 renamed Session.events to snapshotEvents(); the peer floor
173
+ // (>=0.1.0-rc.8) still exposes .events, so detect at runtime.
174
+ const probe = session as { snapshotEvents?: () => readonly { type?: unknown }[]; events?: readonly { type?: unknown }[] }
175
+ const events = typeof probe.snapshotEvents === 'function' ? probe.snapshotEvents() : probe.events
172
176
  if (!Array.isArray(events)) return false
173
177
  for (let index = events.length - 1; index >= 0; index -= 1) {
174
178
  const type = events[index]?.type