dsh-diff-approval 0.20.1 → 0.22.0
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/README.md +7 -5
- package/README.zh.md +7 -5
- package/lib/client.js +3006 -1114
- package/lib/types/client/PendingPanel.d.ts +33 -2
- package/lib/types/client/boundary.d.ts +38 -0
- package/lib/types/client/chords.d.ts +49 -0
- package/lib/types/client/coverage-control.d.ts +49 -0
- package/lib/types/client/dock.d.ts +198 -0
- package/lib/types/client/header-entry.d.ts +59 -0
- package/lib/types/client/locales.d.ts +70 -4
- package/lib/types/client/panel-memory.d.ts +47 -0
- package/lib/types/client/presentation-menu.d.ts +45 -0
- package/lib/types/client/settings.d.ts +59 -1
- package/lib/types/client/slots.d.ts +19 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,11 +9,13 @@ A DeepSeek Harness (DSH) plugin for pending-change review: it automatically trac
|
|
|
9
9
|
|
|
10
10
|

|
|
11
11
|
|
|
12
|
-
The panel also collapses its file list into a floating card
|
|
12
|
+
The panel also collapses its file list into a floating card; while floating, each of its four edges — the left sidebar, the header above, the right sidebar, the composer below — can be chosen to be covered (all four is what used to be fullscreen, and covering nothing is a plain floating card), and it can dock as a tab in the right sidebar:
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Two entries open it: the row at the sidebar foot, and a button in the Session header's right-hand controls — the cluster the app keeps its own per-session actions in (where "Download session log" lives) — so the review stays one click away with the sidebar collapsed or hidden.
|
|
15
|
+
|
|
16
|
+
| Collapsed file list | Covering everything |
|
|
15
17
|
| --- | --- |
|
|
16
|
-
|  |  |  |
|
|
17
19
|
|
|
18
20
|
For Markdown files, the source-line diff can also be shown as a rendered before/after preview:
|
|
19
21
|
|
|
@@ -27,7 +29,7 @@ For Markdown files, the source-line diff can also be shown as a rendered before/
|
|
|
27
29
|
- **Per-file and bulk decisions**: the files in the file list can be kept / reverted one at a time, or **Keep all** / **Revert all** from its footer.
|
|
28
30
|
- **Resolved files stay listed**: once every change in a file has been kept/reverted, the entry remains in the list and the panel asks whether to remove it or keep it for later.
|
|
29
31
|
- **Undo / Redo**: every keep, revert, and import is undoable with `Ctrl+Z` / `Ctrl+Shift+Z` (rebindable in Shortcuts; `Ctrl+Y` remains an alias), active while the panel is open — text inputs keep their own editing.
|
|
30
|
-
- **Quick summon & file cycling**: `Ctrl+D` (configurable in settings) toggles the review panel from anywhere and `Esc` closes it; `Ctrl+Tab` / `Ctrl+Shift+Tab` cycle through the pending files.
|
|
32
|
+
- **Quick summon & file cycling**: `Ctrl+D` (configurable in settings) toggles the review panel from anywhere and `Esc` closes it; the panel is also one click away from the sidebar-foot row and from a button in the Session header beside the app's own controls; `Ctrl+Tab` / `Ctrl+Shift+Tab` cycle through the pending files.
|
|
31
33
|
- **Line references**: select text in the diff — the status bar shows its `(file:line)` / `(file:start-end)` reference; click it (or press `Ctrl+L`) to copy, and with the setting on it auto-pastes into the composer and focuses it. References in the composer and queued messages are **auto-aligned** when the referenced file changes: surviving lines re-map to their new range, and a fully-removed line becomes `(file:LINE_MISSING)`.
|
|
32
34
|
- **Highlight language**: auto-detected from the file extension, or overridden from a dropdown.
|
|
33
35
|
- **Auto-wrap**: a "Wrap lines" toggle beside the language selector wraps long lines for that language (CJK breaks between characters, Latin words stay whole), remembered per language.
|
|
@@ -37,7 +39,7 @@ For Markdown files, the source-line diff can also be shown as a rendered before/
|
|
|
37
39
|
- **External changes**: files already in the pending list are monitored — if one is later modified outside the reviewed edits (another tool, an editor), the panel adopts the new content and flags the divergence.
|
|
38
40
|
- **Open / Reveal**: while reviewing a file's diff, open it in its default app or reveal it in the system file manager with one click.
|
|
39
41
|
- **Import workspace changes**: when the list is empty, click the button to import the workspace's local changes from **Git / SVN / Perforce** — modified, deleted, and (opt-in) untracked files. The VCS root is found by walking up from the workspace, so a workspace inside a subdirectory works too.
|
|
40
|
-
- **Settings**: a "Diff Approval" section in DeepSeek Harness settings, grouped into **Diff view** (code font size, line height, added / removed colors)
|
|
42
|
+
- **Settings**: a "Diff Approval" section in DeepSeek Harness settings, grouped into **Diff view** (code font size, line height, added / removed colors), **Shortcuts** (rebind the panel's keyboard chords), and **Floating coverage** (the same four edge switches the panel's own popover offers) plus preferences for auto-paste on copy, whether untracked files are included when importing, the diff's tab width (2 / 4 / 8 spaces), the side-by-side split view, the block-jump lead rows, the Markdown preview default and width, and the quick-summon chord.
|
|
41
43
|
- **Persistence**: pending state is stored per workspace at `<dshHome>/diff-approval/workspaces/<workspaceId>.json` and survives restarts — unhandled changes are still there when you come back, even in a fresh session.
|
|
42
44
|
|
|
43
45
|
## 📦 Install
|
package/README.zh.md
CHANGED
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
|
|
10
10
|

