dsh-git-worktree 0.7.4 → 0.8.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/CHANGELOG.md +26 -0
- package/README.en.md +7 -3
- package/README.md +7 -3
- package/cordis.patch.yml +4 -4
- package/docs/i18n.md +63 -0
- package/lib/adapters/files.d.ts +0 -7
- package/lib/adapters/files.js +4 -3
- package/lib/adapters/files.js.map +1 -1
- package/lib/adapters/git.d.ts +0 -10
- package/lib/adapters/git.js +6 -5
- package/lib/adapters/git.js.map +1 -1
- package/lib/adapters/registry.d.ts +0 -7
- package/lib/adapters/registry.js +2 -1
- package/lib/adapters/registry.js.map +1 -1
- package/lib/adapters/safe-file.d.ts +0 -7
- package/lib/adapters/safe-file.js +5 -4
- package/lib/adapters/safe-file.js.map +1 -1
- package/lib/client/WorktreeCreateRow.js +4 -2
- package/lib/client/WorktreeCreateRow.js.map +1 -1
- package/lib/client/WorktreeReviewRow.js +10 -8
- package/lib/client/WorktreeReviewRow.js.map +1 -1
- package/lib/client/actions.d.ts +3 -2
- package/lib/client/actions.js +17 -13
- package/lib/client/actions.js.map +1 -1
- package/lib/client/console-remote/adapter.d.ts +2 -1
- package/lib/client/console-remote/adapter.js +35 -32
- package/lib/client/console-remote/adapter.js.map +1 -1
- package/lib/client/console-remote/index.js +8 -4
- package/lib/client/console-remote/index.js.map +1 -1
- package/lib/client/i18n.d.ts +25 -0
- package/lib/client/i18n.js +43 -0
- package/lib/client/i18n.js.map +1 -0
- package/lib/client/index.d.ts +1 -1
- package/lib/client/index.js +17 -4
- package/lib/client/index.js.map +1 -1
- package/lib/client/model.d.ts +3 -2
- package/lib/client/model.js +8 -8
- package/lib/client/model.js.map +1 -1
- package/lib/client/pre-session/PreSessionWorktreeToggle.js +14 -12
- package/lib/client/pre-session/PreSessionWorktreeToggle.js.map +1 -1
- package/lib/client/pre-session/controller.js +11 -9
- package/lib/client/pre-session/controller.js.map +1 -1
- package/lib/client/pre-session/index.d.ts +12 -1
- package/lib/client/pre-session/index.js +9 -1
- package/lib/client/pre-session/index.js.map +1 -1
- package/lib/client/review-console/DeliveryProof.js +15 -12
- package/lib/client/review-console/DeliveryProof.js.map +1 -1
- package/lib/client/review-console/PreflightStatus.js +14 -8
- package/lib/client/review-console/PreflightStatus.js.map +1 -1
- package/lib/client/review-console/ReviewActions.js +97 -92
- package/lib/client/review-console/ReviewActions.js.map +1 -1
- package/lib/client/review-console/WorktreeReviewPanel.d.ts +1 -1
- package/lib/client/review-console/WorktreeReviewPanel.js +19 -16
- package/lib/client/review-console/WorktreeReviewPanel.js.map +1 -1
- package/lib/client/review-console/recovery-continuation.d.ts +2 -1
- package/lib/client/review-console/recovery-continuation.js +12 -8
- package/lib/client/review-console/recovery-continuation.js.map +1 -1
- package/lib/client/target-console/TargetStatusAction.js +28 -25
- package/lib/client/target-console/TargetStatusAction.js.map +1 -1
- package/lib/client/target-console/WorktreeConsoleView.js +40 -36
- package/lib/client/target-console/WorktreeConsoleView.js.map +1 -1
- package/lib/client/target-console/WorktreeManagerModal.js +3 -1
- package/lib/client/target-console/WorktreeManagerModal.js.map +1 -1
- package/lib/client/target-console/WorktreeReviewStatus.js +14 -12
- package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
- package/lib/client/workspace-sidebar/index.js +4 -2
- package/lib/client/workspace-sidebar/index.js.map +1 -1
- package/lib/client/workspace-sidebar/model.d.ts +2 -1
- package/lib/client/workspace-sidebar/model.js +14 -13
- package/lib/client/workspace-sidebar/model.js.map +1 -1
- package/lib/client.js +2173 -477
- package/lib/commands.js +32 -35
- package/lib/commands.js.map +1 -1
- package/lib/console-host/control-plane.js +82 -81
- package/lib/console-host/control-plane.js.map +1 -1
- package/lib/console-host/errors.js +2 -1
- package/lib/console-host/errors.js.map +1 -1
- package/lib/console-host/projection.js +3 -1
- package/lib/console-host/projection.js.map +1 -1
- package/lib/console-host/review-diff.js +6 -5
- package/lib/console-host/review-diff.js.map +1 -1
- package/lib/console-host/service.d.ts +24 -22
- package/lib/console-host/service.js +54 -51
- package/lib/console-host/service.js.map +1 -1
- package/lib/console-remote/descriptors.js +2 -2
- package/lib/console-remote/descriptors.js.map +1 -1
- package/lib/console-remote/remote.d.ts +22 -21
- package/lib/console-remote/remote.js.map +1 -1
- package/lib/console-remote/schemas.d.ts +4 -0
- package/lib/console-remote/schemas.js +1 -0
- package/lib/console-remote/schemas.js.map +1 -1
- package/lib/i18n/client-messages.d.ts +1523 -0
- package/lib/i18n/client-messages.js +1431 -0
- package/lib/i18n/client-messages.js.map +1 -0
- package/lib/i18n/core.d.ts +12 -0
- package/lib/i18n/core.js +10 -0
- package/lib/i18n/core.js.map +1 -0
- package/lib/i18n/host-messages.d.ts +1463 -0
- package/lib/i18n/host-messages.js +1474 -0
- package/lib/i18n/host-messages.js.map +1 -0
- package/lib/i18n/host.d.ts +9 -0
- package/lib/i18n/host.js +34 -0
- package/lib/i18n/host.js.map +1 -0
- package/lib/i18n/transport-messages.d.ts +10 -0
- package/lib/i18n/transport-messages.js +11 -0
- package/lib/i18n/transport-messages.js.map +1 -0
- package/lib/index.d.ts +9 -2
- package/lib/index.js +4 -2
- package/lib/index.js.map +1 -1
- package/lib/session-checkout-apply.js +93 -92
- package/lib/session-checkout-apply.js.map +1 -1
- package/lib/session-checkout-module.js +232 -229
- package/lib/session-checkout-module.js.map +1 -1
- package/lib/session-target-context.js +2 -1
- package/lib/session-target-context.js.map +1 -1
- package/lib/tools.d.ts +0 -8
- package/lib/tools.js +108 -96
- package/lib/tools.js.map +1 -1
- package/lib/workspace-provider-lifecycle.d.ts +15 -0
- package/lib/workspace-provider-lifecycle.js +65 -0
- package/lib/workspace-provider-lifecycle.js.map +1 -0
- package/package.json +6 -1
- package/scripts/check-publish.mjs +6 -3
- package/scripts/dev-dsh-lib.mjs +1 -1
- package/scripts/workspace-sidebar-upstream.mjs +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Dynamic replay-stable model context for the current Worktree Session Target. */
|
|
2
2
|
import '@deepseek-ai/dsh-system-prompt';
|
|
3
|
+
import { languageForInvocation, withHostLanguage } from './i18n/host.js';
|
|
3
4
|
/** Register a per-assembly snapshot without performing Git or filesystem I/O. */
|
|
4
5
|
export function registerSessionTargetContext(ctx, module) {
|
|
5
6
|
ctx.inject(['systemPrompt'], (scope) => {
|
|
@@ -8,7 +9,7 @@ export function registerSessionTargetContext(ctx, module) {
|
|
|
8
9
|
order: 118,
|
|
9
10
|
text: (context) => {
|
|
10
11
|
const sessionId = context.agent?.session?.id;
|
|
11
|
-
return typeof sessionId === 'string' ? module.runtimeContext(sessionId) : '';
|
|
12
|
+
return withHostLanguage(languageForInvocation(context.agent, scope), () => (typeof sessionId === 'string' ? module.runtimeContext(sessionId) : ''));
|
|
12
13
|
},
|
|
13
14
|
});
|
|
14
15
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-target-context.js","sourceRoot":"","sources":["../src/session-target-context.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"session-target-context.js","sourceRoot":"","sources":["../src/session-target-context.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,gCAAgC,CAAA;AAEvC,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAMxE,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAAC,GAAY,EAAE,MAA6B;IACtF,GAAG,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,KAAc,EAAE,EAAE;QAC9C,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,6BAA6B;YACnC,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChB,MAAM,SAAS,GAAI,OAAO,CAAC,KAAkC,EAAE,OAAO,EAAE,EAAE,CAAA;gBAC1E,OAAO,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CACzE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CACtE,CAAC,CAAA;YACJ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/lib/tools.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model-facing worktree tools. Destructive delivery actions are deliberately
|
|
3
|
-
* absent: Finish/Discard/Remove are human commands surfaced by the client
|
|
4
|
-
* ToolView. The model can reserve a real target session, inspect its own
|
|
5
|
-
* scoped worktrees, invalidate an unsynced review before further file edits,
|
|
6
|
-
* safely begin a cleaned same-session iteration, and stop at Ready for Review.
|
|
7
|
-
* @module dsh-git-worktree/tools
|
|
8
|
-
*/
|
|
9
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
10
2
|
import type { SessionCheckoutModule } from './index.js';
|
|
11
3
|
/** Register the safe model-facing worktree tools. */
|
package/lib/tools.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { hostMessage, withHostLanguage, languageForInvocation } from './i18n/host.js';
|
|
2
|
+
import { hostRegistrationMessage } from './i18n/host-messages.js';
|
|
1
3
|
/**
|
|
2
4
|
* Model-facing worktree tools. Destructive delivery actions are deliberately
|
|
3
5
|
* absent: Finish/Discard/Remove are human commands surfaced by the client
|
|
@@ -11,7 +13,7 @@ import { defineTool } from '@deepseek-ai/dsh-tools';
|
|
|
11
13
|
function sessionIdOf(agent) {
|
|
12
14
|
const session = agent?.session;
|
|
13
15
|
if (!session || typeof session.id !== 'string') {
|
|
14
|
-
throw new Error('
|
|
16
|
+
throw new Error(hostMessage('worktreeToolsCanOnlyBeCalledInADSH'));
|
|
15
17
|
}
|
|
16
18
|
return session.id;
|
|
17
19
|
}
|
|
@@ -23,7 +25,7 @@ function renderJson(value) {
|
|
|
23
25
|
export function registerTools(ctx, module) {
|
|
24
26
|
ctx.tools.register(defineTool({
|
|
25
27
|
name: 'worktree_create',
|
|
26
|
-
description: '
|
|
28
|
+
description: hostRegistrationMessage('reserveAUniqueManagedGitWorktreeAndADistinct'),
|
|
27
29
|
parameters: {},
|
|
28
30
|
output: {
|
|
29
31
|
schema: {
|
|
@@ -42,24 +44,26 @@ export function registerTools(ctx, module) {
|
|
|
42
44
|
render: (_args, value) => renderJson(value),
|
|
43
45
|
},
|
|
44
46
|
async execute(_args, exec) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
return withHostLanguage(languageForInvocation(exec.agent, ctx), async () => {
|
|
48
|
+
const sourceSessionId = sessionIdOf(exec.agent);
|
|
49
|
+
const targetSessionId = randomUUID();
|
|
50
|
+
const launch = await module.createIsolatedTarget(sourceSessionId, targetSessionId);
|
|
51
|
+
return {
|
|
52
|
+
kind: 'worktree_target_created',
|
|
53
|
+
checkoutId: launch.target.checkout.id,
|
|
54
|
+
targetSessionId,
|
|
55
|
+
managedRoot: launch.managedRoot,
|
|
56
|
+
phase: launch.target.checkout.phase,
|
|
57
|
+
currentOid: launch.target.current.oid,
|
|
58
|
+
sourceSessionId,
|
|
59
|
+
};
|
|
60
|
+
});
|
|
57
61
|
},
|
|
58
|
-
presentCall: () => ({ card: 'generic', title: '
|
|
62
|
+
presentCall: () => ({ card: 'generic', title: hostRegistrationMessage('createIsolatedSessionTarget'), kind: 'other', rawInput: {} }),
|
|
59
63
|
}));
|
|
60
64
|
ctx.tools.register(defineTool({
|
|
61
65
|
name: 'worktree_list',
|
|
62
|
-
description: '
|
|
66
|
+
description: hostRegistrationMessage('listManagedWorktreesVisibleToTheCurrentSessionResults'),
|
|
63
67
|
parameters: {},
|
|
64
68
|
output: {
|
|
65
69
|
schema: {
|
|
@@ -90,27 +94,29 @@ export function registerTools(ctx, module) {
|
|
|
90
94
|
render: (_args, value) => renderJson(value),
|
|
91
95
|
},
|
|
92
96
|
async execute(_args, exec) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
97
|
+
return withHostLanguage(languageForInvocation(exec.agent, ctx), async () => {
|
|
98
|
+
const sessionId = sessionIdOf(exec.agent);
|
|
99
|
+
const summaries = await module.listManagedWorktreesForSession(sessionId);
|
|
100
|
+
return {
|
|
101
|
+
kind: 'worktree_list',
|
|
102
|
+
worktrees: summaries.map((summary) => ({
|
|
103
|
+
checkoutId: summary.checkoutId,
|
|
104
|
+
projectName: summary.project.name,
|
|
105
|
+
ownerSessionId: summary.ownerSessionId,
|
|
106
|
+
iteration: summary.iteration,
|
|
107
|
+
state: summary.state,
|
|
108
|
+
phase: summary.phase,
|
|
109
|
+
dirty: summary.dirty,
|
|
110
|
+
commitOid: summary.commitOid ?? undefined,
|
|
111
|
+
})),
|
|
112
|
+
};
|
|
113
|
+
});
|
|
108
114
|
},
|
|
109
|
-
presentCall: () => ({ card: 'generic', title: '
|
|
115
|
+
presentCall: () => ({ card: 'generic', title: hostRegistrationMessage('listManagedWorktrees'), kind: 'other', rawInput: {} }),
|
|
110
116
|
}));
|
|
111
117
|
ctx.tools.register(defineTool({
|
|
112
118
|
name: 'worktree_resume_revision',
|
|
113
|
-
description: '
|
|
119
|
+
description: hostRegistrationMessage('whenTheCurrentIsolatedSessionIsReadyForReview'),
|
|
114
120
|
parameters: {},
|
|
115
121
|
output: {
|
|
116
122
|
schema: {
|
|
@@ -128,29 +134,31 @@ export function registerTools(ctx, module) {
|
|
|
128
134
|
render: (_args, value) => renderJson(value),
|
|
129
135
|
},
|
|
130
136
|
async execute(_args, exec) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
137
|
+
return withHostLanguage(languageForInvocation(exec.agent, ctx), async () => {
|
|
138
|
+
const sessionId = sessionIdOf(exec.agent);
|
|
139
|
+
const current = await module.inspect(sessionId);
|
|
140
|
+
if (current.delivery?.state !== 'ready_for_review') {
|
|
141
|
+
throw new Error(hostMessage('theCurrentWorktreeHasNoUnsyncedReviewToResume372', { p0: current.delivery?.state ?? 'unknown' }));
|
|
142
|
+
}
|
|
143
|
+
const target = await module.resumeRevision(sessionId, current.revision, current.delivery.review.reviewId);
|
|
144
|
+
if (target.delivery?.state !== 'working') {
|
|
145
|
+
throw new Error(hostMessage('worktreeDidNotReturnToWorkingState', { p0: target.delivery?.state ?? 'unknown' }));
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
kind: 'worktree_revision_resumed',
|
|
149
|
+
checkoutId: target.checkout.id,
|
|
150
|
+
iteration: target.delivery.iteration,
|
|
151
|
+
revision: target.revision,
|
|
152
|
+
phase: target.checkout.phase,
|
|
153
|
+
sessionId,
|
|
154
|
+
};
|
|
155
|
+
});
|
|
148
156
|
},
|
|
149
|
-
presentCall: () => ({ card: 'generic', title: '
|
|
157
|
+
presentCall: () => ({ card: 'generic', title: hostRegistrationMessage('resumeWorktreeRevision'), kind: 'other', rawInput: {} }),
|
|
150
158
|
}));
|
|
151
159
|
ctx.tools.register(defineTool({
|
|
152
160
|
name: 'worktree_begin_next_iteration',
|
|
153
|
-
description: '
|
|
161
|
+
description: hostRegistrationMessage('whenTheCurrentIsolatedSessionHasBeenDeliveredAnd'),
|
|
154
162
|
parameters: {},
|
|
155
163
|
output: {
|
|
156
164
|
schema: {
|
|
@@ -168,35 +176,37 @@ export function registerTools(ctx, module) {
|
|
|
168
176
|
render: (_args, value) => renderJson(value),
|
|
169
177
|
},
|
|
170
178
|
async execute(_args, exec) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
179
|
+
return withHostLanguage(languageForInvocation(exec.agent, ctx), async () => {
|
|
180
|
+
const sessionId = sessionIdOf(exec.agent);
|
|
181
|
+
const current = await module.inspect(sessionId);
|
|
182
|
+
const target = await module.beginNextIteration(sessionId, current.revision);
|
|
183
|
+
if (target.delivery?.state !== 'working') {
|
|
184
|
+
throw new Error(hostMessage('theNextWorktreeIterationDidNotEnterWorkingState', { p0: target.delivery?.state ?? 'unknown' }));
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
kind: 'worktree_next_iteration_started',
|
|
188
|
+
checkoutId: target.checkout.id,
|
|
189
|
+
iteration: target.delivery.iteration,
|
|
190
|
+
phase: target.checkout.phase,
|
|
191
|
+
currentOid: target.current.oid,
|
|
192
|
+
sessionId,
|
|
193
|
+
};
|
|
194
|
+
});
|
|
185
195
|
},
|
|
186
|
-
presentCall: () => ({ card: 'generic', title: '
|
|
196
|
+
presentCall: () => ({ card: 'generic', title: hostRegistrationMessage('startNextWorktreeIteration'), kind: 'other', rawInput: {} }),
|
|
187
197
|
}));
|
|
188
198
|
ctx.tools.register(defineTool({
|
|
189
199
|
name: 'worktree_ready_for_review',
|
|
190
|
-
description: '
|
|
200
|
+
description: hostRegistrationMessage('onlyForWorktreeSessionsThatHaveAlreadySelectedAn'),
|
|
191
201
|
parameters: {
|
|
192
202
|
summary: {
|
|
193
203
|
type: 'string',
|
|
194
204
|
required: true,
|
|
195
|
-
description: '
|
|
205
|
+
description: hostRegistrationMessage('oneLineSummaryOfTheChangeMax240Chars'),
|
|
196
206
|
},
|
|
197
207
|
details: {
|
|
198
208
|
type: 'string',
|
|
199
|
-
description: '
|
|
209
|
+
description: hostRegistrationMessage('optionalFullMarkdownDetailsMax12000Chars'),
|
|
200
210
|
},
|
|
201
211
|
validationStatus: {
|
|
202
212
|
type: 'string',
|
|
@@ -205,7 +215,7 @@ export function registerTools(ctx, module) {
|
|
|
205
215
|
},
|
|
206
216
|
validationSummary: {
|
|
207
217
|
type: 'string',
|
|
208
|
-
description: '
|
|
218
|
+
description: hostRegistrationMessage('optionalOneLineValidationOutcome'),
|
|
209
219
|
},
|
|
210
220
|
tests: {
|
|
211
221
|
type: 'array',
|
|
@@ -223,7 +233,7 @@ export function registerTools(ctx, module) {
|
|
|
223
233
|
suggestedCommitMessage: {
|
|
224
234
|
type: 'string',
|
|
225
235
|
required: true,
|
|
226
|
-
description: '
|
|
236
|
+
description: hostRegistrationMessage('suggestedCommitMessageForTheHumanAcceptanceAction'),
|
|
227
237
|
},
|
|
228
238
|
},
|
|
229
239
|
output: {
|
|
@@ -242,32 +252,34 @@ export function registerTools(ctx, module) {
|
|
|
242
252
|
render: (_args, value) => renderJson(value),
|
|
243
253
|
},
|
|
244
254
|
async execute(args, exec) {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
255
|
+
return withHostLanguage(languageForInvocation(exec.agent, ctx), async () => {
|
|
256
|
+
const sessionId = sessionIdOf(exec.agent);
|
|
257
|
+
const target = await module.markReadyForReview(sessionId, {
|
|
258
|
+
summary: args.summary,
|
|
259
|
+
detailsMarkdown: args.details,
|
|
260
|
+
validationStatus: args.validationStatus,
|
|
261
|
+
validationSummary: args.validationSummary,
|
|
262
|
+
tests: (args.tests ?? []).map((test) => ({
|
|
263
|
+
command: test.command,
|
|
264
|
+
status: test.status,
|
|
265
|
+
...(test.summary ? { summary: test.summary } : {}),
|
|
266
|
+
})),
|
|
267
|
+
suggestedCommitMessage: args.suggestedCommitMessage,
|
|
268
|
+
});
|
|
269
|
+
if (target.delivery?.state !== 'ready_for_review') {
|
|
270
|
+
throw new Error(hostMessage('worktreeDidNotEnterAReviewableState', { p0: target.delivery?.state ?? 'unknown' }));
|
|
271
|
+
}
|
|
272
|
+
return {
|
|
273
|
+
kind: 'worktree_ready_for_review',
|
|
274
|
+
state: target.delivery.state,
|
|
275
|
+
reviewId: target.delivery.review.reviewId,
|
|
276
|
+
revision: target.revision,
|
|
277
|
+
iteration: target.delivery.review.iteration,
|
|
278
|
+
changedFiles: target.delivery.review.changedFiles,
|
|
279
|
+
};
|
|
257
280
|
});
|
|
258
|
-
if (target.delivery?.state !== 'ready_for_review') {
|
|
259
|
-
throw new Error(`worktree 未进入可验收状态: ${target.delivery?.state ?? 'unknown'}`);
|
|
260
|
-
}
|
|
261
|
-
return {
|
|
262
|
-
kind: 'worktree_ready_for_review',
|
|
263
|
-
state: target.delivery.state,
|
|
264
|
-
reviewId: target.delivery.review.reviewId,
|
|
265
|
-
revision: target.revision,
|
|
266
|
-
iteration: target.delivery.review.iteration,
|
|
267
|
-
changedFiles: target.delivery.review.changedFiles,
|
|
268
|
-
};
|
|
269
281
|
},
|
|
270
|
-
presentCall: () => ({ card: 'generic', title: '
|
|
282
|
+
presentCall: () => ({ card: 'generic', title: hostRegistrationMessage('readyForWorktreeReview'), kind: 'other', rawInput: {} }),
|
|
271
283
|
}));
|
|
272
284
|
}
|
|
273
285
|
//# sourceMappingURL=tools.js.map
|
package/lib/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
export declare const WORKSPACE_PROVIDER_CONDITION = "!!get('worktreeWorkspaceProvider') && [...loader.entries()].some(entry => entry.options?.name === 'dsh-git-worktree' && !entry.disabled)";
|
|
3
|
+
declare module '@deepseek-ai/cordis' {
|
|
4
|
+
interface Context {
|
|
5
|
+
worktreeWorkspaceProvider: boolean;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Reconcile the conditional patch with the public Loader lifecycle. A disabled
|
|
10
|
+
* expression is evaluated dynamically, but the Web module registry caches rows
|
|
11
|
+
* by plugin name; a change to the replacement alone does not re-elect Workspace.
|
|
12
|
+
* Restarting the official entry through Loader operations publishes real module
|
|
13
|
+
* events without saving any disabled flag or changing the user's profile.
|
|
14
|
+
*/
|
|
15
|
+
export declare function mountWorkspaceProviderLifecycle(ctx: Context): Promise<void>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const WORKSPACE_PROVIDER_CONDITION = "!!get('worktreeWorkspaceProvider') && [...loader.entries()].some(entry => entry.options?.name === 'dsh-git-worktree' && !entry.disabled)";
|
|
2
|
+
const OFFICIAL_WORKSPACE = '@deepseek-ai/dsh-client-ui-workspace';
|
|
3
|
+
// Cordis exposes FiberState as a declaration-only const enum, not a JS export.
|
|
4
|
+
const UNLOADING = 5;
|
|
5
|
+
/**
|
|
6
|
+
* Reconcile the conditional patch with the public Loader lifecycle. A disabled
|
|
7
|
+
* expression is evaluated dynamically, but the Web module registry caches rows
|
|
8
|
+
* by plugin name; a change to the replacement alone does not re-elect Workspace.
|
|
9
|
+
* Restarting the official entry through Loader operations publishes real module
|
|
10
|
+
* events without saving any disabled flag or changing the user's profile.
|
|
11
|
+
*/
|
|
12
|
+
export async function mountWorkspaceProviderLifecycle(ctx) {
|
|
13
|
+
const loader = ctx.loader;
|
|
14
|
+
const owned = () => [...loader.entries()].filter(entry => {
|
|
15
|
+
const disabled = entry.options.disabled;
|
|
16
|
+
return entry.options.name === OFFICIAL_WORKSPACE
|
|
17
|
+
&& typeof disabled === 'object' && disabled !== null
|
|
18
|
+
&& '__jsExpr' in disabled && disabled.__jsExpr === WORKSPACE_PROVIDER_CONDITION;
|
|
19
|
+
});
|
|
20
|
+
let released = false;
|
|
21
|
+
let pending = Promise.resolve();
|
|
22
|
+
const reconcile = () => {
|
|
23
|
+
pending = pending.then(async () => {
|
|
24
|
+
if (released)
|
|
25
|
+
return;
|
|
26
|
+
for (const entry of owned()) {
|
|
27
|
+
if (entry.disabled) {
|
|
28
|
+
if (!released)
|
|
29
|
+
await entry.update({}, false, true);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
await entry.refresh();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return pending;
|
|
37
|
+
};
|
|
38
|
+
ctx.effect(() => async () => {
|
|
39
|
+
released = true;
|
|
40
|
+
// Root/Include teardown owns these entries; do not resurrect that tree.
|
|
41
|
+
if (ctx.root.fiber.uid === null || ctx.root.fiber.state === UNLOADING)
|
|
42
|
+
return;
|
|
43
|
+
await pending.catch(() => { });
|
|
44
|
+
for (const entry of owned()) {
|
|
45
|
+
if (entry.parent.ctx.fiber.uid !== null && entry.parent.ctx.fiber.state !== UNLOADING && !entry.disabled)
|
|
46
|
+
await entry.refresh();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
// Registered after the fallback so LIFO teardown releases the selection
|
|
50
|
+
// before restoring Workspace, including when the replacement apply fails.
|
|
51
|
+
ctx.provide('worktreeWorkspaceProvider', true);
|
|
52
|
+
// Includes may add the official row after the replacement has activated.
|
|
53
|
+
ctx.on('internal/status', fiber => {
|
|
54
|
+
if (fiber === ctx.fiber && !released) {
|
|
55
|
+
void reconcile().catch(error => ctx.logger.warn(error));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
ctx.on('internal/plugin', fiber => {
|
|
59
|
+
if (fiber.uid && fiber.entry?.options.name === OFFICIAL_WORKSPACE) {
|
|
60
|
+
void reconcile().catch(error => ctx.logger.warn(error));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
await reconcile();
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=workspace-provider-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-provider-lifecycle.js","sourceRoot":"","sources":["../src/workspace-provider-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-git-worktree",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Experimental Git worktree Session Targets for DeepSeek Harness with isolated sessions, review checkpoints, human-confirmed delivery, and safe recovery.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"lib",
|
|
34
34
|
"scripts",
|
|
35
35
|
"CHANGELOG.md",
|
|
36
|
+
"docs/i18n.md",
|
|
36
37
|
"NOTICE",
|
|
37
38
|
"cordis.patch.yml"
|
|
38
39
|
],
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
},
|
|
86
87
|
"peerDependencies": {
|
|
87
88
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
89
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.3",
|
|
88
90
|
"@deepseek-ai/dsh-agent": "^0.1.2-rc.1",
|
|
89
91
|
"@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
|
|
90
92
|
"@deepseek-ai/dsh-commands": "^0.1.2-rc.1",
|
|
@@ -98,12 +100,15 @@
|
|
|
98
100
|
},
|
|
99
101
|
"devDependencies": {
|
|
100
102
|
"@deepseek-ai/cordis": "4.0.2",
|
|
103
|
+
"@deepseek-ai/cordis-plugin-include": "1.0.7",
|
|
104
|
+
"@deepseek-ai/cordis-plugin-loader": "1.0.3",
|
|
101
105
|
"@deepseek-ai/dsh-agent": "0.1.2-rc.1",
|
|
102
106
|
"@deepseek-ai/dsh-api-gateway": "0.1.2-rc.1",
|
|
103
107
|
"@deepseek-ai/dsh-api-session-controller": "0.1.2-rc.1",
|
|
104
108
|
"@deepseek-ai/dsh-api-workspace-controller": "0.1.2-rc.1",
|
|
105
109
|
"@deepseek-ai/dsh-client-connection": "0.1.2-rc.1",
|
|
106
110
|
"@deepseek-ai/dsh-client-locale": "0.1.2-rc.1",
|
|
111
|
+
"@deepseek-ai/dsh-client-modules": "0.1.2-rc.1",
|
|
107
112
|
"@deepseek-ai/dsh-client-store": "0.1.2-rc.1",
|
|
108
113
|
"@deepseek-ai/dsh-client-ui-primitives": "0.1.2-rc.1",
|
|
109
114
|
"@deepseek-ai/dsh-client-ui-workspace": "0.1.2-rc.1",
|
|
@@ -38,6 +38,7 @@ function includedByFiles(target) {
|
|
|
38
38
|
// 1. Host singleton packages must resolve from DSH instead of a plugin-private dependency tree.
|
|
39
39
|
const hostSingletonPackages = [
|
|
40
40
|
'@deepseek-ai/cordis',
|
|
41
|
+
'@deepseek-ai/cordis-plugin-loader',
|
|
41
42
|
'@deepseek-ai/dsh-agent',
|
|
42
43
|
'@deepseek-ai/dsh-commands',
|
|
43
44
|
'@deepseek-ai/dsh-session',
|
|
@@ -72,8 +73,10 @@ const patch = readFileSync(patchPath, 'utf8')
|
|
|
72
73
|
if (!patch.includes('- insert:') || !patch.includes(`name: ${manifest.name}`)) {
|
|
73
74
|
fail(`${patchRel} must insert one plugin row named ${manifest.name}`)
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
const { WORKSPACE_PROVIDER_CONDITION } = await import(pathToFileURL(resolve(root, 'lib/workspace-provider-lifecycle.js')).href)
|
|
77
|
+
if (!/- id: ui-workspace\s+name: ['"]?@deepseek-ai\/dsh-client-ui-workspace['"]?\s+disabled: !!js /u.test(patch)
|
|
78
|
+
|| !patch.includes(`disabled: !!js ${JSON.stringify(WORKSPACE_PROVIDER_CONDITION)}`)) {
|
|
79
|
+
fail(`${patchRel} must share the conditional Workspace selection used by the Host lifecycle`)
|
|
77
80
|
}
|
|
78
81
|
if (manifest.dsh?.client?.inject?.includes('@deepseek-ai/dsh-client-ui-workspace')) {
|
|
79
82
|
fail('dsh.client.inject must not request the disabled official ui-workspace Client module')
|
|
@@ -145,7 +148,7 @@ ok(`manual strict ./typert + ./remote contribution (${expectedRemoteMethods.leng
|
|
|
145
148
|
const entryRel = exportsMap['.']?.default ?? manifest.main
|
|
146
149
|
if (typeof entryRel !== 'string') fail('exports["."].default is not a path')
|
|
147
150
|
const entry = readFileSync(resolve(root, entryRel), 'utf8')
|
|
148
|
-
if (!/export\s+function\s+apply\b/.test(entry)) fail(`${entryRel} does not export function apply`)
|
|
151
|
+
if (!/export\s+(?:async\s+)?function\s+apply\b/.test(entry)) fail(`${entryRel} does not export function apply`)
|
|
149
152
|
if (!/export\s+const\s+inject\b/.test(entry)) fail(`${entryRel} does not export const inject`)
|
|
150
153
|
ok(`${entryRel} exports Host apply + inject`)
|
|
151
154
|
|
package/scripts/dev-dsh-lib.mjs
CHANGED
|
@@ -462,7 +462,7 @@ export function installLocalSnapshot(options) {
|
|
|
462
462
|
scripts: {},
|
|
463
463
|
}
|
|
464
464
|
writeFileSync(join(stagingRoot, 'package.json'), `${JSON.stringify(stagedManifest, null, 2)}\n`)
|
|
465
|
-
for (const entry of ['lib', 'cordis.patch.yml', 'README.md', 'README.en.md', 'LICENSE', 'NOTICE']) {
|
|
465
|
+
for (const entry of ['lib', 'cordis.patch.yml', 'README.md', 'README.en.md', 'docs/i18n.md', 'LICENSE', 'NOTICE']) {
|
|
466
466
|
const source = join(options.projectRoot, entry)
|
|
467
467
|
if (existsSync(source)) copyPackageEntry(source, join(stagingRoot, entry))
|
|
468
468
|
}
|
|
@@ -46,7 +46,7 @@ export function decorateOfficialWorkspaceClient(source) {
|
|
|
46
46
|
'Chinese Worktree locale')
|
|
47
47
|
derived = replaceExactlyOnce(derived,
|
|
48
48
|
'\t\tconst en = {',
|
|
49
|
-
`\t\tconst en = {\n\t\t\t"dshGitWorktree.managed": "Managed Worktree",\n\t\t\t"dshGitWorktree.state.working": "
|
|
49
|
+
`\t\tconst en = {\n\t\t\t"dshGitWorktree.managed": "Managed Worktree",\n\t\t\t"dshGitWorktree.state.working": "In progress",\n\t\t\t"dshGitWorktree.state.ready_for_review": "Ready for review",\n\t\t\t"dshGitWorktree.state.preview_active": "Preview",\n\t\t\t"dshGitWorktree.state.preview_detached": "Resume preview",\n\t\t\t"dshGitWorktree.state.recovery_required": "Recovery required",\n\t\t\t"dshGitWorktree.state.finalized": "Done",\n\t\t\t"dshGitWorktree.state.discarded": "Discarded",`,
|
|
50
50
|
'English Worktree locale')
|
|
51
51
|
derived = replaceExactlyOnce(derived,
|
|
52
52
|
'\t\t\t\tgroups.push(buildGroup(workspace.workspaceId, workspace.workspaceId, workspace.path, Date.parse(workspace.createdAt), workspace.title, members, "account"));',
|