dsh-git-worktree 0.4.0 → 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 +55 -0
- package/README.en.md +33 -13
- package/README.md +34 -13
- package/lib/adapters/git.js +8 -0
- package/lib/adapters/git.js.map +1 -1
- package/lib/adapters/registry.js +100 -1
- 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.js +24 -4
- package/lib/client/WorktreeReviewRow.js.map +1 -1
- package/lib/client/actions.d.ts +25 -1
- 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/PreflightStatus.d.ts +3 -2
- package/lib/client/review-console/PreflightStatus.js +3 -3
- package/lib/client/review-console/PreflightStatus.js.map +1 -1
- package/lib/client/review-console/ReviewActions.js +560 -23
- package/lib/client/review-console/ReviewActions.js.map +1 -1
- package/lib/client/review-console/WorktreeReviewPanel.js +18 -3
- package/lib/client/review-console/WorktreeReviewPanel.js.map +1 -1
- package/lib/client/review-console/preflight-cache.d.ts +2 -0
- package/lib/client/review-console/preflight-cache.js +18 -5
- package/lib/client/review-console/preflight-cache.js.map +1 -1
- 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 +9 -1
- package/lib/client/review-console/review-console.styles.js.map +1 -1
- package/lib/client/target-console/WorktreeConsoleView.js +1 -1
- package/lib/client/target-console/WorktreeConsoleView.js.map +1 -1
- package/lib/client/target-console/WorktreeReviewStatus.js +13 -0
- package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
- package/lib/client.js +1628 -83
- package/lib/console-contract.d.ts +105 -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 +211 -8
- 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.js +60 -1
- 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 +147 -5
- 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 +76 -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 +752 -121
- package/lib/session-checkout-module.js.map +1 -1
- package/lib/types.d.ts +93 -2
- package/lib/types.js.map +1 -1
- package/package.json +13 -13
- package/scripts/check-publish.mjs +1 -1
|
@@ -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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
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
6
|
export function WorktreeReviewRow({ block, sessionId, adapter, services }) {
|
|
7
7
|
const model = parseReviewTool(block);
|
|
@@ -28,19 +28,39 @@ export function WorktreeReviewRow({ block, sessionId, adapter, services }) {
|
|
|
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));
|
|
@@ -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
|
@@ -8,10 +8,34 @@ export interface SnapshotStore<T> {
|
|
|
8
8
|
getSnapshot(): T;
|
|
9
9
|
subscribe(listener: () => void): () => void;
|
|
10
10
|
}
|
|
11
|
+
export interface ClientSessionSnapshot {
|
|
12
|
+
running: boolean;
|
|
13
|
+
openState: 'cold' | 'loading' | 'open' | 'error';
|
|
14
|
+
removed: boolean;
|
|
15
|
+
}
|
|
11
16
|
export interface ClientSessionBinding {
|
|
12
17
|
/** Agent-scoped Client Context; present on real Harness bindings. */
|
|
13
18
|
ctx?: unknown;
|
|
14
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
|
+
}>;
|
|
15
39
|
command(line: string): Promise<{
|
|
16
40
|
ok: true;
|
|
17
41
|
value: {
|
|
@@ -54,7 +78,7 @@ export interface ClientWorkspaces {
|
|
|
54
78
|
export interface WorktreeClientServices {
|
|
55
79
|
sessions: ClientSessions;
|
|
56
80
|
workspaces: ClientWorkspaces;
|
|
57
|
-
/** Optional public composer face
|
|
81
|
+
/** Optional public composer face used only by manual draft-prefill actions. */
|
|
58
82
|
conversation?: {
|
|
59
83
|
input: {
|
|
60
84
|
for(ctx: unknown): PreSessionInput;
|
|
@@ -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)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/client/console-remote/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/client/console-remote/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { WorktreeConsoleTargetSummary } from '../../console-contract.js';
|
|
2
|
+
import type { WorktreeApplyPreflightView } from '../../types.js';
|
|
2
3
|
import type { PreflightSnapshot } from './preflight-cache.js';
|
|
3
|
-
export declare function PreflightStatus({ snapshot, target, compact, onRefresh,
|
|
4
|
+
export declare function PreflightStatus({ snapshot, target, compact, onRefresh, onRecovery, onOpenHolder, busy, }: {
|
|
4
5
|
snapshot: PreflightSnapshot;
|
|
5
6
|
target?: WorktreeConsoleTargetSummary;
|
|
6
7
|
compact?: boolean;
|
|
7
8
|
onRefresh(): void;
|
|
8
|
-
|
|
9
|
+
onRecovery(preflight: WorktreeApplyPreflightView): void;
|
|
9
10
|
onOpenHolder(): void;
|
|
10
11
|
busy: boolean;
|
|
11
12
|
}): import("react").JSX.Element | null;
|
|
@@ -11,7 +11,7 @@ function statusLabel(preflight) {
|
|
|
11
11
|
case 'blocked': return preflight.message;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
export function PreflightStatus({ snapshot, target, compact = false, onRefresh,
|
|
14
|
+
export function PreflightStatus({ snapshot, target, compact = false, onRefresh, onRecovery, onOpenHolder, busy, }) {
|
|
15
15
|
if (snapshot.status === 'idle')
|
|
16
16
|
return null;
|
|
17
17
|
if (snapshot.status === 'loading') {
|
|
@@ -22,10 +22,10 @@ export function PreflightStatus({ snapshot, target, compact = false, onRefresh,
|
|
|
22
22
|
}
|
|
23
23
|
const preflight = snapshot.preflight;
|
|
24
24
|
const blocked = preflight.status === 'blocked';
|
|
25
|
-
const
|
|
25
|
+
const staleIsolated = blocked && preflight.reason === 'stale_isolated' && preflight.reviewId !== null;
|
|
26
26
|
const holder = blocked && preflight.reason === 'project_acceptance_busy'
|
|
27
27
|
? preflight.blocker ?? target?.reviewSlotHolder
|
|
28
28
|
: undefined;
|
|
29
|
-
return (_jsxs("div", { className: "dsh-wt-preflight", "data-preflight": preflight.status, children: [_jsxs("div", { className: "dsh-wt-preflight-head", children: [_jsx("strong", { children: statusLabel(preflight) }), _jsx("span", { children: "\u53EA\u8BFB\u68C0\u67E5 \u00B7 Local \u672A\u4FEE\u6539" })] }), !compact && preflight.status !== 'blocked' ? (_jsxs("dl", { className: "dsh-wt-preflight-facts", children: [_jsxs("div", { children: [_jsx("dt", { children: "Local" }), _jsxs("dd", { children: [preflight.localBranch ?? 'detached', " \u00B7 ", _jsx("code", { children: shortOid(preflight.localHeadOid) })] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Worktree" }), _jsx("dd", { children: _jsx("code", { children: shortOid(preflight.isolatedHeadOid) }) })] }), _jsxs("div", { children: [_jsx("dt", { children: "Effective base" }), _jsx("dd", { children: _jsx("code", { children: shortOid(preflight.effectiveBaseOid) }) })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u53D8\u66F4" }), _jsxs("dd", { children: [preflight.changedFiles.length, " \u4E2A\u6587\u4EF6"] })] })] })) : null, !compact && preflight.status === 'conflict' && preflight.conflictingFiles.length > 0 ? (_jsx("ul", { className: "dsh-wt-conflict-list", "aria-label": "\u51B2\u7A81\u6587\u4EF6", children: preflight.conflictingFiles.map(path => _jsx("li", { children: _jsx("code", { children: path }) }, path)) })) : null, holder ? _jsxs("p", { children: ["\u5360\u7528\u4EFB\u52A1\uFF1A", holder.checkoutId.slice(0, 8), " \u00B7 Session ", holder.ownerSessionId.slice(0, 8), " \u00B7 ", holder.state] }) : null, preflight.status === 'conflict' || blocked ? (_jsxs("div", { className: "dsh-wt-recovery-actions", children: [_jsx("button", { type: "button", className: "dsh-wt-inline-action", disabled: busy, onClick: onRefresh, children: "\u91CD\u65B0\u68C0\u67E5" }),
|
|
29
|
+
return (_jsxs("div", { className: "dsh-wt-preflight", "data-preflight": preflight.status, children: [_jsxs("div", { className: "dsh-wt-preflight-head", children: [_jsx("strong", { children: statusLabel(preflight) }), _jsx("span", { children: "\u53EA\u8BFB\u68C0\u67E5 \u00B7 Local \u672A\u4FEE\u6539" })] }), !compact && preflight.status !== 'blocked' ? (_jsxs("dl", { className: "dsh-wt-preflight-facts", children: [_jsxs("div", { children: [_jsx("dt", { children: "Local" }), _jsxs("dd", { children: [preflight.localBranch ?? 'detached', " \u00B7 ", _jsx("code", { children: shortOid(preflight.localHeadOid) })] })] }), _jsxs("div", { children: [_jsx("dt", { children: "Worktree" }), _jsx("dd", { children: _jsx("code", { children: shortOid(preflight.isolatedHeadOid) }) })] }), _jsxs("div", { children: [_jsx("dt", { children: "Effective base" }), _jsx("dd", { children: _jsx("code", { children: shortOid(preflight.effectiveBaseOid) }) })] }), _jsxs("div", { children: [_jsx("dt", { children: "\u53D8\u66F4" }), _jsxs("dd", { children: [preflight.changedFiles.length, " \u4E2A\u6587\u4EF6"] })] })] })) : null, !compact && preflight.status === 'conflict' && preflight.conflictingFiles.length > 0 ? (_jsx("ul", { className: "dsh-wt-conflict-list", "aria-label": "\u51B2\u7A81\u6587\u4EF6", children: preflight.conflictingFiles.map(path => _jsx("li", { children: _jsx("code", { children: path }) }, path)) })) : null, holder ? _jsxs("p", { children: ["\u5360\u7528\u4EFB\u52A1\uFF1A", holder.checkoutId.slice(0, 8), " \u00B7 Session ", holder.ownerSessionId.slice(0, 8), " \u00B7 ", holder.state] }) : null, preflight.status === 'conflict' || blocked ? (_jsxs("div", { className: "dsh-wt-recovery-actions", children: [_jsx("button", { type: "button", className: "dsh-wt-inline-action", disabled: busy, onClick: onRefresh, children: "\u91CD\u65B0\u68C0\u67E5" }), preflight.status === 'conflict' ? (_jsx("button", { type: "button", className: "dsh-wt-inline-action", disabled: busy || !target?.capabilities.resumeRevision, onClick: () => onRecovery(preflight), children: "\u8BA9 Agent \u89E3\u51B3\u51B2\u7A81" })) : staleIsolated ? (_jsx("button", { type: "button", className: "dsh-wt-inline-action", disabled: busy, onClick: () => onRecovery(preflight), children: "\u91CD\u65B0\u751F\u6210\u9A8C\u6536\u7ED3\u679C" })) : null, holder ? (_jsx("button", { type: "button", className: "dsh-wt-inline-action", disabled: busy, onClick: onOpenHolder, children: "\u6253\u5F00\u5360\u7528\u4EFB\u52A1" })) : null] })) : null] }));
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=PreflightStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreflightStatus.js","sourceRoot":"","sources":["../../../src/client/review-console/PreflightStatus.tsx"],"names":[],"mappings":";AAIA,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,SAAqC;IACxD,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,OAAO,CAAC,CAAC,OAAO,SAAS,CAAA;QAC9B,KAAK,gBAAgB,CAAC,CAAC,OAAO,iBAAiB,CAAA;QAC/C,KAAK,kBAAkB,CAAC,CAAC,OAAO,cAAc,CAAA;QAC9C,KAAK,UAAU,CAAC,CAAC,OAAO,MAAM,SAAS,CAAC,gBAAgB,CAAC,MAAM,QAAQ,CAAA;QACvE,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC,OAAO,CAAA;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,OAAO,GAAG,KAAK,EACf,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"PreflightStatus.js","sourceRoot":"","sources":["../../../src/client/review-console/PreflightStatus.tsx"],"names":[],"mappings":"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"}
|