dsh-super-code 0.3.10 → 0.3.11

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.
Files changed (95) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +4 -4
  3. package/client/index.js +106 -47
  4. package/cordis.patch.yml +1 -1
  5. package/docs/Changelog.md +43 -0
  6. package/docs/Compatibility.md +13 -0
  7. package/docs/UsageGuide.md +30 -8
  8. package/docs/en/Changelog.md +43 -0
  9. package/docs/en/Compatibility.md +13 -0
  10. package/docs/en/UsageGuide.md +30 -8
  11. package/lib/connection/directories.d.ts.map +1 -1
  12. package/lib/connection/directories.js +14 -5
  13. package/lib/connection/directories.js.map +1 -1
  14. package/lib/connection/guidance.d.ts.map +1 -1
  15. package/lib/connection/guidance.js +7 -0
  16. package/lib/connection/guidance.js.map +1 -1
  17. package/lib/connection/http.d.ts.map +1 -1
  18. package/lib/connection/http.js +59 -30
  19. package/lib/connection/http.js.map +1 -1
  20. package/lib/connection/service.d.ts +3 -0
  21. package/lib/connection/service.d.ts.map +1 -1
  22. package/lib/connection/service.js +82 -33
  23. package/lib/connection/service.js.map +1 -1
  24. package/lib/connection/store.d.ts +2 -0
  25. package/lib/connection/store.d.ts.map +1 -1
  26. package/lib/connection/store.js +95 -30
  27. package/lib/connection/store.js.map +1 -1
  28. package/lib/connection/tasks.d.ts +6 -3
  29. package/lib/connection/tasks.d.ts.map +1 -1
  30. package/lib/connection/tasks.js +125 -53
  31. package/lib/connection/tasks.js.map +1 -1
  32. package/lib/connection/types.d.ts +1 -0
  33. package/lib/connection/types.d.ts.map +1 -1
  34. package/lib/connection/types.js.map +1 -1
  35. package/lib/core/deletion-command.d.ts.map +1 -1
  36. package/lib/core/deletion-command.js +84 -24
  37. package/lib/core/deletion-command.js.map +1 -1
  38. package/lib/dsh/compaction.d.ts.map +1 -1
  39. package/lib/dsh/compaction.js +1 -0
  40. package/lib/dsh/compaction.js.map +1 -1
  41. package/lib/dsh/connection-history.d.ts.map +1 -1
  42. package/lib/dsh/connection-history.js +3 -0
  43. package/lib/dsh/connection-history.js.map +1 -1
  44. package/lib/dsh/connection-host.js +1 -1
  45. package/lib/dsh/connection-host.js.map +1 -1
  46. package/lib/dsh/connection.d.ts.map +1 -1
  47. package/lib/dsh/connection.js +24 -3
  48. package/lib/dsh/connection.js.map +1 -1
  49. package/lib/dsh/deletion-protection.d.ts.map +1 -1
  50. package/lib/dsh/deletion-protection.js +18 -10
  51. package/lib/dsh/deletion-protection.js.map +1 -1
  52. package/lib/dsh/index.d.ts.map +1 -1
  53. package/lib/dsh/index.js +2 -0
  54. package/lib/dsh/index.js.map +1 -1
  55. package/lib/dsh/official-budgets.d.ts.map +1 -1
  56. package/lib/dsh/official-budgets.js +15 -3
  57. package/lib/dsh/official-budgets.js.map +1 -1
  58. package/lib/dsh/preset-declaration.d.ts +3 -0
  59. package/lib/dsh/preset-declaration.d.ts.map +1 -1
  60. package/lib/dsh/preset-declaration.js +68 -45
  61. package/lib/dsh/preset-declaration.js.map +1 -1
  62. package/lib/dsh/preset-installation.d.ts +10 -7
  63. package/lib/dsh/preset-installation.d.ts.map +1 -1
  64. package/lib/dsh/preset-installation.js +66 -30
  65. package/lib/dsh/preset-installation.js.map +1 -1
  66. package/lib/dsh/preset-metadata.d.ts.map +1 -1
  67. package/lib/dsh/preset-metadata.js +2 -1
  68. package/lib/dsh/preset-metadata.js.map +1 -1
  69. package/lib/dsh/preset-recovery-runtime.d.ts +76 -0
  70. package/lib/dsh/preset-recovery-runtime.d.ts.map +1 -0
  71. package/lib/dsh/preset-recovery-runtime.js +322 -0
  72. package/lib/dsh/preset-recovery-runtime.js.map +1 -0
  73. package/lib/dsh/preset-recovery.d.ts +14 -0
  74. package/lib/dsh/preset-recovery.d.ts.map +1 -0
  75. package/lib/dsh/preset-recovery.js +140 -0
  76. package/lib/dsh/preset-recovery.js.map +1 -0
  77. package/lib/dsh/ptc-budget.d.ts.map +1 -1
  78. package/lib/dsh/ptc-budget.js +20 -10
  79. package/lib/dsh/ptc-budget.js.map +1 -1
  80. package/lib/dsh/windows-shell.d.ts.map +1 -1
  81. package/lib/dsh/windows-shell.js +18 -4
  82. package/lib/dsh/windows-shell.js.map +1 -1
  83. package/lib/long-memory.d.ts.map +1 -1
  84. package/lib/long-memory.js +3 -2
  85. package/lib/long-memory.js.map +1 -1
  86. package/lib/super-agent-usage.d.ts +2 -0
  87. package/lib/super-agent-usage.d.ts.map +1 -1
  88. package/lib/super-agent-usage.js +16 -11
  89. package/lib/super-agent-usage.js.map +1 -1
  90. package/lib/task-feedback-projection.d.ts +11 -0
  91. package/lib/task-feedback-projection.d.ts.map +1 -1
  92. package/lib/task-feedback-projection.js +37 -12
  93. package/lib/task-feedback-projection.js.map +1 -1
  94. package/package.json +1 -1
  95. package/presets/super-code/agent.cordis.yml +1 -1
@@ -74,13 +74,27 @@
74
74
 
75
75
  **安全措施**:
76
76
 
77
- - 只替换能够核实由本插件安装的预设(目录式核对安装记录、UUID、路径和目录身份;声明式核对来源标记或安装记录)。未标记的旧副本和同名声明不会被改动。
77
+ - 目录式预设的状态、语言同步与重装均核对安装记录、UUID、路径和目录身份;声明式核对来源标记或安装记录。无法核实归属的旧副本和同名声明不会被改动,仍可读取。
78
78
  - 旧内容备份在 `.super-code-backup-*`:目录式位于用户预设根目录下,声明式位于当前 profile 下(安装记录为 `.super-code-presets.json`)。
