dsh-git-worktree 0.8.0 → 0.9.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.en.md +7 -5
  3. package/README.md +7 -5
  4. package/lib/adapters/git.js +86 -13
  5. package/lib/adapters/git.js.map +1 -1
  6. package/lib/adapters/initial-commit.d.ts +16 -0
  7. package/lib/adapters/initial-commit.js +112 -0
  8. package/lib/adapters/initial-commit.js.map +1 -0
  9. package/lib/adapters/lookup.js +21 -0
  10. package/lib/adapters/lookup.js.map +1 -1
  11. package/lib/client/WorktreeCreateRow.js +2 -1
  12. package/lib/client/WorktreeCreateRow.js.map +1 -1
  13. package/lib/client/WorktreeReviewRow.d.ts +1 -1
  14. package/lib/client/WorktreeReviewRow.js +2 -2
  15. package/lib/client/WorktreeReviewRow.js.map +1 -1
  16. package/lib/client/actions.d.ts +1 -5
  17. package/lib/client/actions.js.map +1 -1
  18. package/lib/client/console-remote/adapter.js +2 -0
  19. package/lib/client/console-remote/adapter.js.map +1 -1
  20. package/lib/client/pre-session/PreSessionWorktreeToggle.d.ts +2 -2
  21. package/lib/client/pre-session/PreSessionWorktreeToggle.js +92 -79
  22. package/lib/client/pre-session/PreSessionWorktreeToggle.js.map +1 -1
  23. package/lib/client/pre-session/controller.d.ts +3 -0
  24. package/lib/client/pre-session/controller.js +16 -4
  25. package/lib/client/pre-session/controller.js.map +1 -1
  26. package/lib/client/pre-session/harness-input.d.ts +13 -0
  27. package/lib/client/pre-session/harness-input.js +18 -0
  28. package/lib/client/pre-session/harness-input.js.map +1 -0
  29. package/lib/client/pre-session/index.d.ts +3 -3
  30. package/lib/client/pre-session/index.js +4 -3
  31. package/lib/client/pre-session/index.js.map +1 -1
  32. package/lib/client/review-console/PreflightStatus.js +3 -2
  33. package/lib/client/review-console/PreflightStatus.js.map +1 -1
  34. package/lib/client/review-console/ReviewActions.d.ts +4 -1
  35. package/lib/client/review-console/ReviewActions.js +73 -53
  36. package/lib/client/review-console/ReviewActions.js.map +1 -1
  37. package/lib/client/review-console/ReviewDetailsModal.d.ts +12 -0
  38. package/lib/client/review-console/ReviewDetailsModal.js +56 -0
  39. package/lib/client/review-console/ReviewDetailsModal.js.map +1 -0
  40. package/lib/client/review-console/ReviewIcon.d.ts +35 -0
  41. package/lib/client/review-console/ReviewIcon.js +14 -0
  42. package/lib/client/review-console/ReviewIcon.js.map +1 -0
  43. package/lib/client/review-console/WorktreeReviewPanel.d.ts +3 -7
  44. package/lib/client/review-console/WorktreeReviewPanel.js +8 -73
  45. package/lib/client/review-console/WorktreeReviewPanel.js.map +1 -1
  46. package/lib/client/review-console/review-console.styles.js +101 -23
  47. package/lib/client/review-console/review-console.styles.js.map +1 -1
  48. package/lib/client/styles.js +13 -10
  49. package/lib/client/styles.js.map +1 -1
  50. package/lib/client/target-console/TargetStatusAction.js +65 -46
  51. package/lib/client/target-console/TargetStatusAction.js.map +1 -1
  52. package/lib/client/target-console/WorktreeConsoleView.d.ts +2 -1
  53. package/lib/client/target-console/WorktreeConsoleView.js +5 -4
  54. package/lib/client/target-console/WorktreeConsoleView.js.map +1 -1
  55. package/lib/client/target-console/WorktreeManagerModal.js +1 -1
  56. package/lib/client/target-console/WorktreeManagerModal.js.map +1 -1
  57. package/lib/client/target-console/WorktreeReviewStatus.js +36 -81
  58. package/lib/client/target-console/WorktreeReviewStatus.js.map +1 -1
  59. package/lib/client/target-console/current-polling.d.ts +11 -0
  60. package/lib/client/target-console/current-polling.js +104 -0
  61. package/lib/client/target-console/current-polling.js.map +1 -0
  62. package/lib/client/target-console/target-console.styles.js +8 -0
  63. package/lib/client/target-console/target-console.styles.js.map +1 -1
  64. package/lib/client/workspace-sidebar/index.js +5 -2
  65. package/lib/client/workspace-sidebar/index.js.map +1 -1
  66. package/lib/client/workspace-sidebar/model.d.ts +3 -0
  67. package/lib/client/workspace-sidebar/model.js +83 -10
  68. package/lib/client/workspace-sidebar/model.js.map +1 -1
  69. package/lib/client.js +5608 -4004
  70. package/lib/console-contract.d.ts +20 -0
  71. package/lib/console-contract.js.map +1 -1
  72. package/lib/console-host/control-plane.d.ts +3 -1
  73. package/lib/console-host/control-plane.js +105 -15
  74. package/lib/console-host/control-plane.js.map +1 -1
  75. package/lib/console-host/service.d.ts +3 -1
  76. package/lib/console-host/service.js +12 -0
  77. package/lib/console-host/service.js.map +1 -1
  78. package/lib/console-remote/descriptors.js +3 -1
  79. package/lib/console-remote/descriptors.js.map +1 -1
  80. package/lib/console-remote/remote.d.ts +3 -1
  81. package/lib/console-remote/remote.js.map +1 -1
  82. package/lib/console-remote/schemas.d.ts +10 -2
  83. package/lib/console-remote/schemas.js +7 -0
  84. package/lib/console-remote/schemas.js.map +1 -1
  85. package/lib/i18n/client-messages.d.ts +168 -20
  86. package/lib/i18n/client-messages.js +71 -34
  87. package/lib/i18n/client-messages.js.map +1 -1
  88. package/lib/i18n/host-messages.d.ts +32 -0
  89. package/lib/i18n/host-messages.js +11 -0
  90. package/lib/i18n/host-messages.js.map +1 -1
  91. package/lib/ports.d.ts +15 -0
  92. package/lib/session-checkout-module.js +2 -0
  93. package/lib/session-checkout-module.js.map +1 -1
  94. package/package.json +2 -1
  95. package/scripts/check-publish.mjs +1 -1
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from 'react';
3
+ import { Modal } from '@deepseek-ai/dsh-client-ui-primitives';
4
+ import { useClientTranslator } from '../i18n.js';
5
+ import { ReviewIcon } from './ReviewIcon.js';
6
+ export function validationText(status, t) {
7
+ return t(status === 'passed' ? 'detail.passed' : status === 'failed' ? 'detail.failed' : status === 'partial' ? 'detail.partial' : 'detail.notRun');
8
+ }
9
+ export function validationIcon(status) {
10
+ return status === 'passed' ? 'check' : status === 'failed' || status === 'partial' ? 'warning' : 'minus';
11
+ }
12
+ export function ReviewDetailsModal({ open, onClose, target, preflight }) {
13
+ const t = useClientTranslator();
14
+ const content = useRef(null);
15
+ useEffect(() => {
16
+ if (!open)
17
+ return;
18
+ const previous = document.activeElement instanceof HTMLElement ? document.activeElement : null;
19
+ const dialog = content.current?.closest('[role="dialog"]');
20
+ if (!dialog)
21
+ return;
22
+ const focusable = () => Array.from(dialog.querySelectorAll('button:not(:disabled), summary, [tabindex="0"]'));
23
+ focusable()[0]?.focus();
24
+ const trap = (event) => {
25
+ if (event.key !== 'Tab')
26
+ return;
27
+ const items = focusable();
28
+ const first = items[0], last = items[items.length - 1];
29
+ if (!first || !last)
30
+ return;
31
+ if (event.shiftKey && (document.activeElement === first || !dialog.contains(document.activeElement))) {
32
+ event.preventDefault();
33
+ last.focus();
34
+ }
35
+ else if (!event.shiftKey && (document.activeElement === last || !dialog.contains(document.activeElement))) {
36
+ event.preventDefault();
37
+ first.focus();
38
+ }
39
+ };
40
+ document.addEventListener('keydown', trap);
41
+ return () => {
42
+ document.removeEventListener('keydown', trap);
43
+ if (previous?.isConnected)
44
+ previous.focus();
45
+ };
46
+ }, [open]);
47
+ const review = target.review;
48
+ if (!review)
49
+ return null;
50
+ const conflict = preflight?.status === 'conflict';
51
+ const recovery = target.state === 'preview_detached' || target.state === 'recovery_required';
52
+ const state = recovery ? 'detail.recovery' : conflict || preflight?.status === 'blocked' ? 'detail.blocked' : target.state === 'preview_active' ? 'detail.preview' : target.state === 'retained' || target.state === 'delivered' || target.state === 'cleanup_pending' ? 'detail.saved' : 'detail.ready';
53
+ const note = recovery ? t('detail.recoveryNote') : conflict ? t('detail.conflictNote') : target.state === 'preview_active' ? t('detail.previewNote') : preflight?.status === 'blocked' ? preflight.message : target.cleanupMessage;
54
+ return _jsxs(Modal, { open: open, onClose: onClose, title: t('detail.title'), headless: true, className: "dsh-wt-details-modal", contentClassName: "dsh-wt-details-body", children: [_jsxs("header", { className: "dsh-wt-details-header", children: [_jsx("h1", { children: t('detail.title') }), _jsx("button", { type: "button", "aria-label": t('detail.close'), onClick: onClose, children: _jsx(ReviewIcon, { name: "close" }) })] }), _jsxs("div", { ref: content, className: "dsh-wt-details-body", children: [_jsxs("div", { className: "dsh-wt-details-heading", children: [_jsx("h2", { children: review.summary }), _jsx("span", { className: "dsh-wt-details-badge", "data-tone": recovery || conflict ? 'warning' : 'neutral', children: t(state) })] }), _jsx("p", { className: "dsh-wt-details-muted", children: t('detail.iteration', { count: review.iteration }) }), _jsxs("div", { className: "dsh-wt-details-meta", children: [_jsxs("span", { children: [_jsx(ReviewIcon, { name: "file" }), t('count.files', { count: review.changedFiles.length })] }), _jsxs("span", { "data-validation": review.validationStatus, children: [_jsx(ReviewIcon, { name: validationIcon(review.validationStatus) }), validationText(review.validationStatus, t)] })] }), note ? _jsxs("p", { className: "dsh-wt-details-notice", "data-tone": recovery || conflict || preflight?.status === 'blocked' ? 'warning' : 'neutral', children: [_jsx(ReviewIcon, { name: recovery || conflict ? 'warning' : 'list' }), note] }) : null, _jsxs("section", { className: "dsh-wt-details-section", children: [_jsx("h3", { children: t('detail.files') }), _jsx("ul", { className: "dsh-wt-details-files", children: review.changedFiles.map(file => _jsxs("li", { children: [_jsx(ReviewIcon, { name: "file" }), _jsx("span", { children: file }), conflict && preflight.conflictingFiles.includes(file) ? _jsx("span", { className: "dsh-wt-details-badge", "data-tone": "warning", children: t('detail.conflict') }) : null] }, file)) })] }), _jsxs("section", { className: "dsh-wt-details-section", children: [_jsx("h3", { children: t('detail.validation') }), review.validationSummary ? _jsx("p", { className: "dsh-wt-details-muted", children: review.validationSummary }) : null, review.tests.length ? _jsx("ul", { className: "dsh-wt-details-tests", children: review.tests.map((test, index) => _jsxs("li", { children: [_jsx(ReviewIcon, { name: validationIcon(test.status) }), _jsxs("div", { children: [_jsxs("div", { className: "dsh-wt-details-test-title", children: [_jsx("span", { children: test.command }), _jsx("span", { "data-validation": test.status, children: validationText(test.status, t) })] }), test.summary ? _jsx("p", { children: test.summary }) : null] })] }, index)) }) : _jsx("p", { className: "dsh-wt-details-muted", children: t('detail.noTests') })] }), _jsxs("details", { className: "dsh-wt-details-version", children: [_jsxs("summary", { children: [_jsx(ReviewIcon, { name: "chevron" }), _jsx(ReviewIcon, { name: "branch" }), t('detail.version')] }), _jsxs("dl", { children: [_jsx("dt", { children: t('detail.reviewId') }), _jsx("dd", { children: review.reviewId }), _jsx("dt", { children: t('detail.revision') }), _jsx("dd", { children: target.revision }), _jsx("dt", { children: t('detail.commit') }), _jsx("dd", { children: target.currentOid })] })] })] })] });
55
+ }
56
+ //# sourceMappingURL=ReviewDetailsModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReviewDetailsModal.js","sourceRoot":"","sources":["../../../src/client/review-console/ReviewDetailsModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ declare const icons: {
2
+ file: import("lucide-react").LucideIcon;
3
+ branch: import("lucide-react").LucideIcon;
4
+ check: import("lucide-react").LucideIcon;
5
+ warning: import("lucide-react").LucideIcon;
6
+ minus: import("lucide-react").LucideIcon;
7
+ close: import("lucide-react").LucideIcon;
8
+ list: import("lucide-react").LucideIcon;
9
+ more: import("lucide-react").LucideIcon;
10
+ preview: import("lucide-react").LucideIcon;
11
+ confirm: import("lucide-react").LucideIcon;
12
+ rollback: import("lucide-react").LucideIcon;
13
+ edit: import("lucide-react").LucideIcon;
14
+ save: import("lucide-react").LucideIcon;
15
+ discard: import("lucide-react").LucideIcon;
16
+ local: import("lucide-react").LucideIcon;
17
+ down: import("lucide-react").LucideIcon;
18
+ create: import("lucide-react").LucideIcon;
19
+ search: import("lucide-react").LucideIcon;
20
+ manager: import("lucide-react").LucideIcon;
21
+ retain: import("lucide-react").LucideIcon;
22
+ send: import("lucide-react").LucideIcon;
23
+ shield: import("lucide-react").LucideIcon;
24
+ help: import("lucide-react").LucideIcon;
25
+ folder: import("lucide-react").LucideIcon;
26
+ external: import("lucide-react").LucideIcon;
27
+ refresh: import("lucide-react").LucideIcon;
28
+ chevron: import("lucide-react").LucideIcon;
29
+ };
30
+ export type ReviewIconName = keyof typeof icons;
31
+ export declare function ReviewIcon({ name, className }: {
32
+ name: ReviewIconName;
33
+ className?: string;
34
+ }): import("react").JSX.Element;
35
+ export {};
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { FileText, GitBranch, CircleCheck, TriangleAlert, CircleMinus, X, ListChecks, CircleEllipsis, TvMinimalPlay, Check, Undo2, Pencil, Save, Trash2, FolderOpen, ExternalLink, RefreshCw, ChevronRight, ChevronDown, Monitor, Plus, Search, FolderGit2, Archive, Send, ShieldCheck, CircleHelp, } from 'lucide-react';
3
+ const icons = {
4
+ file: FileText, branch: GitBranch, check: CircleCheck, warning: TriangleAlert,
5
+ minus: CircleMinus, close: X, list: ListChecks, more: CircleEllipsis, preview: TvMinimalPlay,
6
+ confirm: Check, rollback: Undo2, edit: Pencil, save: Save, discard: Trash2,
7
+ local: Monitor, down: ChevronDown, create: Plus, search: Search, manager: FolderGit2, retain: Archive, send: Send, shield: ShieldCheck, help: CircleHelp,
8
+ folder: FolderOpen, external: ExternalLink, refresh: RefreshCw, chevron: ChevronRight,
9
+ };
10
+ export function ReviewIcon({ name, className = '' }) {
11
+ const Icon = icons[name];
12
+ return _jsx(Icon, { className: `dsh-wt-icon ${className}`, size: 18, strokeWidth: 1.75, "aria-hidden": "true", focusable: "false" });
13
+ }
14
+ //# sourceMappingURL=ReviewIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReviewIcon.js","sourceRoot":"","sources":["../../../src/client/review-console/ReviewIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAC3E,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAC3F,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,GAChH,MAAM,cAAc,CAAA;AAErB,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa;IAC7E,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAC5F,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM;IAC1E,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU;IACxJ,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY;CACtF,CAAA;AAGD,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAgD;IAC/F,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,OAAO,KAAC,IAAI,IAAC,SAAS,EAAE,eAAe,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,iBAAc,MAAM,EAAC,SAAS,EAAC,OAAO,GAAG,CAAA;AAC1H,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { WorktreeConsoleAdapter, WorktreeConsoleReviewSummary, WorktreeConsoleTargetSummary } from '../../console-contract.js';
2
- import type { WorktreeClientServices } from '../actions.js';
1
+ import type { WorktreeConsoleReviewSummary, WorktreeConsoleTargetSummary } from '../../console-contract.js';
3
2
  export interface WorktreeReviewEvidence extends WorktreeConsoleReviewSummary {
4
3
  detailsMarkdown?: string;
5
4
  }
