@deepseek-ai/dsh-experimental-client-ui-forge 0.2.2-alpha.2 → 0.2.2-alpha.3
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.i18n.yaml +12 -12
- package/README.md +19 -11
- package/README.zh.md +20 -12
- package/lib/client.js +7869 -4812
- package/lib/index.js +159 -52
- package/lib/typert.host.js +298 -18
- package/lib/typert.remote-client.d.ts +7 -1
- package/lib/typert.remote-client.js +267 -13
- package/lib/types/client/ChangeRequestCard.d.ts +3 -1
- package/lib/types/client/ChangedFiles.d.ts +36 -0
- package/lib/types/client/ChangesTab.d.ts +11 -1
- package/lib/types/client/DiffFile.d.ts +3 -2
- package/lib/types/client/FileTreePane.d.ts +15 -0
- package/lib/types/client/ForgeTab.d.ts +7 -4
- package/lib/types/client/LocalChangesCard.d.ts +3 -3
- package/lib/types/client/ReviewComposer.d.ts +40 -0
- package/lib/types/client/ReviewThread.d.ts +26 -0
- package/lib/types/client/SubmitReview.d.ts +22 -0
- package/lib/types/client/WorktreeToggle.d.ts +6 -5
- package/lib/types/client/changes-address.d.ts +1 -1
- package/lib/types/client/code-selection.d.ts +23 -0
- package/lib/types/client/file-tree.d.ts +33 -0
- package/lib/types/client/locales.d.ts +58 -4
- package/lib/types/client/review-queue.d.ts +136 -0
- package/lib/types/client/review.d.ts +56 -0
- package/lib/types/client/status.d.ts +6 -2
- package/lib/types/git.d.ts +10 -10
- package/lib/types/index.d.ts +25 -4
- package/lib/types/local-diff.d.ts +11 -4
- package/lib/types/states.d.ts +9 -3
- package/lib/types/types.d.ts +4 -0
- package/package.json +47 -47
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Local changes of a Session's checkout: where the `branch` scope forks, the
|
|
3
3
|
* patch of one scope with its untracked files, the new-side text of one file,
|
|
4
4
|
* and the size of the `branch` scope for the panel's card. Git runs through
|
|
5
|
-
* the
|
|
5
|
+
* the Session's Git runner; untracked and working-tree files are read through
|
|
6
6
|
* `ctx.fs`, both within `maxDiffBytes`.
|
|
7
7
|
*/
|
|
8
8
|
import type { Context } from '@deepseek-ai/cordis';
|
|
@@ -27,6 +27,10 @@ export interface ForkPoint {
|
|
|
27
27
|
export declare class DiffTooLarge extends Error {
|
|
28
28
|
name: string;
|
|
29
29
|
}
|
|
30
|
+
/** Thrown when filter configuration cannot be read completely; no comparison has run. */
|
|
31
|
+
export declare class FilterConfigError extends Error {
|
|
32
|
+
name: string;
|
|
33
|
+
}
|
|
30
34
|
/** Thrown for the `branch` scope of a checkout without a fork point. */
|
|
31
35
|
export declare class NoForkPoint extends Error {
|
|
32
36
|
name: string;
|
|
@@ -43,7 +47,8 @@ export declare class NoForkPoint extends Error {
|
|
|
43
47
|
*/
|
|
44
48
|
export declare function forkPoint(git: Git, inspection: Inspection, created: ForgeSessionWorktree | null): Promise<ForkPoint | null>;
|
|
45
49
|
/**
|
|
46
|
-
* Read
|
|
50
|
+
* Read changes at `root` with command-local clean/process filter overrides and without
|
|
51
|
+
* submodule working-tree inspection. Git's built-in newline, ident, and encoding conversions still apply.
|
|
47
52
|
* @param ctx - context that provides `fs`, `subprocess`, `sandbox`, and `sandboxPolicy`.
|
|
48
53
|
* @param config - Git and size limits.
|
|
49
54
|
* @param session - Session whose sandbox policy and execution world apply.
|
|
@@ -52,7 +57,8 @@ export declare function forkPoint(git: Git, inspection: Inspection, created: For
|
|
|
52
57
|
* @param scope - which changes to read.
|
|
53
58
|
* @param signal - cancellation of every command and read.
|
|
54
59
|
* @returns tracked files in Git's order, then untracked files unless the scope is `staged`.
|
|
55
|
-
* @throws NoForkPoint for the `branch` scope without `fork`;
|
|
60
|
+
* @throws NoForkPoint for the `branch` scope without `fork`; FilterConfigError when filter configuration
|
|
61
|
+
* cannot be read within `maxDiffBytes`; DiffTooLarge for oversized comparison output; an Error when Git fails.
|
|
56
62
|
*/
|
|
57
63
|
export declare function localDiff(ctx: Context, config: DiffConfig, session: Session, root: string, fork: ForkPoint | null, scope: ForgeLocalScope, signal: AbortSignal): Promise<ForgeLocalDiff>;
|
|
58
64
|
/**
|
|
@@ -78,7 +84,8 @@ export declare function localText(ctx: Context, config: DiffConfig, session: Ses
|
|
|
78
84
|
* @param created - worktree the Session created, or null.
|
|
79
85
|
* @param signal - cancellation of every command and read.
|
|
80
86
|
* @returns the base and the changed files, or null without a fork point.
|
|
81
|
-
* @throws
|
|
87
|
+
* @throws FilterConfigError when filter configuration cannot be read within `maxOutputBytes`;
|
|
88
|
+
* DiffTooLarge when the untracked file list exceeds `maxDiffBytes`; an Error when Git fails.
|
|
82
89
|
*/
|
|
83
90
|
export declare function localChanges(ctx: Context, config: DiffConfig, session: Session, inspection: Inspection, created: ForgeSessionWorktree | null, signal: AbortSignal): Promise<ForgeLocalChanges | null>;
|
|
84
91
|
/**
|
package/lib/types/states.d.ts
CHANGED
|
@@ -40,6 +40,12 @@ export interface StoredStates {
|
|
|
40
40
|
/** Remove a stored state durably. */
|
|
41
41
|
delete(key: string): Promise<boolean>;
|
|
42
42
|
}
|
|
43
|
+
/** One run's storage handle; closing releases its domain for the next run. */
|
|
44
|
+
export interface OpenedStates {
|
|
45
|
+
readonly table: StoredStates;
|
|
46
|
+
/** Close the domain after the run's accepted writes settle. */
|
|
47
|
+
close(): Promise<void>;
|
|
48
|
+
}
|
|
43
49
|
/** One listed Session and the URLs of its visible bindings, undefined when they are not known without loading it. */
|
|
44
50
|
export interface ListedSession {
|
|
45
51
|
readonly id: SessionId;
|
|
@@ -55,8 +61,8 @@ export interface ChangeRequestStateSources {
|
|
|
55
61
|
readonly refOf: (url: string) => ChangeRequestRef | undefined;
|
|
56
62
|
/** Poll a change request until the returned disposer runs. */
|
|
57
63
|
readonly watch: (ref: ChangeRequestRef, listener: ChangeRequestListener) => () => void;
|
|
58
|
-
/** Open the stored states. */
|
|
59
|
-
readonly open: () => Promise<
|
|
64
|
+
/** Open the stored states; the run owns and closes the returned handle. */
|
|
65
|
+
readonly open: () => Promise<OpenedStates>;
|
|
60
66
|
/** Report a failed durable write; the state stays in memory. */
|
|
61
67
|
readonly report: (error: unknown) => void;
|
|
62
68
|
}
|
|
@@ -79,7 +85,7 @@ export declare class ChangeRequestStates {
|
|
|
79
85
|
*/
|
|
80
86
|
stream(allowed: (id: SessionId) => boolean, signal: AbortSignal): AsyncIterable<ForgeChangeRequestStatesFrame>;
|
|
81
87
|
/**
|
|
82
|
-
* End every stream, stop polling, and wait for initialization and
|
|
88
|
+
* End every stream, stop polling, and wait for initialization, accepted writes, and storage closure.
|
|
83
89
|
* @returns settles after all owned work stops; subsequent streams end without starting work.
|
|
84
90
|
*/
|
|
85
91
|
dispose(): Promise<void>;
|
package/lib/types/types.d.ts
CHANGED
|
@@ -371,11 +371,15 @@ declare module '@deepseek-ai/dsh-typert-protocol' {
|
|
|
371
371
|
'forgePanel/not-a-checkout': Record<string, never>;
|
|
372
372
|
/** No remote names a default branch that HEAD shares history with, and the checkout is not a worktree the Session created. */
|
|
373
373
|
'forgePanel/no-fork-point': Record<string, never>;
|
|
374
|
+
/** Filter configuration could not be read completely; no comparison ran. Correct Git settings or the output limit before retrying. */
|
|
375
|
+
'forgePanel/filter-config-failed': Record<string, never>;
|
|
374
376
|
/**
|
|
375
377
|
* The patch, the untracked file list, or the file exceeds `maxDiffBytes`, or the code host
|
|
376
378
|
* or its provider refuses a change request's diff or file over a size limit.
|
|
377
379
|
*/
|
|
378
380
|
'forgePanel/diff-too-large': Record<string, never>;
|
|
381
|
+
/** Complete checks could not be loaded; the polling preview remains available. */
|
|
382
|
+
'forgePanel/checks-failed': Record<string, never>;
|
|
379
383
|
/** The code host did not provide the change request's diff or file, or its status has not been read yet; the message says why. */
|
|
380
384
|
'forgePanel/diff-failed': Record<string, never>;
|
|
381
385
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-experimental-client-ui-forge",
|
|
3
3
|
"description": "Sidebar panel for a Session's change requests, with a worktree option for new Sessions and its Host Remote",
|
|
4
|
-
"version": "0.2.2-alpha.
|
|
4
|
+
"version": "0.2.2-alpha.3",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -52,62 +52,62 @@
|
|
|
52
52
|
},
|
|
53
53
|
"license": "MIT",
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@deepseek-ai/cordis": "~4.0.6-alpha.
|
|
56
|
-
"@deepseek-ai/dsh-experimental-worktree": "0.2.2-alpha.
|
|
57
|
-
"@deepseek-ai/dsh-session": "0.2.2-alpha.
|
|
58
|
-
"@deepseek-ai/dsh-timeout": "0.2.2-alpha.
|
|
59
|
-
"@deepseek-ai/dsh-experimental-forge": "0.2.2-alpha.
|
|
60
|
-
"@deepseek-ai/dsh-fs": "0.2.2-alpha.
|
|
55
|
+
"@deepseek-ai/cordis": "~4.0.6-alpha.2",
|
|
56
|
+
"@deepseek-ai/dsh-experimental-worktree": "0.2.2-alpha.3",
|
|
57
|
+
"@deepseek-ai/dsh-session": "0.2.2-alpha.3",
|
|
58
|
+
"@deepseek-ai/dsh-timeout": "0.2.2-alpha.3",
|
|
59
|
+
"@deepseek-ai/dsh-experimental-forge": "0.2.2-alpha.3",
|
|
60
|
+
"@deepseek-ai/dsh-fs": "0.2.2-alpha.3"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@deepseek-ai/schemastery": "~3.18.6-alpha.
|
|
64
|
-
"@deepseek-ai/dsh-util-values": "0.2.2-alpha.
|
|
63
|
+
"@deepseek-ai/schemastery": "~3.18.6-alpha.2",
|
|
64
|
+
"@deepseek-ai/dsh-util-values": "0.2.2-alpha.3",
|
|
65
65
|
"diff": "^9.0.0",
|
|
66
66
|
"zod": "^4.4.3",
|
|
67
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.2-alpha.
|
|
68
|
-
"@deepseek-ai/dsh-storage-domain": "0.2.2-alpha.
|
|
67
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.2-alpha.3",
|
|
68
|
+
"@deepseek-ai/dsh-storage-domain": "0.2.2-alpha.3"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@deepseek-ai/cordis": "~4.0.6-alpha.
|
|
72
|
-
"@deepseek-ai/dsh-agent": "0.2.2-alpha.
|
|
73
|
-
"@deepseek-ai/dsh-agent-loop-testkit": "0.2.2-alpha.
|
|
74
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.2-alpha.
|
|
75
|
-
"@deepseek-ai/dsh-api-session-controller": "0.2.2-alpha.
|
|
76
|
-
"@deepseek-ai/dsh-client-locale": "0.2.2-alpha.
|
|
77
|
-
"@deepseek-ai/dsh-client-store": "0.2.2-alpha.
|
|
78
|
-
"@deepseek-ai/dsh-client-test-runtime": "0.2.2-alpha.
|
|
79
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.2.2-alpha.
|
|
80
|
-
"@deepseek-ai/dsh-client-ui-layout": "0.2.2-alpha.
|
|
81
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.2-alpha.
|
|
82
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.2-alpha.
|
|
83
|
-
"@deepseek-ai/dsh-client-ui-session": "0.2.2-alpha.
|
|
84
|
-
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.2-alpha.
|
|
85
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.2-alpha.
|
|
86
|
-
"@deepseek-ai/dsh-client-ui-workspace": "0.2.2-alpha.
|
|
87
|
-
"@deepseek-ai/dsh-experimental-forge": "0.2.2-alpha.
|
|
88
|
-
"@deepseek-ai/dsh-experimental-forge-session": "0.2.2-alpha.
|
|
89
|
-
"@deepseek-ai/dsh-experimental-worktree": "0.2.2-alpha.
|
|
90
|
-
"@deepseek-ai/dsh-fs": "0.2.2-alpha.
|
|
91
|
-
"@deepseek-ai/dsh-fs-local": "0.2.2-alpha.
|
|
92
|
-
"@deepseek-ai/dsh-llm": "0.2.2-alpha.
|
|
93
|
-
"@deepseek-ai/dsh-sandbox": "0.2.2-alpha.
|
|
94
|
-
"@deepseek-ai/dsh-sandbox-local": "0.2.2-alpha.
|
|
95
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.2.2-alpha.
|
|
96
|
-
"@deepseek-ai/dsh-session": "0.2.2-alpha.
|
|
97
|
-
"@deepseek-ai/dsh-session-projection": "0.2.2-alpha.
|
|
98
|
-
"@deepseek-ai/dsh-subprocess": "0.2.2-alpha.
|
|
99
|
-
"@deepseek-ai/dsh-subprocess-local": "0.2.2-alpha.
|
|
100
|
-
"@deepseek-ai/dsh-system-prompt": "0.2.2-alpha.
|
|
101
|
-
"@deepseek-ai/dsh-util-workspace-path": "0.2.2-alpha.
|
|
102
|
-
"@deepseek-ai/dsh-working-directory": "0.2.2-alpha.
|
|
71
|
+
"@deepseek-ai/cordis": "~4.0.6-alpha.2",
|
|
72
|
+
"@deepseek-ai/dsh-agent": "0.2.2-alpha.3",
|
|
73
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "0.2.2-alpha.3",
|
|
74
|
+
"@deepseek-ai/dsh-api-remotes": "0.2.2-alpha.3",
|
|
75
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.2-alpha.3",
|
|
76
|
+
"@deepseek-ai/dsh-client-locale": "0.2.2-alpha.3",
|
|
77
|
+
"@deepseek-ai/dsh-client-store": "0.2.2-alpha.3",
|
|
78
|
+
"@deepseek-ai/dsh-client-test-runtime": "0.2.2-alpha.3",
|
|
79
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.2-alpha.3",
|
|
80
|
+
"@deepseek-ai/dsh-client-ui-layout": "0.2.2-alpha.3",
|
|
81
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.2-alpha.3",
|
|
82
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.2-alpha.3",
|
|
83
|
+
"@deepseek-ai/dsh-client-ui-session": "0.2.2-alpha.3",
|
|
84
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.2-alpha.3",
|
|
85
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.2-alpha.3",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-workspace": "0.2.2-alpha.3",
|
|
87
|
+
"@deepseek-ai/dsh-experimental-forge": "0.2.2-alpha.3",
|
|
88
|
+
"@deepseek-ai/dsh-experimental-forge-session": "0.2.2-alpha.3",
|
|
89
|
+
"@deepseek-ai/dsh-experimental-worktree": "0.2.2-alpha.3",
|
|
90
|
+
"@deepseek-ai/dsh-fs": "0.2.2-alpha.3",
|
|
91
|
+
"@deepseek-ai/dsh-fs-local": "0.2.2-alpha.3",
|
|
92
|
+
"@deepseek-ai/dsh-llm": "0.2.2-alpha.3",
|
|
93
|
+
"@deepseek-ai/dsh-sandbox": "0.2.2-alpha.3",
|
|
94
|
+
"@deepseek-ai/dsh-sandbox-local": "0.2.2-alpha.3",
|
|
95
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.2-alpha.3",
|
|
96
|
+
"@deepseek-ai/dsh-session": "0.2.2-alpha.3",
|
|
97
|
+
"@deepseek-ai/dsh-session-projection": "0.2.2-alpha.3",
|
|
98
|
+
"@deepseek-ai/dsh-subprocess": "0.2.2-alpha.3",
|
|
99
|
+
"@deepseek-ai/dsh-subprocess-local": "0.2.2-alpha.3",
|
|
100
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.2-alpha.3",
|
|
101
|
+
"@deepseek-ai/dsh-util-workspace-path": "0.2.2-alpha.3",
|
|
102
|
+
"@deepseek-ai/dsh-working-directory": "0.2.2-alpha.3",
|
|
103
103
|
"@testing-library/react": "^16.3.3",
|
|
104
104
|
"clsx": "^2.1.1",
|
|
105
105
|
"react": "^18.2.0",
|
|
106
106
|
"react-dom": "^18.2.0",
|
|
107
|
-
"@deepseek-ai/dsh-timeout": "0.2.2-alpha.
|
|
108
|
-
"@deepseek-ai/dsh-session-projection-cache": "0.2.2-alpha.
|
|
109
|
-
"@deepseek-ai/dsh-session-query": "0.2.2-alpha.
|
|
110
|
-
"@deepseek-ai/dsh-api-remote-access": "0.2.2-alpha.
|
|
107
|
+
"@deepseek-ai/dsh-timeout": "0.2.2-alpha.3",
|
|
108
|
+
"@deepseek-ai/dsh-session-projection-cache": "0.2.2-alpha.3",
|
|
109
|
+
"@deepseek-ai/dsh-session-query": "0.2.2-alpha.3",
|
|
110
|
+
"@deepseek-ai/dsh-api-remote-access": "0.2.2-alpha.3"
|
|
111
111
|
},
|
|
112
112
|
"files": [
|
|
113
113
|
"locale/*.json",
|