79
- - 安装失败时自动恢复;进程意外中断时,可从备份手动恢复。
79
+ - 安装失败时回滚本轮写入,清理前核对目录身份;已被替换的目录保留。原配置恢复后会尝试重新加载,原本不存在的配置文件仍保持不存在。进程意外中断或归属记录仍不可写时,可检查备份后手动恢复。
80
+
81
+ ### 卸载后继续对话
82
+
83
+ 更新并加载支持恢复的插件后,卸载 Super Code 不影响已有历史的阅读。原 Super Code 会话续聊时自动改用官方标准预设,并显示「Super Code 插件已卸载,本对话将使用官方标准预设继续。已有历史记录保留。」同一会话只提示一次;原模型、工作目录和宿主权限保留。使用官方预设的会话继续使用原预设。
84
+
85
+ 关闭删除保护、取消「应用到官方预设」、停用或卸载插件后,下一次续聊会撤销插件先前写入的删除保护规则,包括官方 minimal 的规则。严格与宽松模式切换时会撤销旧规则;冷重启不会重复添加同一条规则。原始历史和用户自己的删除要求保留。若旧规则已被压缩进摘要,会追加明确的撤销说明,保留摘要中的其他上下文。
86
+
87
+ 停用或卸载插件也会释放插件添加的命令过滤、预算适配和 MCP 服务;宿主自身的权限限制及其他插件的有效改动保留。
88
+
89
+ 恢复过程中重新安装插件或切换预设时,会按当前安装状态和最新选择处理,避免把会话错误切回官方标准。恢复模块更新会保留已有会话登记,并停止旧模块的迟到写入。
90
+
91
+ 若本地恢复或预设归属记录在运行期间被其他程序修改,插件会停止写入,保留现有文件;检查文件后重启 DSH 可重新读取。无关的损坏预设不会阻止其他可用会话登记。
92
+
93
+ 为支持卸载后的冷启动,当前 profile 会保留 `.super-code-recovery` 及对应的配置入口。它负责已登记会话的预设恢复和插件旧删除保护规则的撤销,不包含 Super Code 工具或模型配置。升级时会登记仍有对应预设定义的旧会话。若旧预设在登记前就已被删除或改名,需先从安装备份恢复对应定义,再重新安装并加载插件以登记。官方标准预设也不可用时会保留原错误,不静默换用其他预设。
80
94
 
81
95
  ## 侧边栏
82
96
 
83
- 在右侧边栏选择「Super Code」,三个部分互斥展开,默认展开任务;点击当前标题可全部收起。切换后保留阅读位置、筛选条件和草稿。界面跟随 Harness 的中英文设置。
97
+ 在右侧边栏选择「Super Code」,三个部分始终只展开一项,默认展开任务;再次点击当前标题会保持展开。切换后保留阅读位置、筛选条件和草稿。界面跟随 Harness 的中英文设置。
84
98
 
85
99
  ### 任务
86
100
 
@@ -88,6 +102,7 @@
88
102
 
89
103
  - **目标**:已记录的任务目标;未记录时显示用户原话。
90
104
  - **步骤**:模型记录的待办事项,显示「已完成/总数」。没有步骤时不会生成计划或进度。
105
+ - **此前要求**:保留较早的用户要求和当时记录的步骤,单独标为历史记录,不计入本轮进度。
91
106
  - **工具调用**:按工具汇总成功、失败与运行状态。
92
107
  - **文件**:已成功执行、且能从工具参数或 diff 确认的文件改动,包括 PTC 中的嵌套调用。
93
108
 
@@ -100,11 +115,11 @@
100
115
 
101
116
  ### 协作执行
102
117
 
103
- Agent 执行树,显示每个 Agent 的状态、用量和缓存率。
118
+ Agent 执行树,显示每个 Agent 的状态、用量和缓存率。用量只计入该 Agent 自身的调用;fork 继承的历史不会重复计入子 Agent 或执行树汇总。
104
119
 
105
120
  - 拖动空白处可平移,使用滚轮或按钮可缩放。
106
121
  - 点击节点会在侧边栏新标签页中打开详情,主对话不切换。
107
- - 详情按对话展示:用户任务、Agent 回复、可展开的工具调用及结果。顶部显示状态、Token 和缓存,展开「详情」可查看更多用量、任务记录和记忆使用记录。
122
+ - 详情按对话展示:用户任务、Agent 回复、可展开的工具调用及结果,包括 PTC 子工具与运行失败原因。复用 Harness 的 Markdown 和代码块组件,回复支持列表、表格和代码高亮,工具参数与输出保留原文。顶部显示状态、Token 和缓存,展开「详情」可查看更多用量、任务记录和记忆使用记录。
108
123
  - 运行动画遵循系统的「减少动态效果」设置。
109
124
 
110
125
  [任务](images/task-status.png)和[执行树截图](images/agent-tree.png)使用当前插件、官方前端组件及演示数据渲染,仅展示界面,不代表模型效果。
