@michengai/dsh-archive-manager 0.1.34 → 0.1.36

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
@@ -4,6 +4,20 @@
4
4
 
5
5
  Published release notes are retained below; new versions are added without removing earlier entries.
6
6
 
7
+ ## 0.1.36 - 2026-09-10
8
+
9
+ - Harden release delivery: align dependency cooling preflight and synchronize bilingual GitHub Releases only after confirming the exact npm version and commit; recover already-published releases without reinstalling or republishing.
10
+ - Wait for npm latest propagation to avoid incorrectly marking new releases as non-Latest; fix negative timeout values and deadline diagnostics while preserving abort causes and ordinary network errors.
11
+ - Add release recovery, CLI, bilingual notes, and deadline regressions; plugin runtime behavior and the four-version compatibility range remain unchanged.
12
+
13
+ ## 0.1.35 - 2026-09-10
14
+
15
+ - Support DSH `0.1.5-rc.1`: restore workspace selection, session opening, and fork navigation; dismiss global panels when opening or creating sessions, and suppress stale navigation and draft handoff after panel switches or disposal.
16
+ - Route sidebar open/fork actions through the new navigation service with legacy fallbacks; restrict DSH peers to `0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1` and pin development dependencies to `0.1.5-rc.1`.
17
+ - Add navigation and sidebar wiring regressions, validate those four exact versions in the isolated matrix; explicitly provide Zustand/Immer required by the official Store in Node tests.
18
+ - Passed real browser acceptance in an isolated DSH `0.1.5-rc.1` Web Profile: archive/restore, deletion and subagent cascades, cross-filter batch deletion, workspace and global-panel navigation, forks, content search, and restart persistence; no external model calls were made.
19
+
20
+
7
21
  ## 0.1.34 - 2026-09-09
8
22
 
9
23
  - Unified settings headings, descriptions, and action layouts; maintenance controls no longer squeeze titles or versions. The layout adapts to native DSH settings without Codex UI.
@@ -4,6 +4,20 @@
4
4
 
5
5
  以下发布说明会持续保留;新增版本时不再删除较早记录。
6
6
 
7
+ ## 0.1.36 - 2026-09-10
8
+
9
+ - 加固发布流程:统一依赖冷却预检,在 npm 精确版本与提交确认后再同步双语 GitHub Release;已发布版本可直接恢复 Release,无需重复安装或发布。
10
+ - 等待 npm latest 传播,避免新版本误标为非 Latest;修复等待截止点的负超时参数和错误提示,保留原始中止原因及普通网络错误。
11
+ - 补充发布恢复、CLI、双语说明与截止边界回归;插件运行实现及四版本兼容范围保持不变。
12
+
13
+ ## 0.1.35 - 2026-09-10
14
+
15
+ - 适配 DSH `0.1.5-rc.1`:补齐工作区选择、打开会话与分叉导航,在新建或打开会话时退出全局面板;切换面板或卸载后不再执行迟到的导航及草稿交接。
16
+ - 侧栏打开与分叉接入新版导航服务,保留旧宿主回退;DSH peer 范围精确限定为 `0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1`,开发依赖固定至 `0.1.5-rc.1`。
17
+ - 新增导航与侧栏接线回归,隔离矩阵验证上述四个精确版本;显式补齐官方 Store 在 Node 测试中需要的 Zustand/Immer 依赖。
18
+ - 在隔离 DSH `0.1.5-rc.1` Web Profile 完成真实浏览器验收:归档恢复、删除与子会话级联、跨筛选批量删除、工作区与全局面板导航、分叉、正文搜索及重启持久性通过;未调用外部模型。
19
+
20
+
7
21
  ## 0.1.34 - 2026-09-09
8
22
 
9
23
  - 统一设置页标题、说明与操作布局,标题及版本不再被维护按钮挤压;适配原生 DSH 设置内容区,无需安装 Codex UI。
