From a78dd57b2366418d630a3d167a1ea8e13353e188 Mon Sep 17 00:00:00 2001 From: Menghuan1918 Date: Wed, 2 Sep 2026 21:43:34 +0800 Subject: [PATCH] feat: adapt to DSH 0.1.2-alpha.5 and bump to v0.19.0-alpha.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - pins: CI mount-gate CLI, dsh.plugin.json engines floor, and the @deepseek-ai/* peer floor / devDependencies baseline move to 0.1.2-alpha.5 (dsh-client-locale trails at 0.1.2-alpha.3 — no such release upstream; ^0.1.2-alpha.3 already accepts the alpha.5 runtime) - code: migrate the alpha.4 Session.events removal to snapshotEvents() (sidechat transcript live reads, fork inheritance, jobs.output replay, subagent activity) and drop the seedLength meta field the host removed from CreateAgentOptions.meta - gates: pnpm peers check clean, typecheck + 1137 unit tests green, real-host mount smoke 14/14 on npm-published 0.1.2-alpha.5 --- .github/workflows/ci.yml | 2 +- AGENTS.md | 8 +- README.md | 16 +- README_EN.md | 16 +- docs/external-plugin-guide.md | 2 +- dsh.plugin.json | 4 +- package.json | 64 ++-- pnpm-lock.yaml | 484 ++++++++++++------------- pnpm-workspace.yaml | 5 + src/client/service.ts | 2 +- src/context-types.ts | 9 +- src/index.ts | 2 +- src/jobs-routes.ts | 2 +- src/sidechat-routes.ts | 19 +- src/subagent-live-route.ts | 2 +- tests/e2e-host-protocol.spec.ts | 6 +- tests/jobs-routes.spec.ts | 2 +- tests/sidechat-routes.spec.ts | 3 +- tests/sidechat-seed-validation.spec.ts | 8 +- tests/subagent-live-route.spec.ts | 4 +- 20 files changed, 327 insertions(+), 333 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b9beaa8..a119c37 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,7 +84,7 @@ jobs: # DSH 0.1.2-alpha.x is published under the `alpha` dist-tag; the lanes # speak the slash-only RPC dialect (tests/e2e/host-protocol.ts). - name: Install dsh CLI (pinned) - run: npm install -g @deepseek-ai/dsh@0.1.2-alpha.3 + run: npm install -g @deepseek-ai/dsh@0.1.2-alpha.5 # lib/ is gitignored; the tarball is produced from this build. - name: Build and pack the npm tarball diff --git a/AGENTS.md b/AGENTS.md index af33548..f2442a1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,25 +19,25 @@ 「npm 打包 → 真实挂载 → 无头渲染」门禁(证明打包产物在真实 DSH 挂载后不 crash):`pnpm build && pnpm pack` 产 tarball → `scripts/e2e-mount.sh` 装进全新 scratch profile(`dsh plugin --profile web add file:`)并启动真实 `dsh web`(keyless,`--port 0`)→ `tests/e2e/mount.e2e.ts`(Playwright)断言 `[data-dsh-better-sidebar]` 挂载、无错误条/pageerror/console 错误,经「+ 菜单」逐个打开内置 tab(含终端懒加载 chunk),再经文件树打开 seed 文件强制加载 editor chunk(`client-editor.js`)。 -本地:`pnpm build && pnpm pack && pnpm exec playwright install chromium && pnpm test:mount`。CI 钉 `@deepseek-ai/dsh@0.1.2-alpha.3`(`alpha` dist-tag;peer 下限 `^0.1.2-alpha.3`)。e2e spec 命名 `*.e2e.ts` + vitest `exclude` 双保险;**改 `exclude` 必须保留默认排除项**(exclude 整体替换默认值)。 +本地:`pnpm build && pnpm pack && pnpm exec playwright install chromium && pnpm test:mount`。CI 钉 `@deepseek-ai/dsh@0.1.2-alpha.5`(`alpha` dist-tag;peer 下限 `^0.1.2-alpha.5`,`dsh-client-locale` 例外见 §3 第 9 条)。e2e spec 命名 `*.e2e.ts` + vitest `exclude` 双保险;**改 `exclude` 必须保留默认排除项**(exclude 整体替换默认值)。 --- ## 3. DSH 0.1.2-alpha 适配要点(alpha 通道) -**v0.18.0-alpha.0 起插件进入 alpha 通道,仅支持 DSH 0.1.2-alpha.x**(peer 下限 `^0.1.2-alpha.3`,CI 钉 `@deepseek-ai/dsh@0.1.2-alpha.3`,npm 走 `alpha` dist-tag)。对 0.1.0-rc.8 ~ 0.1.1-rc.2 的兼容层已删除——双方言 RPC(点分回退)、MarkdownText 双形状 labels、`dsh-client-runtime` externals/inject 残留行;stable DSH 用户请装 v0.17.1(npm `latest`)。发版:release.yml 按版本号是否含 `-` 自动选 `alpha`/`latest` dist-tag。 +**v0.18.0-alpha.0 起插件进入 alpha 通道,仅支持 DSH 0.1.2-alpha.x**(peer 下限 `^0.1.2-alpha.5`,CI 钉 `@deepseek-ai/dsh@0.1.2-alpha.5`,npm 走 `alpha` dist-tag)。对 0.1.0-rc.8 ~ 0.1.1-rc.2 的兼容层已删除——双方言 RPC(点分回退)、MarkdownText 双形状 labels、`dsh-client-runtime` externals/inject 残留行;stable DSH 用户请装 v0.17.1(npm `latest`)。发版:release.yml 按版本号是否含 `-` 自动选 `alpha`/`latest` dist-tag。 宿主契约(均经真机挂载冒烟 14/14 验证): 1. **一次性 token 鉴权**:就绪行 `dsh web: http://127.0.0.1:/?token=<43字符>`(导航换签名 cookie,干净 URL 401)。`e2e-mount.sh` 的 URL grep 必须延伸到空白(`[^ ]*`,在 `/` 截断丢 token);e2e 统一走 `tests/e2e/host.ts`(token 必选:`parseLaunchUrl` 对裸 origin 直接抛错),带 stamps 导航走 `gotoPage()`(先 addCookies 再直达——token 换 cookie 的 303 会丢弃同 URL 其它 query 参数)。插件 `/sidebar/*` 路由不受影响,同源 fetch 照旧。 2. **Remote gateway 斜杠 RPC(唯一方言)**:`POST /api/workspace/create`,payload 恰为 `{args: {...}}`,**args 按控制器 TS 参数名包装**(`workspace/create`、`session/create` → `{args:{request:{...}}}`;`session/list` 参数名 `_request` **不可省略**——`{}` 也被拒 `args fields do not match the descriptor`);envelope `method` 与路径一致,点分路径 404。请求由 `tests/e2e/host-protocol.ts` 的 `rpcAttempt` 构造、`tests/e2e-host-protocol.spec.ts` 锁定;要调新方法先在真机验参数名再进 `RPC_ARGS_KEY`。 3. **`MarkdownText` labels 嵌套契约**:必填 `labels: { code: { copyLabel, copiedLabel }, footnotes }`(漏传回退硬编码中文)。四个渲染点(mermaid.tsx / MarkdownHtml.tsx / TextEditor.tsx / SideChatView.tsx)统一走 `src/client/markdown-labels.tsx` 的 `markdownTextProps()`。 -4. **侧边对话转录走自有路由,不碰客户端宿主 RPC**:`ctx.connection.api`(含 `sessions.history`)在 alpha.1 整体移除,继任 `session/follow|page` 又对 `origin:'subagent'` 会话强制 subagent 地址(普通 `{kind:'session'}` 被 `agent-busy` 拒)且分页 `throughSeq` 不得超当前游标。转录因此由 **`sidechat.events`** 插件路由供给(`src/sidechat-routes.ts`:live 读 `agent.session.events`、冷读 `sessionPersistence.inspect`,服务端 `session/end-seed` 切割 + `afterSeq` 增量);`ctx.connection` 镜像与 inject 已删。设计见 [docs/plans/2026-08-20-sidechat-tab-design.md](docs/plans/2026-08-20-sidechat-tab-design.md) §10。 +4. **侧边对话转录走自有路由,不碰客户端宿主 RPC**:`ctx.connection.api`(含 `sessions.history`)在 alpha.1 整体移除,继任 `session/follow|page` 又对 `origin:'subagent'` 会话强制 subagent 地址(普通 `{kind:'session'}` 被 `agent-busy` 拒)且分页 `throughSeq` 不得超当前游标。转录因此由 **`sidechat.events`** 插件路由供给(`src/sidechat-routes.ts`:live 读 `agent.session.snapshotEvents()`(0.1.2-alpha.4 起的按需读 API,前身 `Session.events` 属性已删)、冷读 `sessionPersistence.inspect`,服务端 `session/end-seed` 切割 + `afterSeq` 增量);`ctx.connection` 镜像与 inject 已删。设计见 [docs/plans/2026-08-20-sidechat-tab-design.md](docs/plans/2026-08-20-sidechat-tab-design.md) §10。 5. **`dsh-settings` 无运行时 `settingsNamespace`**:命名空间合法性校验转为编译期模板字面量 `SettingsNamespaceInput`(小写字母开头 + `[a-z0-9-]` 尾部),`'dsh-better-sidebar'` 字面量直接过——宿主侧直接传常量(`src/index.ts` 的 settings inject)。 6. **`dsh-subagent` 的 `SUBAGENT_DESCRIPTOR_VERSION` 2 → 3**:sidechat 种子的 `subagent/descriptor` 版本由宿主包盖章,插件不硬编码;测试断言跟随常量(`tests/sidechat-routes.spec.ts`),勿钉字面量。 7. **`@deepseek-ai/dsh-client-runtime` 包已消亡**(继任 seed 是裸名 `dsh-client-store`,无 `/client` 子路径):peerDependencies、devDependencies、`dsh.client.inject`、chunk externals 白名单(`src/client/chunk-loader.ts` / `tsdown.config.ts` / `tests/chunk-loader.spec.ts` / `tests/manifest-consistency.spec.ts` 四处同步)均已无该条目。 8. **e2e scratch profile 的 `minimumReleaseAgeExclude` 含 `'@deepseek-ai/*'`**(`scripts/e2e-mount.sh` / `e2e-aggregate-mount.sh`,与仓库根 `pnpm-workspace.yaml` 同策):alpha 版本常在发布后 24h 内跑 lane,pnpm 11 的 `minimumReleaseAge` 默认会拒装新鲜包。 -9. **插件开发树的 dsh-* 传递 peer 需提升为 devDependencies**(alpha.3 首见):`dsh-subagent` 等 npm 包把 `dsh-attachment` 等 dsh-* 姊妹包全部声明为 peerDependencies(由宿主 bundle 树统一提供,宿主侧无此问题),插件仓库若只直接依赖其中一部分,其余 peer 在 pnpm 下会解析到树上残留的旧版——如 `dsh-attachment@0.1.1-rc.1` 缺 `admitPromptContent` 导出、`dsh-subagent` 产物 import 它时测试加载即崩。因此 devDependencies 需涵盖 dev 树实际触达的全部 peer(attachment / code-runtime / scope / session-projection / system-prompt / user-approval / util-time 七个即为此提升,与直接依赖同款精确钉版);`@deepseek-ai/cordis` peer 自 alpha.3 起要求 `^4.0.2`(上游全线 peer 已升)。适配新 alpha 版本时先跑 `pnpm peers check`,把新失配的传递 peer 一并提升进 devDependencies。 +9. **插件开发树的 dsh-* 传递 peer 需提升为 devDependencies**(alpha.3 首见):`dsh-subagent` 等 npm 包把 `dsh-attachment` 等 dsh-* 姊妹包全部声明为 peerDependencies(由宿主 bundle 树统一提供,宿主侧无此问题),插件仓库若只直接依赖其中一部分,其余 peer 在 pnpm 下会解析到树上残留的旧版——如 `dsh-attachment@0.1.1-rc.1` 缺 `admitPromptContent` 导出、`dsh-subagent` 产物 import 它时测试加载即崩。因此 devDependencies 需涵盖 dev 树实际触达的全部 peer(attachment / code-runtime / scope / session-projection / system-prompt / user-approval / util-time 七个即为此提升,与直接依赖同款精确钉版);`@deepseek-ai/cordis` peer 自 alpha.3 起要求 `^4.0.2`(上游全线 peer 已升)。适配新 alpha 版本时先跑 `pnpm peers check`,把新失配的传递 peer 一并提升进 devDependencies。例外:**`dsh-client-locale` 的 peer/devDep 允许落后于基线**(alpha.5 时上游停在 0.1.2-alpha.3 未发新版)——peer 下限 `^0.1.2-alpha.3` 天然容纳同 tuple 的 alpha.5 运行时,此时保持旧钉版并在 `pnpm-workspace.yaml` 注明,待上游发版再追平。 --- diff --git a/README.md b/README.md index fcd706a..6e627df 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ GitHub stars License: MIT dshfind

- 支持的 DSH 版本(v0.18.1-alpha.0 alpha 通道):0.1.2-alpha.3 + 支持的 DSH 版本(v0.19.0-alpha.0 alpha 通道):0.1.2-alpha.5 插件生态:GitHub topic dsh-better-sidebar

文件管理 编辑预览 内嵌浏览器 真实终端 文件变动 后台任务 侧边对话 插件接入

右侧栏 + 底部面板双工作台,并把 ctx.betterSidebar 服务开放给所有插件——
@@ -62,9 +62,9 @@ **前置**:已装好 DSH(`dsh web` 能正常运行),Node.js ≥ 20、pnpm ≥ 10。 **支持的 DSH 版本**: -支持的 DSH 版本(v0.18.1-alpha.0 alpha 通道):0.1.2-alpha.3 +支持的 DSH 版本(v0.19.0-alpha.0 alpha 通道):0.1.2-alpha.5 -> 🧪 **alpha 通道**:`v0.18.0-alpha.0` 起适配 DSH **0.1.2-alpha.x**(npm dist-tag `alpha`),不再支持 0.1.0-rc.8 ~ 0.1.1-rc.2——DSH stable 用户请继续用 `@latest`(v0.17.1);DSH 0.1.2-alpha.3 用户安装 `dsh-better-sidebar@alpha`。 +> 🧪 **alpha 通道**:`v0.18.0-alpha.0` 起适配 DSH **0.1.2-alpha.x**(npm dist-tag `alpha`),不再支持 0.1.0-rc.8 ~ 0.1.1-rc.2——DSH stable 用户请继续用 `@latest`(v0.17.1);DSH 0.1.2-alpha.5 用户安装 `dsh-better-sidebar@alpha`。 ```sh dsh plugin --profile web add dsh-better-sidebar@latest # 首次会因 pnpm 11 拦截 node-pty 构建脚本而失败(依赖已写入) @@ -258,7 +258,13 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar ## 🆕 最近更新 -**支持的 DSH 版本**:支持的 DSH 版本(v0.18.1-alpha.0 alpha 通道):0.1.2-alpha.3 · 完整发布历史见 [Releases](https://github.com/omdsh-dev/DSH-better-sidebar/releases) +**支持的 DSH 版本**:支持的 DSH 版本(v0.19.0-alpha.0 alpha 通道):0.1.2-alpha.5 · 完整发布历史见 [Releases](https://github.com/omdsh-dev/DSH-better-sidebar/releases) + +### v0.19.0-alpha.0 + +> 🧪 **alpha 通道**:本版仅支持 **DSH 0.1.2-alpha.x**(peer 下限 `^0.1.2-alpha.5`,npm dist-tag `alpha`,安装 `dsh-better-sidebar@alpha`)。 + +- 🔗 **适配 DSH 0.1.2-alpha.5(npm 已发布,`alpha` dist-tag)**:CI 挂载门禁钉版、`dsh.plugin.json` engines 下限与 `@deepseek-ai/*` peer / devDependencies 基线升至 0.1.2-alpha.5(真机挂载冒烟 14/14 验证)。`dsh-client-locale` 上游停在 0.1.2-alpha.3 未发新版,其 peer 下限 / devDep 保持并天然兼容 alpha.5 运行时(`pnpm peers check` 零失配,无需新增提升传递 peer)。代码适配了 alpha.4 的兼容性标记改动——`Session.events` 属性移除,迁移到按需读 API `snapshotEvents()`(sidechat 转录 live 读、fork 继承、`jobs.output` 回放、subagent 活跃度共 8 处),新建线程 meta 中宿主已删的 `seedLength` 一并移除;alpha.4 其余变化(双向 `send_message`、自定义模型发现复用 Profile 请求头、`SessionSeq`/`SessionLogOffset` 强类型)与 alpha.5(升级启动修复)经核实不触及本插件其余表面。 ### v0.18.1-alpha.0 @@ -478,7 +484,7 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar ## 🛠️ 开发与构建 ```sh -pnpm install # @deepseek-ai/* devDependencies 已发布(基线 0.1.2-alpha.3,alpha dist-tag),直接解析、无需令牌 +pnpm install # @deepseek-ai/* devDependencies 已发布(基线 0.1.2-alpha.5,alpha dist-tag),直接解析、无需令牌 pnpm typecheck # tsc --noEmit pnpm build # → lib/index.js + lib/invariant.js + lib/client.js + lib/client-registry.js + lib/types pnpm test # vitest(含 manifest 一致性守卫,需先 build) diff --git a/README_EN.md b/README_EN.md index 0855f3c..fa547d6 100644 --- a/README_EN.md +++ b/README_EN.md @@ -9,7 +9,7 @@ GitHub stars License: MIT dshfind

- Supported DSH versions (v0.18.1-alpha.0 alpha track): 0.1.2-alpha.3 + Supported DSH versions (v0.19.0-alpha.0 alpha track): 0.1.2-alpha.5 Plugin ecosystem: GitHub topic dsh-better-sidebar

File management Edit & preview Embedded browser Real terminal Changes Background tasks Side Chat Plugin integration

A dual workbench (right sidebar + bottom panel) that opens its ctx.betterSidebar service to every plugin —
@@ -62,9 +62,9 @@ **Prerequisites**: DSH installed (`dsh web` boots), Node.js ≥ 20, pnpm ≥ 10. **Supported DSH versions**: -Supported DSH versions (v0.18.1-alpha.0 alpha track): 0.1.2-alpha.3 +Supported DSH versions (v0.19.0-alpha.0 alpha track): 0.1.2-alpha.5 -> 🧪 **Alpha track**: starting with `v0.18.0-alpha.0` the plugin targets DSH **0.1.2-alpha.x** (npm dist-tag `alpha`) and drops 0.1.0-rc.8 ~ 0.1.1-rc.2 — stable-DSH users should stay on `@latest` (v0.17.1); DSH 0.1.2-alpha.3 users install `dsh-better-sidebar@alpha`. +> 🧪 **Alpha track**: starting with `v0.18.0-alpha.0` the plugin targets DSH **0.1.2-alpha.x** (npm dist-tag `alpha`) and drops 0.1.0-rc.8 ~ 0.1.1-rc.2 — stable-DSH users should stay on `@latest` (v0.17.1); DSH 0.1.2-alpha.5 users install `dsh-better-sidebar@alpha`. ```sh dsh plugin --profile web add dsh-better-sidebar@latest # first run fails: pnpm 11 blocks node-pty build scripts (the dependency is still written) @@ -263,7 +263,13 @@ The GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sid Service API base screenshot -**Supported DSH versions**: Supported DSH versions (v0.18.1-alpha.0 alpha track): 0.1.2-alpha.3 · full release history on the [Releases](https://github.com/omdsh-dev/DSH-better-sidebar/releases) page +**Supported DSH versions**: Supported DSH versions (v0.19.0-alpha.0 alpha track): 0.1.2-alpha.5 · full release history on the [Releases](https://github.com/omdsh-dev/DSH-better-sidebar/releases) page + +### v0.19.0-alpha.0 + +> 🧪 **Alpha track**: this release targets **DSH 0.1.2-alpha.x only** (peer floor `^0.1.2-alpha.5`, npm dist-tag `alpha`, install `dsh-better-sidebar@alpha`). + +- 🔗 **Adapted to DSH 0.1.2-alpha.5 (published to npm, `alpha` dist-tag)**: the CI mount gate's pin, the `dsh.plugin.json` engines floor, and the `@deepseek-ai/*` peer / devDependencies baseline moved up to 0.1.2-alpha.5 (verified by a real-host mount smoke 14/14). `dsh-client-locale` has no alpha.5 upstream (newest is 0.1.2-alpha.3), so its peer floor / devDep pin trail the baseline and already accept the alpha.5 runtime (`pnpm peers check` reports zero mismatches — no new transitive peers to hoist). The code adapts to alpha.4's compatibility-flagged change — the `Session.events` property was removed, migrated to the on-demand `snapshotEvents()` API (8 sites: sidechat transcript live reads, fork inheritance, `jobs.output` replay, subagent activity), and the `seedLength` meta field the host dropped was removed from thread creation; alpha.4's remaining changes (bidirectional `send_message`, custom-model discovery reusing Profile headers, `SessionSeq`/`SessionLogOffset` strong typing) and alpha.5's upgrade-startup fix were verified not to touch any other plugin surface. ### v0.18.1-alpha.0 @@ -474,7 +480,7 @@ The dashed cards at the end of the "Sidebar content" / "File viewers" grids in t ## 🛠️ Development & Build ```sh -pnpm install # @deepseek-ai/* devDependencies resolve (baseline 0.1.2-alpha.3, alpha dist-tag) — no token needed +pnpm install # @deepseek-ai/* devDependencies resolve (baseline 0.1.2-alpha.5, alpha dist-tag) — no token needed pnpm typecheck # tsc --noEmit pnpm build # → lib/index.js + lib/invariant.js + lib/client.js + lib/client-registry.js + lib/types pnpm test # vitest (includes manifest consistency guard; build first) diff --git a/docs/external-plugin-guide.md b/docs/external-plugin-guide.md index ca4c5ee..e733cd6 100644 --- a/docs/external-plugin-guide.md +++ b/docs/external-plugin-guide.md @@ -2,7 +2,7 @@ > 面向 **消费插件开发者**:如何让你的插件向 better-sidebar 注册新的侧边栏页面(tab)和文件类型预览器。 > -> 适用版本:**v0.4.0+**(`ctx.betterSidebar` 服务);声明式设置 **v0.4.1+**;text/number 设置行 **v0.11.0+**;badge/生命周期/定向打开/插件设置/版本探测 **v0.12.0+**;select 设置行(`settingSelect`)与外链认领(`urlTarget`)**v0.13.0+**;统一 `@deepseek-ai/cordis` 类型基底 **v0.15.2+**;自由窗口(`floatWindows`)**v0.16.0+**;终端固定(pin)**v0.17.0+**。当前版本 **v0.18.0-alpha.0**(alpha 通道,仅支持 DSH 0.1.2-alpha.x;stable 线为 v0.17.1)。 +> 适用版本:**v0.4.0+**(`ctx.betterSidebar` 服务);声明式设置 **v0.4.1+**;text/number 设置行 **v0.11.0+**;badge/生命周期/定向打开/插件设置/版本探测 **v0.12.0+**;select 设置行(`settingSelect`)与外链认领(`urlTarget`)**v0.13.0+**;统一 `@deepseek-ai/cordis` 类型基底 **v0.15.2+**;自由窗口(`floatWindows`)**v0.16.0+**;终端固定(pin)**v0.17.0+**。当前版本 **v0.19.0-alpha.0**(alpha 通道,仅支持 DSH 0.1.2-alpha.x;stable 线为 v0.17.1)。 > 权威代码:`src/client/service.ts`(服务实现)、`src/client/builtins/`(内置 8 tab + 6 viewer 参考实现)、`lib/types/client/service.d.ts`(类型声明)。 > 仓库开发规则(硬约束 / CI / 发版)见 [AGENTS.md](../AGENTS.md)。 diff --git a/dsh.plugin.json b/dsh.plugin.json index d242ec6..5c7694c 100644 --- a/dsh.plugin.json +++ b/dsh.plugin.json @@ -1,10 +1,10 @@ { "id": "dsh-external/dsh-better-sidebar", - "version": "0.18.1-alpha.0", + "version": "0.19.0-alpha.0", "main": "./lib/index.js", "description": "VSCode 风格右侧侧边栏:文件资源管理器 / 编辑器 / 终端 / Git / 浏览器,按会话隔离。暴露服务供其他插件注册侧边栏页面和文件预览器", "engines": { - "dsh": ">=0.1.2-alpha.3" + "dsh": ">=0.1.2-alpha.5" }, "contributes": { "tools": [], diff --git a/package.json b/package.json index 396ba08..28d9aaf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dsh-better-sidebar", - "version": "0.18.1-alpha.0", + "version": "0.19.0-alpha.0", "description": "DSH web plugin: a VSCode-like right sidebar (explorer / editor / terminal / git / browser), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.", "type": "module", "repository": { @@ -84,19 +84,19 @@ "license": "MIT", "peerDependencies": { "@deepseek-ai/cordis": "^4.0.2", - "@deepseek-ai/dsh-agent": "^0.1.2-alpha.3", + "@deepseek-ai/dsh-agent": "^0.1.2-alpha.5", "@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-llm": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-session": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-settings": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-subagent": "^0.1.2-alpha.3", - "@deepseek-ai/dsh-tools": "^0.1.2-alpha.3", + "@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-llm": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-session": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-settings": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-subagent": "^0.1.2-alpha.5", + "@deepseek-ai/dsh-tools": "^0.1.2-alpha.5", "@huanlin/dsh-plugin-better-locale": "^0.1.0", "react": "^18.2.0", "react-dom": "^18.2.0" @@ -140,26 +140,26 @@ }, "devDependencies": { "@cordisjs/plugin-loader": "^1.0.0-rc.5", - "@deepseek-ai/dsh-agent": "0.1.2-alpha.3", - "@deepseek-ai/dsh-attachment": "0.1.2-alpha.3", + "@deepseek-ai/dsh-agent": "0.1.2-alpha.5", + "@deepseek-ai/dsh-attachment": "0.1.2-alpha.5", "@deepseek-ai/dsh-client-locale": "0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.3", - "@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.3", - "@deepseek-ai/dsh-code-runtime": "0.1.2-alpha.3", - "@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.3", - "@deepseek-ai/dsh-invariants": "0.1.2-alpha.3", - "@deepseek-ai/dsh-llm": "0.1.2-alpha.3", - "@deepseek-ai/dsh-scope": "0.1.2-alpha.3", - "@deepseek-ai/dsh-session": "0.1.2-alpha.3", - "@deepseek-ai/dsh-session-projection": "0.1.2-alpha.3", - "@deepseek-ai/dsh-settings": "0.1.2-alpha.3", - "@deepseek-ai/dsh-subagent": "0.1.2-alpha.3", - "@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.3", - "@deepseek-ai/dsh-tools": "0.1.2-alpha.3", - "@deepseek-ai/dsh-user-approval": "0.1.2-alpha.3", - "@deepseek-ai/dsh-util-time": "0.1.2-alpha.3", + "@deepseek-ai/dsh-client-ui-conversation": "0.1.2-alpha.5", + "@deepseek-ai/dsh-client-ui-primitives": "0.1.2-alpha.5", + "@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.5", + "@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.5", + "@deepseek-ai/dsh-code-runtime": "0.1.2-alpha.5", + "@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.5", + "@deepseek-ai/dsh-invariants": "0.1.2-alpha.5", + "@deepseek-ai/dsh-llm": "0.1.2-alpha.5", + "@deepseek-ai/dsh-scope": "0.1.2-alpha.5", + "@deepseek-ai/dsh-session": "0.1.2-alpha.5", + "@deepseek-ai/dsh-session-projection": "0.1.2-alpha.5", + "@deepseek-ai/dsh-settings": "0.1.2-alpha.5", + "@deepseek-ai/dsh-subagent": "0.1.2-alpha.5", + "@deepseek-ai/dsh-system-prompt": "0.1.2-alpha.5", + "@deepseek-ai/dsh-tools": "0.1.2-alpha.5", + "@deepseek-ai/dsh-user-approval": "0.1.2-alpha.5", + "@deepseek-ai/dsh-util-time": "0.1.2-alpha.5", "@huanlin/dsh-plugin-better-locale": "^0.1.0", "@playwright/test": "^1.62.1", "@types/node": "^24.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8bfcb0b..13dc46a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -106,68 +106,68 @@ importers: specifier: ^1.0.0-rc.5 version: 1.0.0-rc.5(cordis@4.0.0-rc.8) '@deepseek-ai/dsh-agent': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(6db40c898bf1f9c9361b38a9ea2de9a5) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22) '@deepseek-ai/dsh-attachment': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/dsh-client-locale': specifier: 0.1.2-alpha.3 version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-client-ui-conversation': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(typescript@5.6.2) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(typescript@5.6.2) '@deepseek-ai/dsh-client-ui-primitives': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-client-ui-settings': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-client-ui-slots': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-code-runtime': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-host-webserver': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-invariants': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-llm': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-scope': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/dsh-session': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) '@deepseek-ai/dsh-session-projection': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))) '@deepseek-ai/dsh-settings': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/schemastery@3.18.2) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/schemastery@3.18.2) '@deepseek-ai/dsh-subagent': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(8e9d028c06ce5b195ed6c8c25c74c52c) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(00c979f1b0eef6aa717ed9b896ac2dd4) '@deepseek-ai/dsh-system-prompt': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) '@deepseek-ai/dsh-tools': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(9856107a6511bd37694bb5d55ebb619c) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(d031d96ea0c8995b40a270db2b7a6288) '@deepseek-ai/dsh-user-approval': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(802fc4f1099cfbae100b0e7a224c7b5b) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22))(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))) '@deepseek-ai/dsh-util-time': - specifier: 0.1.2-alpha.3 - version: 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + specifier: 0.1.2-alpha.5 + version: 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@huanlin/dsh-plugin-better-locale': specifier: ^0.1.0 - version: 0.1.0(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-client-locale@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 0.1.0(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-client-locale@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@playwright/test': specifier: ^1.62.1 version: 1.62.1 @@ -376,129 +376,124 @@ packages: '@deepseek-ai/cosmokit@1.8.3': resolution: {integrity: sha512-qBo+ronVM6Eu2WNVJXi8JcMiqZ19T9BRIpV+5qJUFPXjGH/Z0QKcQMC/IZJ7L394YTOtJgcovbk9qP0w2GsBXQ==} - '@deepseek-ai/dsh-agent@0.1.2-alpha.3': - resolution: {integrity: sha512-K1Pj9wqXmXjbMv4//wbPEPzaRBIYGluLzgnym2NPZFr9uS5h1soowUWVmI0lb3iU5FIUKuCg7YYEOrGSwPtRhQ==} + '@deepseek-ai/dsh-agent@0.1.2-alpha.5': + resolution: {integrity: sha512-vkl+p28Slcer7AUITOm0+LxFzyTHELU8lWA6CO3GYn4IGscNsa/2XSqF4+StZdu80ky+BxYq2hcW6NdTsOGDEw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session-projection': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-typert-protocol': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session-projection': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-typert-protocol': ^0.1.2-alpha.5 - '@deepseek-ai/dsh-attachment@0.1.2-alpha.3': - resolution: {integrity: sha512-KiJy3esEEthj2alvZLqGN6YH7Ncmia+lzJW9VWf8J9EThlmUrX9xcG6k8v/paLMyrAv2w4JKxvZCIuWZK5mIwA==} + '@deepseek-ai/dsh-attachment@0.1.2-alpha.5': + resolution: {integrity: sha512-n95PPpNfOBhsfwqt1aHCPBa0Mk3HhOOsy1nhobGTmCZUNYCqfMPwfp+inG3z9HpMeJcTM1Xlhy5E/egPTLb4cw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-brand': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-brand': ^0.1.2-alpha.5 - '@deepseek-ai/dsh-brand@0.1.2-alpha.3': - resolution: {integrity: sha512-Wttwt7HN09rdqVpcZj4ZRSbEjkoHC46+Bw/ik9DllmkNOYh8cNVELeJZPdCh+lk3bifJttTB/OI79B0N95xDxg==} + '@deepseek-ai/dsh-brand@0.1.2-alpha.5': + resolution: {integrity: sha512-jpOkfEV4p80UzxfuXCUE9Br+VCvf9VT3fun9fP9aIUh7kw/16MJQVFFdQAfKY/IAeW/Dj3GtkjXxJMBctqv3AQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 '@deepseek-ai/dsh-client-locale@0.1.2-alpha.3': resolution: {integrity: sha512-DPpPzn76TEdCV8z12u4f61DMObwpyZhYfthrHJZXY+eHmI/fYlA9lGYQqvcSizFNJfRY+4avrvDOm5eNonHLYw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-client-ui-conversation@0.1.2-alpha.3': - resolution: {integrity: sha512-9IWVc52NErf+BtcF4hkH5hYa0N1N2tl4ZPB841+1wQsGHXBSmsrG+VHRXk+2hZGL7d5xPYJN2XNHyi1lvBp58A==} + '@deepseek-ai/dsh-client-ui-conversation@0.1.2-alpha.5': + resolution: {integrity: sha512-9/hFj+REDWqAQc+KA6K5D2XKPk7UyJzmzOtkAs7pUqo2im5Qc5J6u4rrQEquZQNTl4rly5uTAIeEdE/Mwh+Q9w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.3': - resolution: {integrity: sha512-9IxT0JTMhllUxNd6Hfc5Ff7+v70KvtozujWJbfYLZBgYoeq5HbXKzL3vAcTr6AgLawKbHAaY+23Vw5Or826mAw==} + '@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.5': + resolution: {integrity: sha512-14EpzwRiPLBP7+6Vaeu/wYAqy+PTz+RR7wVke0Lg7HiQdXXRJNTyNlpPHlGIAsmk1qa8h6KzCR8Wylw5EsJY5A==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.3': - resolution: {integrity: sha512-DQcWLIGOPzG5fvIO1T4fqchAm5B2Kj6M1IOOOR2Gd1yXEaXruopKG0U9cT19pGXqiWMMSkd2Vlk4gUKUAj7sWA==} + '@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.5': + resolution: {integrity: sha512-clOlWHDVonS7MvN/ZSdsJudQGKCtiDgRjv52Vx058YArnxzlQZHSi5OTBGg1/Xmh5IOEcNAFf8lBEVTxVP8HLA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.3': - resolution: {integrity: sha512-2kG7nkDzplB9srByplo4D5GI5C7Hk/H+OZ/lt+rhwSIDQrZb5C4lfBv/XXeAj7i7DE1XBgKnvIfq6kg1XA/eBA==} + '@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.5': + resolution: {integrity: sha512-S3B3gmCBHeytkX05AgM2hAov2h0LFRI8jPzgINrAdKsGnwf+BiMDNQcwsjwpaIbZHuphT0Sfxbhm6ltgXvpVPw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-code-runtime@0.1.2-alpha.3': - resolution: {integrity: sha512-+cHj36Z4aQVlIawfPO7vv1/8abbKDBbLVS96ld8cktOzy43L2Dugm3SjbicMkSMXvvp/W0rUO+utp4B7R+fcLw==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - - '@deepseek-ai/dsh-host-webserver@0.1.2-alpha.3': - resolution: {integrity: sha512-VSlbioqJZ8JSQmFnjYXr7U/R7NCfL8fo9ztiYpRTAoqrSoodaabA6hH79Mueb+gAVHOtzpNRLK8dWDkqczmDVA==} - peerDependencies: - '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - - '@deepseek-ai/dsh-invariants@0.1.2-alpha.3': - resolution: {integrity: sha512-Y7O9XtME9u8HBtIT5b1tD32L3kTLRDnwpNw99MVmVWAcrHAZ40qbLnyH3DxiZi6nuKutbqsG1Bmypwt9hyUUng==} + '@deepseek-ai/dsh-code-runtime@0.1.2-alpha.5': + resolution: {integrity: sha512-ZRVuIDmYnyb30VDuFitd9/4oVId9qq2oQJj1boV/VCritu/fhrpx76S8MRaKmm8l66h299/XCTDkZ+z6tanmhQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-llm@0.1.2-alpha.3': - resolution: {integrity: sha512-xGedBtvxb1HJWCmVO9v3fhHqoZ1iMDQU1x7fqAhhDfjKjmLTljWC1/RdZqUFI/1a/CM1iGPSaDuPZDCMu45AtA==} + '@deepseek-ai/dsh-host-webserver@0.1.2-alpha.5': + resolution: {integrity: sha512-6Ve4a48w+syBKklU68qpq0dSkmywnR+HorJUKCw1i4xzmhyO4sDC9Xet62EkRW3gtvh8+5Op0OojLzj6K6gokA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-scope@0.1.2-alpha.3': - resolution: {integrity: sha512-AeDC+NdV0cgZYDmqib0e7+RT1Fsjf/MI95Wo/zMfjvUo7tQzZND5i0BQg2jTHwqjx2l5JaEw9mFcqSOVvjl+zA==} + '@deepseek-ai/dsh-invariants@0.1.2-alpha.5': + resolution: {integrity: sha512-UC7rpUR3wAt0Ez3/uvY+pmdYb19SnrmAqHCMFzdiXxb+q/V5kHM26NYx57FlqaQf0LMhEds8Ek4BrHLe7xn0Rw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session-projection@0.1.2-alpha.3': - resolution: {integrity: sha512-IyiPZMXb8/xVBk0rc0nCu4bglGmszCVtraqt82WbspEAINSBdCf/ydLM15Fw+m0jB7K2fwgKg1ejGcXKnfpOoQ==} + '@deepseek-ai/dsh-llm@0.1.2-alpha.5': + resolution: {integrity: sha512-po0FJyAmOQM/pUUR3eIOPdM4aDODAt9NvS8p8/Y0PJ7gvisRYL4oqXyEk8y9nbryfEnNJNSOaxv/maBdmeHpGQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session@0.1.2-alpha.3': - resolution: {integrity: sha512-iwWs0FdShoiCLLVk6lSZL18vKlFuliQXqy6gnu4U34B8K3uPb+QYWHjB3PrTXcK8ZVmb0zdWeyZ9osmANWWKnw==} + '@deepseek-ai/dsh-scope@0.1.2-alpha.5': + resolution: {integrity: sha512-uWPbN6//COBRgjQZkp09h3A2A4vBBFr/VE2TdZ9epdiroSa5l6QByyPGXi5i6gCPj5pB8q1TXIqhzyhr/CUGig==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 - '@deepseek-ai/dsh-settings@0.1.2-alpha.3': - resolution: {integrity: sha512-+zwP970YwzJoRdvFJUBN/mMN7BjSwX4nrhLcWbR9YmTUpGV+8mFXnSh25QMKOTQpQk7p+zPqgAFRRCujHIN2xQ==} + '@deepseek-ai/dsh-session-projection@0.1.2-alpha.5': + resolution: {integrity: sha512-2N+TOFGy1zxEc4OrJJ7pHdDrHQo5OqJ+/KlBIWoI93m9uSK9iOzYn/DWSsqh2x0WPGEeeDz9AZ4IKw7tXYK7Aw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-brand': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.5 + + '@deepseek-ai/dsh-session@0.1.2-alpha.5': + resolution: {integrity: sha512-GOjXnU82ROSKZxPi765EvbNC5b5zsKajY+r1UpDVLrvLJO9lqLMFAc2SgO9M0kFl6DYHV2j5L7yAemajTDqqAA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.5 + + '@deepseek-ai/dsh-settings@0.1.2-alpha.5': + resolution: {integrity: sha512-XWHV/Bi5l+v+HFaOyCrBCUVRwoCfvCvyWppBkct5zp7RAtJDv15V0aBHaLnlAHkdIlaq4+QYH1F2S+pW35xuKA==} + peerDependencies: + '@deepseek-ai/cordis': ^4.0.2 + '@deepseek-ai/dsh-brand': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.5 '@deepseek-ai/schemastery': ^3.18.2 - '@deepseek-ai/dsh-subagent@0.1.2-alpha.3': - resolution: {integrity: sha512-pHODZzHQ9QLb1yNao/dt9tJKapbOVBbtxXTQeX96aHwxR6aYPLja7lNHk1nm6EgpGj4wLjfG9yTKPxK4GhWdkg==} + '@deepseek-ai/dsh-subagent@0.1.2-alpha.5': + resolution: {integrity: sha512-KIGHqz1fJb6YhypfSSfe7XdE4zPz9i5bRi76lNqtVpnHVszfkC/wfJWwKdxv8sS84Cm1R6B4EQ1UnLuOEfVmrg==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-agent-presets': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-attachment': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-jobs': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-sandbox': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-sandbox-policy': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session-persistence': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session-projection': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session-projection-cache': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session-query': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-tools': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-typert-protocol': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-user-approval': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-util-time': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-agent': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-agent-presets': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-attachment': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-jobs': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-sandbox': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-sandbox-policy': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session-persistence': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session-projection': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session-projection-cache': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session-query': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-tools': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-typert-protocol': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-user-approval': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-util-time': ^0.1.2-alpha.5 peerDependenciesMeta: '@deepseek-ai/dsh-agent-presets': optional: true @@ -519,68 +514,63 @@ packages: '@deepseek-ai/dsh-user-approval': optional: true - '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.3': - resolution: {integrity: sha512-R+VVDew/0DdTypypAjkgTygh3M2yNYXNFO+DvMfdX98jgD7MSluw2iYaCFR/ax9bBNHXXHQ7eXHsIYI1a0FrPg==} + '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.5': + resolution: {integrity: sha512-SBg0hQB+0ulXHZZ6tFQcvieZzpI9/z9ij7pkrpj2AX7EbZbLfa+vVn0NG6lfGz4ZWpoMDzlVBAbXJqyda/8W1g==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.5 - '@deepseek-ai/dsh-timeout@0.1.2-alpha.3': - resolution: {integrity: sha512-BWCusO6Q3GPl5NsUJVNggKF4lOyij5IG5dSgAVdoDhB25b7TAnNHEzUvGt4qxBbQE2xGmeAj+WA0QG1E2X/NuQ==} + '@deepseek-ai/dsh-timeout@0.1.2-alpha.5': + resolution: {integrity: sha512-CRz+ssho5Qi4hdw1lh/ISeegvbcIkG0tZgjgkMGrhtkSQcXJQRn0qCHU0apYk+lEsTZLooEsNGXEoHStMDc8LQ==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-tools@0.1.2-alpha.3': - resolution: {integrity: sha512-ffcpryQgwqAHIkN326CKqH3kueCMKXgbRU4D0Lp+Kwql97NVZrmRxI8ExERJtTju1adtowwVOXIdPjD4XyB44w==} + '@deepseek-ai/dsh-tools@0.1.2-alpha.5': + resolution: {integrity: sha512-ay1dNbDawfphNgHBIpewesNp46Bl4c9iAB4Ul+nzjhTozULbLbKbHfN6RPhvk4dfnoYjXKeMU4gOTNP1Tr3vNA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-code-runtime': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-user-approval': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-agent': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-code-runtime': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-user-approval': ^0.1.2-alpha.5 - '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.3': - resolution: {integrity: sha512-yE3qjCbbOD0y4c0rv7hYq2sV/kLsoJ/m8+a6d8uNlEwV+W74HtpuWS8VjfWqRJZCcDRpv7yvu+/6Arw0vYl0Xg==} + '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.5': + resolution: {integrity: sha512-9+THodbDJuRCa5PF5sglO+aDCKyCmDmKNlg7VqMflUcmudSdGfcGteivgNXxKaQkYncL4DbYwqRsw5S0/iHeHw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-user-approval@0.1.2-alpha.3': - resolution: {integrity: sha512-ulp0zA1JnzrjJVyg4DbKMR6Vxz66+ltbIXKhDQcrPgYE93woI0U2VoWiQPuvlozcWqpEvDsmsmdM3rMTxQrB0A==} + '@deepseek-ai/dsh-user-approval@0.1.2-alpha.5': + resolution: {integrity: sha512-9TwAwI3JKCrz7iLahO58RWZHieNG0pNMrDdXQjoahDxmKBo0jfk/w9J0Fxh8o9ZPiIdyXR1dr2JvLJjucp6qeA==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-agent': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-brand': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-llm': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-scope': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-session': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.3 + '@deepseek-ai/dsh-agent': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-brand': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-llm': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-scope': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-session': ^0.1.2-alpha.5 + '@deepseek-ai/dsh-system-prompt': ^0.1.2-alpha.5 - '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.3': - resolution: {integrity: sha512-bjHvzi4C4Xm04NNbYQChWBcPG7IJeujKxyKQYwY+muw+BC3EVVWw3JMovrjYdHzmu0/ePS0z0rAho73Etl4BVg==} + '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.5': + resolution: {integrity: sha512-E7MnetX+Gt1DuIkf2mrGfoF/yFGzyvueDJxLX7SdiCr1CEZ2z24dz5I0NkU4k1I4XkCMmt6QbbaGfmCcqCFdUw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-util-time@0.1.2-alpha.3': - resolution: {integrity: sha512-eFdPPZ9TC2Ix7NIoNBLiSJz0KxW8mz2X49k0cbvh98YaQ9l4DYW8edikow8dwbieTDNLmQQlhuMWExAxU8holA==} + '@deepseek-ai/dsh-util-time@0.1.2-alpha.5': + resolution: {integrity: sha512-szO4x2bRw50hrKgylR2vAyY5IC/EURmYs4s9UJn3/2ASFvQcd2i4nfkckYH2GOdIGpaT0+7PxmsATVg06BNnuw==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 - '@deepseek-ai/dsh-util-values@0.1.2-alpha.3': - resolution: {integrity: sha512-i3dYcvNFlUOMrIMgYqLqQubWTYm7Lj9jo+GWnaYFMUl+0h+M1XZFLOBvrpIWEbVB5EuAEXYkT7gxUps7WRXL6Q==} + '@deepseek-ai/dsh-util-values@0.1.2-alpha.5': + resolution: {integrity: sha512-1rhtBUw5exfiuws3MkpXU07k0wcdV9tFSGf6FrUoFrD0KzqLUN5N3lNrgL8BDjRml9ihtYh/3i0pJhfuEvZ+7w==} peerDependencies: '@deepseek-ai/cordis': ^4.0.2 - '@deepseek-ai/dsh-invariants': ^0.1.2-alpha.3 '@deepseek-ai/schemastery@3.18.2': resolution: {integrity: sha512-njDtZsznjYxok7KLLlHOPyuv2efdWVbSflAHgztSfbMsg+CVraEoRe2DjOCgClYv3ZCSm7WXoaUkbB/+RY7tWQ==} @@ -2770,34 +2760,32 @@ snapshots: '@deepseek-ai/cosmokit@1.8.3': {} - '@deepseek-ai/dsh-agent@0.1.2-alpha.3(6db40c898bf1f9c9361b38a9ea2de9a5)': + '@deepseek-ai/dsh-agent@0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-scope': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-attachment@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-attachment@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-brand@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/dsh-client-locale@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-client-ui-conversation@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(typescript@5.6.2)': + '@deepseek-ai/dsh-client-ui-conversation@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(typescript@5.6.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 '@deepseek-ai/schemastery': 3.18.2 @@ -2810,7 +2798,7 @@ snapshots: transitivePeerDependencies: - typescript - '@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 '@shikijs/langs': 4.4.3 @@ -2836,157 +2824,145 @@ snapshots: transitivePeerDependencies: - supports-color - '@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-code-runtime@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-code-runtime@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-host-webserver@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-host-webserver@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 compression: 1.8.1 negotiator: 1.1.0 transitivePeerDependencies: - supports-color - '@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)': + '@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-timeout': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-util-crypto': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-timeout': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-crypto': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 zod: 4.4.3 - transitivePeerDependencies: - - '@deepseek-ai/dsh-invariants' - '@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-session-projection@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))))': + '@deepseek-ai/dsh-session-projection@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-session': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-session': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) zod: 4.4.3 - '@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))': + '@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-scope': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - transitivePeerDependencies: - - '@deepseek-ai/dsh-invariants' + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-settings@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/schemastery@3.18.2)': + '@deepseek-ai/dsh-settings@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/schemastery@3.18.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-session': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-session': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-subagent@0.1.2-alpha.3(8e9d028c06ce5b195ed6c8c25c74c52c)': + '@deepseek-ai/dsh-subagent@0.1.2-alpha.5(00c979f1b0eef6aa717ed9b896ac2dd4)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-agent': 0.1.2-alpha.3(6db40c898bf1f9c9361b38a9ea2de9a5) - '@deepseek-ai/dsh-attachment': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-scope': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-tools': 0.1.2-alpha.3(9856107a6511bd37694bb5d55ebb619c) - '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-util-time': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-agent': 0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22) + '@deepseek-ai/dsh-attachment': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-tools': 0.1.2-alpha.5(d031d96ea0c8995b40a270db2b7a6288) + '@deepseek-ai/dsh-typert-protocol': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-time': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) zod: 4.4.3 optionalDependencies: - '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-session@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))) - '@deepseek-ai/dsh-user-approval': 0.1.2-alpha.3(802fc4f1099cfbae100b0e7a224c7b5b) + '@deepseek-ai/dsh-session-projection': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-user-approval': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22))(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))) - '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))': + '@deepseek-ai/dsh-system-prompt@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-scope': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-timeout@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-timeout@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-tools@0.1.2-alpha.3(9856107a6511bd37694bb5d55ebb619c)': + '@deepseek-ai/dsh-tools@0.1.2-alpha.5(d031d96ea0c8995b40a270db2b7a6288)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-agent': 0.1.2-alpha.3(6db40c898bf1f9c9361b38a9ea2de9a5) - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-code-runtime': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-scope': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-user-approval': 0.1.2-alpha.3(802fc4f1099cfbae100b0e7a224c7b5b) - '@deepseek-ai/dsh-util-values': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-agent': 0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-code-runtime': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-user-approval': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22))(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))) + '@deepseek-ai/dsh-util-values': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-typert-protocol@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-user-approval@0.1.2-alpha.3(802fc4f1099cfbae100b0e7a224c7b5b)': + '@deepseek-ai/dsh-user-approval@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-agent@0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22))(@deepseek-ai/dsh-brand@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-session@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))(@deepseek-ai/dsh-system-prompt@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))))': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-agent': 0.1.2-alpha.3(6db40c898bf1f9c9361b38a9ea2de9a5) - '@deepseek-ai/dsh-brand': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-llm': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-scope': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)) - '@deepseek-ai/dsh-session': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) - '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)))(@deepseek-ai/dsh-scope@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-agent': 0.1.2-alpha.5(fa501c54d1bae9af3acbbd6956a25b22) + '@deepseek-ai/dsh-brand': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-llm': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-scope': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)) + '@deepseek-ai/dsh-session': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) + '@deepseek-ai/dsh-system-prompt': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-llm@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-scope@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))) '@deepseek-ai/schemastery': 3.18.2 - '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-util-crypto@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-util-time@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-util-time@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-util-values@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))': + '@deepseek-ai/dsh-util-values@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2)': dependencies: '@deepseek-ai/cordis': 4.0.2 - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) '@deepseek-ai/schemastery@3.18.2': dependencies: @@ -3011,15 +2987,15 @@ snapshots: '@exodus/bytes@1.15.1': {} - '@huanlin/dsh-plugin-better-locale@0.1.0(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-client-locale@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@huanlin/dsh-plugin-better-locale@0.1.0(@deepseek-ai/cordis@4.0.2)(@deepseek-ai/dsh-client-locale@0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-primitives@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-settings@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-client-ui-slots@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(@deepseek-ai/dsh-invariants@0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@deepseek-ai/cordis': 4.0.2 optionalDependencies: '@deepseek-ai/dsh-client-locale': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-client-ui-primitives': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-client-ui-settings': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-client-ui-slots': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) - '@deepseek-ai/dsh-invariants': 0.1.2-alpha.3(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-client-ui-primitives': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-client-ui-settings': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-client-ui-slots': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) + '@deepseek-ai/dsh-invariants': 0.1.2-alpha.5(@deepseek-ai/cordis@4.0.2) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c4a3648..e974a0d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -16,6 +16,11 @@ allowBuilds: # `admitPromptContent` export that dsh-subagent's artifacts import. When # bumping the DSH baseline, audit with `pnpm peers check` and hoist any # newly-unmet transitive peers into devDependencies too. +# +# Exception: dsh-client-locale has no 0.1.2-alpha.5 on npm (newest is +# 0.1.2-alpha.3), so its peer floor / devDep pin trail the baseline — +# `^0.1.2-alpha.3` already accepts the host's alpha.5 runtime (same 0.1.2 +# prerelease tuple); re-pin when upstream publishes. minimumReleaseAgeExclude: - '@deepseek-ai/*' diff --git a/src/client/service.ts b/src/client/service.ts index 596123b..dcd94ef 100644 --- a/src/client/service.ts +++ b/src/client/service.ts @@ -472,7 +472,7 @@ export function matchUrlTarget(tabs: readonly TabDescriptor[], url: URL): TabDes * The plugin version this service instance reports. Keep in lockstep with * `package.json`'s version — `tests/service.spec.ts` asserts the pair. */ -export const SIDEBAR_SERVICE_VERSION = '0.18.1-alpha.0' +export const SIDEBAR_SERVICE_VERSION = '0.19.0-alpha.0' /** * Monotonic capability list consumers use to gate new API usage (features diff --git a/src/context-types.ts b/src/context-types.ts index bd2c18c..d52f385 100644 --- a/src/context-types.ts +++ b/src/context-types.ts @@ -87,11 +87,12 @@ export interface SidebarSessionStore { get(id: string): { header: SidebarSessionHeader /** - * The live session's append-only event log (immutable snapshot; absent - * on sessions the runtime has not hydrated). Read-only access — the - * jobs.output route replays `job_output` tool/result rows from it. + * The live session's append-only event log as an immutable snapshot. + * Read-only access — the jobs.output route replays `job_output` + * tool/result rows from it. (The `Session.events` property this face + * mirrored was renamed to `snapshotEvents()` in DSH 0.1.2-alpha.4.) */ - events?: readonly SidebarSessionEvent[] + snapshotEvents(): readonly SidebarSessionEvent[] } | undefined } diff --git a/src/index.ts b/src/index.ts index ae23c34..ca8be49 100644 --- a/src/index.ts +++ b/src/index.ts @@ -473,7 +473,7 @@ function buildApi( // log opens on a tool event (subagent seeds do) carries seq 0, which a // literal `> 0` comparison would drop, so the absent case floors at -1. const afterSeq = rawAfter ?? -1 - let events: readonly SidebarSessionEvent[] | undefined = ctx.sessions.get(sessionId)?.events + let events: readonly SidebarSessionEvent[] | undefined = ctx.sessions.get(sessionId)?.snapshotEvents() if (events === undefined) { const persistence = ctx.get('sessionPersistence') if (persistence !== undefined) { diff --git a/src/jobs-routes.ts b/src/jobs-routes.ts index 81e4e86..beb802b 100644 --- a/src/jobs-routes.ts +++ b/src/jobs-routes.ts @@ -211,7 +211,7 @@ export function buildJobsApi(ctx: Context, outputLimit: number): SidebarJobsRout // Merge the store's event log (durable seed + whatever it received) // with the live mirror, deduped by seq — a trace never double-counts. const bySeq = new Map() - for (const event of ctx.sessions.get(sessionId)?.events ?? []) { + for (const event of ctx.sessions.get(sessionId)?.snapshotEvents() ?? []) { const trace = traceOf(event) if (trace !== undefined) bySeq.set(trace.seq, trace) } diff --git a/src/sidechat-routes.ts b/src/sidechat-routes.ts index 5149c20..acdeadb 100644 --- a/src/sidechat-routes.ts +++ b/src/sidechat-routes.ts @@ -168,15 +168,17 @@ function liveThreadAgent(ctx: Context, childId: string): Agent | undefined { * agent's in-memory log while the thread is attached — the freshest read, * including events not yet flushed — else the persisted logical log. Both * DSH generations expose these seams with the same shape (the 0.1.2 - * persistence layer packs chunk rows on disk but expands them on inspect), - * which is why the transcript reads here instead of the client's - * session-history RPC: that face (`ctx.connection.api`) was removed in - * 0.1.2-alpha.1's Remote-gateway migration. + * persistence layer packs chunk rows on disk but expands them on inspect; + * the live log is `Session.snapshotEvents()`, the 0.1.2-alpha.4 rename of + * the `Session.events` property), which is why the transcript reads here + * instead of the client's session-history RPC: that face + * (`ctx.connection.api`) was removed in 0.1.2-alpha.1's Remote-gateway + * migration. */ async function threadLogEvents(ctx: Context, childId: string): Promise { const agent = liveThreadAgent(ctx, childId) if (agent !== undefined) { - return agent.session.events as unknown as readonly SidechatLogEvent[] + return agent.session.snapshotEvents() as unknown as readonly SidechatLogEvent[] } const persistence = ctx.get('sessionPersistence') as SidebarSessionPersistenceService | undefined if (persistence === undefined) { @@ -209,11 +211,11 @@ export function buildSidechatApi(ctx: Context): SidechatRoutes { } const parentSession = parent.session const inheritance = buildSidechatInheritance( - parentSession.events as unknown as readonly SidechatLogEvent[], + parentSession.snapshotEvents() as unknown as readonly SidechatLogEvent[], ) const { agentPreset, setup } = await composeChildSetup( ctx, - resolvePresetId(parentSession.header, parentSession.events), + resolvePresetId(parentSession.header, parentSession.snapshotEvents()), ) const childId = `session-${randomUUID()}` as SessionId const label = question === '' ? SIDE_NEW_THREAD_TITLE : sideLabel(question) @@ -241,7 +243,6 @@ export function buildSidechatApi(ctx: Context): SidechatRoutes { meta: { ...(parentSession.header.cwd === undefined ? {} : { cwd: parentSession.header.cwd }), parentSession: parentSession.id, - seedLength: seed.length, origin: 'subagent', delegationDepth: (parentSession.header.delegationDepth ?? 0) + 1, ...(agentPreset === undefined ? {} : { agentPreset }), @@ -310,7 +311,7 @@ export function buildSidechatApi(ctx: Context): SidechatRoutes { throw new SidebarError('sidechat-error', `thread resume failed: ${error instanceof Error ? error.message : String(error)}`, 500) } } - if (boundaryDelivered(agent.session.events as unknown as readonly SidechatLogEvent[])) { + if (boundaryDelivered(agent.session.snapshotEvents() as unknown as readonly SidechatLogEvent[])) { admitFollowup(agent, textPrompt(text)) } else { // First message of an immediately-created thread: it carries the diff --git a/src/subagent-live-route.ts b/src/subagent-live-route.ts index e1c93cf..f4e3d24 100644 --- a/src/subagent-live-route.ts +++ b/src/subagent-live-route.ts @@ -77,7 +77,7 @@ export function buildSubagentLiveApi(ctx: Context): SidebarSubagentLiveRoutes { if (entry.label?.startsWith(SIDE_LABEL_PREFIX) ?? false) continue try { const activity = lastActivity( - ctx.sessions.get(entry.id)?.events ?? [], + ctx.sessions.get(entry.id)?.snapshotEvents() ?? [], LIVE_WINDOW_MESSAGES, ) if (activity.text !== undefined || activity.tool !== undefined) { diff --git a/tests/e2e-host-protocol.spec.ts b/tests/e2e-host-protocol.spec.ts index 0c6459c..2451c4f 100644 --- a/tests/e2e-host-protocol.spec.ts +++ b/tests/e2e-host-protocol.spec.ts @@ -11,9 +11,9 @@ * the envelope method equal to the path endpoint). * * The shapes were transcribed from the deepseek-harness sources at tag - * dsh-v0.1.2-alpha.1 and re-verified on the npm-published 0.1.2-alpha.2 - * and 0.1.2-alpha.3 (packages/client/connection, packages/api/gateway, - * packages/bundle/web-app). + * dsh-v0.1.2-alpha.1 and re-verified on the npm-published 0.1.2-alpha.2, + * 0.1.2-alpha.3, and 0.1.2-alpha.5 (packages/client/connection, + * packages/api/gateway, packages/bundle/web-app). */ import { beforeAll, describe, expect, it, vi } from 'vitest' import type { APIRequestContext } from '@playwright/test' diff --git a/tests/jobs-routes.spec.ts b/tests/jobs-routes.spec.ts index e8d9338..14e889b 100644 --- a/tests/jobs-routes.spec.ts +++ b/tests/jobs-routes.spec.ts @@ -71,7 +71,7 @@ function jobOutputResult(seq: number, callId: string, text: string, over: { isEr /** The owner session with the given event log. */ function session(events: SidebarSessionEvent[]): unknown { - return { header: { cwd: '/p' }, events } + return { header: { cwd: '/p' }, snapshotEvents: () => events } } describe('jobs.output route (event replay)', () => { diff --git a/tests/sidechat-routes.spec.ts b/tests/sidechat-routes.spec.ts index 346b8ab..ddce8af 100644 --- a/tests/sidechat-routes.spec.ts +++ b/tests/sidechat-routes.spec.ts @@ -23,7 +23,7 @@ function agent(id: string, over: { events?: unknown[]; header?: Record over.events ?? [], }, inject: vi.fn(), followup: vi.fn(), @@ -120,7 +120,6 @@ describe('sidechat.start', () => { expect(options.meta).toMatchObject({ parentSession: 'parent', origin: 'subagent', - seedLength: 7, delegationDepth: 1, agentPreset: 'preset-a', cwd: '/p', diff --git a/tests/sidechat-seed-validation.spec.ts b/tests/sidechat-seed-validation.spec.ts index 726a81b..9407d1f 100644 --- a/tests/sidechat-seed-validation.spec.ts +++ b/tests/sidechat-seed-validation.spec.ts @@ -73,14 +73,14 @@ describe('sidechat seed against the real dsh-session validator', () => { // The REAL validator: this throws when an envelope field was stripped // (the reported regression) or the turn balance is off. const child = Session.create('session-validator-test' as SessionId, seed as never) - const types = child.events.map(event => event.type) + const types = child.snapshotEvents().map(event => event.type) expect(types).toEqual([ 'user/message', 'turn/start', 'step/start', 'assistant/message', 'step/end', 'turn/end', 'user/message', 'turn/start', 'step/start', 'assistant/chunk', 'step/end', 'turn/end', 'session/end-seed', ]) // The synthetic close is honest: the frozen turn ends interrupted. - const turnEnd = child.events.findLast(event => event.type === 'turn/end') + const turnEnd = child.snapshotEvents().findLast(event => event.type === 'turn/end') expect(turnEnd?.data).toEqual({ turn: 2, reason: { kind: 'interrupted' } }) }) @@ -94,7 +94,7 @@ describe('sidechat seed against the real dsh-session validator', () => { const { seed, snapshot } = buildSidechatInheritance(log) expect(snapshot).not.toBeNull() const child = Session.create('session-validator-fallback' as SessionId, seed as never) - expect(child.events.map(event => event.type).at(-1)).toBe('session/end-seed') + expect(child.snapshotEvents().map(event => event.type).at(-1)).toBe('session/end-seed') }) it('accepts the durable subagent descriptor the routes append to the seed', () => { @@ -115,7 +115,7 @@ describe('sidechat seed against the real dsh-session validator', () => { { type: 'subagent/descriptor', seq: seed.length, time: Date.now(), data: descriptor }, ] const child = Session.create('session-validator-descriptor' as SessionId, withDescriptor as never) - const types = child.events.map(event => event.type) + const types = child.snapshotEvents().map(event => event.type) expect(types.at(-2)).toBe('subagent/descriptor') expect(types.at(-1)).toBe('session/end-seed') }) diff --git a/tests/subagent-live-route.spec.ts b/tests/subagent-live-route.spec.ts index 2922a98..9f8027d 100644 --- a/tests/subagent-live-route.spec.ts +++ b/tests/subagent-live-route.spec.ts @@ -37,8 +37,8 @@ function diagnostic(id: string): SidebarSubagentDescendantEntry { } /** A session with the given raw events. */ -function session(events: SidebarSessionEvent[]): { header: { cwd: string }; events: SidebarSessionEvent[] } { - return { header: { cwd: '/p' }, events } +function session(events: SidebarSessionEvent[]): { header: { cwd: string }; snapshotEvents(): readonly SidebarSessionEvent[] } { + return { header: { cwd: '/p' }, snapshotEvents: () => events } } /** A context whose `get` serves only the subagents face, with a session store. */