@@ -181,6 +196,7 @@ maxContextBytes: 32768 # Super Code:任务记忆上下文字节数
181
196
  ```
182
197
 
183
198
  - 调用中显式指定的更短时限仍然有效。
199
+ - 停用或卸载后,尚未解析执行参数的 PTC 调用恢复宿主时限;已启动的调用保留启动时的时限,不会为恢复配置而重启。
184
200
  - 旧宿主的 PTC 按 CPU 忙碌时间计时,新宿主按总耗时计时,两者不可直接比较。
185
201
  - 调大 `maxTasks`、`maxContextBytes` 会占用更多上下文,一般保持默认即可。
186
202
 
@@ -244,6 +260,7 @@ Windows 宿主默认在 Super Code 预设中使用内置 GNU Bash、BusyBox 和
244
260
 
245
261
  - 每次进入连接页都会重新读取 DSH 工作区。首次配置时会预选已有工作区,之后新增的工作区**不会**自动获得授权。
246
262
  - 可通过目录选择器添加目录。取消勾选即撤销授权;取消最后一个目录会同时关闭 MCP。
263
+ - 撤销后,旧目录申请会显示为已拒绝;调用方需提交新的申请,才能再次请求授权。
247
264
 
248
265
  连接数说明:
249
266
 
@@ -251,7 +268,7 @@ Windows 宿主默认在 Super Code 预设中使用内置 GNU Bash、BusyBox 和
251
268
  - 可在连接页断开客户端;空闲 10 分钟后自动断开。断开不会取消已接收的任务。
252
269
  - 首页的「在线对话」表示关联的 MCP 连接仍在线,与任务是否完成无关;断开后计为历史对话。
253
270
 
254
- 端口冲突时会直接报错。地址以页面显示为准。
271
+ 端口冲突时会直接报错。可更换端口,或排除冲突后点击「重试」。设置已保存但连接清理失败时,也可点击「重试」恢复;保存失败的草稿会保留,重试不会丢失修改。地址以页面显示为准。
255
272
 
256
273
  ### 配置客户端
257
274
 
@@ -267,10 +284,10 @@ Windows 宿主默认在 Super Code 预设中使用内置 GNU Bash、BusyBox 和
267
284
  |---|---|
268
285
  | `dsh_status` | 查看允许目录、开关、连接与任务额度、阻塞任务和恢复提示 |
269
286
  | `dsh_models` | 查询模型与思考强度 ID,供 `dsh_run`、`dsh_send` 指定;省略时沿用会话当前或默认选择 |
270
- | `dsh_read` | 分页读取所属会话及受管子会话的公开消息、工具结果与失败详情,不返回推理和私有配置 |
287
+ | `dsh_read` | 分页读取所属会话及受管子会话的公开消息、工具调用与结果(含 PTC 子调用)及失败详情,不返回推理和私有配置 |
271
288
  | `dsh_approve` | 仅在允许调用方审批时,批准或拒绝一个精确的待审批操作,仅生效一次 |
272
289
  | `dsh_sessions` | 连接后应首先调用:按目录列出最近的对话、状态、是否可复用,以及连接额度和任务并发占用 |
273
- | `dsh_run` | 发起任务。传入 `taskId` 复用指定对话;传入 `newConversation: true` 新建对话(两者均未传入时也新建)。**不会**自动复用最新对话。同一 `requestId` 搭配相同输入不会重复提交,输入不同则报冲突 |
290
+ | `dsh_run` | 发起任务。传入 `taskId` 复用指定对话;传入 `newConversation: true` 新建对话(两者均未传入时也新建)。`newConversation: false` 必须同时指定 `taskId`,不会新建或自动选择最新对话。同一 `requestId` 搭配相同输入不会重复提交,输入不同则报冲突 |
274
291
  | `dsh_wait` | 查询任务状态、输出、工作区变化和新事件,最多等待 30 秒。未传入任务 ID 时分页列出所有任务 |
275
292
  | `dsh_send` | 在同一对话中补充要求或继续执行,需使用新的 `requestId`。不会代为批准权限 |
276
293
  | `dsh_request_directory` | 申请新的工作目录,需用户在 DSH 中批准 |
@@ -280,6 +297,8 @@ Windows 宿主默认在 Super Code 预设中使用内置 GNU Bash、BusyBox 和
280
297
 
281
298
  客户端调用 `dsh_request_directory`,并提供 `requestId`、已存在的绝对路径 `path` 和理由 `reason`。DSH 会弹出全局确认框(无需打开设置),显示客户端名称、目录和理由。
282
299
 
300
+ 批准前会重新核对申请时的目录身份和申请状态。同一路径被另一目录替换、申请过期或撤回后,旧申请不能授予访问;需要新的 `requestId` 重新申请。目录内普通文件变化不影响批准。
301
+
283
302
  - 只有用户点击「允许访问」后才会授权,模型的自动审批无法替代。
284
303
  - 使用相同输入重复调用可查询状态:`pending` / `approved` / `rejected` / `expired`。
285
304
  - 批准前不能在该目录发起任务。
@@ -295,6 +314,9 @@ Windows 宿主默认在 Super Code 预设中使用内置 GNU Bash、BusyBox 和
295
314
  - `finished`:执行已结束,但 `acceptance` 始终为 `not-verified`,结果是否正确需由调用方自行验证。
296
315
  - 返回的文件信息是对 Git 工作区的观察结果,包括任务开始前已有的改动,不能证明全部由本任务产生。非 Git 目录或超出观察上限时标记为不可用。
297
316
  - 等待超时或客户端断线均不会取消任务。关闭连接仅表示不再接收新请求。
317
+ - 正在准备的请求会在建会话、选模型和发送提示词前重新检查授权。关闭服务、撤销目录或断开连接后,尚未发送的提示词会停止;已提交的任务继续运行。已保存的请求不会因重连而自动重发,未发送的续聊也不会覆盖上一轮的状态。
318
+ - 创建、续聊和取消的意图保存失败时,不会继续执行对应操作。续聊准备期间重启仍保留上一轮跟踪;无法确认新提示词是否已发送时,不会把上一轮结束当作新请求完成。任务记录的读写使用同一 64 MiB 上限,超限会拒绝写入并保留已有文件。
319
+ - 取消 MCP 等待或审批请求后,迟到的表单回答不会放行操作。审批决定前会重新检查服务、目录和审批开关;已经决定的单次审批不因后续取消而撤回,也不会重复放行。
298
320
  - 重启后不会自动重新发送提示词。请通过 `dsh_sessions` 或任务列表找回任务 ID,确认状态后再明确继续。无法确认状态时显示 `interrupted` 或 `unavailable`;未确认停止的任务会继续占用并发额度。
299
321
 
300
322
  遇到上限时,保留原 `requestId` 和输入,通过 `dsh_status`、`dsh_wait` 等待空位,不要取消其他客户端的任务或改动提供服务的 DSH 应用。结束 SDK 会话时,先调用 `transport.terminateSession()` 发送 DELETE,再关闭客户端;仅 `client.close()` 不会释放服务端额度。没有原生 MCP 工具时可使用包内 `super-code-mcp` 命令,JSON 参数从标准输入读取,凭证由私密环境变量 `DSH_MCP_TOKEN` 提供。
@@ -4,6 +4,49 @@
4
4
 
5
5
  Versions are `major.performance.maintenance`. The second number changes when coding results or efficiency improve; the third covers fixes, UI, and compatibility. See [Compatibility](Compatibility.md) for what each release was tested on.
6
6
 
7
+ ## 0.3.11 · 2026-11-06
8
+
9
+ **Uninstall recovery and preset management**
10
+
11
+ - Fixed Super Code conversations failing to continue after uninstall: registered conversations with matching ownership continue with the official Standard preset and show one switch notice. Existing parent/child history, model, directory, and permissions are preserved.
12
+ - Fixed stale deletion-protection rules in official Minimal after protection is disabled, official-preset coverage is removed, or the plugin is disabled or uninstalled. Changing levels no longer stacks duplicate rules. Existing summaries remain intact, followed by an explicit revocation notice.
13
+ - Fixed stale preset recovery during asynchronous reads, user selection changes, plugin re-enablement, and module replacement. Retired instances no longer overwrite newer records or take over the service again.
14
+ - Fixed installation/reinstallation rollback and locale synchronization overwriting external changes or losing ownership records. User edits and symbolic links are preserved, invalid records are rejected, and conflicting writes stop.
15
+
16
+ **Task sidebar, execution records, and usage**
17
+
18
+ - Fixed the task sidebar showing only the current request. It retains the latest 20 earlier requests and their recorded steps, with a notice when display limits are exceeded.
19
+ - Fixed unrendered execution details by using the host's Markdown and code components, preserving literal user/tool output and allowing long content to expand.
20
+ - Completed PTC child-tool call, result, failure, and terminal-error records, with correct interrupted status after crash recovery. Successful file-change evidence survives slow calls leaving the recent activity window.
21
+ - Fixed duplicate history reads, shifting boundaries, and lost reading positions during pagination and reconnection. Failed history reads can be retried, and closed views ignore late responses.
22
+ - Fixed inherited fork history being counted again in child and tree usage, and distinct model IDs being merged when they contain separator characters. Old caches are rebuilt.
23
+ - Fixed all sidebar sections collapsing: exactly one of Tasks, Collaborative execution, and Memory stays open, with Tasks as the default. Switching preserves reading positions and drafts.
24
+
25
+ **Settings, budgets, and memory**
26
+
27
+ - Fixed Home reverting to stale settings when a save succeeds but the following refresh fails. Reset now waits with controls locked during pending autosave, preventing duplicate submissions and revision conflicts.
28
+ - Fixed cancellation during a model-information lookup being ignored by automatic compaction or still allowing tool-record pruning. Existing compaction policy and budget defaults are preserved.
29
+ - Fixed retained legacy-memory drafts using a retired API after reconnection. Drafts are kept, explicit retries use the current API, and in-flight writes are not replayed automatically.
30
+ - Fixed empty topics continuing to consume the 200-topic allowance after their last entry is deleted. Capacity counts non-empty topics while retaining concurrent-edit checks, without adding content version history.
31
+
32
+ **MCP connection**
33
+
34
+ - Fixed asynchronous preparation using revoked directory access or disabled settings. Current authorization and cancellation are checked again before conversation creation, model selection, and prompt submission.
35
+ - Fixed `newConversation: false` creating a conversation without `taskId`. The caller must now choose a specific conversation first.
36
+ - Fixed failed create, continuation, or cancellation saves changing in-memory state prematurely, consuming capacity, or causing delayed cancellation. Preparation retains previous-request tracking; restart and reconnection never automatically replay saved requests.
37
+ - Fixed late approval being accepted after an approval wait is cancelled. One-time decisions recheck cancellation, directory access, and settings; undecided requests can return to DSH.
38
+ - Fixed directory requests being approved after path replacement, expiry during validation, or withdrawal. Reusing an old request cannot restore revoked access.
39
+ - Fixed symbolic-link aliases producing duplicate allowed directories that reappear after removal. Each real directory appears once, and unavailable entries remain removable.
40
+ - Added missing public PTC child-call records to `dsh_read`. Child-tool activity now counts toward progress observation instead of being mistaken for a long idle period.
41
+ - Fixed connection-capacity, port, and lock leaks during initialization, token rotation, shutdown, and unload races. Successful saves return the actual settings; cleanup failures are explicit and retryable without resending tasks.
42
+
43
+ **Commands and runtime**
44
+
45
+ - Fixed missed and false deletion detections in some shell wrappers, `find`, `xargs`, and PowerShell launch arguments. Existing protection levels and host approval still decide execution.
46
+ - Fixed Windows shell filters, official-budget adapters, and PTC wrappers surviving unload or overwriting other wrappers. Plugin resources are released after asynchronous initialization settles, preserving host and other-plugin state.
47
+
48
+ Fixes have regression checks scoped to their changes. Version contracts, frontend checks, and full-host acceptance are recorded separately; this does not mean every version on every platform has passed full-process tests. No new 100-task effectiveness evaluation was run.
49
+
7
50
  ## 0.3.10 · 2026-11-03
8
51
 
9
52
  **Windows command environment**
@@ -6,6 +6,8 @@ Web is verified from Harness `0.1.5-alpha.1` through `0.2.1-rc.4`, with incremen
6
6
 
7
7
  The bundled Windows Bash in 0.3.10 also passes full-process Windows acceptance on official Desktop `0.2.1-rc.5` and NEXT `2.0.21-next` (bundled `0.2.1-rc.4`), within the scope below.
8
8
 
9
+ The 0.3.11 fixes add staged version-contract and official-frontend checks through `0.2.2-alpha.3`. Full-host coverage is recorded separately in the 0.3.11 section below.
10
+
9
11
  ## Verified hosts
10
12
 
11
13
  The 26 targets below were each checked as a full set for 0.3.6, 0.3.7, and 0.3.8.
@@ -53,6 +55,17 @@ Under npm rules, a range like `>=0.1.5-alpha.1 <0.3.0` excludes prereleases such
53
55
 
54
56
  `zod`, `js-yaml`, and `@modelcontextprotocol/sdk` are runtime dependencies and are not bundled. The Windows shell also packages separately licensed programs that run as subprocesses; see [runtime notes](../../runtime/windows/README.md) for sources, licenses, and corresponding source.
55
57
 
58
+ ## 0.3.11 · 2026-11-06
59
+
60
+ This release includes successive fixes from November 4–6. Results below apply to the code tested at each stage; full-host results from an earlier development package are not presented as a complete platform rerun of the final release package.
61
+
62
+ - **Release candidate**: all 560 tests, type checking, build, and client syntax checks pass. The package, lockfile, directory preset, and declarative preset all use 0.3.11.
63
+ - **Version contracts and frontends**: 26 exact published Harness versions, from `0.1.5-alpha.1` through `0.2.2-alpha.3`, cover the listed 0.1.5, 0.1.6, 0.1.7, 0.2.0, and 0.2.1 alpha/rc releases, plus `0.2.2-alpha.2`, `0.2.2-rc.1`, and `0.2.2-alpha.3`. Change-specific checks cover Session/LLM recovery, task projections, usage, compaction cancellation, and legacy memory. Frontend checks use actual official React and plugin components with fixture Remote boundaries; they are not 26 complete hosts.
64
+ - **Recent targeted evidence**: PTC history has 26-version contract and frontend checks; fork usage has 157 contract checks across 26 versions; compaction cancellation has 170 checks; directory aliases have 156 frontend checks; memory capacity has 156 storage-contract checks plus frontend interactions on the earliest/latest versions; settings reset has 182 frontend checks across 26 versions. All pass. Counts from separate batches are not added up as distinct hosts.
65
+ - **Full Web and macOS hosts**: uninstall-recovery and MCP lifecycle fixes were checked on Web `0.1.5-alpha.1`, `0.2.1-rc.5`, `0.2.2-rc.1`, and `0.2.2-alpha.3`, official macOS Desktop `0.2.1-rc.5`, and NEXT `2.0.19-next` (bundled `0.2.1-rc.2`). Later task-history/rendering fixes additionally checked real tools, three turns, and cold restart on the earliest/latest Web hosts and official macOS rc.5. Subsequent usage, compaction, directory, memory-capacity, and reset fixes did not rerun the full desktop matrix.
66
+ - **Windows and Linux**: an earlier stage ran actual official x64 Desktop rc.5 and NEXT `2.0.21-next` (bundled rc.4) in a Windows 11 ARM64 VM, with 37 passing groups each for MCP, Bash, PowerShell, deletion protection, physical uninstall, cold restart, and history continuation. All 118 Windows regression tests pass, with three POSIX-specific skips, plus 22 PowerShell 5/7 comparisons. A staged non-root Linux ARM64 full suite passes 527 tests. Later fixes did not rerun those complete operating-system suites.
67
+ - **Preservation and limits**: within the accepted scenarios, parent/child history remains readable; Super Code continues with official Standard after uninstall and shows one notice, while Minimal revokes stale plugin rules. Public memory remains legacy CRUD. Host models use deterministic adapters, with no external-model calls, new 100-task evaluation, Safari-specific acceptance, or per-version historical native Windows desktop acceptance.
68
+
56
69
  ## 0.3.10 · 2026-11-03
57
70
 
58
71
  These Windows Bash checks ran at successive stages on November 2–3, 2026. Each batch retains its code baseline and scope; historical release records below are unchanged.
@@ -74,13 +74,27 @@ Settings shows the **plugin version** and the **preset version** separately.
74
74
 
75
75
  **Safety**:
76
76
 
77
- - Only presets verifiably installed by this plugin are replaced (directory: install record, UUID, path, directory identity; declarative: source marker or install record). Unmarked old copies and same-name declarations are left alone.
77
+ - Directory preset status, language synchronization, and reinstallation verify the install record, UUID, path, and directory identity. Declarative presets verify the source marker or install record. Older copies and same-name declarations with unverified ownership are left unchanged and remain readable.
78
78
  - The old content is backed up in `.super-code-backup-*`: under the user preset root for directory hosts, under the current profile for declarative hosts (ownership records in `.super-code-presets.json`).
79
- - A failed install restores automatically. After an unexpected crash, restore manually from the backup.
79
+ - Failed installs roll back their writes and check directory identity before cleanup; substituted directories are preserved. The host then attempts to reload the restored configuration. An originally absent configuration file stays absent. After a crash, or if ownership records remain unwritable, inspect the backup before restoring manually.
80
+
81
+ ### Continuing after uninstall
82
+
83
+ After loading a plugin version with recovery support, you can still read existing history when Super Code is uninstalled. Former Super Code conversations continue with the official Standard preset and display a one-time switch notice. The model, working directory and host permissions are preserved. Conversations already using an official preset keep that preset.
84
+
85
+ Turning off deletion protection, disabling its official-preset scope, or disabling or uninstalling the plugin revokes previously injected deletion rules on the next continuation, including Minimal's rules. Switching between strict and relaxed modes retires the previous rule; cold restarts do not add the same rule again. Original history and your own deletion instructions are preserved. If an older rule has already been compacted into a summary, an explicit revocation is added without discarding the summary's other context.
86
+
87
+ Disabling or uninstalling the plugin also releases its command filters, budget adapters, and MCP service. Host permission restrictions and changes owned by other plugins are preserved.
88
+
89
+ If the plugin is reinstalled or the selected preset changes during recovery, the current installation and latest selection take precedence over the fallback. Recovery module updates retain existing conversation registrations and stop late writes from the retired module.
90
+
91
+ If another process changes local recovery or preset ownership records while DSH is running, the plugin stops writing and preserves those files. Check the files, then restart DSH to reload them. An unrelated broken preset does not prevent other usable conversations from being registered.
92
+
93
+ The profile retains `.super-code-recovery` and its configuration entry so recovery works after a cold start without the npm package. It restores registered conversations and revokes old plugin deletion rules; it contains no Super Code tools or model configuration. An upgrade registers older conversations whose preset definitions still exist. If a preset was deleted or renamed before registration, first restore its definition from the installation backup, then reinstall and load the plugin to register the conversation. If Standard is also unavailable, the error is preserved rather than silently choosing another preset.
80
94
 
81
95
  ## Sidebar
82
96
 
83
- In the right sidebar choose **Super Code**. Three sections, at most one open at a time, Tasks by default. Click the open heading to collapse all sections. Switching keeps reading position, filters, and drafts. The UI follows Harness's Chinese/English setting.
97
+ In the right sidebar choose **Super Code**. Exactly one of the three sections stays open, Tasks by default. Clicking the open heading keeps it expanded. Switching keeps reading position, filters, and drafts. The UI follows Harness's Chinese/English setting.
84
98
 
85
99
  ### Tasks
86
100
 
@@ -88,6 +102,7 @@ Read-only. Shows what's already recorded in the session:
88
102
 
89
103
  - **Goal**: the recorded task goal, or the user's original message if there is none.
90
104
  - **Steps**: todos the model wrote down, shown as done/total. No steps means no invented plan or progress.
105
+ - **Earlier requests**: prior user requests and their recorded steps stay visible as history, separate from current progress.
91
106
  - **Tool calls**: success, failure, and running counts grouped by tool.
92
107
  - **Files**: successful file changes that can be confirmed from tool arguments or diffs, including nested PTC calls.
93
108
 
@@ -100,11 +115,11 @@ Notes:
100
115
 
101
116
  ### Agent execution
102
117
 
103
- The Agent tree, with status, usage, and cache rate for each Agent.
118
+ The Agent tree, with status, usage, and cache rate for each Agent. Usage counts only calls made by that Agent; forked history is not charged again to the child or the tree total.
104
119
 
105
120
  - Drag empty space to pan; zoom with the wheel or buttons.
106
121
  - Click a node to open its details in a new sidebar tab. The main conversation stays put.
107
- - Details are shown as a chat: user task, Agent replies, expandable tool calls and results. The header shows status, tokens, and cache; open **Details** for more usage, task records, and memory activity.
122
+ - Details are shown as a chat: user task, Agent replies, expandable tool calls and results, including PTC sub-calls and terminal failures. Harness's Markdown and code components render lists, tables, and highlighted code, while tool arguments and output remain literal. The header shows status, tokens, and cache; open **Details** for more usage, task records, and memory activity.
108
123
  - Running animations respect the system's reduced-motion setting.
109
124
 
110
125
  The [task](../images/task-status.png) and [tree screenshots](../images/agent-tree.png) render the current plugin with official frontend components and sample data. They illustrate the UI, not model quality.
@@ -181,6 +196,7 @@ maxContextBytes: 32768 # Super Code: task-memory context bytes
181
196
  ```
