dsh-manage-session 2.0.3 → 2.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.
Files changed (43) hide show
  1. package/CHANGELOG.ja.md +33 -33
  2. package/CHANGELOG.ko.md +33 -33
  3. package/CHANGELOG.md +33 -33
  4. package/INSTALL.ja.md +164 -164
  5. package/INSTALL.ko.md +164 -164
  6. package/INSTALL.md +164 -164
  7. package/INSTALL.zh.md +164 -164
  8. package/LICENSE +21 -21
  9. package/README.en.md +76 -62
  10. package/README.ja.md +53 -39
  11. package/README.ko.md +52 -38
  12. package/README.md +18 -4
  13. package/cordis.patch.yml +19 -19
  14. package/dsh.plugin.json +2 -2
  15. package/locale/de.json +6 -6
  16. package/locale/en.json +6 -6
  17. package/locale/es.json +6 -6
  18. package/locale/fr.json +6 -6
  19. package/locale/it.json +6 -6
  20. package/locale/ja.json +6 -6
  21. package/locale/ko.json +6 -6
  22. package/locale/ru.json +6 -6
  23. package/locale/zh.json +6 -6
  24. package/package.json +9 -9
  25. package/screenshots.json +3 -3
  26. package/src/client/bridge-scope.ts +202 -202
  27. package/src/client/card.tsx +154 -154
  28. package/src/client/host-api.ts +61 -61
  29. package/src/client/index.ts +594 -594
  30. package/src/client/locales.ts +893 -893
  31. package/src/client/manage-locales.ts +178 -178
  32. package/src/client/manage.tsx +430 -430
  33. package/src/client/panel.tsx +131 -131
  34. package/src/config.ts +43 -43
  35. package/src/host/health/attribution.ts +118 -118
  36. package/src/host/health/lossless.ts +128 -128
  37. package/src/host/health/source-kind.ts +350 -350
  38. package/src/host/history/archive-source.ts +250 -250
  39. package/src/host/history/archive.ts +249 -249
  40. package/src/host/history/favorites.ts +71 -71
  41. package/src/host/history/purge.ts +370 -370
  42. package/src/host/registry/archive-registry.ts +317 -317
  43. package/src/host/settings-bridge.ts +222 -222
