stratagate-dsh 0.3.16 → 0.3.17

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/docs/DSH.md CHANGED
@@ -237,9 +237,13 @@ For diagnostics, the five most recent successful memory-model responses are reta
237
237
 
238
238
  ## Compatibility and permissions
239
239
 
240
- Installation peers and startup checks support the complete DSH `0.2.0` version family: all Alpha, Beta, RC, and stable releases (`>=0.2.0-0 <0.2.1-0`), without enumerating individual prereleases. Previously supported DSH `0.1.2-rc.1`, CLI `0.1.5-rc.1` (internal packages `0.1.5-rc.2`), `0.1.6-alpha.1`, and the `0.1.7` family from rc.1 through stable remain supported. Startup still requires one coherent internal DSH version and compatible Cordis `4.0.x` patches from `4.0.4` and Schemastery `3.18.x` patches from `3.18.4`; older hosts retain their original dependency families. DSH `0.1.8`, `0.2.1`, and their prereleases remain excluded.
240
+ DSH `0.2.1-rc.1` reads the unified host declaration `engines.dsh: "0.1.2-rc.1 || >=0.1.5-rc.1 <0.3.0-0"`; older hosts use the peer declarations. CLI `0.1.5-rc.1` shipped internal packages at `0.1.5-rc.2`, explaining the different lower bounds.
241
241
 
242
- Development dependencies are pinned to DSH `0.2.0-rc.2` for reproducible checks. The release-gate matrix is configured to verify the previously listed older hosts plus `0.2.0-rc.1` and `0.2.0-rc.2` on Node `24`, Linux, and Windows. `dshWorkshop.compatibility.dshVersions` records concrete verification hosts; installation compatibility comes from the full peer ranges, so that test list does not restrict future `0.2.0` updates.
242
+ Installation peers use continuous compatibility ranges: `0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0` for general DSH interfaces and `>=0.1.5-rc.2 <0.3.0-0` for Session Format interfaces. Existing legacy adapters remain available. Hosts such as `0.2.1-rc.1` and later `0.2.x` updates need no individual whitelist entries or patch-version upper bounds. DSH `0.3.0`, including every prerelease, remains outside the support boundary until its key interfaces are verified. DSH checks these ranges with `includePrerelease`, accepting alpha, beta, RC, and stable versions within the boundary; ordinary npm range matching does not guarantee acceptance of later prereleases.
243
+
244
+ Startup still requires one coherent internal DSH version. From the `0.2.0` prereleases onward, Session Format packages must also match the core version. Modern hosts require Cordis `4.0.x` patches from `4.0.4` and Schemastery `3.18.x` patches from `3.18.4`; older hosts retain their original dependency families. Before migration or database access, startup checks tool registration, system prompt, model streaming, and default model selection interfaces. The migration loader also validates codec, migration-stage, and restoration entry points before proceeding. Missing interfaces stop the operation with a specific diagnostic. Method presence alone does not prove behavioral compatibility: strict artifact validation, immutable source generations, and recovery receipts remain in place. A continuous range does not mean every version within it has been tested.
245
+
246
+ Development dependencies remain pinned to DSH `0.2.0-rc.2` for reproducible checks. `dshWorkshop.compatibility.dshVersions` records concrete regression hosts rather than an installation whitelist. Use `DSH_VERSION=<version> node scripts/run-dsh-compatibility.mjs` to check a new host within the peer ranges. Current repository policy skips GitHub CI and Roadmap synchronization while retaining local verification.
243
247
 
244
248
  On DSH `0.2.0`, the host-owned `dsh-session-format`, `dsh-session-format-catalog`, and `dsh-session-format-v0-to-v1` packages must also match the core DSH version. Mixed or missing Session Format packages stop startup before legacy migration; earlier hosts retain their existing compatibility rules.
245
249
 
package/docs/DSH.zh-CN.md CHANGED
@@ -214,11 +214,13 @@ Topic Projection 优先将全部本批 Event 完整分配到章节和小节。
214
214
 
215
215
  ## 兼容性与权限
216
216
 