package/README.md CHANGED
@@ -55,18 +55,20 @@ For a ready-to-use workbench, download [DSH Codex Desktop](https://github.com/Mi
55
55
 
56
56
  ## Prerequisites
57
57
 
58
- - Plugin `0.1.33` and later support DeepSeek Harness `0.1.3-alpha.2` (official master `c389f96`) alongside the verified legacy hosts listed below. Later master commits require separate validation.
58
+ - The current source supports DeepSeek Harness `0.1.5-rc.1` and the legacy hosts below. These changes were published in plugin `0.1.35`. Later versions require separate validation.
59
59
 
60
60
  - A working DeepSeek Harness Web installation with `dsh` available in PowerShell.
61
61
  - Examples use the `web` profile; replace it with the target profile.
62
62
  - Source installation and development require Node.js 22+ and pnpm. npm installation does not require running `pnpm install` separately.
63
63
 
64
+ DSH peer dependencies accept only `0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1`; other RCs and stable versions are not automatically accepted. Development dependencies remain pinned to `0.1.5-rc.1`.
65
+
64
66
  ## Installation
65
67
 
66
68
  Run `pnpm test:compat` to test the same plugin artifacts with isolated host dependencies. The following combinations have passed; this does not claim coverage of every intermediate release:
67
69
 
68
70
  - `pnpm test`: build and run local tests, excluding `test/fixtures`; local host links may affect dependency resolution.
69
- - `pnpm test:matrix`: build, then install three isolated host versions and run the full matrix.
71
+ - `pnpm test:matrix`: build, then install four isolated host versions and run the full matrix.
70
72
  - `pnpm test:latest`: build, then run the six real storage tests against the isolated latest baseline.
71
73
  - `pnpm test:compat`: validate legacy cache migration and run the full matrix.
72
74
 
@@ -74,11 +76,12 @@ Do not run `test/fixtures/*.mjs` directly. Fixtures validate the isolated entry
74
76
 
75
77
  | DSH | Cordis | Automated regression |
76
78
  | --- | --- | --- |
77
- | `0.1.1-rc.2` | `4.0.1` | 134 passed, plus legacy cache migration validation |
78
- | `0.1.2-rc.1` | `4.0.2` | 134 passed |
79
- | `0.1.3-alpha.2` | `4.0.2` | 137 passed |
79
+ | `0.1.0-rc.8` | `4.0.1` | 153 passed |
80
+ | `0.1.1-rc.2` | `4.0.1` | 153 passed, plus legacy cache migration validation |
81
+ | `0.1.2-rc.1` | `4.0.2` | 153 passed |
82
+ | `0.1.5-rc.1` | `4.0.2` | 156 passed |
80
83
 
81
- Coverage includes client Remote integration, archive/restore, real JSONL/Zstandard deletion and subagent cascades, and queries/reopened storage after deletion. Tested on Windows / Node.js 24; a full DSH Web browser acceptance run has not been performed. The latest storage fixture isolates only the upstream POSIX `fs-ext` import that cannot load on Windows; file operations and native Windows locking still use the official implementation.
84
+ Coverage includes workspace navigation, global-panel dismissal, cancellation of stale navigation, sidebar wiring, peer version acceptance, client Remote integration, archive/restore, real JSONL/Zstandard deletion and subagent cascades, and queries/reopened storage after deletion. Tested on Windows / Node.js 24. A real browser acceptance run also passed in an isolated DSH 0.1.5-rc.1 Web Profile: package installation, archive/restore, deletion cancellation and confirmation, subagent cascades, cross-filter batch deletion, workspace selection, returning from global panels, new sessions and forks, content search, and restart persistence. Content search requires an open host query database; it passed after changing the isolated Profile from `openAt: never` to `startup`. The other three versions have isolated automated coverage only; no external model calls were made. The latest storage fixture isolates only the upstream POSIX `fs-ext` import that cannot load on Windows; file operations and native Windows locking still use the official implementation.
82
85
 
83
86
  The installation commands below use the official npm registry.
84
87
 
@@ -183,3 +186,11 @@ pnpm verify
183
186
  ## License
184
187
 
185
188
  Licensed under [Apache License 2.0](LICENSE).
189
+
190
+ Before creating or pushing a release tag, run `pnpm release:preflight` in PowerShell 7 (`pwsh`). It installs from the official npm registry with a frozen lockfile and the same 1440-minute release-age policy as CI, then runs the full `verify` suite. Recent dependencies require committed, exact-version exclusions; manual retries never add exclusions dynamically.
191
+
192
+ Tag releases and manual retries verify the exact npm version and `gitHead` before creating or updating the bilingual GitHub Release. Network, authorization, or metadata errors stop the flow. Retrying an older tag does not take GitHub Latest away from the npm latest version. These release controls do not change the four supported host versions.
193
+
194
+ Recovery checks the npm package name, version, and tag commit first. An exact match skips dependency installation, full builds, and republishing, and only synchronizes the Release. Unpublished old tags must still satisfy their original cooling policy. Exact-version and latest propagation each have a two-minute deadline; a lagging latest tag does not create a non-Latest Release prematurely.
195
+
196
+ Updating main does not retrigger an existing tag. After pushing workflow changes, manually run `publish.yml` on main with the original tag (for example, `v0.1.35`); do not move or recreate the tag.
package/README.zh-CN.md CHANGED
@@ -55,18 +55,20 @@
55
55
 
56
56
  ## 前置条件
57
57
 
58
- - 从插件 `0.1.33` 起支持 DeepSeek Harness `0.1.3-alpha.2`(官方 master `c389f96`),同时兼容下表中已验证的旧版宿主。后续 master 提交需另行验证。
58
+ - 当前源码已适配 DeepSeek Harness `0.1.5-rc.1`,并保留下表中的旧版兼容路径;已随插件 `0.1.35` 发布到 npm。后续版本需另行验证。
59
59
 
60
60
  - 已可正常运行 DeepSeek Harness Web,且可在 PowerShell 中使用 `dsh`。
61
61
  - 以下示例使用 `web` profile;请替换为实际目标 profile。
62
62
  - 从源码安装或二次开发需要 Node.js 22+ 与 pnpm;仅从 npm 安装无需另外执行 `pnpm install`。
63
63
 
64
+ DSH peer 依赖仅接受 `0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1`;不自动接纳其他 RC 或正式版。开发依赖仍固定为 `0.1.5-rc.1`。
65
+
64
66
  ## 安装
65
67
 
66
68
  源码回归使用 `pnpm test:compat`,在隔离依赖环境中运行同一份插件产物,已验证以下组合(不代表覆盖所有中间版本):
67
69
 
68
70
  - `pnpm test`:构建并执行本地常规测试,不包含 `test/fixtures`;实际依赖可能受本机宿主链接影响。
69
- - `pnpm test:matrix`:先构建,再隔离安装三个宿主版本,执行完整矩阵。
71
+ - `pnpm test:matrix`:先构建,再隔离安装四个宿主版本,执行完整矩阵。
70
72
  - `pnpm test:latest`:先构建,再隔离运行最新版的 6 项真实存储回归。
71
73
  - `pnpm test:compat`:旧缓存迁移验证加完整矩阵。
72
74
 
@@ -74,11 +76,12 @@
74
76
 
75
77
  | DSH | Cordis | 自动回归 |
76
78
  | --- | --- | --- |
77
- | `0.1.1-rc.2` | `4.0.1` | 134 项通过,另含旧缓存迁移验证 |
78
- | `0.1.2-rc.1` | `4.0.2` | 134 项通过 |
79
- | `0.1.3-alpha.2` | `4.0.2` | 137 项通过 |
79
+ | `0.1.0-rc.8` | `4.0.1` | 153 项通过 |
80
+ | `0.1.1-rc.2` | `4.0.1` | 153 项通过,另含旧缓存迁移验证 |
81
+ | `0.1.2-rc.1` | `4.0.2` | 153 项通过 |
82
+ | `0.1.5-rc.1` | `4.0.2` | 156 项通过 |
80
83
 
81
- 覆盖客户端 Remote、归档/恢复、真实 JSONL/Zstandard 删除与子会话级联、删除后重新查询及重新打开存储。验证环境为 Windows / Node.js 24;尚未执行完整 DSH Web 浏览器人工验收。新版存储夹具仅隔离上游无法在 Windows 加载的 POSIX `fs-ext` 导入,实际文件操作与 Windows 原生锁仍使用官方实现。
84
+ 覆盖新版工作区导航、全局面板退出、异步导航取消、侧栏接线、peer 版本接纳、客户端 Remote、归档/恢复、真实 JSONL/Zstandard 删除与子会话级联、删除后重新查询及重新打开存储。验证环境为 Windows / Node.js 24。另已在隔离 DSH 0.1.5-rc.1 Web Profile 中完成真实浏览器验收:包安装、归档恢复、取消与确认删除、子会话级联、跨筛选批量删除、工作区选择、全局面板返回会话、新建与分叉、正文搜索和重启持久性均通过。正文搜索需开启宿主查询数据库;本次将隔离 Profile 的 `openAt: never` 改为 `startup` 后验证通过。其余三个版本仅完成隔离自动测试,未逐版执行浏览器验收;未调用外部模型。新版存储夹具仅隔离上游无法在 Windows 加载的 POSIX `fs-ext` 导入,实际文件操作与 Windows 原生锁仍使用官方实现。
82
85
 
83
86
  以下安装命令使用官方 npm 源。
84
87
 
@@ -183,3 +186,11 @@ pnpm verify
183
186
  ## 许可证
184
187
 
185
188
  本项目采用 [Apache License 2.0](LICENSE)。
189
+
190
+ 发布前在 PowerShell 7 (`pwsh`) 执行 `pnpm release:preflight`,通过后再创建、推送版本标签。该入口使用官方 npm registry、冻结锁文件及与 CI 一致的 1440 分钟依赖冷却策略,然后运行完整 `verify`。刚发布的依赖仅通过已提交的精确版本豁免接纳;手动重试不会动态修改豁免配置。
191
+
192
+ 标签发布与手动重试统一经过 npm 精确版本和 `gitHead` 校验,确认 npm 可查询后才创建或更新双语 GitHub Release。网络、权限或元数据异常会停止流程;旧标签重试不会抢占 npm 最新版本对应的 GitHub Latest。仅新增了发布控制,不改变四个宿主版本的兼容范围。
193
+
194
+ 恢复已发布版本时,流程先校验 npm 包名、版本和标签提交:一致则跳过依赖安装、完整构建和再次发布,仅补同步 Release;未发布的旧标签仍需满足原标签的冷却策略,不能通过重试绕过。精确版本及 latest 传播分别最多等待两分钟,latest 落后时不提前创建非 Latest Release。
195
+
196
+ 已推送的旧标签不会因 main 更新而重新触发。推送工作流更新后,可手动运行 `publish.yml`,选择 main 并填写原标签(例如 `v0.1.35`);无需移动或重新创建标签。
package/lib/client.js CHANGED
@@ -3757,6 +3757,12 @@
3757
3757
  const sessions = ctx.sessions;
3758
3758
  const workspaces = ctx.workspaces;
3759
3759
  const connecting = /* @__PURE__ */ new Map();
3760
+ const lifetime = new AbortController();
3761
+ const layoutAt = () => ctx.get("layout");
3762
+ const beginNavigation = () => {
3763
+ const signal = layoutAt()?.beginNavigation?.();
3764
+ return signal === void 0 ? lifetime.signal : AbortSignal.any([signal, lifetime.signal]);
3765
+ };
3760
3766
  const recentWorkspace = () => {
3761
3767
  const workspaceState = workspaces.list.getSnapshot();
3762
3768
  const sessionState = sessions.list.getSnapshot();
@@ -3796,6 +3802,26 @@
3796
3802
  connecting.set(workspaceId, attempt);
3797
3803
  return attempt;
3798
3804
  },
3805
+ /** 打开指定会话,并从新版全局面板回到对话。 */
3806
+ openSession(sessionId) {
3807
+ if (lifetime.signal.aborted) return;
3808
+ sessions.open(sessionId);
3809
+ layoutAt()?.selectPanel?.(null);
3810
+ },
3811
+ /** 创建或复用工作区会话;导航仍有效时先交接草稿,失败向调用方传播。 */
3812
+ async openWorkspace(workspaceId, beforeOpen) {
3813
+ const navigation = beginNavigation();
3814
+ const sessionId = await service.connectWorkspace(workspaceId);
3815
+ if (navigation.aborted) return;
3816
+ beforeOpen?.(sessionId);
3817
+ if (!navigation.aborted) service.openSession(sessionId);
3818
+ },
3819
+ /** 分叉落盘后仅在导航未取消时打开结果,保留失败语义。 */
3820
+ async forkSession(sessionId) {
3821
+ const navigation = beginNavigation();
3822
+ const childId = await sessions.fork({ sessionId, increaseTitle: true });
3823
+ if (!navigation.aborted) service.openSession(childId);
3824
+ },
3799
3825
  startSession(workspaceId) {
3800
3826
  const workspaceState = workspaces.list.getSnapshot();
3801
3827
  const sessionState = sessions.list.getSnapshot();
@@ -3804,11 +3830,10 @@
3804
3830
  const target = workspaceId ?? currentWorkspaceId ?? recent;
3805
3831
  if (target === void 0) {
3806
3832
  sessions.clear();
3833
+ layoutAt()?.selectPanel?.(null);
3807
3834
  return;
3808
3835
  }
3809
- void service.connectWorkspace(target).then((sessionId) => {
3810
- sessions.open(sessionId);
3811
- }, (reason) => {
3836
+ void service.openWorkspace(target).catch((reason) => {
3812
3837
  console.warn("new session failed:", reason);
3813
3838
  });
3814
3839
  },
@@ -3876,11 +3901,15 @@
3876
3901
  reconcile();
3877
3902
  return () => {
3878
3903
  disposed = true;
3904
+ lifetime.abort();
3879
3905
  disposeSessions();
3880
3906
  disposeWorkspaces();
3881
3907
  };
3882
3908
  }, "dsh-archive-manager: uiWorkspace navigation policy");
3883
- return dispose;
3909
+ return () => {
3910
+ lifetime.abort();
3911
+ dispose();
3912
+ };
3884
3913
  }
