概览
dsh-archive-manager
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
- **Only archived sessions.** The route refuses any id not present in `workspaceRegistry.archivedSessionIds`. - **Live sessions are refused** — checked before the persistence lookup and again immediately before the `rm`, with HTTP `409`. - **Raw-artifact backend required.** The persistence backend must advertise `supportsRawArtifacts === true` and a `locate()` returning `{ kind: 'jsonl', path }`. Otherwise the route answers `501`. - **Deletes the session directory only.** `rm(dirname(location.path), { recursive: true, force: false })` removes the directory that holds the session's JSONL log (and any session-local files inside it). It does **not** modify the workspace registry, the archived markers, the projection cache, or content-addressed attachments (which live in a separate shared store and are shared across sessions). - **Stale archived markers.** After a successful delete, the archived marker in `archivedSessionIds` remains by design (removing it would mutate the registry). Because the panel only lists archived ids that still have a session summary, and the physical deletion removes that summary, the leftover marker does not reappear after a page reload. A local deleted-id set also hides the row immediately even if the follow-up refresh fails. - **Not reversible.** The deletion is a recursive `rm` with `force: false`. There is no trash or restore path.
