dsh-native-session-delete 1.0.4 → 1.0.5

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/AGENTS.md CHANGED
@@ -1,137 +1,137 @@
1
- # Agent installation guide
2
-
3
- Use this guide when a user explicitly asks an Agent to install, update, verify,
4
- or remove `dsh-native-session-delete` in a selected DeepSeek Harness profile.
5
-
6
- ## Safety and responsibility boundary
7
-
8
- - Confirm the target DSH installation and profile. Use `web` only when it is the user's target.
9
- - Use the fixed v1.0.4 package below; never substitute a moving branch or an unreviewed source.
10
- - Do not print session contents, full profile files, transcript paths, credentials, or other private data.
11
- - Do not start, stop, or restart DSH without explicit permission.
12
- - Preserve all sessions, unrelated plugins, and user-owned profile changes.
13
- - Never delete a session as an installation test unless the user explicitly selects a disposable session
14
- and confirms the destructive test.
15
- - Prefer one durable user installation over disposable copies under `LocalAppData\Temp`. If more than one
16
- durable DSH installation remains, ask which installation is the target before changing it.
17
-
18
- Permanent deletion is irreversible. The Agent must not claim that this plugin provides secure erasure:
19
- external attachments, caches, logs, backups, cloud copies, and non-JSONL stores are outside its scope.
20
- The user is responsible for authority to delete the selected data and for applicable retention or privacy
21
- requirements. A cancelled confirmation is the safe default and must not send a delete request.
22
-
23
- ## Fixed package and standard bundle
24
-
25
- The v1.0.4 package is a standard DSH bundle with a `dsh.bundle` profile patch. Its exact package spec is:
26
-
27
- ```text
28
- dsh-native-session-delete@1.0.4
29
- ```
30
-
31
- The bundle disables the official workspace row while installed and inserts a uniquely identified native
32
- workspace row. Removing `dsh-native-session-delete` removes that layer, allowing DSH to restore the official
33
- workspace row. Do not install the tarball under `@deepseek-ai/dsh-client-ui-workspace`; that old aliasing
34
- approach is not the v1.0.4 contract.
35
-
36
- ## Detect the target DSH
37
-
38
- Use read-only filesystem checks to locate the requested target. On Windows:
39
-
40
- ```powershell
41
- Get-Command dsh -ErrorAction SilentlyContinue
42
- Get-ChildItem -LiteralPath . -Filter dsh.exe -File -ErrorAction SilentlyContinue
43
- ```
44
-
45
- For DSH-Portable, a valid root normally contains `dsh.exe`, `runtime\node\node.exe`, and
46
- `app\node_modules\@deepseek-ai\dsh\lib\bin.js`. Missing system Node.js or pnpm is normal for
47
- DSH-Portable; do not install either globally just for this plugin.
48
-
49
- `dsh plugin ... list` is not strictly read-only. Its first invocation may initialize or migrate a Portable
50
- profile, rebuild dependency links, or update profile package-manager metadata. It is non-destructive to
51
- session contents, but an Agent must not describe it as a filesystem read-only check. If attribution matters,
52
- record the selected profile's relevant metadata before invoking it, without printing secrets.
53
-
54
- ## Install or update
55
-
56
- With an existing `dsh` command, run exactly:
57
-
58
- ```sh
59
- dsh plugin --profile web add dsh-native-session-delete@1.0.4
60
- ```
61
-
62
- With DSH-Portable, run from its root:
63
-
64
- ```powershell
65
- .\dsh.exe plugin --profile web add dsh-native-session-delete@1.0.4
66
- ```
67
-
68
- Use the same `add` command to update or repair. On Windows, `install.ps1` from the same fixed Release may
69
- be used only as a thin locator and launcher. It checks bounded known locations and up to three nested levels
70
- under common user/temporary roots, then invokes the exact command
71
- above once. It must not scan disks recursively, download package-manager components, save profile snapshots,
72
- create a persistent manager command, modify another profile, or restart DSH automatically. The DSH CLI owns
73
- dependency resolution and bundle composition.
74
-
75
- After a successful configuration change, ask for permission before restarting DSH. A successful CLI exit
76
- alone is not runtime acceptance.
77
-
78
- ## Acceptance
79
-
80
- First verify the selected profile without exposing its contents:
81
-
82
- ```sh
83
- dsh plugin --profile web list dsh-native-session-delete --depth 0
84
- ```
85
-
86
- Use `.\dsh.exe` in place of `dsh` for DSH-Portable. Static acceptance requires:
87
-
88
- 1. The `dsh-native-session-delete` bundle appears exactly once in the requested profile.
89
- 2. Its direct package spec is the fixed `dsh-native-session-delete@1.0.4` npm version above.
90
- 3. The profile contains the bundle patch and no duplicate official workspace row from this plugin.
91
- 4. No unrelated dependency, profile patch, or session data was changed by the operation.
92
-
93
- With permission to restart DSH, verify the live UI in dark mode:
94
-
95
- 1. The selected session's native actions menu contains **Archive session** and the red **Delete session…** action.
96
- 2. Opening Delete shows the target session name and a second confirmation.
97
- 3. Selecting **Cancel** closes the dialog, sends no delete request, and leaves the session visible.
98
- 4. A destructive check is allowed only with a disposable test session explicitly selected by the user.
99
- 5. After confirming that disposable session, verify it disappears in place without reloading the whole DSH page.
100
-
101
- For source-checkout UI acceptance, the non-destructive smoke test is:
102
-
103
- ```sh
104
- pnpm smoke:ui -- --url http://127.0.0.1:14171 --session "Exact session title"
105
- ```
106
-
107
- The title must identify the intended session. The runner must only open the dialog and cancel it; it must
108
- not send a deletion request or manage the DSH process.
109
-
110
- ## Uninstall
111
-
112
- For a standard profile:
113
-
114
- ```sh
115
- dsh plugin --profile web remove dsh-native-session-delete
116
- ```
117
-
118
- For DSH-Portable:
119
-
120
- ```powershell
121
- .\dsh.exe plugin --profile web remove dsh-native-session-delete
122
- ```
123
-
124
- Uninstall removes only this plugin's bundle layer. It must not delete sessions and must not restart DSH
125
- without permission. After the command, verify that `dsh-native-session-delete` is absent and that the
126
- official workspace row is available again after the next permitted DSH restart.
127
-
128
- ## Failure handling
129
-
130
- Distinguish command discovery, network, HTTP/TLS, package-manager, profile-conflict, version, and
131
- peer-dependency failures. Do not disable TLS validation, delete a profile, replace unrelated packages,
132
- or claim success from an exit code alone.
133
-
134
- On failure, report the sanitized command error, DSH version, selected profile, requested plugin version,
135
- what changed, rollback state, and what remains unverified. Do not attempt an irreversible session deletion
136
- as a recovery step. If the bundle was added but verification failed, stop and obtain permission before any
137
- further profile change.
1
+ # Agent installation guide
2
+
3
+ Use this guide when a user explicitly asks an Agent to install, update, verify,
4
+ or remove `dsh-native-session-delete` in a selected DeepSeek Harness profile.
5
+
6
+ ## Safety and responsibility boundary
7
+
8
+ - Confirm the target DSH installation and profile. Use `web` only when it is the user's target.
9
+ - Use the fixed v1.0.5 package below; never substitute a moving branch or an unreviewed source.
10
+ - Do not print session contents, full profile files, transcript paths, credentials, or other private data.
11
+ - Do not start, stop, or restart DSH without explicit permission.
12
+ - Preserve all sessions, unrelated plugins, and user-owned profile changes.
13
+ - Never delete a session as an installation test unless the user explicitly selects a disposable session
14
+ and confirms the destructive test.
15
+ - Prefer one durable user installation over disposable copies under `LocalAppData\Temp`. If more than one
16
+ durable DSH installation remains, ask which installation is the target before changing it.
17
+
18
+ Permanent deletion is irreversible. The Agent must not claim that this plugin provides secure erasure:
19
+ external attachments, caches, logs, backups, cloud copies, and non-JSONL stores are outside its scope.
20
+ The user is responsible for authority to delete the selected data and for applicable retention or privacy
21
+ requirements. A cancelled confirmation is the safe default and must not send a delete request.
22
+
23
+ ## Fixed package and standard bundle
24
+
25
+ The v1.0.5 package is a standard DSH bundle with a `dsh.bundle` profile patch. Its exact package spec is:
26
+
27
+ ```text
28
+ dsh-native-session-delete@1.0.5
29
+ ```
30
+
31
+ The bundle disables the official workspace row while installed and inserts a uniquely identified native
32
+ workspace row. Removing `dsh-native-session-delete` removes that layer, allowing DSH to restore the official
33
+ workspace row. Do not install the tarball under `@deepseek-ai/dsh-client-ui-workspace`; that old aliasing
34
+ approach is not the v1.0.5 contract.
35
+
36
+ ## Detect the target DSH
37
+
38
+ Use read-only filesystem checks to locate the requested target. On Windows:
39
+
40
+ ```powershell
41
+ Get-Command dsh -ErrorAction SilentlyContinue
42
+ Get-ChildItem -LiteralPath . -Filter dsh.exe -File -ErrorAction SilentlyContinue
43
+ ```
44
+
45
+ For DSH-Portable, a valid root normally contains `dsh.exe`, `runtime\node\node.exe`, and
46
+ `app\node_modules\@deepseek-ai\dsh\lib\bin.js`. Missing system Node.js or pnpm is normal for
47
+ DSH-Portable; do not install either globally just for this plugin.
48
+
49
+ `dsh plugin ... list` is not strictly read-only. Its first invocation may initialize or migrate a Portable
50
+ profile, rebuild dependency links, or update profile package-manager metadata. It is non-destructive to
51
+ session contents, but an Agent must not describe it as a filesystem read-only check. If attribution matters,
52
+ record the selected profile's relevant metadata before invoking it, without printing secrets.
53
+
54
+ ## Install or update
55
+
56
+ With an existing `dsh` command, run exactly:
57
+
58
+ ```sh
59
+ dsh plugin --profile web add dsh-native-session-delete@1.0.5
60
+ ```
61
+
62
+ With DSH-Portable, run from its root:
63
+
64
+ ```powershell
65
+ .\dsh.exe plugin --profile web add dsh-native-session-delete@1.0.5
66
+ ```
67
+
68
+ Use the same `add` command to update or repair. On Windows, `install.ps1` from the same fixed Release may
69
+ be used only as a thin locator and launcher. It checks bounded known locations and up to three nested levels
70
+ under common user/temporary roots, then invokes the exact command
71
+ above once. It must not scan disks recursively, download package-manager components, save profile snapshots,
72
+ create a persistent manager command, modify another profile, or restart DSH automatically. The DSH CLI owns
73
+ dependency resolution and bundle composition.
74
+
75
+ After a successful configuration change, ask for permission before restarting DSH. A successful CLI exit
76
+ alone is not runtime acceptance.
77
+
78
+ ## Acceptance
79
+
80
+ First verify the selected profile without exposing its contents:
81
+
82
+ ```sh
83
+ dsh plugin --profile web list dsh-native-session-delete --depth 0
84
+ ```
85
+
86
+ Use `.\dsh.exe` in place of `dsh` for DSH-Portable. Static acceptance requires:
87
+
88
+ 1. The `dsh-native-session-delete` bundle appears exactly once in the requested profile.
89
+ 2. Its direct package spec is the fixed `dsh-native-session-delete@1.0.5` npm version above.
90
+ 3. The profile contains the bundle patch and no duplicate official workspace row from this plugin.
91
+ 4. No unrelated dependency, profile patch, or session data was changed by the operation.
92
+
93
+ With permission to restart DSH, verify the live UI in dark mode:
94
+
95
+ 1. The selected session's native actions menu contains **Archive session** and the red **Delete session…** action.
96
+ 2. Opening Delete shows the target session name and a second confirmation.
97
+ 3. Selecting **Cancel** closes the dialog, sends no delete request, and leaves the session visible.
98
+ 4. A destructive check is allowed only with a disposable test session explicitly selected by the user.
99
+ 5. After confirming that disposable session, verify it disappears in place without reloading the whole DSH page.
100
+
101
+ For source-checkout UI acceptance, the non-destructive smoke test is:
102
+
103
+ ```sh
104
+ pnpm smoke:ui -- --url http://127.0.0.1:14171 --session "Exact session title"
105
+ ```
106
+
107
+ The title must identify the intended session. The runner must only open the dialog and cancel it; it must
108
+ not send a deletion request or manage the DSH process.
109
+
110
+ ## Uninstall
111
+
112
+ For a standard profile:
113
+
114
+ ```sh
115
+ dsh plugin --profile web remove dsh-native-session-delete
116
+ ```
117
+
118
+ For DSH-Portable:
119
+
120
+ ```powershell
121
+ .\dsh.exe plugin --profile web remove dsh-native-session-delete
122
+ ```
123
+
124
+ Uninstall removes only this plugin's bundle layer. It must not delete sessions and must not restart DSH
125
+ without permission. After the command, verify that `dsh-native-session-delete` is absent and that the
126
+ official workspace row is available again after the next permitted DSH restart.
127
+
128
+ ## Failure handling
129
+
130
+ Distinguish command discovery, network, HTTP/TLS, package-manager, profile-conflict, version, and
131
+ peer-dependency failures. Do not disable TLS validation, delete a profile, replace unrelated packages,
132
+ or claim success from an exit code alone.
133
+
134
+ On failure, report the sanitized command error, DSH version, selected profile, requested plugin version,
135
+ what changed, rollback state, and what remains unverified. Do not attempt an irreversible session deletion
136
+ as a recovery step. If the bundle was added but verification failed, stop and obtain permission before any
137
+ further profile change.
package/README.en.md CHANGED
@@ -1,142 +1,142 @@
1
- <div align="center">
2
-
3
- # DSH Native Session Delete
4
-
5
- **Bring permanent session deletion to the native DeepSeek Harness menu.**
6
-
7
- Native dark menu · Second confirmation · Permanent delete · In-place list update
8
-
9
- [![Release](https://img.shields.io/github/v/release/WSL043/dsh-native-session-delete?display_name=tag&style=flat-square)](https://github.com/WSL043/dsh-native-session-delete/releases/latest)
10
- [![Checks](https://img.shields.io/github/actions/workflow/status/WSL043/dsh-native-session-delete/ci.yml?branch=main&label=checks&style=flat-square)](https://github.com/WSL043/dsh-native-session-delete/actions/workflows/ci.yml)
11
- [![npm](https://img.shields.io/npm/v/dsh-native-session-delete?style=flat-square)](https://www.npmjs.com/package/dsh-native-session-delete)
12
- [![DSH](https://img.shields.io/badge/DSH-auto--tested-2f81f7?style=flat-square)](#compatibility)
13
- [![License](https://img.shields.io/github/license/WSL043/dsh-native-session-delete?style=flat-square)](LICENSE)
14
-
15
- [中文](README.md) · [Install](#install) · [Use](#use) · [Safety boundary](#safety-boundary)
16
-
17
- </div>
18
-
19
- <p align="center">
20
- <img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.4/docs/assets/hero.en.png" alt="Red Delete session action in the native DeepSeek Harness dark-mode session menu">
21
- </p>
22
-
23
- | Native | Direct | Smooth |
24
- | --- | --- | --- |
25
- | The action lives in the native session menu and keeps Archive available | A second confirmation permanently deletes the target; running work is stopped first | The list updates in place without reloading the whole DSH page |
26
-
27
- ## Install
28
-
29
- ### Windows quick install (recommended)
30
-
31
- Open PowerShell and paste one line:
32
-
33
- ```powershell
34
- irm 'https://github.com/WSL043/dsh-native-session-delete/releases/download/v1.0.4/install.ps1' | iex
35
- ```
36
-
37
- The helper checks the current directory, PATH, `DSH_PORTABLE_ROOT`, Downloads/Desktop/Documents, and up to
38
- three nested levels below those folders and `LocalAppData\Temp`, then calls the official DSH `plugin add`
39
- command once. It does not recursively scan disks, install a package manager, snapshot profiles, create a
40
- resident command, or download the plugin twice. It supports regular DSH and
41
- [DSH-Portable](https://github.com/WSL043/DSH-Portable). If it finds one durable installation plus disposable
42
- copies under Temp, it chooses the durable installation automatically. If several durable installations exist,
43
- the helper displays their real paths and asks for a number; no command editing or placeholder path is needed.
44
- If it still finds nothing, enter the actual DSH-Portable folder and rerun the same one-line command.
45
-
46
- ### Official CLI (macOS, Linux, or direct review)
47
-
48
- ```sh
49
- dsh plugin --profile web add dsh-native-session-delete@1.0.4
50
- ```
51
-
52
- The helper and direct command use the same standard bundle mechanism. The helper is only a Windows entry
53
- point; DSH still owns the installation transaction.
54
-
55
- When the command finishes, save your work and restart DSH once through its normal workflow so the new
56
- bundle configuration becomes active.
57
-
58
- ### Agent installation
59
-
60
- Use the fixed-version [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.4/AGENTS.md).
61
- It defines installation, update, acceptance, uninstall, and safety boundaries. Do not use the `main`
62
- branch document as an installation contract.
63
-
64
- ## Use
65
-
66
- 1. Open the native actions menu beside the target session in the sidebar.
67
- 2. Choose the red **Delete session…** action.
68
- 3. Check the session name and select **Delete permanently** in the confirmation dialog, or select
69
- **Cancel** to leave it unchanged.
70
-
71
- <p align="center">
72
- <img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.4/docs/assets/confirm-delete.en.png" width="560" alt="English dark-mode permanent deletion confirmation dialog">
73
- <br><sub>Permanent deletion cannot be undone; the dialog identifies the target session.</sub>
74
- </p>
75
-
76
- Once active, the plugin reuses DSH lifecycle and session-storage capabilities. If work is still running,
77
- it is stopped and allowed to settle before the target session is deleted. The session list then
78
- updates in place without reloading the whole DSH page.
79
-
80
- ## Safety boundary
81
-
82
- > [!WARNING]
83
- > Permanent deletion cannot be undone. Check the session name before confirming and make a separate backup when needed.
84
-
85
- The plugin is responsible for validating and removing only the explicitly confirmed session's dedicated
86
- directory within DSH's default per-session JSONL store and host lifecycle boundary. DSH currently exposes
87
- no public session-deletion API. The second confirmation is mandatory; cancelling sends no deletion request.
88
-
89
- The following are outside the plugin's deletion scope and are not guaranteed to be removed:
90
-
91
- - Other sessions, other plugin data, external attachments, caches, indexes, logs, backups, or cloud/sync copies;
92
- - Non-JSONL storage or hosts without a safe stop capability; these are refused instead of force-deleted;
93
- - Additional copies created by the operating system, filesystem, host updates, or third-party sync services.
94
-
95
- If the operating system refuses cleanup, the plugin reports that deletion could not be confirmed rather
96
- than misreporting partial completion as success. You are responsible for having authority to delete the
97
- target data and for meeting applicable retention, audit, and privacy requirements. This is an unofficial
98
- community plugin, not affiliated with or endorsed by DeepSeek. It is provided under the [MIT License](LICENSE),
99
- without warranty.
100
-
101
- ## Compatibility
102
-
103
- <!-- dsh-compatibility -->
104
- Automatically accepted: `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.0-rc.8`. A new version is added only after isolated install, build, test, and official Web UI smoke acceptance all pass.
105
- <!-- /dsh-compatibility -->
106
-
107
- The plugin targets DSH's default per-session JSONL storage. It uses a standard `dsh.bundle` profile layer
108
- that replaces the official workspace row with the uniquely identified native client
109
- `dsh-native-session-delete`; uninstalling restores the official workspace row.
110
-
111
- GitHub Actions reads the full DSH registry version sequence every six hours and cross-checks it against an
112
- official immutable Release. For the oldest uncovered release, it installs official DSH and the candidate plugin in an isolated profile, then checks
113
- the build, unit suite, native menu, red delete action, second confirmation, cancel-without-request, and
114
- no-full-page-reload behavior. Only a complete pass extends the compatibility range and publishes a new
115
- immutable patch release. Any failure stops publication and leaves the existing compatibility claim intact.
116
- Structural upstream changes still require a code fix; automation never guesses at deletion behavior.
117
-
118
- ## Update and uninstall
119
-
120
- Update by rerunning the quick installer or installing the new npm version. For v1.0.4:
121
-
122
- ```sh
123
- dsh plugin --profile web add dsh-native-session-delete@1.0.4
124
- ```
125
-
126
- Uninstall removes only this plugin's bundle layer and never deletes sessions:
127
-
128
- ```sh
129
- dsh plugin --profile web remove dsh-native-session-delete
130
- ```
131
-
132
- For DSH-Portable, use the corresponding `.\dsh.exe plugin --profile web add ...` or
133
- `.\dsh.exe plugin --profile web remove dsh-native-session-delete`. Restart DSH through its normal
134
- workflow after installing, updating, or uninstalling so the configuration is recomposed.
135
-
136
- ## Support and license
137
-
138
- Open a [GitHub Issue](https://github.com/WSL043/dsh-native-session-delete/issues) for ordinary problems. Report
139
- security issues privately as described in [SECURITY.md](SECURITY.md).
140
-
141
- MIT. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for the modified upstream client and its license
142
- notice.
1
+ <div align="center">
2
+
3
+ # DSH Native Session Delete
4
+
5
+ **Bring permanent session deletion to the native DeepSeek Harness menu.**
6
+
7
+ Native dark menu · Second confirmation · Permanent delete · In-place list update
8
+
9
+ [![Release](https://img.shields.io/github/v/release/WSL043/dsh-native-session-delete?display_name=tag&style=flat-square)](https://github.com/WSL043/dsh-native-session-delete/releases/latest)
10
+ [![Checks](https://img.shields.io/github/actions/workflow/status/WSL043/dsh-native-session-delete/ci.yml?branch=main&label=checks&style=flat-square)](https://github.com/WSL043/dsh-native-session-delete/actions/workflows/ci.yml)
11
+ [![npm](https://img.shields.io/npm/v/dsh-native-session-delete?style=flat-square)](https://www.npmjs.com/package/dsh-native-session-delete)
12
+ [![DSH](https://img.shields.io/badge/DSH-auto--tested-2f81f7?style=flat-square)](#compatibility)
13
+ [![License](https://img.shields.io/github/license/WSL043/dsh-native-session-delete?style=flat-square)](LICENSE)
14
+
15
+ [中文](README.md) · [Install](#install) · [Use](#use) · [Safety boundary](#safety-boundary)
16
+
17
+ </div>
18
+
19
+ <p align="center">
20
+ <img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.5/docs/assets/hero.en.png" alt="Red Delete session action in the native DeepSeek Harness dark-mode session menu">
21
+ </p>
22
+
23
+ | Native | Direct | Smooth |
24
+ | --- | --- | --- |
25
+ | The action lives in the native session menu and keeps Archive available | A second confirmation permanently deletes the target; running work is stopped first | The list updates in place without reloading the whole DSH page |
26
+
27
+ ## Install
28
+
29
+ ### Windows quick install (recommended)
30
+
31
+ Open PowerShell and paste one line:
32
+
33
+ ```powershell
34
+ irm 'https://github.com/WSL043/dsh-native-session-delete/releases/download/v1.0.5/install.ps1' | iex
35
+ ```
36
+
37
+ The helper checks the current directory, PATH, `DSH_PORTABLE_ROOT`, Downloads/Desktop/Documents, and up to
38
+ three nested levels below those folders and `LocalAppData\Temp`, then calls the official DSH `plugin add`
39
+ command once. It does not recursively scan disks, install a package manager, snapshot profiles, create a
40
+ resident command, or download the plugin twice. It supports regular DSH and
41
+ [DSH-Portable](https://github.com/WSL043/DSH-Portable). If it finds one durable installation plus disposable
42
+ copies under Temp, it chooses the durable installation automatically. If several durable installations exist,
43
+ the helper displays their real paths and asks for a number; no command editing or placeholder path is needed.
44
+ If it still finds nothing, enter the actual DSH-Portable folder and rerun the same one-line command.
45
+
46
+ ### Official CLI (macOS, Linux, or direct review)
47
+
48
+ ```sh
49
+ dsh plugin --profile web add dsh-native-session-delete@1.0.5
50
+ ```
51
+
52
+ The helper and direct command use the same standard bundle mechanism. The helper is only a Windows entry
53
+ point; DSH still owns the installation transaction.
54
+
55
+ When the command finishes, save your work and restart DSH once through its normal workflow so the new
56
+ bundle configuration becomes active.
57
+
58
+ ### Agent installation
59
+
60
+ Use the fixed-version [AGENTS.md](https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.5/AGENTS.md).
61
+ It defines installation, update, acceptance, uninstall, and safety boundaries. Do not use the `main`
62
+ branch document as an installation contract.
63
+
64
+ ## Use
65
+
66
+ 1. Open the native actions menu beside the target session in the sidebar.
67
+ 2. Choose the red **Delete session…** action.
68
+ 3. Check the session name and select **Delete permanently** in the confirmation dialog, or select
69
+ **Cancel** to leave it unchanged.
70
+
71
+ <p align="center">
72
+ <img src="https://raw.githubusercontent.com/WSL043/dsh-native-session-delete/v1.0.5/docs/assets/confirm-delete.en.png" width="560" alt="English dark-mode permanent deletion confirmation dialog">
73
+ <br><sub>Permanent deletion cannot be undone; the dialog identifies the target session.</sub>
74
+ </p>
75
+
76
+ Once active, the plugin reuses DSH lifecycle and session-storage capabilities. If work is still running,
77
+ it is stopped and allowed to settle before the target session is deleted. The session list then
78
+ updates in place without reloading the whole DSH page.
79
+
80
+ ## Safety boundary
81
+
82
+ > [!WARNING]
83
+ > Permanent deletion cannot be undone. Check the session name before confirming and make a separate backup when needed.
84
+
85
+ The plugin is responsible for validating and removing only the explicitly confirmed session's dedicated
86
+ directory within DSH's default per-session JSONL store and host lifecycle boundary. DSH currently exposes
87
+ no public session-deletion API. The second confirmation is mandatory; cancelling sends no deletion request.
88
+
89
+ The following are outside the plugin's deletion scope and are not guaranteed to be removed:
90
+
91
+ - Other sessions, other plugin data, external attachments, caches, indexes, logs, backups, or cloud/sync copies;
92
+ - Non-JSONL storage or hosts without a safe stop capability; these are refused instead of force-deleted;
93
+ - Additional copies created by the operating system, filesystem, host updates, or third-party sync services.
94
+
95
+ If the operating system refuses cleanup, the plugin reports that deletion could not be confirmed rather
96
+ than misreporting partial completion as success. You are responsible for having authority to delete the
97
+ target data and for meeting applicable retention, audit, and privacy requirements. This is an unofficial
98
+ community plugin, not affiliated with or endorsed by DeepSeek. It is provided under the [MIT License](LICENSE),
99
+ without warranty.
100
+
101
+ ## Compatibility
102
+
103
+ <!-- dsh-compatibility -->
104
+ Automatically accepted: `0.1.0-rc.6`, `0.1.0-rc.7`, `0.1.0-rc.8`, `0.1.1-rc.1`. A new version is added only after isolated install, build, test, and official Web UI smoke acceptance all pass.
105
+ <!-- /dsh-compatibility -->
106
+
107
+ The plugin targets DSH's default per-session JSONL storage. It uses a standard `dsh.bundle` profile layer
108
+ that replaces the official workspace row with the uniquely identified native client
109
+ `dsh-native-session-delete`; uninstalling restores the official workspace row.
110
+
111
+ GitHub Actions reads the full DSH registry version sequence every six hours and cross-checks it against an
112
+ official immutable Release. For the oldest uncovered release, it installs official DSH and the candidate plugin in an isolated profile, then checks
113
+ the build, unit suite, native menu, red delete action, second confirmation, cancel-without-request, and
114
+ no-full-page-reload behavior. Only a complete pass extends the compatibility range and publishes a new
115
+ immutable patch release. Any failure stops publication and leaves the existing compatibility claim intact.
116
+ Structural upstream changes still require a code fix; automation never guesses at deletion behavior.
117
+
118
+ ## Update and uninstall
119
+
120
+ Update by rerunning the quick installer or installing the new npm version. For v1.0.5:
121
+
122
+ ```sh
123
+ dsh plugin --profile web add dsh-native-session-delete@1.0.5
124
+ ```
125
+
126
+ Uninstall removes only this plugin's bundle layer and never deletes sessions:
127
+
128
+ ```sh
129
+ dsh plugin --profile web remove dsh-native-session-delete
130
+ ```
131
+
132
+ For DSH-Portable, use the corresponding `.\dsh.exe plugin --profile web add ...` or
133
+ `.\dsh.exe plugin --profile web remove dsh-native-session-delete`. Restart DSH through its normal
134
+ workflow after installing, updating, or uninstalling so the configuration is recomposed.
135
+
136
+ ## Support and license
137
+
138
+ Open a [GitHub Issue](https://github.com/WSL043/dsh-native-session-delete/issues) for ordinary problems. Report
139
+ security issues privately as described in [SECURITY.md](SECURITY.md).
140
+
141
+ MIT. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for the modified upstream client and its license
142
+ notice.