3885
3914
  async function archiveWorkspaceSessionsAndRefresh(registry, workspaceId, refresh) {
3886
3915
  const result = await registry.archiveWorkspaceSessions(workspaceId);
@@ -3991,7 +4020,9 @@
3991
4020
  else ctx.workspaces.startSession(workspaceId);
3992
4021
  },
3993
4022
  open: (sessionId) => {
3994
- ctx.sessions.open(sessionId);
4023
+ const uiWorkspace = uiWorkspaceAt();
4024
+ if (typeof uiWorkspace?.openSession === "function") uiWorkspace.openSession(sessionId);
4025
+ else ctx.sessions.open(sessionId);
3995
4026
  },
3996
4027
  searchSessions,
3997
4028
  searchResultLimit: ctx.sessions.searchResultLimit,
@@ -4001,12 +4032,13 @@
4001
4032
  const result = await session.rename(title);
4002
4033
  if (!result.ok) throw new Error(result.error.message);
4003
4034
  },
4004
- forkSession: (sessionId) => ctx.sessions.fork({
4005
- sessionId,
4006
- increaseTitle: true
4007
- }).then((childId) => {
4008
- ctx.sessions.open(childId);
4009
- }),
4035
+ forkSession: (sessionId) => {
4036
+ const uiWorkspace = uiWorkspaceAt();
4037
+ if (typeof uiWorkspace?.forkSession === "function") return uiWorkspace.forkSession(sessionId);
4038
+ return ctx.sessions.fork({ sessionId, increaseTitle: true }).then((childId) => {
4039
+ ctx.sessions.open(childId);
4040
+ });
4041
+ },
4010
4042
  renameWorkspace: async (workspaceId, title) => {
4011
4043
  await ctx.workspaces.rename(workspaceId, title);
4012
4044
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michengai/dsh-archive-manager",
3
- "version": "0.1.34",
3
+ "version": "0.1.36",
4
4
  "description": "NPM-installable DSH Web plugin for managing archived sessions.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.22.0",
@@ -33,26 +33,27 @@
33
33
  "test:compat": "node scripts/test-legacy-compatibility.mjs && pnpm test:matrix",
34
34
  "pack:check": "pnpm pack --dry-run",
35
35
  "verify": "pnpm test && pnpm test:compat && pnpm pack:check && node scripts/check-generated.mjs",
36
+ "release:preflight": "pwsh -NoProfile -File scripts/release-preflight.ps1",
36
37
  "prepublishOnly": "pnpm verify"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "@deepseek-ai/cordis": "^4.0.1",
40
- "@deepseek-ai/dsh-client-connection": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
41
- "@deepseek-ai/dsh-client-locale": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
42
- "@deepseek-ai/dsh-client-runtime": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
43
- "@deepseek-ai/dsh-client-store": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
44
- "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
45
- "@deepseek-ai/dsh-client-ui-primitives": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
46
- "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
47
- "@deepseek-ai/dsh-client-ui-workspace": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
48
- "@deepseek-ai/dsh-host-webserver": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
49
- "@deepseek-ai/dsh-session": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
50
- "@deepseek-ai/dsh-session-projection-cache": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
51
- "@deepseek-ai/dsh-spill-local": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
52
- "@deepseek-ai/dsh-storage-domain": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
53
- "@deepseek-ai/dsh-typert-protocol": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
54
- "@deepseek-ai/dsh-typert-registry": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4",
55
- "@deepseek-ai/dsh-workspace": ">=0.1.0-rc.5 <0.2.0 || >=0.1.1-rc.2 <0.1.2 || >=0.1.2-rc.1 <0.1.3 || >=0.1.3-alpha.2 <0.1.4"
41
+ "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
42
+ "@deepseek-ai/dsh-client-locale": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
43
+ "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
44
+ "@deepseek-ai/dsh-client-store": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
45
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
46
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
47
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
48
+ "@deepseek-ai/dsh-client-ui-workspace": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
49
+ "@deepseek-ai/dsh-host-webserver": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
50
+ "@deepseek-ai/dsh-session": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
51
+ "@deepseek-ai/dsh-session-projection-cache": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
52
+ "@deepseek-ai/dsh-spill-local": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
53
+ "@deepseek-ai/dsh-storage-domain": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
54
+ "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
55
+ "@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1",
56
+ "@deepseek-ai/dsh-workspace": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1"
56
57
  },
