Follow the cordis-plugin-development references instead of the ad-hoc choices the first version made. Client half: - register the row button under this package's own id instead of shadowing the shipped `archive` action at a lower priority, so the official hover buttons keep their cells and archiving stays where the harness put it - drop the synthetic `pointerout` dispatched at a `[data-row-key]` ancestor: a plugin does not read or drive another package's DOM, so the tooltip is now positioned from its own button alone - keep the self-rendered primitives, the `--dsw-*` token-only styling, and the modal focus/Escape behavior, and document why Host half: - resolve a conversation's descendants with `sessionQuery.traceSession()` instead of listing every stored header and re-deriving `parentSession` edges - decide liveness from the traced `SessionRecord.live` flag, which removes the `agents` and `sessions` dependencies from `inject` - build the orphan-sweep corpus from `sessionQuery.listSessions()`, which already merges live and persisted sessions - document that `sessionPersistence.locate()` is a JSONL-backend diagnostic hook, not part of the seam, and keep probing it explicitly - record only tree roots in the deferred-deletion ledger: the activation sweep removes a root with everything under it, so a separately recorded child was deleted twice or needed a pass that never runs - return the activation's sweep promise from `apply()` so a test can await it Manifest and docs: - version 2.0.0, `private`, `dsh.manifestVersion`, and `engines` - delete the Gitea npm publish workflow and every npm-publishing task: the package is distributed only through the Git repository and tags - rewrite the README around the current install paths and the plugin's limits
51 lines
1.3 KiB
JSON
51 lines
1.3 KiB
JSON
{
|
|
"name": "@dsh-plugin/session-delete",
|
|
"version": "2.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "Permanently delete a conversation: stop it, remove its session log, subagent logs, and spilled tool output, and drop every registry reference. Settings → General can sweep orphaned temporary files left by conversations that are gone.",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://gitea.iwake.top/dsh-plugin/session-delete.git"
|
|
},
|
|
"homepage": "https://gitea.iwake.top/dsh-plugin/session-delete",
|
|
"exports": {
|
|
".": "./index.js",
|
|
"./client": "./client.js",
|
|
"./package.json": "./package.json",
|
|
"./locale/*.json": "./locale/*.json"
|
|
},
|
|
"icon": "./icon.svg",
|
|
"meta": {
|
|
"title": "Session delete",
|
|
"description": "Permanently delete a conversation and its stored log, and sweep orphaned temporary files."
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"client.js",
|
|
"cordis.patch.yml",
|
|
"icon.svg",
|
|
"locale/*.json",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"engines": {
|
|
"node": ">=22",
|
|
"dsh": "0.2.0-rc.2"
|
|
},
|
|
"dsh": {
|
|
"manifestVersion": 1,
|
|
"bundle": {
|
|
"patch": "./cordis.patch.yml"
|
|
},
|
|
"client": {
|
|
"platform": "web",
|
|
"immediately": true,
|
|
"inject": [
|
|
"@deepseek-ai/dsh-client-ui-workspace"
|
|
]
|
|
}
|
|
}
|
|
}
|