@@ -12,11 +11,8 @@ export interface WorktreeReviewIdentity {
12
11
  export interface WorktreeReviewPanelProps {
13
12
  review: WorktreeReviewEvidence;
14
13
  identity?: WorktreeReviewIdentity;
15
- adapter?: WorktreeConsoleAdapter | null;
16
- services?: WorktreeClientServices;
17
14
  target?: WorktreeConsoleTargetSummary;
18
- onRefresh?: () => void | Promise<void>;
19
- onTargetChange?: (target: WorktreeConsoleTargetSummary) => void;
20
15
  unavailableMessage?: string;
21
16
  }
22
- export declare function WorktreeReviewPanel({ review, adapter, services, identity, target, onRefresh, onTargetChange, unavailableMessage: unavailableMessageOverride, }: WorktreeReviewPanelProps): import("react").JSX.Element;
17
+ export declare function reviewIsStale(target: WorktreeConsoleTargetSummary | undefined, identity: WorktreeReviewIdentity | undefined, review: WorktreeReviewEvidence): boolean;
18
+ export declare function WorktreeReviewPanel({ review, target, identity, unavailableMessage }: WorktreeReviewPanelProps): import("react").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ReviewIcon } from './ReviewIcon.js';
2
3
  import { useClientTranslator, defaultClientTranslator } from '../i18n.js';