182
197
 
183
198
  - A shorter deadline set explicitly on a call still applies.
199
+ - After disabling or uninstalling the plugin, PTC calls whose execution inputs have not yet been resolved use the host deadline. Already-started calls keep their original deadline and are not restarted to restore settings.
184
200
  - Older hosts time PTC by busy CPU time; newer hosts by elapsed time. The two aren't comparable.
185
201
  - Raising `maxTasks` or `maxContextBytes` uses more context. The defaults are usually fine.
186
202
 
@@ -244,6 +260,7 @@ Directories:
244
260
 
245
261
  - The DSH workspace list is reread every time you open the tab. On first setup, existing workspaces are preselected; workspaces added later are **not** granted access automatically.
246
262
  - Add directories with the directory picker. Uncheck to revoke; unchecking the last one also turns MCP off.
263
+ - After revocation, the old directory request reports rejection. The caller must submit a new request to ask for access again.
247
264
 
248
265
  Connections:
249
266
 
@@ -251,7 +268,7 @@ Connections:
251
268
  - Disconnect clients from the Connection tab; idle connections drop after 10 minutes. Disconnecting doesn't cancel accepted tasks.
252
269
  - "Connected conversations" on Home means the linked MCP connection is still online, regardless of whether the task finished. After disconnect they count as past conversations.
