dsh-git-worktree 0.3.2 → 0.6.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 +83 -0
- package/README.en.md +48 -18
- package/README.md +49 -18
- package/lib/adapters/git.js +8 -0
- package/lib/adapters/git.js.map +1 -1
- package/lib/adapters/registry.js +107 -2
- package/lib/adapters/registry.js.map +1 -1
- package/lib/checkpoint.d.ts +3 -0
- package/lib/checkpoint.js +29 -0
- package/lib/checkpoint.js.map +1 -0
- package/lib/client/WorktreeReviewRow.d.ts +1 -1
- package/lib/client/WorktreeReviewRow.js +26 -6
- package/lib/client/WorktreeReviewRow.js.map +1 -1
- package/lib/client/actions.d.ts +49 -4
- package/lib/client/actions.js +104 -0
- package/lib/client/actions.js.map +1 -1
- package/lib/client/console-remote/adapter.js +10 -3
- package/lib/client/console-remote/adapter.js.map +1 -1
- package/lib/client/review-console/DeliveryProof.d.ts +5 -0
- package/lib/client/review-console/DeliveryProof.js +32 -0
- package/lib/client/review-console/DeliveryProof.js.map +1 -0
- package/lib/client/review-console/PreflightStatus.d.ts +12 -0
- package/lib/client/review-console/PreflightStatus.js +31 -0
- package/lib/client/review-console/PreflightStatus.js.map +1 -0
- package/lib/client/review-console/ReviewActions.d.ts +4 -1
- package/lib/client/review-console/ReviewActions.js +657 -31
- package/lib/client/review-console/ReviewActions.js.map +1 -1
- package/lib/client/review-console/WorktreeReviewPanel.d.ts +3 -1
- package/lib/client/review-console/WorktreeReviewPanel.js +35 -5
- package/lib/client/review-console/WorktreeReviewPanel.js.map +1 -1
- package/lib/client/review-console/preflight-cache.d.ts +21 -0
- package/lib/client/review-console/preflight-cache.js +98 -0
- package/lib/client/review-console/preflight-cache.js.map +1 -0
- package/lib/client/review-console/preview-recovery-cache.d.ts +20 -0
- package/lib/client/review-console/preview-recovery-cache.js +103 -0
- package/lib/client/review-console/preview-recovery-cache.js.map +1 -0
- package/lib/client/review-console/recovery-continuation.d.ts +53 -0
- package/lib/client/review-console/recovery-continuation.js +483 -0
- package/lib/client/review-console/recovery-continuation.js.map +1 -0
- package/lib/client/review-console/review-console.styles.js +36 -4
- package/lib/client/review-console/review-console.styles.js.map +1 -1
- package/lib/client/target-console/TargetStatusAction.d.ts +4 -2
- package/lib/client/target-console/TargetStatusAction.js +196 -23
- package/lib/client/target-console/TargetStatusAction.js.map +1 -1
- package/lib/client/target-console/WorktreeConsoleView.d.ts +4 -2
- package/lib/client/target-console/WorktreeConsoleView.js +33 -73
- package/lib/client/target-console/WorktreeConsoleView.js.map +1 -1
- package/lib/client/target-console/WorktreeManagerModal.d.ts +13 -0
- package/lib/client/target-console/WorktreeManagerModal.js +8 -0
- package/lib/client/target-console/WorktreeManagerModal.js.map +1 -0
- package/lib/client/target-console/WorktreeReviewStatus.d.ts +3 -1
- package/lib/client/target-console/WorktreeReviewStatus.js +35 -15
- package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
- package/lib/client/target-console/index.d.ts +2 -1
- package/lib/client/target-console/index.js +4 -3
- package/lib/client/target-console/index.js.map +1 -1
- package/lib/client/target-console/target-console.styles.js +22 -3
- package/lib/client/target-console/target-console.styles.js.map +1 -1
- package/lib/client.js +2976 -211
- package/lib/console-contract.d.ts +110 -1
- package/lib/console-contract.js.map +1 -1
- package/lib/console-host/control-plane.d.ts +6 -1
- package/lib/console-host/control-plane.js +363 -44
- package/lib/console-host/control-plane.js.map +1 -1
- package/lib/console-host/errors.d.ts +2 -2
- package/lib/console-host/errors.js +21 -5
- package/lib/console-host/errors.js.map +1 -1
- package/lib/console-host/projection.d.ts +5 -3
- package/lib/console-host/projection.js +103 -11
- package/lib/console-host/projection.js.map +1 -1
- package/lib/console-host/service.d.ts +10 -5
- package/lib/console-host/service.js +48 -6
- package/lib/console-host/service.js.map +1 -1
- package/lib/console-remote/descriptors.js +37 -1
- package/lib/console-remote/descriptors.js.map +1 -1
- package/lib/console-remote/remote.d.ts +10 -5
- package/lib/console-remote/remote.js.map +1 -1
- package/lib/console-remote/schemas.d.ts +103 -1
- package/lib/console-remote/schemas.js +166 -6
- package/lib/console-remote/schemas.js.map +1 -1
- package/lib/index.d.ts +13 -2
- package/lib/index.js.map +1 -1
- package/lib/ports.d.ts +79 -1
- package/lib/session-checkout-apply.d.ts +76 -0
- package/lib/session-checkout-apply.js +608 -143
- package/lib/session-checkout-apply.js.map +1 -1
- package/lib/session-checkout-module.js +775 -117
- package/lib/session-checkout-module.js.map +1 -1
- package/lib/types.d.ts +104 -3
- package/lib/types.js.map +1 -1
- package/package.json +14 -14
- package/scripts/check-publish.mjs +2 -2
package/lib/adapters/registry.js
CHANGED
|
@@ -23,6 +23,19 @@ function isRecord(value) {
|
|
|
23
23
|
function isStringArray(value) {
|
|
24
24
|
return Array.isArray(value) && value.every((item) => typeof item === 'string');
|
|
25
25
|
}
|
|
26
|
+
function isOid(value) {
|
|
27
|
+
return typeof value === 'string' && /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/iu.test(value);
|
|
28
|
+
}
|
|
29
|
+
function isBoundedText(value, max) {
|
|
30
|
+
return typeof value === 'string' && value.length > 0 && value.length <= max && !/[\0]/u.test(value);
|
|
31
|
+
}
|
|
32
|
+
function isSafeRelativePath(value) {
|
|
33
|
+
if (typeof value !== 'string' || !value || value.length > 1000 || /[\0-\x1f\x7f]/u.test(value))
|
|
34
|
+
return false;
|
|
35
|
+
if (/^(?:[A-Za-z]:[\\/]|[\\/])/u.test(value))
|
|
36
|
+
return false;
|
|
37
|
+
return !value.split(/[\\/]/u).some((segment) => segment === '' || segment === '.' || segment === '..');
|
|
38
|
+
}
|
|
26
39
|
function isTargetRef(value) {
|
|
27
40
|
if (!isRecord(value) || typeof value.kind !== 'string')
|
|
28
41
|
return false;
|
|
@@ -60,6 +73,33 @@ function isReview(value) {
|
|
|
60
73
|
&& typeof value.isolatedFingerprint === 'string'
|
|
61
74
|
&& typeof value.isolatedHeadOid === 'string';
|
|
62
75
|
}
|
|
76
|
+
function isPreviousReview(value) {
|
|
77
|
+
return isRecord(value)
|
|
78
|
+
&& isBoundedText(value.reviewId, 200)
|
|
79
|
+
&& Number.isSafeInteger(value.iteration) && value.iteration >= 1
|
|
80
|
+
&& isBoundedText(value.summary, 1000)
|
|
81
|
+
&& isBoundedText(value.suggestedCommitMessage, 500)
|
|
82
|
+
&& Array.isArray(value.changedFiles) && value.changedFiles.length <= 50
|
|
83
|
+
&& value.changedFiles.every(isSafeRelativePath);
|
|
84
|
+
}
|
|
85
|
+
function isCheckpoint(value) {
|
|
86
|
+
return isRecord(value)
|
|
87
|
+
&& isBoundedText(value.checkpointId, 200)
|
|
88
|
+
&& Number.isSafeInteger(value.sequence) && value.sequence >= 1
|
|
89
|
+
&& isBoundedText(value.reviewId, 200)
|
|
90
|
+
&& (value.requestId === undefined || (isBoundedText(value.requestId, 200) && !/[\r\n]/u.test(value.requestId)))
|
|
91
|
+
&& (value.requestedRevision === undefined || (Number.isSafeInteger(value.requestedRevision) && value.requestedRevision >= 0))
|
|
92
|
+
&& (value.generation === undefined || (typeof value.generation === 'string' && /^[0-9a-f]{64}$/u.test(value.generation)))
|
|
93
|
+
&& Number.isSafeInteger(value.iteration) && value.iteration >= 1
|
|
94
|
+
&& Number.isSafeInteger(value.createdAt) && value.createdAt >= 0
|
|
95
|
+
&& isOid(value.commitOid)
|
|
96
|
+
&& isOid(value.parentOid)
|
|
97
|
+
&& isBoundedText(value.summary, 1000)
|
|
98
|
+
&& isBoundedText(value.commitMessage, 500)
|
|
99
|
+
&& (value.validationStatus === 'passed' || value.validationStatus === 'failed' || value.validationStatus === 'partial' || value.validationStatus === 'not_run')
|
|
100
|
+
&& Array.isArray(value.changedFiles) && value.changedFiles.length <= 500
|
|
101
|
+
&& value.changedFiles.every(isSafeRelativePath);
|
|
102
|
+
}
|
|
63
103
|
function isPreviewReceipt(value) {
|
|
64
104
|
return isRecord(value)
|
|
65
105
|
&& typeof value.previewId === 'string'
|
|
@@ -86,7 +126,13 @@ function isDeliveryProof(value) {
|
|
|
86
126
|
&& (value.localBranch === null || typeof value.localBranch === 'string')
|
|
87
127
|
&& typeof value.localHeadBefore === 'string'
|
|
88
128
|
&& typeof value.localHeadAfter === 'string'
|
|
89
|
-
&& isStringArray(value.changedFiles)
|
|
129
|
+
&& isStringArray(value.changedFiles)
|
|
130
|
+
&& (value.validationStatus === undefined
|
|
131
|
+
|| value.validationStatus === 'passed'
|
|
132
|
+
|| value.validationStatus === 'failed'
|
|
133
|
+
|| value.validationStatus === 'partial'
|
|
134
|
+
|| value.validationStatus === 'not_run')
|
|
135
|
+
&& (value.validationSummary === undefined || typeof value.validationSummary === 'string');
|
|
90
136
|
}
|
|
91
137
|
function isDelivery(value) {
|
|
92
138
|
if (!isRecord(value) || typeof value.state !== 'string')
|
|
@@ -144,6 +190,7 @@ function isJournal(value) {
|
|
|
144
190
|
return value.step === 'creating_worktree';
|
|
145
191
|
const validOperation = value.operation === 'apply'
|
|
146
192
|
|| value.operation === 'preview'
|
|
193
|
+
|| value.operation === 'checkpoint'
|
|
147
194
|
|| value.operation === 'rollback_preview'
|
|
148
195
|
|| value.operation === 'finish'
|
|
149
196
|
|| value.operation === 'finalize_preview'
|
|
@@ -166,11 +213,59 @@ function isJournal(value) {
|
|
|
166
213
|
&& (value.baseStrategy === undefined || value.baseStrategy === 'recorded_base' || value.baseStrategy === 'isolated_contains_local_head' || value.baseStrategy === 'local_contains_isolated_head')
|
|
167
214
|
&& (value.localHeadOid === undefined || typeof value.localHeadOid === 'string')
|
|
168
215
|
&& (value.isolatedHeadOid === undefined || typeof value.isolatedHeadOid === 'string')
|
|
169
|
-
&& (value.commitOid === undefined ||
|
|
216
|
+
&& (value.commitOid === undefined || isOid(value.commitOid))
|
|
217
|
+
&& (value.checkpointId === undefined || isBoundedText(value.checkpointId, 200))
|
|
218
|
+
&& (value.checkpointSequence === undefined || (Number.isSafeInteger(value.checkpointSequence) && value.checkpointSequence >= 1))
|
|
219
|
+
&& (value.checkpointRequestId === undefined || (isBoundedText(value.checkpointRequestId, 200) && !/[\r\n]/u.test(value.checkpointRequestId)))
|
|
220
|
+
&& (value.checkpointRequestedRevision === undefined || (Number.isSafeInteger(value.checkpointRequestedRevision) && value.checkpointRequestedRevision >= 0))
|
|
221
|
+
&& (value.checkpointMessage === undefined || isBoundedText(value.checkpointMessage, 500))
|
|
222
|
+
&& (value.checkpointIndexTreeOid === undefined || isOid(value.checkpointIndexTreeOid))
|
|
223
|
+
&& (value.parentOid === undefined || isOid(value.parentOid))
|
|
170
224
|
&& (value.retention === undefined || value.retention === 'cleanup' || value.retention === 'retain_24h' || value.retention === 'retain_3d' || value.retention === 'retain_manual')
|
|
225
|
+
&& (value.recoveryGeneration === undefined || (typeof value.recoveryGeneration === 'string' && /^[0-9a-f]{64}$/u.test(value.recoveryGeneration)))
|
|
171
226
|
&& (value.resumeRevision === undefined || typeof value.resumeRevision === 'boolean')
|
|
172
227
|
&& (value.changedFiles === undefined || isStringArray(value.changedFiles));
|
|
173
228
|
}
|
|
229
|
+
function safeRecoveryString(value, max) {
|
|
230
|
+
return typeof value === 'string' && value.length > 0 && value.length <= max && !/[\0\r\n]/u.test(value);
|
|
231
|
+
}
|
|
232
|
+
function safeRecoveryRevision(value) {
|
|
233
|
+
return Number.isSafeInteger(value) && value >= 0;
|
|
234
|
+
}
|
|
235
|
+
function safeConflictFile(value) {
|
|
236
|
+
if (typeof value !== 'string' || !value || value.length > 1000 || /[\0-\x1f\x7f]/u.test(value))
|
|
237
|
+
return false;
|
|
238
|
+
if (/^(?:[A-Za-z]:[\\/]|[\\/])/u.test(value))
|
|
239
|
+
return false;
|
|
240
|
+
return !value.split(/[\\/]/u).some(segment => segment === '' || segment === '.' || segment === '..');
|
|
241
|
+
}
|
|
242
|
+
function isRecoveryContinuation(value) {
|
|
243
|
+
if (!isRecord(value) || !safeRecoveryString(value.requestId, 500) || !safeRecoveryString(value.reviewId, 200))
|
|
244
|
+
return false;
|
|
245
|
+
if (value.kind === 'worktree_review_regeneration')
|
|
246
|
+
return safeRecoveryRevision(value.revision);
|
|
247
|
+
if (value.kind === 'worktree_preview_recovery_analysis') {
|
|
248
|
+
return safeRecoveryRevision(value.revision)
|
|
249
|
+
&& safeRecoveryString(value.previewId, 200)
|
|
250
|
+
&& typeof value.generation === 'string'
|
|
251
|
+
&& /^[0-9a-f]{64}$/u.test(value.generation);
|
|
252
|
+
}
|
|
253
|
+
if (value.kind === 'worktree_preview_recovery_handoff') {
|
|
254
|
+
return safeRecoveryRevision(value.sourceRevision)
|
|
255
|
+
&& safeRecoveryString(value.sourceCheckoutId, 200)
|
|
256
|
+
&& safeRecoveryString(value.previewId, 200)
|
|
257
|
+
&& typeof value.generation === 'string'
|
|
258
|
+
&& /^[0-9a-f]{64}$/u.test(value.generation);
|
|
259
|
+
}
|
|
260
|
+
return value.kind === 'worktree_apply_conflict'
|
|
261
|
+
&& safeRecoveryRevision(value.readyRevision)
|
|
262
|
+
&& safeRecoveryRevision(value.workingRevision)
|
|
263
|
+
&& typeof value.localHeadOid === 'string'
|
|
264
|
+
&& /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/iu.test(value.localHeadOid)
|
|
265
|
+
&& Array.isArray(value.conflictingFiles)
|
|
266
|
+
&& value.conflictingFiles.length <= 500
|
|
267
|
+
&& value.conflictingFiles.every(safeConflictFile);
|
|
268
|
+
}
|
|
174
269
|
function isManagedCheckout(value) {
|
|
175
270
|
return isRecord(value)
|
|
176
271
|
&& typeof value.checkoutId === 'string'
|
|
@@ -186,6 +281,16 @@ function isManagedCheckout(value) {
|
|
|
186
281
|
&& typeof value.gitDir === 'string'
|
|
187
282
|
&& typeof value.baseOid === 'string'
|
|
188
283
|
&& (value.applyBaseOid === undefined || typeof value.applyBaseOid === 'string')
|
|
284
|
+
&& (value.previousReview === undefined || isPreviousReview(value.previousReview))
|
|
285
|
+
&& (value.checkpoints === undefined || (Array.isArray(value.checkpoints)
|
|
286
|
+
&& value.checkpoints.length <= 100
|
|
287
|
+
&& value.checkpoints.every(isCheckpoint)
|
|
288
|
+
&& value.checkpoints.every((checkpoint, index) => checkpoint.sequence === index + 1)
|
|
289
|
+
&& new Set(value.checkpoints.map(checkpoint => checkpoint.checkpointId)).size === value.checkpoints.length
|
|
290
|
+
&& new Set(value.checkpoints.map(checkpoint => checkpoint.reviewId)).size === value.checkpoints.length
|
|
291
|
+
&& new Set(value.checkpoints.flatMap(checkpoint => checkpoint.requestId === undefined ? [] : [checkpoint.requestId])).size
|
|
292
|
+
=== value.checkpoints.filter(checkpoint => checkpoint.requestId !== undefined).length))
|
|
293
|
+
&& (value.recoveryContinuation === undefined || isRecoveryContinuation(value.recoveryContinuation))
|
|
189
294
|
&& typeof value.sourceRef === 'string'
|
|
190
295
|
&& (value.phase === 'preparing' || value.phase === 'ready' || value.phase === 'mutating' || value.phase === 'recovery_required' || value.phase === 'finalized' || value.phase === 'retained' || value.phase === 'discarded')
|
|
191
296
|
&& isDelivery(value.delivery)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
function canonicalJson(value) {
|
|
3
|
+
if (Array.isArray(value))
|
|
4
|
+
return `[${value.map(canonicalJson).join(',')}]`;
|
|
5
|
+
if (value !== null && typeof value === 'object') {
|
|
6
|
+
const entries = Object.entries(value)
|
|
7
|
+
.filter(([, entry]) => entry !== undefined)
|
|
8
|
+
.sort(([left], [right]) => left.localeCompare(right));
|
|
9
|
+
return `{${entries.map(([key, entry]) => `${JSON.stringify(key)}:${canonicalJson(entry)}`).join(',')}}`;
|
|
10
|
+
}
|
|
11
|
+
return JSON.stringify(value);
|
|
12
|
+
}
|
|
13
|
+
/** Host-derived CAS generation for the exact active Review and checkpoint chain. */
|
|
14
|
+
export function checkpointGenerationForRecord(record) {
|
|
15
|
+
const delivery = record.delivery;
|
|
16
|
+
if (delivery.state !== 'ready_for_review' && delivery.state !== 'preview_active')
|
|
17
|
+
return undefined;
|
|
18
|
+
return createHash('sha256').update(canonicalJson({
|
|
19
|
+
checkoutId: record.checkoutId,
|
|
20
|
+
revision: record.revision,
|
|
21
|
+
reviewId: delivery.review.reviewId,
|
|
22
|
+
isolatedHeadOid: delivery.review.isolatedHeadOid,
|
|
23
|
+
isolatedFingerprint: delivery.review.isolatedFingerprint,
|
|
24
|
+
checkpointCount: record.checkpoints?.length ?? 0,
|
|
25
|
+
previewId: delivery.state === 'preview_active' ? delivery.preview.previewId : null,
|
|
26
|
+
phase: record.phase,
|
|
27
|
+
})).digest('hex');
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=checkpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IAC1E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;aAC1C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;QACvD,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACzG,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,6BAA6B,CAAC,MAA6B;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAChC,IAAI,QAAQ,CAAC,KAAK,KAAK,kBAAkB,IAAI,QAAQ,CAAC,KAAK,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAA;IAClG,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;QAClC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QAChD,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB;QACxD,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;QAChD,SAAS,EAAE,QAAQ,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAClF,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACnB,CAAC"}
|
|
@@ -7,5 +7,5 @@ interface Props extends ToolCallViewPropsLike {
|
|
|
7
7
|
/** Optional live Remote seam; logged evidence remains replayable without it. */
|
|
8
8
|
adapter?: WorktreeConsoleAdapter;
|
|
9
9
|
}
|
|
10
|
-
export declare function WorktreeReviewRow({ block, sessionId, adapter }: Props): import("react").JSX.Element;
|
|
10
|
+
export declare function WorktreeReviewRow({ block, sessionId, adapter, services }: Props): import("react").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { parseReviewTool } from './model.js';
|
|
4
|
-
import { requestWorktreeReviewRefresh } from './review-console/status-events.js';
|
|
4
|
+
import { requestWorktreeReviewRefresh, WORKTREE_REVIEW_REFRESH_EVENT } from './review-console/status-events.js';
|
|
5
5
|
import { WorktreeReviewPanel, } from './review-console/WorktreeReviewPanel.js';
|
|
6
|
-
export function WorktreeReviewRow({ block, sessionId, adapter }) {
|
|
6
|
+
export function WorktreeReviewRow({ block, sessionId, adapter, services }) {
|
|
7
7
|
const model = parseReviewTool(block);
|
|
8
8
|
const payload = model.payload;
|
|
9
9
|
const args = model.args;
|
|
@@ -28,19 +28,39 @@ export function WorktreeReviewRow({ block, sessionId, adapter }) {
|
|
|
28
28
|
if (payload && sessionId)
|
|
29
29
|
requestWorktreeReviewRefresh(sessionId);
|
|
30
30
|
}, [payload?.reviewId, payload?.revision, sessionId]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (!sessionId)
|
|
33
|
+
return;
|
|
34
|
+
const listener = (event) => {
|
|
35
|
+
const detail = event.detail;
|
|
36
|
+
if (detail?.sessionId === sessionId)
|
|
37
|
+
setRefreshNonce(value => value + 1);
|
|
38
|
+
};
|
|
39
|
+
window.addEventListener(WORKTREE_REVIEW_REFRESH_EVENT, listener);
|
|
40
|
+
return () => window.removeEventListener(WORKTREE_REVIEW_REFRESH_EVENT, listener);
|
|
41
|
+
}, [sessionId]);
|
|
31
42
|
useEffect(() => {
|
|
32
43
|
setLiveTarget(undefined);
|
|
33
44
|
setLiveError(null);
|
|
45
|
+
}, [adapter, payload?.reviewId, payload?.revision, sessionId]);
|
|
46
|
+
useEffect(() => {
|
|
34
47
|
if (!adapter || !sessionId || !payload)
|
|
35
48
|
return;
|
|
36
49
|
let active = true;
|
|
37
50
|
void adapter.current({ sessionId }).then(outcome => {
|
|
38
51
|
if (!active)
|
|
39
52
|
return;
|
|
40
|
-
if (outcome.ok)
|
|
41
|
-
setLiveTarget(
|
|
42
|
-
|
|
53
|
+
if (outcome.ok) {
|
|
54
|
+
setLiveTarget(current => current
|
|
55
|
+
&& current.checkoutId === outcome.value.target.checkoutId
|
|
56
|
+
&& current.revision > outcome.value.target.revision
|
|
57
|
+
? current
|
|
58
|
+
: outcome.value.target);
|
|
59
|
+
setLiveError(null);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
43
62
|
setLiveError(`${outcome.error.code}: ${outcome.error.message}`);
|
|
63
|
+
}
|
|
44
64
|
}, reason => {
|
|
45
65
|
if (active)
|
|
46
66
|
setLiveError(reason instanceof Error ? reason.message : String(reason));
|
|
@@ -62,6 +82,6 @@ export function WorktreeReviewRow({ block, sessionId, adapter }) {
|
|
|
62
82
|
: adapter && sessionId
|
|
63
83
|
? '正在连接实时 Worktree Console;历史验收证据仍可查看。'
|
|
64
84
|
: '实时 Worktree Console 未连接;连接后即可执行验收操作。';
|
|
65
|
-
return (_jsxs("section", { className: "dsh-wt-card", "data-tool": "worktree_ready_for_review", "data-state": state, "aria-label": "Worktree \u5F85\u9A8C\u6536", children: [review ? (_jsx(WorktreeReviewPanel, { review: review, adapter: adapter, identity: identity, target: liveTarget, unavailableMessage: unavailableMessage, onRefresh: () => setRefreshNonce(value => value + 1), onTargetChange: setLiveTarget })) : (_jsxs("header", { className: "dsh-wt-head", children: [_jsx("span", { className: "dsh-wt-mark", "aria-hidden": true }), _jsx("strong", { className: "dsh-wt-title", children: "Worktree \u5F85\u9A8C\u6536" }), _jsx("span", { className: "dsh-wt-subtitle", children: model.lifecycle === 'running' ? '正在冻结验收快照…' : '验收信息不可用' })] })), model.error ? _jsx("div", { className: "dsh-wt-body", children: _jsx("div", { className: "dsh-wt-error", role: "alert", children: model.error }) }) : null] }));
|
|
85
|
+
return (_jsxs("section", { className: "dsh-wt-card", "data-tool": "worktree_ready_for_review", "data-state": state, "aria-label": "Worktree \u5F85\u9A8C\u6536", children: [review ? (_jsx(WorktreeReviewPanel, { review: review, adapter: adapter, services: services, identity: identity, target: liveTarget, unavailableMessage: unavailableMessage, onRefresh: () => setRefreshNonce(value => value + 1), onTargetChange: setLiveTarget })) : (_jsxs("header", { className: "dsh-wt-head", children: [_jsx("span", { className: "dsh-wt-mark", "aria-hidden": true }), _jsx("strong", { className: "dsh-wt-title", children: "Worktree \u5F85\u9A8C\u6536" }), _jsx("span", { className: "dsh-wt-subtitle", children: model.lifecycle === 'running' ? '正在冻结验收快照…' : '验收信息不可用' })] })), model.error ? _jsx("div", { className: "dsh-wt-body", children: _jsx("div", { className: "dsh-wt-error", role: "alert", children: model.error }) }) : null] }));
|
|
66
86
|
}
|
|
67
87
|
//# sourceMappingURL=WorktreeReviewRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorktreeReviewRow.js","sourceRoot":"","sources":["../../src/client/WorktreeReviewRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAG3C,OAAO,EAAE,eAAe,EAA8B,MAAM,YAAY,CAAA;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"WorktreeReviewRow.js","sourceRoot":"","sources":["../../src/client/WorktreeReviewRow.tsx"],"names":[],"mappings":"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"}
|
package/lib/client/actions.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Browser-side orchestration over Harness Workspace and Session runtime faces. */
|
|
2
|
+
import type { WorktreeConsoleAdapter } from '../console-contract.js';
|
|
2
3
|
export interface IsolatedTargetLocation {
|
|
3
4
|
managedRoot: string;
|
|
4
5
|
targetSessionId: string;
|
|
@@ -7,10 +8,34 @@ export interface SnapshotStore<T> {
|
|
|
7
8
|
getSnapshot(): T;
|
|
8
9
|
subscribe(listener: () => void): () => void;
|
|
9
10
|
}
|
|
11
|
+
export interface ClientSessionSnapshot {
|
|
12
|
+
running: boolean;
|
|
13
|
+
openState: 'cold' | 'loading' | 'open' | 'error';
|
|
14
|
+
removed: boolean;
|
|
15
|
+
}
|
|
10
16
|
export interface ClientSessionBinding {
|
|
11
17
|
/** Agent-scoped Client Context; present on real Harness bindings. */
|
|
12
18
|
ctx?: unknown;
|
|
13
19
|
session: {
|
|
20
|
+
readonly sessionId?: string;
|
|
21
|
+
getSnapshot?(): ClientSessionSnapshot;
|
|
22
|
+
subscribe?(listener: () => void): () => void;
|
|
23
|
+
prompt?(content: Array<{
|
|
24
|
+
type: 'text';
|
|
25
|
+
text: string;
|
|
26
|
+
}>, mode: 'queue' | 'steer', signal?: AbortSignal): Promise<{
|
|
27
|
+
ok: true;
|
|
28
|
+
value: {
|
|
29
|
+
accepted: true;
|
|
30
|
+
};
|
|
31
|
+
} | {
|
|
32
|
+
ok: false;
|
|
33
|
+
error: {
|
|
34
|
+
code: string;
|
|
35
|
+
message: string;
|
|
36
|
+
details?: Record<string, unknown>;
|
|
37
|
+
};
|
|
38
|
+
}>;
|
|
14
39
|
command(line: string): Promise<{
|
|
15
40
|
ok: true;
|
|
16
41
|
value: {
|
|
@@ -29,7 +54,9 @@ export interface ClientSessions {
|
|
|
29
54
|
list: SnapshotStore<{
|
|
30
55
|
current?: string;
|
|
31
56
|
ids: string[];
|
|
32
|
-
byId: Record<string,
|
|
57
|
+
byId: Record<string, {
|
|
58
|
+
cwd?: string;
|
|
59
|
+
} | undefined>;
|
|
33
60
|
}>;
|
|
34
61
|
/** Harness resolves only after the new Session is projected into list/binding. */
|
|
35
62
|
create(input: {
|
|
@@ -51,6 +78,12 @@ export interface ClientWorkspaces {
|
|
|
51
78
|
export interface WorktreeClientServices {
|
|
52
79
|
sessions: ClientSessions;
|
|
53
80
|
workspaces: ClientWorkspaces;
|
|
81
|
+
/** Optional public composer face used only by manual draft-prefill actions. */
|
|
82
|
+
conversation?: {
|
|
83
|
+
input: {
|
|
84
|
+
for(ctx: unknown): PreSessionInput;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
54
87
|
}
|
|
55
88
|
export interface PreSessionInput {
|
|
56
89
|
setDraft(text: string): void;
|
|
@@ -65,6 +98,9 @@ export interface PreSessionWorktreeServices extends WorktreeClientServices {
|
|
|
65
98
|
delete(workspaceId: string): Promise<void>;
|
|
66
99
|
};
|
|
67
100
|
conversation: {
|
|
101
|
+
input: {
|
|
102
|
+
for(ctx: unknown): PreSessionInput;
|
|
103
|
+
};
|
|
68
104
|
blocks: {
|
|
69
105
|
set(sessionId: string, block: {
|
|
70
106
|
reason: string;
|
|
@@ -75,12 +111,21 @@ export interface PreSessionWorktreeServices extends WorktreeClientServices {
|
|
|
75
111
|
} | undefined;
|
|
76
112
|
};
|
|
77
113
|
};
|
|
78
|
-
input: {
|
|
79
|
-
for(ctx: unknown): PreSessionInput;
|
|
80
|
-
};
|
|
81
114
|
};
|
|
82
115
|
}
|
|
116
|
+
/** Open a Session only when the Harness list proves both its identity and cwd. */
|
|
117
|
+
export declare function openExistingSession(services: Pick<WorktreeClientServices, 'sessions'>, sessionId: string, expectedCwd: string): boolean;
|
|
83
118
|
/** Idempotently register the managed root, create the preallocated Session, and navigate. */
|
|
84
119
|
export declare function openIsolatedTarget(services: WorktreeClientServices, payload: IsolatedTargetLocation, isActive?: () => boolean): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Inspect a path-free Host authorization, verify exact checkout/owner identity,
|
|
122
|
+
* then reuse the cwd-validated Session navigation path.
|
|
123
|
+
*/
|
|
124
|
+
export declare function openAuthorizedWorktreeTarget(adapter: Pick<WorktreeConsoleAdapter, 'inspect'>, services: WorktreeClientServices, callerSessionId: string, expected: {
|
|
125
|
+
checkoutId: string;
|
|
126
|
+
ownerSessionId: string;
|
|
127
|
+
}, isActive?: () => boolean): Promise<void>;
|
|
128
|
+
/** Prefill a visible recovery request. This never invokes command/send/followup. */
|
|
129
|
+
export declare function prefillSessionDraft(services: WorktreeClientServices, sessionId: string, text: string): boolean;
|
|
85
130
|
/** Submit an exact review-card acceptance as an explicit user command. */
|
|
86
131
|
export declare function finalizeCurrentSession(services: Pick<WorktreeClientServices, 'sessions'>, reviewId: string, revision: number, retention: 'cleanup' | 'retain_24h' | 'retain_3d' | 'retain_manual'): Promise<void>;
|
package/lib/client/actions.js
CHANGED
|
@@ -1,6 +1,73 @@
|
|
|
1
1
|
/** Browser-side orchestration over Harness Workspace and Session runtime faces. */
|
|
2
|
+
function samePath(left, right) {
|
|
3
|
+
const normalize = (value) => value.replace(/[\\/]+$/u, '').replaceAll('\\', '/');
|
|
4
|
+
const normalizedLeft = normalize(left);
|
|
5
|
+
const normalizedRight = normalize(right);
|
|
6
|
+
return /^[A-Za-z]:\//u.test(normalizedLeft) || /^[A-Za-z]:\//u.test(normalizedRight)
|
|
7
|
+
? normalizedLeft.toLowerCase() === normalizedRight.toLowerCase()
|
|
8
|
+
: normalizedLeft === normalizedRight;
|
|
9
|
+
}
|
|
10
|
+
/** Open a Session only when the Harness list proves both its identity and cwd. */
|
|
11
|
+
export function openExistingSession(services, sessionId, expectedCwd) {
|
|
12
|
+
const summary = services.sessions.list.getSnapshot().byId[sessionId];
|
|
13
|
+
if (summary?.cwd === undefined || !samePath(summary.cwd, expectedCwd))
|
|
14
|
+
return false;
|
|
15
|
+
services.sessions.open(sessionId);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
async function waitForProjectedSessionPath(services, sessionId, expectedCwd, isActive) {
|
|
19
|
+
return new Promise((resolvePromise, rejectPromise) => {
|
|
20
|
+
let settled = false;
|
|
21
|
+
let unsubscribe = () => { };
|
|
22
|
+
const settle = (result, error) => {
|
|
23
|
+
if (settled)
|
|
24
|
+
return;
|
|
25
|
+
settled = true;
|
|
26
|
+
globalThis.clearTimeout(timer);
|
|
27
|
+
unsubscribe();
|
|
28
|
+
if (error)
|
|
29
|
+
rejectPromise(error);
|
|
30
|
+
else
|
|
31
|
+
resolvePromise(result);
|
|
32
|
+
};
|
|
33
|
+
const inspect = () => {
|
|
34
|
+
if (!isActive()) {
|
|
35
|
+
settle(false);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const summary = services.sessions.list.getSnapshot().byId[sessionId];
|
|
39
|
+
if (summary?.cwd === undefined)
|
|
40
|
+
return;
|
|
41
|
+
if (!samePath(summary.cwd, expectedCwd)) {
|
|
42
|
+
settle(false, new Error(`Harness 新建 Session ${sessionId} 的 cwd 与 Host 记录不一致。`));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
settle(true);
|
|
46
|
+
};
|
|
47
|
+
const timer = globalThis.setTimeout(() => {
|
|
48
|
+
settle(false, new Error(`Harness 未投影新建 Session ${sessionId} 的可信 cwd。`));
|
|
49
|
+
}, 2_000);
|
|
50
|
+
const dispose = services.sessions.list.subscribe(inspect);
|
|
51
|
+
unsubscribe = dispose;
|
|
52
|
+
if (settled)
|
|
53
|
+
dispose();
|
|
54
|
+
else
|
|
55
|
+
inspect();
|
|
56
|
+
});
|
|
57
|
+
}
|
|
2
58
|
/** Idempotently register the managed root, create the preallocated Session, and navigate. */
|
|
3
59
|
export async function openIsolatedTarget(services, payload, isActive = () => true) {
|
|
60
|
+
if (!isActive())
|
|
61
|
+
return;
|
|
62
|
+
const existing = services.sessions.list.getSnapshot().byId[payload.targetSessionId];
|
|
63
|
+
if (existing !== undefined) {
|
|
64
|
+
if (!isActive())
|
|
65
|
+
return;
|
|
66
|
+
if (!openExistingSession(services, payload.targetSessionId, payload.managedRoot)) {
|
|
67
|
+
throw new Error(`Harness 现有 Session ${payload.targetSessionId} 的 cwd 与 Host 记录不一致。`);
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
4
71
|
const workspace = await services.workspaces.create({ path: payload.managedRoot });
|
|
5
72
|
if (!isActive())
|
|
6
73
|
return;
|
|
@@ -14,10 +81,47 @@ export async function openIsolatedTarget(services, payload, isActive = () => tru
|
|
|
14
81
|
if (sessionId !== payload.targetSessionId) {
|
|
15
82
|
throw new Error(`Harness 创建了非预期 Session ${sessionId};应为 ${payload.targetSessionId}`);
|
|
16
83
|
}
|
|
84
|
+
if (!await waitForProjectedSessionPath(services, sessionId, payload.managedRoot, isActive))
|
|
85
|
+
return;
|
|
17
86
|
if (!isActive())
|
|
18
87
|
return;
|
|
19
88
|
services.sessions.open(sessionId);
|
|
20
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Inspect a path-free Host authorization, verify exact checkout/owner identity,
|
|
92
|
+
* then reuse the cwd-validated Session navigation path.
|
|
93
|
+
*/
|
|
94
|
+
export async function openAuthorizedWorktreeTarget(adapter, services, callerSessionId, expected, isActive = () => true) {
|
|
95
|
+
const outcome = await adapter.inspect({ sessionId: callerSessionId, checkoutId: expected.checkoutId });
|
|
96
|
+
if (!isActive())
|
|
97
|
+
return;
|
|
98
|
+
if (!outcome.ok)
|
|
99
|
+
throw new Error(`${outcome.error.code}: ${outcome.error.message}`);
|
|
100
|
+
const target = outcome.value.target;
|
|
101
|
+
if (!target.capabilities.inspect || !target.capabilities.open) {
|
|
102
|
+
throw new Error('最新 Host 状态已不允许打开该 Worktree。');
|
|
103
|
+
}
|
|
104
|
+
if (target.checkoutId !== expected.checkoutId
|
|
105
|
+
|| target.ownerSessionId !== expected.ownerSessionId
|
|
106
|
+
|| target.targetSessionId !== expected.ownerSessionId)
|
|
107
|
+
throw new Error('Host 检查结果中的 Worktree 身份不一致。');
|
|
108
|
+
if (target.managedRoot === null)
|
|
109
|
+
throw new Error('Host 未提供可验证的 Worktree 路径。');
|
|
110
|
+
if (!isActive())
|
|
111
|
+
return;
|
|
112
|
+
await openIsolatedTarget(services, {
|
|
113
|
+
managedRoot: target.managedRoot,
|
|
114
|
+
targetSessionId: expected.ownerSessionId,
|
|
115
|
+
}, isActive);
|
|
116
|
+
}
|
|
117
|
+
/** Prefill a visible recovery request. This never invokes command/send/followup. */
|
|
118
|
+
export function prefillSessionDraft(services, sessionId, text) {
|
|
119
|
+
const binding = services.sessions.binding(sessionId);
|
|
120
|
+
if (binding?.ctx === undefined || services.conversation === undefined)
|
|
121
|
+
return false;
|
|
122
|
+
services.conversation.input.for(binding.ctx).setDraft(text);
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
21
125
|
/** Submit an exact review-card acceptance as an explicit user command. */
|
|
22
126
|
export async function finalizeCurrentSession(services, reviewId, revision, retention) {
|
|
23
127
|
const sessionId = services.sessions.list.getSnapshot().current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/client/actions.ts"],"names":[],"mappings":"AAAA,mFAAmF;
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/client/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,12 +47,19 @@ export function createWorktreeConsoleRemoteAdapter(remote) {
|
|
|
47
47
|
inspect: request => invoke('inspect', () => remote.inspect(request.sessionId, request.checkoutId)),
|
|
48
48
|
reviewDiff: request => invoke('reviewDiff', () => remote.reviewDiff(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId)),
|
|
49
49
|
preflight: request => invoke('preflight', () => remote.preflight(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId)),
|
|
50
|
+
previewRecoveryPreflight: request => invoke('previewRecoveryPreflight', () => remote.previewRecoveryPreflight(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.expectedPreviewId)),
|
|
51
|
+
preparePreviewRecoveryAnalysis: request => invoke('preparePreviewRecoveryAnalysis', () => remote.preparePreviewRecoveryAnalysis(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.expectedPreviewId, request.recoveryProof)),
|
|
52
|
+
createPreviewRecoveryHandoff: request => invoke('createPreviewRecoveryHandoff', () => remote.createPreviewRecoveryHandoff(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.expectedPreviewId, request.recoveryProof)),
|
|
50
53
|
preview: request => invoke('preview', () => remote.preview(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId)),
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
checkpoint: request => invoke('checkpoint', () => remote.checkpoint(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.expectedGeneration, request.requestId, request.commitMessage)),
|
|
55
|
+
resumeRevision: request => invoke('resumeRevision', () => request.conflictContinuation
|
|
56
|
+
? remote.resumeRevision(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.conflictContinuation)
|
|
57
|
+
: remote.resumeRevision(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId)),
|
|
58
|
+
prepareReviewRegeneration: request => invoke('prepareReviewRegeneration', () => remote.prepareReviewRegeneration(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId)),
|
|
59
|
+
rollbackPreview: request => invoke('rollbackPreview', () => remote.rollbackPreview(request.sessionId, request.checkoutId, request.expectedRevision, request.resumeRevision, request.recoveryProof)),
|
|
53
60
|
discard: request => invoke('discard', () => remote.discard(request.sessionId, request.checkoutId, request.expectedRevision, request.confirmDirty, request.rollbackPreview)),
|
|
54
61
|
finalize: request => invoke('finalize', () => remote.finalize(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.commitMessage, request.retention)),
|
|
55
|
-
finalizePreview: request => invoke('finalizePreview', () => remote.finalizePreview(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.commitMessage, request.retention)),
|
|
62
|
+
finalizePreview: request => invoke('finalizePreview', () => remote.finalizePreview(request.sessionId, request.checkoutId, request.expectedRevision, request.expectedReviewId, request.commitMessage, request.retention, request.recoveryProof)),
|
|
56
63
|
setRetention: request => invoke('setRetention', () => remote.setRetention(request.sessionId, request.checkoutId, request.expectedRevision, request.retention)),
|
|
57
64
|
retryCleanup: request => invoke('retryCleanup', () => remote.retryCleanup(request.sessionId, request.checkoutId, request.expectedRevision)),
|
|
58
65
|
beginNextIteration: request => invoke('beginNextIteration', () => remote.beginNextIteration(request.sessionId, request.checkoutId, request.expectedRevision)),
|