dsh-diff-approval 0.20.1 → 0.21.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.
@@ -1,6 +1,7 @@
1
1
  /** The panel's injected business face and its observable snapshot. */
2
2
  import type { HostObservable } from '@deepseek-ai/dsh-client-ui-slots';
3
3
  import type { SessionId } from '@deepseek-ai/dsh-client-connection/client';
4
+ import type { DockSnapshot } from './dock.tsx';
4
5
  import type { DiffApprovalAddValue, DiffApprovalBlockRange, DiffApprovalBrowseValue, DiffApprovalOpenAction, DiffApprovalRefreshValue, PendingFileDiff, VcsImportValue } from '../types.ts';
5
6
  /** What the panel reads and drives: the pending list plus in-flight entries. */
6
7
  export interface PendingDiffSnapshot {
@@ -26,7 +27,23 @@ export interface PendingPanelFace {
26
27
  hooks: {
27
28
  /** Live pending-diff snapshot for the current page. */
28
29
  pending: HostObservable<PendingDiffSnapshot>;
30
+ /** The dock's state (whether our right-sidebar tab is showing), or absent
31
+ * when this build has no right sidebar to dock into. */
32
+ dock?: HostObservable<DockSnapshot>;
29
33
  };
34
+ /** Reveal the panel in the app's right sidebar, opening its tab if needed.
35
+ * Absent when this build has no right sidebar: the panel then opens floating
36
+ * whatever the remembered presentation says. */
37
+ onOpenDock?: (() => void) | undefined;
38
+ /** The docked tab body's own visibility, so the footer entry can light up
39
+ * while the panel lives in the sidebar. */
40
+ onDockShowing?: ((showing: boolean) => void) | undefined;
41
+ /** Close the docked panel: the docked tab's own close, published by its chip.
42
+ * `undefined` while no dock tab exists. */
43
+ onDockClose?: ((close: (() => void) | undefined) => void) | undefined;
44
+ /** Close the docked tab now, when one exists (the quick-summon chord's job
45
+ * while the panel lives in the sidebar). */
46
+ closeDock?: (() => void) | undefined;
30
47
  /** Read the pending list for the current session into the snapshot. */
31
48
  onRefresh: (sessionId: SessionId | undefined) => void;
32
49
  /** Keep one operation. `keepListed` leaves the resolved entry in the list. */
@@ -64,7 +81,7 @@ export interface PendingPanelFace {
64
81
  onRevertAll: (sessionId: SessionId) => Promise<void>;
65
82
  /** Acknowledge the redo-cleared notice so it is only surfaced once. */
66
83
  onAckRedoCleared: () => void;
67
- /** Collapse the DSH sidebar (no-op when already collapsed) before the modal
68
- * opens or fullscreens, so an expanded sidebar can't overlap the modal. */
84
+ /** Collapse the DSH sidebar (no-op when already collapsed) before the floating
85
+ * modal opens on a narrow window, so the sidebar can't overlap it. */
69
86
  collapseSidebar: () => void;
70
87
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-diff-approval",
3
- "version": "0.20.1",
3
+ "version": "0.21.0",
4
4
  "description": "DeepSeek Harness plugin: pending-edit review with whole-file diff and Keep/Revert",
5
5
  "packageManager": "pnpm@11.21.0",
6
6
  "author": "Wu Zhiwei",