253
270
 
254
- Port conflicts are reported directly. Use the URL shown on the page.
271
+ Port conflicts are reported directly. Choose another port, or resolve the conflict and click **Retry**. If settings were saved but connection cleanup failed, **Retry** restores the connection using those settings. Failed saves retain your draft for retry. Use the URL shown on the page.
255
272
 
256
273
  ### Configure the client
257
274
 
@@ -267,10 +284,10 @@ Whether a client can set up MCP from the prompt by itself depends on the client.
267
284
  |---|---|
268
285
  | `dsh_status` | Inspect directories, policies, capacity, blocking tasks, and recovery guidance |
269
286
  | `dsh_models` | List exact model/effort IDs for `dsh_run` and `dsh_send`; omission retains the current/default selection |
270
- | `dsh_read` | Page through owned conversations and managed children, including public messages, tool results, and failure details; excludes reasoning and private configuration |
287
+ | `dsh_read` | Page through owned conversations and managed children, including public messages, tool calls/results (also PTC sub-calls), and failure details; excludes reasoning and private configuration |
271
288
  | `dsh_approve` | Approve or reject one exact pending operation only when caller approval is enabled |
272
289
  | `dsh_sessions` | Call first after connecting: lists recent conversations per directory with status, whether they can be reused, connection capacity, and task concurrency |