|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
面板还可把文件列表折叠成浮动卡片;浮窗形态下可以逐边选择覆盖左侧边栏、上方标题栏、右侧边栏与下方输入框(四边全开就是原来的全屏,全关则是一张普通浮窗卡片),也可以停靠到右侧边栏、成为其中一个标签页:
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
打开它的入口有两个:左侧边栏底部那一行,以及会话标题行右侧的按钮簇——也就是 App 放自己会话级操作的地方(「下载 Session 日志」就在那里),所以左侧边栏折叠或隐藏时也能一键叫出审核面板。
|
|
15
|
+
|
|
16
|
+
| 折叠的文件列表 | 覆盖全部 |
|
|
15
17
|
| --- | --- |
|
|
16
|
-
|  |  |  |
|
|
17
19
|
|
|
18
20
|
对 Markdown 文件,还可把源码行差异切换为渲染后的「改前 / 改后」预览:
|
|
19
21
|
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
- **整文件与批量操作**:文件列表里的文件可逐个保留 / 回退,也可在列表底部**全部保留** / **全部回退**。
|
|
28
30
|
- **已处理文件保留在列表**:某文件的改动全部处理完后,条目仍保留在列表中,面板会询问是移除还是继续保留。
|
|
29
31
|
- **撤销 / 重做**:每次保留、回退、导入都可以用 `Ctrl+Z` / `Ctrl+Shift+Z` 撤销 / 重做(可在「快捷键」中重绑,`Ctrl+Y` 仍作为别名),面板打开期间全局生效,输入框保留各自的编辑行为。
|
|
30
|
-
- **快速呼出与文件切换**:`Ctrl+D`(可在设置中修改)在任意位置开关面板,`Esc`
|
|
32
|
+
- **快速呼出与文件切换**:`Ctrl+D`(可在设置中修改)在任意位置开关面板,`Esc` 关闭;左侧栏底部那行、以及会话标题行里 App 自身操作旁的按钮,也都是一键入口;`Ctrl+Tab` / `Ctrl+Shift+Tab` 在待处理文件间切换。
|
|
31
33
|
- **行引用**:选中 diff 文本后,底部状态栏显示其 `(文件:行号)` / `(文件:起-止)` 引用——点击(或按 `Ctrl+L`)即可复制,开启设置后还会自动粘贴到消息输入框并获得焦点。消息输入框和排队消息里的引用会随文件改动**自动对齐**:存活的行映射到新行号,整段被删的行变成 `(文件:LINE_MISSING)`。
|
|
32
34
|
- **高亮语言**:默认按扩展名自动检测,也可通过下拉列表手动切换。
|
|
33
35
|
- **自动换行**:语言下拉旁有个「Wrap lines / 自动换行」开关,按语言记住;CJK 逐字断行、拉丁词保持完整。
|
|
@@ -37,7 +39,7 @@
|
|
|
37
39
|
- **外部改动**:已纳入列表的文件若之后被外部修改(其它工具 / 编辑器),面板会跟进最新内容并标记分歧。
|
|
38
40
|
- **打开 / 定位**:查看某个文件的差异时,可一键在默认应用中打开它,或在系统文件管理器中定位它。
|
|
39
41
|
- **导入工作区改动**:列表为空时,点击按钮即可导入工作区里 **Git / SVN / Perforce** 的本地改动——已修改、已删除,以及(可选开启的)未跟踪文件。通过从工作区目录逐级向上查找 VCS 根目录,工作区在子目录里也能识别。
|
|
40
|
-
- **设置**:在 DeepSeek Harness 设置里新增「改动审批」页,分为「差异视图」(代码字号、行高、新增 /
|
|
42
|
+
- **设置**:在 DeepSeek Harness 设置里新增「改动审批」页,分为「差异视图」(代码字号、行高、新增 / 删除颜色)、「快捷键」(重绑面板各类按键组合)与「浮窗覆盖」(面板自身弹出菜单里的那四个边的开关)三组,另有复制后自动粘贴、导入时是否包含未跟踪文件、diff 的 Tab 宽度(2 / 4 / 8 空格)、双栏对比开关、差异跳转行距、Markdown 预览默认与宽度,以及快速呼出快捷键。
|
|
41
43
|
- **持久化**:待处理状态按 workspace 落盘至 `<dshHome>/diff-approval/workspaces/<workspaceId>.json`,跨重启保留——回来时未处理的改动仍在,即便换了新会话。
|
|
42
44
|
|
|
43
45
|
## 📦 安装
|