3
- import { useCallback, useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
4
- import { ReviewActions } from './ReviewActions.js';
4
+ import { useEffect, useId, useState } from 'react';
5
5
  function validationLabel(status, t = defaultClientTranslator) {
6
6
  if (status === 'passed')
7
7
  return t("automated.validation.passed");
@@ -18,7 +18,7 @@ function testStatusLabel(status, t = defaultClientTranslator) {
18
18
  return t("failed");
19
19
  return t("not.run");
20
20
  }
21
- function reviewIsStale(target, identity, review) {
21
+ export function reviewIsStale(target, identity, review) {
22
22
  if (!target)
23
23
  return false;
24
24
  if (target.state === 'working')
@@ -30,79 +30,14 @@ function reviewIsStale(target, identity, review) {
30
30
  || target.revision !== expectedRevision
31
31
  || target.review.reviewId !== review.reviewId;
32
32
  }
33
- export function WorktreeReviewPanel({ review, adapter, services, identity, target, onRefresh, onTargetChange, unavailableMessage: unavailableMessageOverride, }) {
33
+ export function WorktreeReviewPanel({ review, target, identity, unavailableMessage }) {
34
34
  const t = useClientTranslator();
35
- const unavailableMessage = unavailableMessageOverride ?? t("live.worktree.console.is.disconnected.review.actions.will");
36
35
  const panelId = useId();
37
- const mounted = useRef(true);
38
- const actionScope = identity
39
- ? [identity.sessionId, identity.checkoutId, identity.expectedRevision, identity.expectedReviewId].join('\u0000')
40
- : '';
41
- const activeActionScope = useRef(actionScope);
42
- activeActionScope.current = actionScope;
43
- const targetKey = target ? [
44
- target.checkoutId,
45
- target.revision,
46
- target.state,
47
- target.review?.reviewId,
48
- target.commitOid,
49
- target.retention,
50
- target.cleanupMessage,
51
- target.deliveryProof?.localHeadAfter,
52
- target.deliveryProof?.commitInLocalHistory,
53
- target.deliveryProof?.validationStatus,
54
- target.deliveryProof?.validationSummary,
55
- target.checkpoints?.length,
56
- target.checkpoints?.at(-1)?.checkpointId,
57
- target.checkpointGeneration,
58
- target.reviewSlot,
59
- target.reviewSlotHolder?.checkoutId,
60
- target.reviewSlotHolder?.ownerSessionId,
61
- target.reviewSlotHolder?.revision,
62
- target.reviewSlotHolder?.state,
63
- target.previewRecovery?.previewId,
64
- target.previewRecovery?.detachedAt,
65
- target.previewRecovery?.reason,
66
- target.previewRecovery?.attemptedAction,
67
- target.capabilities.preflight,
68
- target.capabilities.preview,
69
- target.capabilities.finalize,
70
- target.capabilities.finalizePreview,
71
- target.capabilities.rollbackPreview,
72
- target.capabilities.discard,
73
- ].join('\u0000') : '';
74
- const [currentTarget, setCurrentTarget] = useState(target);
75
36
  const [detailsExpanded, setDetailsExpanded] = useState(false);
76
- const [invalidReason, setInvalidReason] = useState(reviewIsStale(target, identity, review) ? t("review.is.stale.please.refresh") : null);
77
- const refreshRequested = useRef(false);
78
- useEffect(() => {
79
- mounted.current = true;
80
- return () => { mounted.current = false; };
81
- }, []);
82
- useLayoutEffect(() => {
83
- setCurrentTarget(target);
84
- refreshRequested.current = false;
85
- setInvalidReason(reviewIsStale(target, identity, review) ? t("review.is.stale.please.refresh") : null);
86
- }, [identity?.expectedReviewId, identity?.expectedRevision, review.reviewId, review.revision, targetKey]);
87
- const handleStale = useCallback((_error) => {
88
- setInvalidReason(t("review.is.stale.please.refresh"));
89
- if (!refreshRequested.current) {
90
- refreshRequested.current = true;
91
- void onRefresh?.();
92
- }
93
- }, [onRefresh]);
94
- const handleTargetChange = useCallback((nextTarget) => {
95
- setCurrentTarget(nextTarget);
96
- onTargetChange?.(nextTarget);
97
- }, [onTargetChange]);
98
- const liveReady = Boolean(adapter
99
- && identity
100
- && currentTarget
101
- && ['ready_for_review', 'preview_active', 'preview_detached', 'cleanup_pending', 'recovery_required', 'retained', 'delivered'].includes(currentTarget.state)
102
- && !invalidReason);
103
- const hasValidationDetails = Boolean(review.validationSummary || review.tests.length > 0);
104
- return (_jsxs("section", { className: "dsh-wt-review-panel", "aria-label": t("worktree.review"), "data-worktree-review-id": review.reviewId, children: [_jsxs("header", { className: "dsh-wt-review-compact-head", children: [_jsx("span", { className: "dsh-wt-review-status-icon", "data-validation": review.validationStatus, "aria-hidden": true, children: t("symbol.4") }), _jsxs("div", { className: "dsh-wt-review-compact-copy", children: [_jsx("h2", { className: "dsh-wt-review-title", children: t("review.iteration.ready", { iteration: review.iteration }) }), _jsx("p", { className: "dsh-wt-review-summary", children: review.summary })] }), _jsxs("span", { className: "dsh-wt-review-identity dsh-wt-code", title: t("review.identity", { reviewId: review.reviewId, revision: review.revision }), children: [review.reviewId.slice(0, 8), " \u00B7 r", review.revision] })] }), _jsxs("div", { className: "dsh-wt-review-meta", children: [_jsx("span", { "data-validation": review.validationStatus, children: validationLabel(review.validationStatus, t) }), _jsx("span", { children: t("count.files", { count: review.changedFiles.length }) }), (currentTarget?.checkpoints?.length ?? 0) > 0 ? (_jsx("span", { className: "dsh-wt-checkpoint-summary", children: t("count.saved.stages", { count: currentTarget.checkpoints.length }) })) : null, hasValidationDetails ? (_jsx("button", { type: "button", className: "dsh-wt-review-details-toggle", "aria-expanded": detailsExpanded, "aria-controls": `${panelId}-validation`, onClick: () => setDetailsExpanded(value => !value), children: detailsExpanded
37
+ useEffect(() => setDetailsExpanded(false), [review.reviewId, review.revision]);
38
+ const invalidReason = reviewIsStale(target, identity, review) ? t("review.is.stale.please.refresh") : null;
39
+ return (_jsxs("section", { className: "dsh-wt-review-panel", "aria-label": t("worktree.review"), "data-worktree-review-id": review.reviewId, children: [_jsxs("header", { className: "dsh-wt-review-compact-head", children: [_jsx("span", { className: "dsh-wt-review-status-icon", "data-validation": review.validationStatus, "aria-hidden": true, children: _jsx(ReviewIcon, { name: "check" }) }), _jsxs("div", { className: "dsh-wt-review-compact-copy", children: [_jsx("h2", { className: "dsh-wt-review-title", children: t("review.iteration.ready", { iteration: review.iteration }) }), _jsx("p", { className: "dsh-wt-review-summary", children: review.summary })] })] }), _jsxs("div", { className: "dsh-wt-review-meta", children: [_jsx("span", { "data-validation": review.validationStatus, children: validationLabel(review.validationStatus, t) }), _jsx("span", { children: t("count.files", { count: review.changedFiles.length }) }), (target?.checkpoints?.length ?? 0) > 0 ? (_jsx("span", { className: "dsh-wt-checkpoint-summary", children: t("count.saved.stages", { count: target.checkpoints.length }) })) : null, _jsx("button", { type: "button", className: "dsh-wt-review-details-toggle", "aria-expanded": detailsExpanded, "aria-controls": `${panelId}-validation`, onClick: () => setDetailsExpanded(value => !value), children: detailsExpanded
105
40
  ? t("hide.validation.details")
106
- : t("view.validation.details", { p0: review.tests.length > 0 ? t("tests", { p0: review.tests.length }) : '' }) })) : null] }), detailsExpanded ? (_jsxs("div", { id: `${panelId}-validation`, className: "dsh-wt-review-validation-details", children: [review.validationSummary ? _jsx("p", { children: review.validationSummary }) : null, review.tests.length > 0 ? (_jsx("ul", { className: "dsh-wt-test-list", "aria-label": t("validation.commands"), children: review.tests.map((item, index) => (_jsxs("li", { className: "dsh-wt-test", children: [_jsx("span", { className: "dsh-wt-test-state", "data-test-status": item.status, children: testStatusLabel(item.status, t) }), _jsxs("span", { className: "dsh-wt-test-command", children: [_jsx("code", { className: "dsh-wt-code", children: item.command }), item.summary ? _jsx("span", { className: "dsh-wt-test-summary", children: item.summary }) : null] })] }, `${item.command}-${index}`))) })) : null] })) : null, invalidReason ? _jsx("div", { className: "dsh-wt-error", role: "alert", children: invalidReason }) : null, _jsx(ReviewActions, { review: review, adapter: adapter, services: services, identity: identity, target: currentTarget, disabled: !liveReady, unavailableMessage: unavailableMessage, isActive: () => mounted.current && activeActionScope.current === actionScope, onStale: handleStale, onTargetChange: handleTargetChange })] }));
41
+ : t("view.validation.details", { p0: review.tests.length > 0 ? t("tests", { p0: review.tests.length }) : '' }) })] }), detailsExpanded ? (_jsxs("div", { id: `${panelId}-validation`, className: "dsh-wt-review-validation-details", children: [_jsxs("span", { className: "dsh-wt-review-identity dsh-wt-code", title: t("review.identity", { reviewId: review.reviewId, revision: review.revision }), children: [review.reviewId.slice(0, 8), " \u00B7 r", review.revision] }), review.validationSummary ? _jsx("p", { children: review.validationSummary }) : null, review.tests.length > 0 ? (_jsx("ul", { className: "dsh-wt-test-list", "aria-label": t("validation.commands"), children: review.tests.map((item, index) => (_jsxs("li", { className: "dsh-wt-test", children: [_jsx("span", { className: "dsh-wt-test-state", "data-test-status": item.status, children: testStatusLabel(item.status, t) }), _jsxs("span", { className: "dsh-wt-test-command", children: [_jsx("code", { className: "dsh-wt-code", children: item.command }), item.summary ? _jsx("span", { className: "dsh-wt-test-summary", children: item.summary }) : null] })] }, `${item.command}-${index}`))) })) : null] })) : null, invalidReason || unavailableMessage ? _jsx("p", { className: "dsh-wt-review-evidence-status", children: invalidReason ?? unavailableMessage }) : null] }));
107
42
  }
108
43
  //# sourceMappingURL=WorktreeReviewPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorktreeReviewPanel.js","sourceRoot":"","sources":["../../../src/client/review-console/WorktreeReviewPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorktreeReviewPanel.js","sourceRoot":"","sources":["../../../src/client/review-console/WorktreeReviewPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  export const REVIEW_CONSOLE_STYLES = String.raw `
2
2
  .dsh-wt-review-panel,
3
+ .dsh-wt-details-modal,
3
4
  .dsh-wt-review-dock {
4
5
  --wt-ink: color-mix(in srgb, currentColor 92%, transparent);
5
- --wt-muted: color-mix(in srgb, currentColor 58%, transparent);
6
+ --wt-muted: color-mix(in srgb, currentColor 68%, transparent);
6
7
  --wt-line: color-mix(in srgb, currentColor 14%, transparent);
7
8
  --wt-panel: color-mix(in srgb, currentColor 4%, transparent);
8
9
  --wt-green: #2f8f64;
@@ -18,20 +19,21 @@ export const REVIEW_CONSOLE_STYLES = String.raw `
18
19
  .dsh-wt-review-compact-copy { min-width:0; flex:1; }
19
20
  .dsh-wt-review-title { margin:0; min-width:0; font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
20
21
  .dsh-wt-review-summary { margin:3px 0 0; color:var(--wt-muted); line-height:1.45; overflow-wrap:anywhere; }
21
- .dsh-wt-review-identity { flex:0 1 auto; max-width:34%; color:var(--wt-muted); font-size:10px; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
22
- .dsh-wt-review-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; padding:0 14px 10px 42px; color:var(--wt-muted); font-size:11px; }
22
+ .dsh-wt-review-identity { display:block; flex:0 1 auto; max-width:100%; color:var(--wt-muted); font-size:12px; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
23
+ .dsh-wt-review-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; padding:0 14px 10px 42px; color:var(--wt-muted); font-size:12px; }
23
24
  .dsh-wt-review-meta [data-validation="passed"] { color:var(--wt-green); }
24
25
  .dsh-wt-review-meta [data-validation="failed"],
25
26
  .dsh-wt-review-meta [data-validation="partial"] { color:var(--wt-amber); }
26
27
  .dsh-wt-review-details-toggle { border:0; padding:0; background:transparent; color:inherit; font:inherit; cursor:pointer; }
27
28
  .dsh-wt-review-details-toggle:hover { color:var(--wt-ink); }
28
29
  .dsh-wt-review-details-toggle:focus-visible,
29
- .dsh-wt-more-trigger:focus-visible { outline:2px solid #5a8dee; outline-offset:2px; }
30
- .dsh-wt-review-validation-details { margin:0 14px 10px 42px; padding:9px 10px; border-radius:8px; background:var(--wt-panel); font-size:11px; }
30
+ .dsh-wt-more-trigger:focus-visible,
31
+ .dsh-wt-review-dock button:focus-visible { outline:2px solid #5a8dee; outline-offset:2px; }
32
+ .dsh-wt-review-validation-details { margin:0 14px 10px 42px; padding:9px 10px; border-radius:8px; background:var(--wt-panel); font-size:12px; }
31
33
  .dsh-wt-review-validation-details > p { margin:0 0 7px; }
32
34
  .dsh-wt-test-list { list-style:none; padding:0; margin:0; display:grid; gap:6px; }
33
35
  .dsh-wt-test { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:7px; align-items:start; }
34
- .dsh-wt-test-state { color:var(--wt-muted); font-size:10px; padding-top:2px; }
36
+ .dsh-wt-test-state { color:var(--wt-muted); font-size:12px; padding-top:2px; }
35
37
  .dsh-wt-test-state[data-test-status="passed"] { color:var(--wt-green); }
36
38
  .dsh-wt-test-state[data-test-status="failed"] { color:var(--wt-amber); }
37
39
  .dsh-wt-test-command { display:grid; gap:2px; min-width:0; overflow-wrap:anywhere; }
@@ -51,14 +53,14 @@ export const REVIEW_CONSOLE_STYLES = String.raw `
51
53
  .dsh-wt-commit-dialog { display:grid; gap:8px; }
52
54
  .dsh-wt-commit-dialog > label:first-child { font-size:12px; font-weight:700; }
53
55
  .dsh-wt-commit-dialog textarea { min-height:132px; max-height:240px; resize:vertical; border:1px solid var(--wt-line); border-radius:8px; padding:9px 10px; background:transparent; color:inherit; font:12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
54
- .dsh-wt-character-count { color:var(--wt-muted); font-size:10px; text-align:right; }
55
- .dsh-wt-checkpoint-note { display:grid; gap:3px; padding:9px 10px; border:1px solid color-mix(in srgb, #3275db 24%, transparent); border-radius:8px; background:color-mix(in srgb, #3275db 6%, transparent); font-size:11px; }
56
+ .dsh-wt-character-count { color:var(--wt-muted); font-size:12px; text-align:left; }
57
+ .dsh-wt-checkpoint-note { display:grid; gap:3px; padding:9px 10px; border:1px solid color-mix(in srgb, #3275db 24%, transparent); border-radius:8px; background:color-mix(in srgb, #3275db 6%, transparent); font-size:12px; }
56
58
  .dsh-wt-checkpoint-note span,
57
59
  .dsh-wt-checkpoint-summary { color:var(--wt-muted); }
58
60
  .dsh-wt-retention-check { display:flex; align-items:center; gap:8px; border:1px solid var(--wt-line); border-radius:8px; padding:8px 9px; font-size:12px; }
59
- .dsh-wt-retention-select { display:grid; gap:5px; padding:9px; border-radius:8px; background:var(--wt-panel); font-size:11px; }
61
+ .dsh-wt-retention-select { display:grid; gap:5px; padding:9px; border-radius:8px; background:var(--wt-panel); font-size:12px; }
60
62
  .dsh-wt-retention-select select { min-height:32px; border:1px solid var(--wt-line); border-radius:7px; padding:0 8px; background:Canvas; color:inherit; }
61
- .dsh-wt-preflight { display:grid; gap:7px; margin-top:7px; padding:8px 9px; border-radius:8px; background:var(--wt-panel); color:var(--wt-muted); font-size:11px; }
63
+ .dsh-wt-preflight { display:grid; gap:7px; margin-top:7px; padding:8px 9px; border-radius:8px; background:var(--wt-panel); color:var(--wt-muted); font-size:12px; }
62
64
  .dsh-wt-preflight[data-preflight="conflict"],
63
65
  .dsh-wt-preflight[data-preflight="blocked"],
64
66
  .dsh-wt-preflight[data-preflight="error"] { color:var(--wt-amber); }
@@ -76,28 +78,30 @@ export const REVIEW_CONSOLE_STYLES = String.raw `
76
78
  .dsh-wt-recovery-actions { display:flex; flex-wrap:wrap; gap:6px; }
77
79
  .dsh-wt-inline-action { border:0; padding:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }
78
80
  .dsh-wt-inline-action:disabled { opacity:.5; cursor:not-allowed; }
79
- .dsh-wt-delivery-proof { display:grid; gap:7px; margin-top:8px; padding:8px 9px; border:1px solid color-mix(in srgb, var(--wt-green) 26%, transparent); border-radius:8px; background:color-mix(in srgb, var(--wt-green) 6%, transparent); font-size:11px; }
81
+ .dsh-wt-delivery-proof { display:grid; gap:7px; margin-top:8px; padding:8px 9px; border:1px solid color-mix(in srgb, var(--wt-green) 26%, transparent); border-radius:8px; background:color-mix(in srgb, var(--wt-green) 6%, transparent); font-size:12px; }
80
82
  .dsh-wt-delivery-proof header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
81
83
  .dsh-wt-delivery-proof header span { color:var(--wt-muted); }
82
84
  .dsh-wt-delivery-proof-compact { display:block; margin:1px 0 0; padding:0; border:0; background:transparent; color:var(--wt-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
83
- .dsh-wt-action-status { min-height:1.35em; margin-top:7px; color:var(--wt-muted); font-size:11px; }
85
+ .dsh-wt-action-status { min-height:1.35em; margin-top:7px; color:var(--wt-muted); font-size:12px; }
84
86
  .dsh-wt-review-dock { box-sizing:border-box; display:flex; flex:none; align-items:center; gap:9px; width:calc(100% - 2 * var(--dsh-composer-side-clearance, 16px) - 2 * var(--dsh-composer-dock-inset, 0px)); max-width:calc(var(--dsh-composer-card-max-width, 780px) - 2 * var(--dsh-composer-dock-inset, 0px)); margin:0 auto 8px; padding:7px 9px; border:1px solid color-mix(in srgb, #3275db 22%, transparent); border-radius:9px; background:color-mix(in srgb, #3275db 6%, transparent); color:var(--wt-ink); font-size:12px; }
85
- .dsh-wt-review-dock-copy { display:grid; min-width:0; flex:1; gap:1px; }
86
- .dsh-wt-review-dock-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
87
- .dsh-wt-review-dock-copy span { color:var(--wt-muted); font-size:10px; }
88
- .dsh-wt-review-dock .dsh-wt-review-actions { min-width:0; padding:0; }
87
+ .dsh-wt-review-dock > .dsh-wt-icon { order:-2; }
88
+ .dsh-wt-review-dock-copy { order:-1; order:-1; display:grid; min-width:0; flex:1; gap:1px; }
89
+ .dsh-wt-review-dock-copy strong { font-weight:500; overflow-wrap:anywhere; }
90
+ .dsh-wt-review-dock-copy span { color:var(--wt-muted); font-size:12px; }
91
+ .dsh-wt-review-dock .dsh-wt-review-actions { min-width:0; max-width:100%; padding:0; }
92
+ .dsh-wt-action-status:empty { min-height:0; margin-top:0; }
93
+ .dsh-wt-action-status:empty { min-height:0; margin-top:0; }
94
+ .dsh-wt-review-dock .dsh-wt-action-status:empty { display:none; }
95
+ .dsh-wt-review-evidence-status { margin:0 14px 10px 42px; color:var(--wt-muted); font-size:12px; }
89
96
  .dsh-wt-review-dock .dsh-wt-actions { justify-content:flex-end; }
90
- .dsh-wt-review-dock .dsh-wt-action-status,
91
- .dsh-wt-review-dock .dsh-wt-preflight-facts,
92
- .dsh-wt-review-dock .dsh-wt-conflict-list,
93
- .dsh-wt-review-dock .dsh-wt-delivery-proof:not(.dsh-wt-delivery-proof-compact) { display:none; }
97
+ .dsh-wt-review-dock .dsh-wt-preflight-facts { display:none; }
94
98
  .dsh-wt-review-dock .dsh-wt-preflight { margin:0; padding:4px 6px; }
95
99
  .dsh-wt-review-dock .dsh-wt-preflight[data-preflight="loading"],
96
100
  .dsh-wt-review-dock .dsh-wt-preflight[data-preflight="ready"],
97
101
  .dsh-wt-review-dock .dsh-wt-preflight[data-preflight="local_advanced"],
98
102
  .dsh-wt-review-dock .dsh-wt-preflight[data-preflight="already_in_local"] { display:none; }
99
103
  .dsh-wt-review-dock .dsh-wt-preflight-head > span { display:none; }
100
- .dsh-wt-review-dock .dsh-wt-button { padding:5px 9px; font-size:11px; }
104
+ .dsh-wt-review-dock .dsh-wt-button { padding:5px 9px; font-size:12px; }
101
105
  .dsh-wt-review-dock .dsh-wt-more-trigger { width:29px; height:27px; }
102
106
  @media (max-width: 620px) {
103
107
  .dsh-wt-review-compact-head { flex-wrap:wrap; }
@@ -106,9 +110,83 @@ export const REVIEW_CONSOLE_STYLES = String.raw `
106
110
  .dsh-wt-review-validation-details,
107
111
  .dsh-wt-review-actions { margin-left:0; padding-left:14px; }
108
112
  .dsh-wt-review-dock { flex-wrap:wrap; width:calc(100% - 2 * var(--dsh-composer-side-clearance, 12px) - 2 * var(--dsh-composer-dock-inset, 0px)); }
109
- .dsh-wt-review-dock-copy { flex-basis:calc(100% - 28px); }
110
- .dsh-wt-review-dock-copy span { display:none; }
113
+ .dsh-wt-review-dock > .dsh-wt-icon { order:-2; }
114
+ .dsh-wt-review-dock-copy { order:-1; order:-1; flex-basis:calc(100% - 28px); }
115
+
111
116
  .dsh-wt-review-dock .dsh-wt-review-actions { margin-left:auto; }
112
117
  }
118
+
119
+ .dsh-wt-icon { display:inline-flex; width:18px; height:18px; flex:0 0 18px; vertical-align:middle; }
120
+ .dsh-wt-review-dock { background:var(--dsw-alias-bg-layer-2, #fff); border-color:var(--wt-line); padding:10px 12px; gap:10px; }
121
+ .dsh-wt-review-dock-copy strong { font-size:13px; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
122
+ .dsh-wt-review-dock-copy .dsh-wt-dock-evidence { display:flex; align-items:center; gap:5px; }
123
+ .dsh-wt-dock-evidence .dsh-wt-icon { width:14px; height:14px; flex-basis:14px; }
124
+ .dsh-wt-details-trigger { display:inline-flex; align-items:center; gap:5px; flex-shrink:0; padding:6px; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; border-radius:6px; }
125
+ .dsh-wt-details-trigger:hover { background:var(--wt-panel); }
126
+ .dsh-wt-details-modal { width:min(720px, calc(100vw - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); border:1px solid var(--wt-line); border-radius:14px; }
127
+ .dsh-wt-details-body { padding:8px 24px 24px; overflow:auto; min-height:0; color:var(--wt-ink); font-size:13px; line-height:1.6; }
128
+ .dsh-wt-details-heading { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
129
+ .dsh-wt-details-heading h2 { font-size:20px; font-weight:600; line-height:1.4; margin:0; overflow-wrap:anywhere; flex:1; min-width:0; }
130
+ .dsh-wt-details-muted { color:var(--wt-muted); margin:6px 0 12px; white-space:pre-wrap; overflow-wrap:anywhere; }
131
+ .dsh-wt-details-badge { display:inline-flex; align-items:center; flex-shrink:0; border-radius:6px; padding:2px 8px; font-size:12px; background:var(--wt-panel); color:var(--wt-ink); }
132
+ .dsh-wt-details-badge[data-tone="warning"] { color:var(--wt-amber); background:color-mix(in srgb, var(--wt-amber) 9%, transparent); }
133
+ .dsh-wt-details-meta { display:flex; gap:20px; flex-wrap:wrap; margin:18px 0; color:var(--wt-muted); }
134
+ .dsh-wt-details-meta > span { display:inline-flex; align-items:center; gap:7px; }
135
+ .dsh-wt-details-notice { display:flex; align-items:flex-start; gap:9px; padding:12px; border-radius:8px; background:var(--wt-panel); }
136
+ .dsh-wt-details-notice[data-tone="warning"] { background:color-mix(in srgb, var(--wt-amber) 8%, transparent); }
137
+ .dsh-wt-details-section { border-top:1px solid var(--wt-line); padding:16px 0; }
138
+ .dsh-wt-details-section h3 { font-size:14px; font-weight:600; margin:0 0 12px; }
139
+ .dsh-wt-details-files, .dsh-wt-details-tests { padding:0; margin:0; list-style:none; }
140
+ .dsh-wt-details-files li { display:flex; align-items:flex-start; gap:10px; padding:8px 0; }
141
+ .dsh-wt-details-files li > span:nth-child(2) { flex:1; min-width:0; overflow-wrap:anywhere; font-family:ui-monospace, monospace; }
142
+ .dsh-wt-details-tests li { display:flex; gap:10px; padding:10px 0; }
143
+ .dsh-wt-details-tests li + li { border-top:1px solid var(--wt-line); }
144
+ .dsh-wt-details-tests li > div { flex:1; min-width:0; }
145
+ .dsh-wt-details-test-title { display:flex; justify-content:space-between; gap:12px; overflow-wrap:anywhere; }
146
+ .dsh-wt-details-test-title > span:last-child { flex-shrink:0; font-size:12px; }
147
+ .dsh-wt-details-tests p { color:var(--wt-muted); margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
148
+ .dsh-wt-details-modal [data-validation="passed"] { color:var(--wt-green); }
149
+ .dsh-wt-details-modal [data-validation="failed"] { color:var(--wt-red); }
150
+ .dsh-wt-details-modal [data-validation="partial"] { color:var(--wt-amber); }
151
+ .dsh-wt-details-version { border-top:1px solid var(--wt-line); padding-top:16px; color:var(--wt-muted); }
152
+ .dsh-wt-details-version summary { cursor:pointer; }
153
+ .dsh-wt-details-version summary:focus-visible { outline:2px solid #5a8dee; outline-offset:3px; }
154
+ .dsh-wt-details-version .dsh-wt-icon { margin:0 7px; }
155
+ .dsh-wt-details-version dl { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 14px; }
156
+ .dsh-wt-details-version dd { margin:0; overflow-wrap:anywhere; font-family:ui-monospace, monospace; }
157
+ @media (max-width:620px) {
158
+ .dsh-wt-review-dock-copy strong { white-space:normal; }
159
+ .dsh-wt-details-body { padding:8px 16px 16px; }
160
+ .dsh-wt-details-test-title { flex-wrap:wrap; }
161
+ }
162
+
163
+
164
+ /* The host uses width:100% content columns; include padding in our owned layout. */
165
+ .dsh-wt-details-modal, .dsh-wt-details-modal *, .dsh-wt-details-modal *::before, .dsh-wt-details-modal *::after { box-sizing:border-box; }
166
+ .dsh-wt-details-modal { padding:0; gap:0; min-width:0; }
167
+ .dsh-wt-details-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; padding:22px 24px 16px; min-width:0; }
168
+ .dsh-wt-details-header h1 { font-size:15px; font-weight:600; margin:0; min-width:0; overflow-wrap:anywhere; }
169
+ .dsh-wt-details-header button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex:0 0 32px; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
170
+ .dsh-wt-details-header button:hover { background:var(--wt-panel); }
171
+ .dsh-wt-details-header button:focus-visible { outline:2px solid #5a8dee; outline-offset:2px; }
172
+ .dsh-wt-details-body { flex:1 1 auto; width:100%; min-width:0; scrollbar-gutter:stable; }
173
+ .dsh-wt-details-body > *, .dsh-wt-details-test-title > span:first-child { min-width:0; max-width:100%; overflow-wrap:anywhere; }
174
+ .dsh-wt-details-test-title > span:first-child { flex:1 1 auto; }
175
+ .dsh-wt-details-test-title > span:last-child { max-width:45%; white-space:normal; overflow-wrap:anywhere; }
176
+ .dsh-wt-details-version summary { display:flex; align-items:center; gap:6px; list-style:none; }
177
+ .dsh-wt-details-version summary::-webkit-details-marker { display:none; }
178
+ .dsh-wt-details-version[open] summary > .dsh-wt-icon:first-child { transform:rotate(90deg); }
179
+ .dsh-wt-review-actions .dsh-wt-button, .dsh-wt-review-actions .dsh-wt-more-item { display:inline-flex; align-items:center; gap:6px; }
180
+ .dsh-wt-review-actions .dsh-wt-icon { width:16px; height:16px; flex:0 0 16px; }
181
+ .dsh-wt-review-actions .dsh-wt-more-trigger { display:inline-flex; align-items:center; justify-content:center; }
182
+ @media(max-width:620px) { .dsh-wt-details-header { padding:16px; } }
183
+
184
+ /* CircleEllipsis provides its own outline; preserve a full button-sized hit target. */
185
+ .dsh-wt-review-dock .dsh-wt-more-trigger,
186
+ .dsh-wt-more-trigger { border-color:transparent; background:transparent; }
187
+ .dsh-wt-more-trigger:hover { background:var(--wt-panel); }
188
+ .dsh-wt-more-trigger:focus-visible { outline:2px solid #5a8dee; outline-offset:2px; }
189
+ .dsh-wt-more-item .dsh-wt-icon { flex:0 0 16px; }
190
+ .dsh-wt-review-actions .dsh-wt-inline-action { display:inline-flex; align-items:center; gap:6px; }
113
191
  `;
114
192
  //# sourceMappingURL=review-console.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review-console.styles.js","sourceRoot":"","sources":["../../../src/client/review-console/review-console.styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgH9C,CAAA"}
1
+ {"version":3,"file":"review-console.styles.js","sourceRoot":"","sources":["../../../src/client/review-console/review-console.styles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8L9C,CAAA"}
@@ -122,19 +122,22 @@ export const WORKTREE_STYLES = String.raw `
122
122
  .dsh-wt-retain-actions { display:flex; gap:6px; flex-wrap:wrap; }
123
123
  .dsh-wt-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
124
124
  .dsh-wt-pre-session { position:relative; display:inline-flex; align-items:center; min-width:0; }
125
- .dsh-wt-pre-session-switch { display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:3px 7px; border:0; border-radius:7px; background:transparent; color:inherit; font:inherit; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; transition:background .15s ease, opacity .15s ease; }
126
- .dsh-wt-pre-session-switch:hover:not(:disabled) { background:color-mix(in srgb, currentColor 7%, transparent); }
127
- .dsh-wt-pre-session-switch:focus-visible { outline:2px solid #5a8dee; outline-offset:1px; }
128
- .dsh-wt-pre-session-switch:disabled { cursor:default; opacity:.72; }
129
- .dsh-wt-pre-session-check { display:inline-grid; place-items:center; width:14px; height:14px; border:1px solid color-mix(in srgb, currentColor 42%, transparent); border-radius:3px; background:color-mix(in srgb, currentColor 3%, transparent); font-size:10px; line-height:1; }
130
- .dsh-wt-pre-session-switch[aria-checked="true"] .dsh-wt-pre-session-check { border-color:#2f8f64; background:#2f8f64; color:white; }
131
- .dsh-wt-pre-session-state { padding:2px 6px; border-radius:999px; background:color-mix(in srgb, currentColor 7%, transparent); color:color-mix(in srgb, currentColor 60%, transparent); font-size:10px; font-weight:650; }
132
- .dsh-wt-pre-session[data-state="preparing"] .dsh-wt-pre-session-state { color:#b46a13; }
133
- .dsh-wt-pre-session[data-state="error"] .dsh-wt-pre-session-state { color:#bd3b3b; }
125
+ /* Match the Harness PermissionSelect toolbar trigger while retaining switch semantics. */
126
+ .dsh-wt-pre-session-toggle { display:inline-flex; align-items:center; gap:4px; min-width:0; height:28px; padding:0 8px; border:none; border-radius:24px; outline:none; background:transparent; color:var(--dsw-alias-label-secondary, inherit); font:inherit; font-size:13px; line-height:20px; font-weight:500; cursor:pointer; white-space:nowrap; }
127
+ .dsh-wt-pre-session-toggle:hover:not(:disabled) { background:var(--dsw-alias-interactive-bg-hover, color-mix(in srgb, currentColor 7%, transparent)); }
128
+ .dsh-wt-pre-session-toggle:focus-visible { box-shadow:0 0 0 2px var(--dsw-alias-border-l3, currentColor); }
129
+ .dsh-wt-pre-session-toggle:disabled { color:var(--dsw-alias-label-dimmed, inherit); cursor:default; }
130
+ .dsh-wt-pre-session-toggle[aria-checked="true"] { color:var(--dsw-alias-label-primary, inherit); }
131
+ .dsh-wt-pre-session-check { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; box-sizing:border-box; width:14px; height:14px; border:1px solid currentColor; border-radius:3px; font-size:11px; line-height:1; }
134
132
  .dsh-wt-pre-session-error { position:absolute; left:0; bottom:calc(100% + 7px); z-index:20; width:max-content; max-width:min(360px, 75vw); padding:7px 9px; border:1px solid color-mix(in srgb, #bd3b3b 35%, transparent); border-radius:8px; background:color-mix(in srgb, Canvas 96%, #bd3b3b 4%); color:#bd3b3b; font-size:11px; font-weight:500; line-height:1.4; white-space:normal; box-shadow:0 8px 24px color-mix(in srgb, black 14%, transparent); }
135
133
 
136
134
  .dsh-wt-pre-session-note { margin:0; color:color-mix(in srgb, currentColor 62%, transparent); font-size:12px; line-height:1.5; }
137
- @media (max-width: 560px) { .dsh-wt-grid { grid-template-columns:1fr; gap:3px; } .dsh-wt-label { margin-top:4px; } .dsh-wt-pre-session-state { display:none; } }
135
+ @media (max-width: 560px) { .dsh-wt-grid { grid-template-columns:1fr; gap:3px; } .dsh-wt-label { margin-top:4px; } }
138
136
  ${REVIEW_CONSOLE_STYLES}
137
+
138
+ .dsh-wt-pre-session .dsh-wt-button,
139
+ .dsh-wt-create-dialog .dsh-wt-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:34px; line-height:20px; box-sizing:border-box; }
140
+ .dsh-wt-create-dialog .dsh-wt-button .dsh-wt-icon { width:16px; height:16px; flex:0 0 16px; vertical-align:middle; }
141
+ .dsh-wt-pre-session-check .dsh-wt-icon { width:12px; height:12px; flex-basis:12px; }
139
142
  `;
140
143
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwIvC,qBAAqB;CACtB,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsIvC,qBAAqB;;;;;;CAMtB,CAAA"}