273
- | `dsh_run` | Start a task. Pass `taskId` to reuse a specific conversation, or `newConversation: true` for a new one (passing neither also creates new). It **never** picks the latest conversation on its own. Same `requestId` + same input won't dispatch twice; different input is a conflict |
290
+ | `dsh_run` | Start a task. Pass `taskId` to reuse a specific conversation, or `newConversation: true` for a new one (passing neither also creates new). `newConversation: false` requires `taskId` and never creates or automatically picks the latest conversation. Same `requestId` + same input won't dispatch twice; different input is a conflict |
274
291
  | `dsh_wait` | Read task status, output, workspace changes, and new events, waiting up to 30 seconds. Without a task ID, lists all tasks page by page |
275
292
  | `dsh_send` | Add a follow-up or continue in the same conversation, with a new `requestId`. Never approves permissions for you |
276
293
  | `dsh_request_directory` | Ask for a new working directory; you approve it in DSH |
@@ -280,6 +297,8 @@ Whether a client can set up MCP from the prompt by itself depends on the client.
280
297
 
281
298
  The client calls `dsh_request_directory` with a `requestId`, an existing absolute `path`, and a `reason`. DSH shows a global dialog (Settings doesn't need to be open) with the client name, directory, and reason.
282
299
 
300
+ Before approval, DSH rechecks the requested directory's identity and the request status. Replacing the directory at the same path, expiry, or withdrawal prevents the old request from granting access; use a new `requestId` to request consent again. Ordinary file changes inside that directory do not invalidate consent.
301
+
283
302
  - Access is granted only when you click **Allow access**. A model's auto-approval can't do it for you.
284
303
  - Repeat the same call to check status: `pending` / `approved` / `rejected` / `expired`.
285
304
  - Tasks can't run in that directory until it's approved.
@@ -295,6 +314,9 @@ The client calls `dsh_request_directory` with a `requestId`, an existing absolut
295
314
  - `finished`: execution ended, but `acceptance` is always `not-verified`. The caller must check the result.
296
315
  - Returned file info is an observation of the Git workspace, including changes that existed before the task, so it doesn't prove the task made them. Non-Git directories or exceeded limits are marked unavailable.
297
316
  - Wait timeouts and client disconnects don't cancel tasks. Turning off the connection just stops new requests.
317
+ - Requests still being prepared recheck authorization before creating a conversation, selecting a model, and sending a prompt. Closing the service, revoking its directory, or disconnecting stops unsent prompts; submitted tasks keep running. Reconnecting never automatically resends a saved intent, and an unsent continuation preserves the previous turn's state.
318
+ - Creation, continuation, and cancellation stop if saving their intent fails. A restart during continuation preparation preserves the previous turn's tracking. An unconfirmed new prompt never inherits completion from the previous turn. Task records share a 64 MiB read/write limit; oversized writes are refused without replacing the saved file.
319
+ - Cancelling an MCP wait or approval request prevents a late form answer from granting permission. Service, directory and caller-approval settings are checked again before the decision. A one-time approval already decided is neither undone nor granted again by a later cancellation.
298
320
  - After a restart, prompts are never resent automatically. Find the ID via `dsh_sessions` or the task list, check the state, then continue explicitly. If the state can't be confirmed, it shows `interrupted` or `unavailable`; tasks not confirmed as stopped keep their concurrency slot.
299
321
 
300
322
  On capacity refusal, retain the same `requestId` and input and wait through `dsh_status` and `dsh_wait`. Do not cancel other clients' tasks or reconfigure the serving app. Release SDK sessions with `transport.terminateSession()` before `client.close()`; closing alone does not release server capacity. The packaged `super-code-mcp` CLI accepts JSON on stdin and reads its token from the private `DSH_MCP_TOKEN` environment variable.
@@ -1 +1 @@
1
- {"version":3,"file":"directories.d.ts","sourceRoot":"","sources":["../../src/connection/directories.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAC/F,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CACzD;AACD,0FAA0F;AAC1F,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAkB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAF1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBACvB,OAAO,EAAE,MAAM,MAAM,EAAE,EAAmB,GAAG,GAAE,MAAM,MAAiB;IACnG,OAAO,CAAC,MAAM;IAKR,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBrF,OAAO,IAAI,gBAAgB,EAAE;IACvB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;IAarJ,aAAa,IAAI,IAAI;CACtB"}
1
+ {"version":3,"file":"directories.d.ts","sourceRoot":"","sources":["../../src/connection/directories.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACzF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAC/F,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CACzD;AACD,0FAA0F;AAC1F,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAkB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAF1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgE;gBAC3D,OAAO,EAAE,MAAM,MAAM,EAAE,EAAmB,GAAG,GAAE,MAAM,MAAiB;IACnG,OAAO,CAAC,MAAM;IAMR,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBrF,OAAO,IAAI,gBAAgB,EAAE;IACvB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;IAmBrJ,aAAa,IAAI,IAAI;CACtB"}
@@ -17,22 +17,25 @@ export class DirectoryRequests {
17
17
  for (const row of this.requests.values()) {
18
18
  if (row.status === 'pending' && this.now() - row.createdAt >= 5 * 60 * 1000)
19
19
  row.status = 'expired';
20
+ if (row.status === 'approved' && !this.allowed().some(parent => withinDirectory(parent, row.path)))
21
+ row.status = 'rejected';
20
22
  }
21
23
  }
22
24
  async request(input, client) {
23
25
  this.expire();
24
26
  const existing = this.requests.get(input.requestId);
25
27
  if (existing) {
26
- if (this.sources.get(input.requestId) !== input.path || existing.reason !== input.reason)
28
+ if (this.sources.get(input.requestId)?.path !== input.path || existing.reason !== input.reason)
27
29
  throw new ConnectionError('request-conflict');
28
30
  return { ...existing };
29
31
  }
30
32
  if (!isAbsolute(input.path))
31
33
  throw new ConnectionError('absolute-directory-required');
32
- let path;
34
+ let path, identity;
33
35
  try {
34
36
  path = await realpath(input.path);
35
- if (!(await stat(path)).isDirectory())
37
+ identity = await stat(path, { bigint: true });
38
+ if (!identity.isDirectory())
36
39
  throw new Error();
37
40
  }
38
41
  catch {
@@ -50,7 +53,7 @@ export class DirectoryRequests {
50
53
  const row = { id: randomUUID(), ...input, path, client: client.slice(0, 80), createdAt: this.now(),
51
54
  status: this.allowed().some(parent => withinDirectory(parent, path)) ? 'approved' : 'pending' };
52
55
  this.requests.set(input.requestId, row);
53
- this.sources.set(input.requestId, input.path);
56
+ this.sources.set(input.requestId, { path: input.path, dev: identity.dev, ino: identity.ino });
54
57
  return { ...row };
55
58
  }
56
59
  pending() { this.expire(); return [...this.requests.values()].filter(row => row.status === 'pending').map(row => ({ ...row })); }
@@ -63,13 +66,19 @@ export class DirectoryRequests {
63
66
  return { status: row.status };
64
67
  if (decision === 'approved') {
65
68
  try {
66
- if (await realpath(row.path) !== row.path || !(await stat(row.path)).isDirectory())
69
+ if (await realpath(row.path) !== row.path)
70
+ throw new Error();
71
+ const source = this.sources.get(row.requestId), identity = await stat(row.path, { bigint: true });
72
+ if (!source || !identity.isDirectory() || identity.dev !== source.dev || identity.ino !== source.ino)
67
73
  throw new Error();
68
74
  }
69
75
  catch {
70
76
  row.status = 'rejected';
71
77
  throw new ConnectionError('directory-changed');
72
78
  }
79
+ this.expire();
80
+ if (row.status !== 'pending')
81
+ return { status: row.status };
73
82
  await grant(row.path);
74
83
  }
75
84
  row.status = decision;
@@ -1 +1 @@
1
- {"version":3,"file":"directories.js","sourceRoot":"","sources":["../../src/connection/directories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directories.js","sourceRoot":"","sources":["../../src/connection/directories.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/connection/guidance.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,EAAE,MAAmnD,CAAA;AAExpD,MAAM,WAAW,QAAQ;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AACxG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAqBzD"}
1
+ {"version":3,"file":"guidance.d.ts","sourceRoot":"","sources":["../../src/connection/guidance.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,EAAE,MAAmnD,CAAA;AAExpD,MAAM,WAAW,QAAQ;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE;AACxG,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA2BzD"}
@@ -7,6 +7,9 @@ export function connectionRecovery(code) {
7
7
  return { action: 'inspect-capacity', message: 'No prompt was admitted. Call dsh_status, wait for blocking tasks with dsh_wait, then retry the same requestId and input. Do not change cwd to evade a shared Git worktree lock or cancel another task.', retryable: true, retryAfterMs: 30000 };
8
8
  case 'new-conversation-disabled':
9
9
  return { action: 'choose-history', message: 'No new conversation was created. Call dsh_sessions and choose an existing taskId, or ask the user to enable creation.', retryable: false };
10
+ case 'task-id-required':
11
+ case 'conflicting-session-options':
12
+ return { action: 'choose-history', message: 'No prompt was sent. Call dsh_sessions and choose an exact taskId to reuse. newConversation=false requires taskId; newConversation=true cannot be combined with taskId. Do not automatically choose the latest conversation.', retryable: false };
10
13
  case 'directory-not-allowed':
11
14
  return { action: 'request-directory', message: 'Use dsh_status to inspect grants or dsh_request_directory to request user consent. Do not edit DSH settings or bypass this boundary.', retryable: false };
12
15
  case 'caller-approval-disabled':
@@ -20,6 +23,10 @@ export function connectionRecovery(code) {
20
23
  return { action: 'recover-task-id', message: 'Call dsh_sessions for the same cwd or dsh_wait without taskId to recover service-owned IDs. Do not recreate or resend an uncertain request.', retryable: false };
21
24
  case 'request-conflict':
22
25
  return { action: 'check-request', message: 'This requestId already identifies different input. Inspect the prior task; use a new requestId only for a genuinely new operation.', retryable: false };
26
+ case 'request-aborted':
27
+ return { action: 'inspect-task', message: 'This call stopped before dispatching its next action. Inspect the same requestId, taskId or pending approval; saved prompt intents are never automatically resent. Cancellation does not cancel prompts already submitted to DSH or undo approvals already decided.', retryable: false };
28
+ case 'task-storage-full':
29
+ return { action: 'report-storage-limit', message: 'The task history exceeds the 64 MiB storage limit. This write was refused without replacing the saved history. Do not resend an uncertain request or edit the serving profile; report the limit to the user.', retryable: false };
23
30
  default:
24
31
  return { action: 'report-error', message: 'Report the failure and inspect service/task state through MCP. Do not fall back to controlling the serving DSH application or editing its profile.', retryable: false };
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../src/connection/guidance.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAW,0mDAA0mD,CAAA;AAGxpD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB,CAAC;QAAC,KAAK,mBAAmB;YAC7C,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,wMAAwM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QAChS,KAAK,2BAA2B;YAC9B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,uHAAuH,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACzL,KAAK,uBAAuB;YAC1B,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,sIAAsI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC3M,KAAK,0BAA0B;YAC7B,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,gHAAgH,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACrL,KAAK,oBAAoB,CAAC;QAAC,KAAK,mBAAmB;YACjD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,mIAAmI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACvM,KAAK,sBAAsB;YACzB,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,uLAAuL,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC5P,KAAK,gBAAgB;YACnB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,6IAA6I,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAChN,KAAK,kBAAkB;YACrB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oIAAoI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACrM;YACE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oJAAoJ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACtN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../src/connection/guidance.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAW,0mDAA0mD,CAAA;AAGxpD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB,CAAC;QAAC,KAAK,mBAAmB;YAC7C,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,wMAAwM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QAChS,KAAK,2BAA2B;YAC9B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,uHAAuH,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACzL,KAAK,kBAAkB,CAAC;QAAC,KAAK,6BAA6B;YACzD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,6NAA6N,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC/R,KAAK,uBAAuB;YAC1B,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,sIAAsI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC3M,KAAK,0BAA0B;YAC7B,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,gHAAgH,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACrL,KAAK,oBAAoB,CAAC;QAAC,KAAK,mBAAmB;YACjD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,mIAAmI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACvM,KAAK,sBAAsB;YACzB,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,uLAAuL,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAC5P,KAAK,gBAAgB;YACnB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,6IAA6I,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QAChN,KAAK,kBAAkB;YACrB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,oIAAoI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACrM,KAAK,iBAAiB;YACpB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,qQAAqQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACrU,KAAK,mBAAmB;YACtB,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,8MAA8M,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACtR;YACE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oJAAoJ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACtN,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/connection/http.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAGnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAiB9E,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAClG,KAAK,UAAU,GAAG,MAAM,MAAM,CAAA;AAC9B,KAAK,gBAAgB,GAAG,MAAM;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAA;AAkBrG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,WAAW,EAAE,YAAY,SAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAE,UAAwB,EAAE,gBAAgB,GAAE,gBAA4H,GAAG,SAAS,CAgE1Y;AAQD,MAAM,WAAW,eAAe;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAKrH,8FAA8F;AAC9F,qBAAa,cAAc;IAMb,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAkB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALrF,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,KAAK,CAAgD;gBAChC,KAAK,EAAE,cAAc,EAAmB,gBAAgB,GAAE,gBAAgB,GAAG,SAAqB;IAC/H,WAAW,IAAI,eAAe,EAAE;IAG1B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAO7B,KAAK;IAIb,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAY7D,KAAK;YAsBL,MAAM;IAqDd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7B"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/connection/http.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAGnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAiB9E,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAClG,KAAK,UAAU,GAAG,MAAM,MAAM,CAAA;AAC9B,KAAK,gBAAgB,GAAG,MAAM;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAA;AAkBrG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,WAAW,EAAE,YAAY,SAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAE,UAAwB,EAAE,gBAAgB,GAAE,gBAA4H,GAAG,SAAS,CAoE1Y;AAQD,MAAM,WAAW,eAAe;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAKrH,8FAA8F;AAC9F,qBAAa,cAAc;IAMb,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAkB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IALrF,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,KAAK,CAAgD;gBAChC,KAAK,EAAE,cAAc,EAAmB,gBAAgB,GAAE,gBAAgB,GAAG,SAAqB;IAC/H,WAAW,IAAI,eAAe,EAAE;IAG1B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAO7B,KAAK;IAIb,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAY7D,KAAK;YAyBL,MAAM;IA0Dd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAa7B"}