package/INSTALL.zh.md CHANGED
@@ -1,164 +1,164 @@
1
- # 安装指南(官方 DSH CLI)
2
-
3
- 本指南只使用官方 `dsh plugin` 命令。该命令会把依赖装入 profile 并同步 `dsh.profile.bundles`。请勿改用裸 `npm install`、在 profile 里直接 `pnpm add`,或手工编辑 profile 清单。
4
-
5
- - [English installation guide](./INSTALL.md)
6
- - [中文安装指南](./INSTALL.zh.md)
7
- - [日本語インストールガイド](./INSTALL.ja.md)
8
- - [한국어 설치 안내](./INSTALL.ko.md)
9
- - [中文 README](./README.md)
10
- - [English README](./README.en.md)
11
- - [日本語 README](./README.ja.md)
12
- - [한국어 README](./README.ko.md)
13
- - [Changelog](./CHANGELOG.md)
14
- - [日本語 changelog](./CHANGELOG.ja.md)
15
- - [한국어 changelog](./CHANGELOG.ko.md)
16
-
17
- 本指南中的占位符:
18
-
19
- - `<profile>`:要改动的 DSH profile,通常是 `web`;
20
- - `dsh-manage-session`:npm 包名,同时也是运行时插件 ID。
21
-
22
- > **支持的 DSH 范围:`engines.dsh` 的逐 rc 枚举白名单(`0.1.0-rc.2` … `0.2.1-rc.3`,逐版本实测)。**
23
- >
24
- > 该范围同时写在 `package.json` 与 `dsh.plugin.json` 的 `engines.dsh` 中,也与本插件为其 `@deepseek-ai/dsh-client-ui-slots` 依赖已经声明的 `^0.1.0-rc.6` 下界一致。安装前先用 `dsh --version` 确认当前版本。
25
-
26
- ## 0. 前置条件与 profile 探查
27
-
28
- ```bash
29
- echo "DSH_HOME=${DSH_HOME:-$HOME/.dsh}"
30
- dsh --version
31
- ls "${DSH_HOME:-$HOME/.dsh}/profiles"
32
- ```
33
-
34
- 请使用正在运行的 DSH 进程所使用的那个 profile。`web` 很常见,但以实际生效的 `--profile` 参数为准。
35
-
36
- ## 1. 官方安装
37
-
38
- ```bash
39
- dsh plugin --profile <profile> add dsh-manage-session -w
40
- ```
41
-
42
- (当 profile 是 pnpm workspace 根时,如 `web`,`-w` 是必需的。)
43
-
44
- 显式安装指定版本:
45
-
46
- ```bash
47
- dsh plugin --profile <profile> add dsh-manage-session@1.0.0 -w
48
- ```
49
-
50
- 官方 CLI 会自动更新 profile 依赖、锁文件与 `dsh.profile.bundles`。不要手工添加 YAML 行。
51
-
52
- ### 供应链冷却期
53
-
54
- DSH 运行时使用 pnpm 11,其 `minimumReleaseAge` 策略可能拦截刚发布的版本并报 `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`。把该版本加入 `~/.dsh/profiles/<profile>/pnpm-workspace.yaml` 的 `minimumReleaseAgeExclude`:
55
-
56
- ```yaml
57
- minimumReleaseAgeExclude:
58
- - dsh-manage-session@1.0.0
59
- ```
60
-
61
- ## 2. 重启宿主
62
-
63
- **安装或升级后必须重启 DSH。** 仅刷新浏览器页面无效:宿主半身在启动时注册 `/manage-session/api` 路由与设置命名空间,且归档来源需要在宿主重启后才会反映清理结果。
64
-
65
- ## 3. 升级
66
-
67
- ```bash
68
- dsh plugin --profile <profile> update dsh-manage-session -w
69
- ```
70
-
71
- 升级后重启 DSH。
72
-
73
- ## 4. 本地路径 / `link:` 注册(备选)
74
-
75
- 用于开发或离线安装,可从本地检出注册:
76
-
77
- ```bash
78
- # ~/.dsh/profiles/<profile>/package.json dependencies:
79
- # "dsh-manage-session": "link:<absolute path to dsh-manage-session>"
80
- # ~/.dsh/profiles/<profile>/cordis.patch.yml:
81
- # - insert:
82
- # - id: dsh-manage-session
83
- # name: dsh-manage-session
84
- cd ~/.dsh/profiles/<profile> && pnpm install && dsh web
85
- ```
86
-
87
- 或用官方 CLI 直接指定本地路径(无需联网):
88
-
89
- ```bash
90
- dsh plugin --profile <profile> add /absolute/path/to/dsh-manage-session -w
91
- ```
92
-
93
- 从源码检出构建时用以下脚本:
94
-
95
- ```bash
96
- pnpm install
97
- pnpm typecheck # tsc -b --pretty false
98
- pnpm test # vitest run
99
- pnpm build # tsc -b && tsdown → lib/index.js + lib/index.d.ts + lib/client.js
100
- ```
101
-
102
- `lib/` 不入库,因此源码检出必须先构建才能按路径注册。发布时由 `prepublishOnly` 钩子自动构建。
103
-
104
- ## 5. 校验安装
105
-
106
- 检查依赖与已安装版本:
107
-
108
- ```bash
109
- grep -n "dsh-manage-session" \
110
- "${DSH_HOME:-$HOME/.dsh}/profiles/<profile>/package.json"
111
- node -p "require('${DSH_HOME:-$HOME/.dsh}/profiles/<profile>/node_modules/dsh-manage-session/package.json').version"
112
- ```
113
-
114
- 检查官方装配:
115
-
116
- ```bash
117
- dsh --profile <profile> --dump-default-config
118
- ```
119
-
120
- 其中必须包含:
121
-
122
- ```yaml
123
- - id: dsh-manage-session
124
- name: dsh-manage-session
125
- ```
126
-
127
- ## 6. 验证插件
128
-
129
- 重启后,侧边栏入口 `dsh-manage-session` 可用,设置区使用 `manage-session` 命名空间。请确认:
130
-
131
- 1. 两个开关均开启时,**养老院**与**体检**两个页签都会渲染。
132
- 2. 关闭 `historyFiles` 后「养老院」页签消失,且所有 `session-history-*` 调用返回显式的 disabled 错误。
133
- 3. 关闭 `healthCheck` 后「体检」页签消失,且所有 `session-health-*` 调用返回显式的 disabled 错误。
134
- 4. 对 `/manage-session/api` 调用未识别的方法时返回显式错误,而不是静默成功。
135
-
136
- 关闭的子域返回 `{ ok: false, error: '子域已关闭(…=false):<method> 未注册' }` —— 本插件不留空壳。
137
-
138
- ## 7. 故障排查
139
-
140
- | 现象 | 处理 |
141
- | --- | --- |
142
- | 找不到 `dsh` | 安装或启用官方 DSH CLI。 |
143
- | `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION` | 把该版本加入该 profile 的 `pnpm-workspace.yaml` 中的 `minimumReleaseAgeExclude`。 |
144
- | 安装后页签或路由缺失 | 重启宿主进程——刷新页面不会重新注册路由。 |
145
- | 归档集合的改动不可见 | 重启宿主;归档来源在启动时读取。 |
146
- | `session-history-*` 返回 disabled 错误 | `historyFiles` 开关已关闭,在插件设置中重新开启。 |
147
- | `session-health-*` 返回 disabled 错误 | `healthCheck` 开关已关闭,在插件设置中重新开启。 |
148
- | 升级后客户端包陈旧 | 强制刷新浏览器(Ctrl+Shift+R)。 |
149
-
150
- ## 8. 卸载
151
-
152
- ```bash
153
- dsh plugin --profile <profile> remove dsh-manage-session
154
- ```
155
-
156
- 卸载后重启 DSH。
157
-
158
- ## 卸载不会撤销已执行的处置
159
-
160
- 本插件从不改写会话日志、不修改历史数据、不静默丢弃字段。它唯一看起来不可逆的动作——隔离损坏的投影缓存记录——会先复制备份,并把隔离目录留在磁盘上供你恢复。因此卸载插件不会撤销你主动请求过的隔离;如需还原状态请手工恢复。
161
-
162
- ## 许可
163
-
164
- MIT
1
+ # 安装指南(官方 DSH CLI)
2
+
3
+ 本指南只使用官方 `dsh plugin` 命令。该命令会把依赖装入 profile 并同步 `dsh.profile.bundles`。请勿改用裸 `npm install`、在 profile 里直接 `pnpm add`,或手工编辑 profile 清单。
4
+
5
+ - [English installation guide](./INSTALL.md)
6
+ - [中文安装指南](./INSTALL.zh.md)
7
+ - [日本語インストールガイド](./INSTALL.ja.md)
8
+ - [한국어 설치 안내](./INSTALL.ko.md)
9
+ - [中文 README](./README.md)
10
+ - [English README](./README.en.md)
11
+ - [日本語 README](./README.ja.md)
12
+ - [한국어 README](./README.ko.md)
13
+ - [Changelog](./CHANGELOG.md)
14
+ - [日本語 changelog](./CHANGELOG.ja.md)
15
+ - [한국어 changelog](./CHANGELOG.ko.md)
16
+
17
+ 本指南中的占位符:
18
+
19
+ - `<profile>`:要改动的 DSH profile,通常是 `web`;
20
+ - `dsh-manage-session`:npm 包名,同时也是运行时插件 ID。
21
+
22
+ > **支持的 DSH 范围:`engines.dsh` 的逐 rc 枚举白名单(`0.1.0-rc.2` … `0.2.1-rc.3`,逐版本实测)。**
23
+ >
24
+ > 该范围同时写在 `package.json` 与 `dsh.plugin.json` 的 `engines.dsh` 中,也与本插件为其 `@deepseek-ai/dsh-client-ui-slots` 依赖已经声明的 `^0.1.0-rc.6` 下界一致。安装前先用 `dsh --version` 确认当前版本。
25
+
26
+ ## 0. 前置条件与 profile 探查
27
+
28
+ ```bash
29
+ echo "DSH_HOME=${DSH_HOME:-$HOME/.dsh}"
30
+ dsh --version
31
+ ls "${DSH_HOME:-$HOME/.dsh}/profiles"
32
+ ```
33
+
34
+ 请使用正在运行的 DSH 进程所使用的那个 profile。`web` 很常见,但以实际生效的 `--profile` 参数为准。
35
+
36
+ ## 1. 官方安装
37
+
38
+ ```bash
39
+ dsh plugin --profile <profile> add dsh-manage-session -w
40
+ ```
41
+
42
+ (当 profile 是 pnpm workspace 根时,如 `web`,`-w` 是必需的。)
43
+
44
+ 显式安装指定版本:
45
+
46
+ ```bash
47
+ dsh plugin --profile <profile> add dsh-manage-session@1.0.0 -w
48
+ ```
49
+
50
+ 官方 CLI 会自动更新 profile 依赖、锁文件与 `dsh.profile.bundles`。不要手工添加 YAML 行。
51
+
52
+ ### 供应链冷却期
53
+
54
+ DSH 运行时使用 pnpm 11,其 `minimumReleaseAge` 策略可能拦截刚发布的版本并报 `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`。把该版本加入 `~/.dsh/profiles/<profile>/pnpm-workspace.yaml` 的 `minimumReleaseAgeExclude`:
55
+
56
+ ```yaml
57
+ minimumReleaseAgeExclude:
58
+ - dsh-manage-session@1.0.0
59
+ ```
60
+
61
+ ## 2. 重启宿主
62
+
63
+ **安装或升级后必须重启 DSH。** 仅刷新浏览器页面无效:宿主半身在启动时注册 `/manage-session/api` 路由与设置命名空间,且归档来源需要在宿主重启后才会反映清理结果。
64
+
65
+ ## 3. 升级
66
+
67
+ ```bash
68
+ dsh plugin --profile <profile> update dsh-manage-session -w
69
+ ```
70
+
71
+ 升级后重启 DSH。
72
+
73
+ ## 4. 本地路径 / `link:` 注册(备选)
74
+
75
+ 用于开发或离线安装,可从本地检出注册:
76
+
77
+ ```bash
78
+ # ~/.dsh/profiles/<profile>/package.json dependencies:
79
+ # "dsh-manage-session": "link:<absolute path to dsh-manage-session>"
80
+ # ~/.dsh/profiles/<profile>/cordis.patch.yml:
81
+ # - insert:
82
+ # - id: dsh-manage-session
83
+ # name: dsh-manage-session
84
+ cd ~/.dsh/profiles/<profile> && pnpm install && dsh web
85
+ ```
86
+
87
+ 或用官方 CLI 直接指定本地路径(无需联网):
88
+
89
+ ```bash
90
+ dsh plugin --profile <profile> add /absolute/path/to/dsh-manage-session -w
91
+ ```
92
+
93
+ 从源码检出构建时用以下脚本:
94
+
95
+ ```bash
96
+ pnpm install
97
+ pnpm typecheck # tsc -b --pretty false
98
+ pnpm test # vitest run
99
+ pnpm build # tsc -b && tsdown → lib/index.js + lib/index.d.ts + lib/client.js
100
+ ```
101
+
102
+ `lib/` 不入库,因此源码检出必须先构建才能按路径注册。发布时由 `prepublishOnly` 钩子自动构建。
103
+
104
+ ## 5. 校验安装
105
+
106
+ 检查依赖与已安装版本:
107
+
108
+ ```bash
109
+ grep -n "dsh-manage-session" \
110
+ "${DSH_HOME:-$HOME/.dsh}/profiles/<profile>/package.json"
111
+ node -p "require('${DSH_HOME:-$HOME/.dsh}/profiles/<profile>/node_modules/dsh-manage-session/package.json').version"
112
+ ```
113
+
114
+ 检查官方装配:
115
+
116
+ ```bash
117
+ dsh --profile <profile> --dump-default-config
118
+ ```
119
+
120
+ 其中必须包含:
121
+
122
+ ```yaml
123
+ - id: dsh-manage-session
124
+ name: dsh-manage-session
125
+ ```
126
+
127
+ ## 6. 验证插件
128
+
129
+ 重启后,侧边栏入口 `dsh-manage-session` 可用,设置区使用 `manage-session` 命名空间。请确认:
130
+
131
+ 1. 两个开关均开启时,**养老院**与**体检**两个页签都会渲染。
132
+ 2. 关闭 `historyFiles` 后「养老院」页签消失,且所有 `session-history-*` 调用返回显式的 disabled 错误。
133
+ 3. 关闭 `healthCheck` 后「体检」页签消失,且所有 `session-health-*` 调用返回显式的 disabled 错误。
134
+ 4. 对 `/manage-session/api` 调用未识别的方法时返回显式错误,而不是静默成功。
135
+
136
+ 关闭的子域返回 `{ ok: false, error: '子域已关闭(…=false):<method> 未注册' }` —— 本插件不留空壳。
137
+
138
+ ## 7. 故障排查
139
+
140
+ | 现象 | 处理 |
141
+ | --- | --- |
142
+ | 找不到 `dsh` | 安装或启用官方 DSH CLI。 |
143
+ | `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION` | 把该版本加入该 profile 的 `pnpm-workspace.yaml` 中的 `minimumReleaseAgeExclude`。 |
144
+ | 安装后页签或路由缺失 | 重启宿主进程——刷新页面不会重新注册路由。 |
145
+ | 归档集合的改动不可见 | 重启宿主;归档来源在启动时读取。 |
146
+ | `session-history-*` 返回 disabled 错误 | `historyFiles` 开关已关闭,在插件设置中重新开启。 |
147
+ | `session-health-*` 返回 disabled 错误 | `healthCheck` 开关已关闭,在插件设置中重新开启。 |
148
+ | 升级后客户端包陈旧 | 强制刷新浏览器(Ctrl+Shift+R)。 |
149
+
150
+ ## 8. 卸载
151
+
152
+ ```bash
153
+ dsh plugin --profile <profile> remove dsh-manage-session
154
+ ```
155
+
156
+ 卸载后重启 DSH。
157
+
158
+ ## 卸载不会撤销已执行的处置
159
+
160
+ 本插件从不改写会话日志、不修改历史数据、不静默丢弃字段。它唯一看起来不可逆的动作——隔离损坏的投影缓存记录——会先复制备份,并把隔离目录留在磁盘上供你恢复。因此卸载插件不会撤销你主动请求过的隔离;如需还原状态请手工恢复。
161
+
162
+ ## 许可
163
+
164
+ MIT
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 drscrewdriver
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 drscrewdriver
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.en.md CHANGED
@@ -1,64 +1,78 @@
1
- # dsh-manage-session (Session Manager)
2
-
3
- > **Former name**: `dsh-session-steward` (Session Steward). Renamed to `dsh-manage-session` at 2.0.0;
4
- > search/indexing moved back to [`dsh-search-index`](https://github.com/drscrewdriver/dsh-search-index).
5
-
6
- A DSH web plugin: **one console over active and archived sessions + a four-gate checkup**.
7
-
8
- - **Manage (main page)** — sessions grouped by workspace, **active + archived**: domain filter
9
- (all / active / archived), title filter, favorites, and batch archive / unarchive / purge
10
- (real deletion, irreversible).
11
- - **Checkup (secondary tab)** — four gates → prescription → discharge (reversible repair).
12
-
13
- > Reversible operations only. **No search or index of its own, and no DRS dependency**:
14
- > retrieval (title/content FTS5) belongs to `dsh-search-index`; the manage console builds its
15
- > corpus from the host `sessionQuery` service plus the official archive set (`session-catalog`).
16
-
17
- ## Where the entry lives (top tool slot / footer fallback)
18
-
19
- | Host capability | Entry form |
20
- |---|---|
21
- | Sidebar declares the top tool row (`sidebar.panellist` + the `main` page slot — the Plugins / More row of 0.1.7+/0.2.x) | A **panel row** right after Plugins and before More (order 6), icon + label left-aligned; clicking opens a **full page**, Close returns to the conversation |
22
- | No such slot (older lines / reduced layouts) | Falls back to the sidebar **footer** (`sidebar.footer.action`) with a floating dialog |
23
-
1
+ # dsh-manage-session (Session Manager)
2
+
3
+ > **Former name**: `dsh-session-steward` (Session Steward). Renamed to `dsh-manage-session` at 2.0.0;
4
+ > search/indexing moved back to [`dsh-search-index`](https://github.com/drscrewdriver/dsh-search-index).
5
+
6
+ A DSH web plugin: **one console over active and archived sessions + a four-gate checkup**.
7
+
8
+ - **Manage (main page)** — sessions grouped by workspace, **active + archived**: domain filter
9
+ (all / active / archived), title filter, favorites, and batch archive / unarchive / purge
10
+ (real deletion, irreversible).
11
+ - **Checkup (secondary tab)** — four gates → prescription → discharge (reversible repair).
12
+
13
+ > Reversible operations only. **No search or index of its own, and no DRS dependency**:
14
+ > retrieval (title/content FTS5) belongs to `dsh-search-index`; the manage console builds its
15
+ > corpus from the host `sessionQuery` service plus the official archive set (`session-catalog`).
16
+
17
+ ## Where the entry lives (top tool slot / footer fallback)
18
+
19
+ | Host capability | Entry form |
20
+ |---|---|
21
+ | Sidebar declares the top tool row (`sidebar.panellist` + the `main` page slot — the Plugins / More row of 0.1.7+/0.2.x) | A **panel row** right after Plugins and before More (order 6), icon + label left-aligned; clicking opens a **full page**, Close returns to the conversation |
22
+ | No such slot (older lines / reduced layouts) | Falls back to the sidebar **footer** (`sidebar.footer.action`) with a floating dialog |
23
+
24
24
  <!-- hosts-sync:begin -->
25
25
  <!-- Generated by scripts/sync-hosts.mjs; single source in scripts/hosts.mjs -->
26
- Supports DSH 0.1.0-rc.2, 0.1.0-rc.3, 0.1.0-rc.6, 0.1.0-rc.7, 0.1.0-rc.8, 0.1.1-rc.1, 0.1.1-rc.2, 0.1.2-rc.1, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-rc.3, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2, 0.2.1-rc.1, 0.2.1-rc.2, 0.2.1-rc.3 (enumerated peers — a per-rc tested whitelist; alpha/beta releases are out of scope).
27
- <!-- hosts-sync:end -->
28
-
29
- ## Install
30
-
31
- ```bash
32
- dsh plugin --profile web add dsh-manage-session
33
- ```
34
-
35
- Restart the host process afterwards.
36
-
37
- ## Routes
38
-
39
- Prefix `/manage-session/api`, methods named `session-*`:
40
- `session-catalog`, `session-history-list|archive|prune|purge`, `session-history-favorites-list` /
41
- `-favorite-set`, `session-health-status|scan|session|repair|source-migrate`.
42
-
43
- ## Settings
44
-
45
- Namespace `manage-session`: `enabled`, `historyFiles`, `healthCheck`, `directDelete`.
46
-
47
- ## Storage
48
-
49
- - `~/.dsh/storages/manage-session-favorites.json` — favorites
50
- - `~/.dsh/storages/workspace.json` — host-owned archive array + workspace membership (backed up before writes)
51
-
52
- ## Development
53
-
54
- ```bash
55
- pnpm install
56
- pnpm typecheck
57
- pnpm test # host half
58
- pnpm test:client # client half (build first)
59
- pnpm build
60
- ```
61
-
62
- ## License
63
-
64
- MIT
26
+ Supports DSH 0.1.0-rc.2, 0.1.0-rc.3, 0.1.0-rc.6, 0.1.0-rc.7, 0.1.0-rc.8, 0.1.1-rc.1, 0.1.1-rc.2, 0.1.2-rc.1, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-rc.3, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2, 0.2.1-rc.1, 0.2.1-rc.2, 0.2.1-rc.3, 0.2.1-rc.4, 0.2.1-rc.5 (enumerated peers — a per-rc tested whitelist; alpha/beta releases are out of scope).
27
+ <!-- hosts-sync:end -->
28
+
29
+ ## Screenshots
30
+
31
+ **Current form** — the entry sits in the sidebar's top tool row (after Plugins, before More) and opens the
32
+ session console: three-column cards grouped by workspace, workspace / domain (all · active · archived)
33
+ filters, favorites, and batch archive · unarchive · purge on the selection (destructive steps ask twice):
34
+
35
+ ![Session console](assets/new-manager.png)
36
+
37
+ **Historical forms** (for lineage only, not the current UI):
38
+
39
+ | Merged package era (1.x: search included, two-tab dialog, retired) | Earlier (≤0.5.7: entry at the sidebar foot) |
40
+ |---|---|
41
+ | ![Old two-tab dialog](assets/old-archive.png) | ![Old sidebar footer entry](assets/left-sidebar-old.png) |
42
+
43
+ ## Install
44
+
45
+ ```bash
46
+ dsh plugin --profile web add dsh-manage-session
47
+ ```
48
+
49
+ Restart the host process afterwards.
50
+
51
+ ## Routes
52
+
53
+ Prefix `/manage-session/api`, methods named `session-*`:
54
+ `session-catalog`, `session-history-list|archive|prune|purge`, `session-history-favorites-list` /
55
+ `-favorite-set`, `session-health-status|scan|session|repair|source-migrate`.
56
+
57
+ ## Settings
58
+
59
+ Namespace `manage-session`: `enabled`, `historyFiles`, `healthCheck`, `directDelete`.
60
+
61
+ ## Storage
62
+
63
+ - `~/.dsh/storages/manage-session-favorites.json` — favorites
64
+ - `~/.dsh/storages/workspace.json` — host-owned archive array + workspace membership (backed up before writes)
65
+
66
+ ## Development
67
+
68
+ ```bash
69
+ pnpm install
70
+ pnpm typecheck
71
+ pnpm test # host half
72
+ pnpm test:client # client half (build first)
73
+ pnpm build
74
+ ```
75
+
76
+ ## License
77
+
78
+ MIT
package/README.ja.md CHANGED
@@ -1,39 +1,53 @@
1
- # dsh-manage-session(セッションマネージャー)
2
-
3
- > **旧名**:`dsh-session-steward`(セッション・スチュワード)。2.0.0 で `dsh-manage-session` に改名し、
4
- > 検索/索引は [`dsh-search-index`](https://github.com/drscrewdriver/dsh-search-index) に戻しました。
5
-
6
- DSH Web プラグイン:**アクティブ/アーカイブ済みセッションの統合管理台+セッション健診**。
7
-
8
- - **管理(メインページ)** — ワークスペース別に活性+アーカイブのセッションを一覧。ドメイン
9
- フィルタ(すべて/アクティブ/アーカイブ)、タイトル絞り込み、お気に入り、一括のアーカイブ/
10
- 解除/実体削除(不可逆)。
11
- - **健診(補助タブ)** — 四つのゲート → 処方 → 退院(可逆な処置)。
12
-
13
- > **検索・索引は本パッケージに含まず、DRS 依存もありません**:検索は `dsh-search-index` が担当。
14
- > 管理台の語料はホストの `sessionQuery` と公式アーカイブ集合から `session-catalog` が組み立てます。
15
-
16
- ## 入口の位置(上部ツール枠 / 下部フォールバック)
17
-
18
- | ホストの能力 | 入口の形 |
19
- |---|---|
20
- | 上部ツール行(`sidebar.panellist` + `main`)を宣言 | 「プラグイン」の直後、「その他」の手前(order 6)に**パネル行**。クリックでメイン列に全ページ表示 |
21
- | 枠が無いホスト | サイドバー下部(`sidebar.footer.action`)にフォールバックし、ダイアログを開く |
22
-
23
- <!-- hosts-sync:begin -->
24
- <!-- Generated by scripts/sync-hosts.mjs; single source in scripts/hosts.mjs -->
25
- Supports DSH 0.1.0-rc.2, 0.1.0-rc.3, 0.1.0-rc.6, 0.1.0-rc.7, 0.1.0-rc.8, 0.1.1-rc.1, 0.1.1-rc.2, 0.1.2-rc.1, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-rc.3, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2, 0.2.1-rc.1, 0.2.1-rc.2, 0.2.1-rc.3 (enumerated peers — a per-rc tested whitelist; alpha/beta releases are out of scope).
26
- <!-- hosts-sync:end -->
27
-
28
- ## インストール/設定/開発
29
-
30
- ```bash
31
- dsh plugin --profile web add dsh-manage-session # インストール後に再起動
32
- pnpm install && pnpm typecheck && pnpm test && pnpm build
33
- ```
34
-
35
- 設定名前空間 `manage-session`:`enabled`、`historyFiles`、`healthCheck`、`directDelete`。
36
-
37
- ## ライセンス
38
-
39
- MIT
1
+ # dsh-manage-session(セッションマネージャー)
2
+
3
+ > **旧名**:`dsh-session-steward`(セッション・スチュワード)。2.0.0 で `dsh-manage-session` に改名し、
4
+ > 検索/索引は [`dsh-search-index`](https://github.com/drscrewdriver/dsh-search-index) に戻しました。
5
+
6
+ DSH Web プラグイン:**アクティブ/アーカイブ済みセッションの統合管理台+セッション健診**。
7
+
8
+ - **管理(メインページ)** — ワークスペース別に活性+アーカイブのセッションを一覧。ドメイン
9
+ フィルタ(すべて/アクティブ/アーカイブ)、タイトル絞り込み、お気に入り、一括のアーカイブ/
10
+ 解除/実体削除(不可逆)。
11
+ - **健診(補助タブ)** — 四つのゲート → 処方 → 退院(可逆な処置)。
12
+
13
+ > **検索・索引は本パッケージに含まず、DRS 依存もありません**:検索は `dsh-search-index` が担当。
14
+ > 管理台の語料はホストの `sessionQuery` と公式アーカイブ集合から `session-catalog` が組み立てます。
15
+
16
+ ## 入口の位置(上部ツール枠 / 下部フォールバック)
17
+
18
+ | ホストの能力 | 入口の形 |
19
+ |---|---|
20
+ | 上部ツール行(`sidebar.panellist` + `main`)を宣言 | 「プラグイン」の直後、「その他」の手前(order 6)に**パネル行**。クリックでメイン列に全ページ表示 |
21
+ | 枠が無いホスト | サイドバー下部(`sidebar.footer.action`)にフォールバックし、ダイアログを開く |
22
+
23
+ <!-- hosts-sync:begin -->
24
+ <!-- Generated by scripts/sync-hosts.mjs; single source in scripts/hosts.mjs -->
25
+ Supports DSH 0.1.0-rc.2, 0.1.0-rc.3, 0.1.0-rc.6, 0.1.0-rc.7, 0.1.0-rc.8, 0.1.1-rc.1, 0.1.1-rc.2, 0.1.2-rc.1, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-rc.3, 0.1.7-rc.1, 0.1.7-rc.2, 0.2.0-rc.1, 0.2.0-rc.2, 0.2.1-rc.1, 0.2.1-rc.2, 0.2.1-rc.3 (enumerated peers — a per-rc tested whitelist; alpha/beta releases are out of scope).
26
+ <!-- hosts-sync:end -->
27
+
28
+ ## スクリーンショット
29
+
30
+ **現在の形** —— 入口はサイドバー上部のツール行(「プラグイン」の後、「その他」の前)。開くとセッション管理台:
31
+ ワークスペース別の 3 列カード、ワークスペース/検索域(すべて・アクティブ・アーカイブ)の絞り込み、お気に入り、
32
+ 選択行の一括アーカイブ・解除・整理(不可逆な操作は 2 回確認):
33
+
34
+ ![セッション管理台](assets/new-manager.png)
35
+
36
+ **過去の形**(沿革の参照用。現行 UI ではありません):
37
+
38
+ | 統合パッケージ期(1.x:検索同梱・2 タブダイアログ・終了) | さらに以前(≤0.5.7:入口はサイドバー下部) |
39
+ |---|---|
40
+ | ![旧 2 タブダイアログ](assets/old-archive.png) | ![旧サイドバー下部入口](assets/left-sidebar-old.png) |
41
+
42
+ ## インストール/設定/開発
43
+
44
+ ```bash
45
+ dsh plugin --profile web add dsh-manage-session # インストール後に再起動
46
+ pnpm install && pnpm typecheck && pnpm test && pnpm build
47
+ ```
48
+
49
+ 設定名前空間 `manage-session`:`enabled`、`historyFiles`、`healthCheck`、`directDelete`。
50
+
51
+ ## ライセンス
52
+
53
+ MIT