217
- 安装声明与启动检查支持整个 DSH `0.2.0` 版本族:全部 Alpha、Beta、RC 和正式版(`>=0.2.0-0 <0.2.1-0`),无需逐个列出预发布版本。此前支持的 DSH `0.1.2-rc.1`、CLI `0.1.5-rc.1`(内部包 `0.1.5-rc.2`)、`0.1.6-alpha.1`,以及从 rc.1 到正式版的 `0.1.7` 仍受支持。启动时仍要求核心 DSH 包来自同一个版本,并限制 Cordis 为 `4.0.x`(从 `4.0.4` 起)、Schemastery 为 `3.18.x`(从 `3.18.4` 起);早期宿主保留其原有依赖族。`0.1.8`、`0.2.1` 及其预发布版本均不在支持范围内。
217
+ 新版 DSH(从 `0.2.1-rc.1` 起)直接读取统一宿主声明 `engines.dsh: "0.1.2-rc.1 || >=0.1.5-rc.1 <0.3.0-0"`;旧版宿主继续使用 peer 声明。CLI `0.1.5-rc.1` 对应内部包 `0.1.5-rc.2`,两者下限不同是历史发布差异。
218
218
 
219
- 开发依赖固定为 DSH `0.2.0-rc.2`,保证检查可复现。发布门禁配置在 Node `24`、Linux 和 Windows 上验证此前列出的旧宿主,以及 `0.2.0-rc.1` 和 `0.2.0-rc.2`。`dshWorkshop.compatibility.dshVersions` 记录用于验证的具体宿主;安装兼容性由完整的 peer 版本范围声明,测试版本列表不会限制新的 `0.2.0` 更新。
219
+ 安装声明使用连续兼容范围:普通 DSH 接口为 `0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0`,Session Format 接口为 `>=0.1.5-rc.2 <0.3.0-0`。保留已有旧版适配,取消每次宿主升级都追加白名单和设置补丁版本上限的做法;`0.2.1-rc.1` 及后续 `0.2.x` 更新无需逐版追加。`0.3.0` 及其全部预发布版暂不接纳,待关键接口验证后再调整边界。DSH 的兼容检查启用了 `includePrerelease`,范围内的 Alpha、Beta、RC 和正式版均可匹配;普通 npm 的默认范围匹配不保证接纳后续预发布版。
220
220
 
221
- 在 DSH `0.2.0` 上,由宿主提供的 `dsh-session-format`、`dsh-session-format-catalog` 和 `dsh-session-format-v0-to-v1` 也必须与核心 DSH 包版本一致。Session Format 包混装或缺失时,插件会在旧会话迁移前拒绝启动;早期宿主保留原有兼容规则。
221
+ 运行时仍要求核心 DSH 包来自同一个版本;从 `0.2.0` 预发布版起,也要求 Session Format 包与核心版本一致。新版宿主的 Cordis 保持 `4.0.x`(从 `4.0.4` 起)、Schemastery 保持 `3.18.x`(从 `3.18.4` 起),早期宿主保留其原有依赖族。启动时先检查工具注册、系统提示词、模型调用和默认模型选择接口,再迁移会话或打开数据库;迁移模块加载后,先验证编解码器、迁移阶段和恢复校验入口。接口缺失时给出具体名称并停止操作。方法存在不保证行为完全兼容,迁移仍保留严格内容校验、原始代际不变与恢复收据;连续版本范围也不代表已实测其中每个版本。
222
+
223
+ 开发依赖固定为 DSH `0.2.0-rc.2`,保证检查可复现。`dshWorkshop.compatibility.dshVersions` 记录用于回归验证的具体宿主,不是安装白名单;安装兼容性由 peer 版本范围声明。可通过 `DSH_VERSION=目标版本 node scripts/run-dsh-compatibility.mjs` 验证范围内的新宿主。按当前仓库约定跳过 GitHub CI 与 Roadmap 同步,保留本地验证。
222
224
 