57
58
  "peerDependenciesMeta": {
58
59
  "@deepseek-ai/dsh-client-runtime": {
@@ -64,32 +65,35 @@
64
65
  },
65
66
  "devDependencies": {
66
67
  "@deepseek-ai/cordis": "4.0.2",
67
- "@deepseek-ai/dsh-api-gateway": "0.1.3-alpha.2",
68
- "@deepseek-ai/dsh-client-connection": "0.1.3-alpha.2",
69
- "@deepseek-ai/dsh-client-locale": "0.1.3-alpha.2",
70
- "@deepseek-ai/dsh-client-store": "0.1.3-alpha.2",
71
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.3-alpha.2",
72
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.3-alpha.2",
73
- "@deepseek-ai/dsh-client-ui-sidebar": "0.1.3-alpha.2",
74
- "@deepseek-ai/dsh-client-ui-slots": "0.1.3-alpha.2",
75
- "@deepseek-ai/dsh-client-ui-workspace": "0.1.3-alpha.2",
76
- "@deepseek-ai/dsh-host-webserver": "0.1.3-alpha.2",
77
- "@deepseek-ai/dsh-invariants": "0.1.3-alpha.2",
78
- "@deepseek-ai/dsh-scope": "0.1.3-alpha.2",
79
- "@deepseek-ai/dsh-session": "0.1.3-alpha.2",
80
- "@deepseek-ai/dsh-session-persistence": "0.1.3-alpha.2",
81
- "@deepseek-ai/dsh-session-projection": "0.1.3-alpha.2",
82
- "@deepseek-ai/dsh-session-projection-cache": "0.1.3-alpha.2",
83
- "@deepseek-ai/dsh-spill": "0.1.3-alpha.2",
84
- "@deepseek-ai/dsh-spill-local": "0.1.3-alpha.2",
85
- "@deepseek-ai/dsh-storage": "0.1.3-alpha.2",
86
- "@deepseek-ai/dsh-storage-domain": "0.1.3-alpha.2",
87
- "@deepseek-ai/dsh-typert-protocol": "0.1.3-alpha.2",
88
- "@deepseek-ai/dsh-typert-registry": "0.1.3-alpha.2",
89
- "@deepseek-ai/dsh-workspace": "0.1.3-alpha.2",
68
+ "@deepseek-ai/dsh-api-gateway": "0.1.5-rc.1",
69
+ "@deepseek-ai/dsh-client-connection": "0.1.5-rc.1",
70
+ "@deepseek-ai/dsh-client-locale": "0.1.5-rc.1",
71
+ "@deepseek-ai/dsh-client-store": "0.1.5-rc.1",
72
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.5-rc.1",
73
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.1",
74
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.1.5-rc.1",
75
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.1",
76
+ "@deepseek-ai/dsh-client-ui-workspace": "0.1.5-rc.1",
77
+ "@deepseek-ai/dsh-host-webserver": "0.1.5-rc.1",
78
+ "@deepseek-ai/dsh-invariants": "0.1.5-rc.1",
79
+ "@deepseek-ai/dsh-scope": "0.1.5-rc.1",
80
+ "@deepseek-ai/dsh-session": "0.1.5-rc.1",
81
+ "@deepseek-ai/dsh-session-persistence": "0.1.5-rc.1",
82
+ "@deepseek-ai/dsh-session-projection": "0.1.5-rc.1",
83
+ "@deepseek-ai/dsh-session-projection-cache": "0.1.5-rc.1",
84
+ "@deepseek-ai/dsh-spill": "0.1.5-rc.1",
85
+ "@deepseek-ai/dsh-spill-local": "0.1.5-rc.1",
86
+ "@deepseek-ai/dsh-storage": "0.1.5-rc.1",
87
+ "@deepseek-ai/dsh-storage-domain": "0.1.5-rc.1",
88
+ "@deepseek-ai/dsh-typert-protocol": "0.1.5-rc.1",
89
+ "@deepseek-ai/dsh-typert-registry": "0.1.5-rc.1",
90
+ "@deepseek-ai/dsh-workspace": "0.1.5-rc.1",
90
91
  "react": "18.3.1",
91
92
  "react-dom": "18.3.1",
92
- "esbuild": "0.25.0"
93
+ "esbuild": "0.25.0",
94
+ "zustand": "4.4.7",
95
+ "immer": "10.1.1",
96
+ "semver": "7.7.2"
93
97
  },
94
98
  "license": "Apache-2.0",
95
99
  "dsh": {