dsh-recall-plugin 2.3.5 → 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  本文件格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本号遵循语义化版本。
4
4
 
5
+ ## [2.3.7] - 2026-09-08
6
+
7
+ ### 变更
8
+
9
+ - **dsh 0.1.3-alpha.2 兼容性声明(peer 范围扩窗)**:本地全局实装 `@deepseek-ai/dsh@0.1.3-alpha.2`(npm dist-tag alpha)后跑 `npm run check:upgrade` 三层门禁全绿(check:dsh 漂移一致 + test:probe 31 项探针 + verify:host 装配断言);`package.json` 的 `dsh.compatibility.dshReleases` 矩阵补 `0.1.3-alpha.2` 为 `compatible`,7 个 `@deepseek-ai/dsh-*` 的 `peerDependencies` 范围沿 2.3.4 先例补 `>=0.1.3-alpha.2 <=0.1.3-alpha.2` 逐 tuple OR 段(npm semver prerelease 规则要求同 tuple 比较器才放行该 prerelease 线)。契约逐项 diff 零破坏(fork/sessionQuery/chat.node 槽位/settings 槽位/shell.resolve/session-event 域均不变),alpha.1 已知的冷会话性能回退(v1→v2 迁移全量内存物化)已被官方迁移流式化修复,插件冷读路径直接受益,无需任何代码改动——本插件源码零变更,`lib/` 产物与 2.3.6 相同。评估实证沉淀于 `docs/upgrade-assessments/dsh-0.1.3-alpha.2.md`,兼容性台账与契约文档已同步。
10
+
11
+ ## [2.3.6] - 2026-09-06
12
+
13
+ ### 修复
14
+
15
+ - **修复宿主启动预热的 subprocess 竞态(消除启动噪音)**:预热是唯一在 apply 期就执行 shell 命令的路径,cordis 按 fiber 逐个注入,recall 可能先于 pwsh-sandbox 的 subprocess 注入链完成,`rebuildOrphans` 的 git 命令随即命中「cannot get required service "subprocess" in inactive context」,每次重启刷一条 `recall rebuildOrphans failed`。修复:预热前置短轮询探活(纯编码 prelude 常量、无副作用,10s 窗口),执行器就绪后再跑预热链;超时未就绪则放弃预热——与原先吞错语义一致,只是不再报错刷屏。
16
+
5
17
  ## [2.3.5] - 2026-09-06
6
18
 
7
19
  ### 修复
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # dsh-recall-plugin ![awesome · DSH plugin](https://awesome-dsh-plugin.com/badge.svg)
1
+ # dsh-recall-plugin [![awesome · DSH plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com/zh/p/limbo947/dsh-recall-plugin/)
2
2
 
3
3
  简体中文 | [English](README.en.md)
4
4
 
package/lib/index.js CHANGED
@@ -312,6 +312,16 @@ function apply(ctx, config) {
312
312
  }).catch((error) => rt.recordError("recall snapshot error: " + String(error)));
313
313
  });
314
314
  (async () => {
315
+ let shellReady = false;
316
+ for (let i = 0; i < 20 && !shellReady; i++) {
317
+ try {
318
+ await rt.runShell(rt.scripts.UTF8_PRELUDE, { timeoutMs: 1e4, stdoutMaxBytes: 4096 });
319
+ shellReady = true;
320
+ } catch {
321
+ await new Promise((resolve) => setTimeout(resolve, 500));
322
+ }
323
+ }
324
+ if (!shellReady) return;
315
325
  const warmupRoots = /* @__PURE__ */ new Map();
316
326
  for (const session of ctx.sessions.list()) {
317
327
  const cwd = session && session.header && session.header.cwd;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-recall-plugin",
3
- "version": "2.3.5",
3
+ "version": "2.3.7",
4
4
  "description": "DSH 消息撤回插件:在用户消息气泡旁加「撤回」按钮,把项目文件(独立影子 git 仓库快照)与对话历史(官方 fork)一并回退到该消息发送之前。",
5
5
  "type": "module",
6
6
  "repository": {
@@ -60,13 +60,13 @@
60
60
  },
61
61
  "peerDependencies": {
62
62
  "@deepseek-ai/cordis": "^4.0.1",
63
- "@deepseek-ai/dsh-client-web-react": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
64
- "@deepseek-ai/dsh-host-webserver": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
65
- "@deepseek-ai/dsh-sandbox-policy": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
66
- "@deepseek-ai/dsh-session": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
67
- "@deepseek-ai/dsh-session-query": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
68
- "@deepseek-ai/dsh-settings": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
69
- "@deepseek-ai/dsh-shell": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1",
63
+ "@deepseek-ai/dsh-client-web-react": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
64
+ "@deepseek-ai/dsh-host-webserver": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
65
+ "@deepseek-ai/dsh-sandbox-policy": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
66
+ "@deepseek-ai/dsh-session": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
67
+ "@deepseek-ai/dsh-session-query": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
68
+ "@deepseek-ai/dsh-settings": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
69
+ "@deepseek-ai/dsh-shell": ">=0.1.1-rc.2 <=0.1.3-alpha.1 || >=0.1.2-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.1 <=0.1.3-alpha.1 || >=0.1.3-alpha.2 <=0.1.3-alpha.2",
70
70
  "@deepseek-ai/schemastery": "^3.18.1",
71
71
  "react": "^18.2.0"
72
72
  },