223
225
  DSH 核心包现在都是由宿主提供的可选 peer。若某个 profile 曾在本地安装这些 peer,升级后、启动前运行 `dsh plugin --profile <名称> exec stratagate-dsh-repair`。该命令只会把已知 DSH 运行时包移动到 profile 内的 `.stratagate-runtime-backups` 并写入恢复收据,不会删除包或触碰会话数据。启动时 bootstrap 还会把 StrataGate 自身的 DSH 导入定向到宿主维护的共享模块回退目录,再检查实际解析出的 DSH 核心族;未知宿主会立即给出明确错误并停止,而不是让正文区域空白。对于受支持的 DSH `0.1.5`、`0.1.6`、`0.1.7` 和 `0.2.0`,含已废弃 `stratagate/memory-citations` 事件的 v0 会话会先复制成经过校验的 v1 代际,再由宿主继续其迁移链;原始 v0 日志不会被修改,并写入 `stratagate-legacy-citations-v1.json` 记录源/目标哈希和恢复说明。
224
226
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stratagate-dsh",
3
- "version": "0.3.16",
3
+ "version": "0.3.17",
4
4
  "description": "Recent conversations stay vivid. Older ones fade into summaries, not oblivion. StrataGate gives DeepSeek Harness six-layer, time-decaying memory, while lasting events and relationships settle into a knowledge graph. Bring your memories from other AIs with you—no need to start over.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -151,21 +151,22 @@
151
151
  "access": "public"
152
152
  },
153
153
  "engines": {
154
+ "dsh": "0.1.2-rc.1 || >=0.1.5-rc.1 <0.3.0-0",
154
155
  "node": "^22.19.0 || >=24.0.0"
155
156
  },
156
157
  "peerDependencies": {
157
158
  "@deepseek-ai/cordis": "4.0.2 || ~4.0.4",
158
- "@deepseek-ai/dsh-agent-default-model": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
159
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
160
- "@deepseek-ai/dsh-llm": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
161
- "@deepseek-ai/dsh-native-command": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
162
- "@deepseek-ai/dsh-session": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
163
- "@deepseek-ai/dsh-session-format": "0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
164
- "@deepseek-ai/dsh-session-format-catalog": "0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
165
- "@deepseek-ai/dsh-session-format-v0-to-v1": "0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
166
- "@deepseek-ai/dsh-settings": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
167
- "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
168
- "@deepseek-ai/dsh-tools": "0.1.2-rc.1 || 0.1.5-rc.2 || 0.1.6-alpha.1 || >=0.1.7-rc.1 <0.1.8-0 || >=0.2.0-0 <0.2.1-0",
159
+ "@deepseek-ai/dsh-agent-default-model": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
160
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
161
+ "@deepseek-ai/dsh-llm": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
162
+ "@deepseek-ai/dsh-native-command": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
163
+ "@deepseek-ai/dsh-session": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
164
+ "@deepseek-ai/dsh-session-format": ">=0.1.5-rc.2 <0.3.0-0",
165
+ "@deepseek-ai/dsh-session-format-catalog": ">=0.1.5-rc.2 <0.3.0-0",
166
+ "@deepseek-ai/dsh-session-format-v0-to-v1": ">=0.1.5-rc.2 <0.3.0-0",
167
+ "@deepseek-ai/dsh-settings": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
168
+ "@deepseek-ai/dsh-system-prompt": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
169
+ "@deepseek-ai/dsh-tools": "0.1.2-rc.1 || >=0.1.5-rc.2 <0.3.0-0",
169
170
  "@deepseek-ai/schemastery": "3.18.2 || ~3.18.4"
170
171
  },
171
172
  "peerDependenciesMeta": {
@@ -226,6 +227,7 @@
226
227
  "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
227
228
  "@deepseek-ai/schemastery": "3.18.4",
228
229
  "@types/node": "^22.0.0",
230
+ "@types/semver": "^7.8.0",
229
231
  "cytoscape": "^3.34.1",
230
232
  "cytoscape-fcose": "^2.2.0",
231
233
  "esbuild": "^0.28.2",
@@ -236,7 +238,8 @@
236
238
  },
237
239
  "dependencies": {
238
240
  "ngraph.graph": "^20.1.2",
239
- "ngraph.leiden": "^0.3.0"
241
+ "ngraph.leiden": "^0.3.0",
242
+ "semver": "^7.8.5"
240
243
  },
241
244
  "directories": {
242
245
  "doc": "docs",