dsh-git-worktree 0.9.2 → 0.10.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 (65) hide show
  1. package/CHANGELOG.md +418 -386
  2. package/LICENSE +21 -21
  3. package/NOTICE +16 -14
  4. package/README.en.md +169 -169
  5. package/README.md +169 -169
  6. package/cordis.patch.yml +11 -11
  7. package/docs/i18n.md +63 -63
  8. package/lib/adapters/initial-commit.js +3 -3
  9. package/lib/adapters/project-skill-provider.js +14 -4
  10. package/lib/adapters/project-skill-provider.js.map +1 -1
  11. package/lib/client/actions.d.ts +19 -3
  12. package/lib/client/actions.js +23 -3
  13. package/lib/client/actions.js.map +1 -1
  14. package/lib/client/console-remote/adapter.js +1 -1
  15. package/lib/client/console-remote/adapter.js.map +1 -1
  16. package/lib/client/console-remote/index.d.ts +10 -3
  17. package/lib/client/console-remote/index.js +56 -13
  18. package/lib/client/console-remote/index.js.map +1 -1
  19. package/lib/client/index.js +1 -0
  20. package/lib/client/index.js.map +1 -1
  21. package/lib/client/pre-session/controller.d.ts +1 -1
  22. package/lib/client/pre-session/controller.js +33 -18
  23. package/lib/client/pre-session/controller.js.map +1 -1
  24. package/lib/client/review-console/recovery-continuation.d.ts +1 -1
  25. package/lib/client/review-console/recovery-continuation.js +9 -4
  26. package/lib/client/review-console/recovery-continuation.js.map +1 -1
  27. package/lib/client/review-console/review-console.styles.js +190 -190
  28. package/lib/client/styles.js +146 -140
  29. package/lib/client/styles.js.map +1 -1
  30. package/lib/client/target-console/target-console.styles.js +155 -155
  31. package/lib/client/workspace-sidebar/index.d.ts +11 -2
  32. package/lib/client/workspace-sidebar/index.js +89 -9
  33. package/lib/client/workspace-sidebar/index.js.map +1 -1
  34. package/lib/client.js +10501 -1345
  35. package/lib/console-contract.d.ts +2 -0
  36. package/lib/console-contract.js.map +1 -1
  37. package/lib/console-host/service.js +4 -2
  38. package/lib/console-host/service.js.map +1 -1
  39. package/lib/console-remote/descriptors.js +10 -3
  40. package/lib/console-remote/descriptors.js.map +1 -1
  41. package/lib/console-remote/schemas.js +1 -0
  42. package/lib/console-remote/schemas.js.map +1 -1
  43. package/lib/host-compat.d.ts +4 -0
  44. package/lib/host-compat.js +25 -0
  45. package/lib/host-compat.js.map +1 -0
  46. package/lib/i18n/client-messages.d.ts +4 -0
  47. package/lib/i18n/client-messages.js +4 -0
  48. package/lib/i18n/client-messages.js.map +1 -1
  49. package/lib/index.d.ts +4 -1
  50. package/lib/index.js +9 -2
  51. package/lib/index.js.map +1 -1
  52. package/lib/workspace-provider-lifecycle.d.ts +16 -1
  53. package/lib/workspace-provider-lifecycle.js +69 -5
  54. package/lib/workspace-provider-lifecycle.js.map +1 -1
  55. package/package.json +153 -149
  56. package/scripts/check-publish.mjs +239 -238
  57. package/scripts/check-workspace-sidebar-version.mjs +18 -14
  58. package/scripts/clean-lib.mjs +7 -7
  59. package/scripts/dev-dsh-lib.mjs +547 -509
  60. package/scripts/dev-dsh.mjs +98 -95
  61. package/scripts/dsh-source-runner.mjs +20 -14
  62. package/scripts/workspace-sidebar-upstream-alpha.mjs +102 -0
  63. package/scripts/workspace-sidebar-upstream-next.mjs +134 -0
  64. package/scripts/workspace-sidebar-upstream.d.mts +8 -8
  65. package/scripts/workspace-sidebar-upstream.mjs +182 -162
@@ -1,143 +1,149 @@
1
1
  import { REVIEW_CONSOLE_STYLES } from './review-console/review-console.styles.js';
2
- export const WORKTREE_STYLES = String.raw `
3
- /* Managed owner decoration inside the version/hash-gated official Workspace row. */
4
- .dsh-git-worktree-sidebar-icon,
5
- .dsh-git-worktree-sidebar-badge {
6
- flex: 0 0 auto;
7
- }
8
- .dsh-git-worktree-sidebar-icon {
9
- width: 16px;
10
- height: 16px;
11
- display: inline-flex;
12
- align-items: center;
13
- justify-content: center;
14
- color: var(--dsw-alias-state-business-primary);
15
- }
16
- .dsh-git-worktree-sidebar-badge {
17
- box-sizing: border-box;
18
- max-width: 76px;
19
- min-height: 20px;
20
- padding: 1px 6px;
21
- overflow: hidden;
22
- border: 1px solid color-mix(in srgb, var(--dsh-wt-sidebar-accent) 24%, transparent);
23
- border-radius: 999px;
24
- background: color-mix(in srgb, var(--dsh-wt-sidebar-accent) 10%, transparent);
25
- color: var(--dsh-wt-sidebar-accent);
26
- font-size: 11px;
27
- font-weight: 600;
28
- line-height: 16px;
29
- text-overflow: ellipsis;
30
- white-space: nowrap;
31
- }
32
- .dsh-git-worktree-sidebar-icon,
33
- .dsh-git-worktree-sidebar-badge[data-worktree-state="working"] {
34
- --dsh-wt-sidebar-accent: var(--dsw-alias-state-business-primary);
35
- }
36
- .dsh-git-worktree-sidebar-icon[data-worktree-state="ready_for_review"],
37
- .dsh-git-worktree-sidebar-badge[data-worktree-state="ready_for_review"] {
38
- --dsh-wt-sidebar-accent: var(--dsw-alias-state-warn-label);
39
- color: var(--dsw-alias-state-warn-label);
40
- }
41
- .dsh-git-worktree-sidebar-icon[data-worktree-state="preview_active"],
42
- .dsh-git-worktree-sidebar-badge[data-worktree-state="preview_active"] {
43
- --dsh-wt-sidebar-accent: color-mix(in srgb, var(--dsw-alias-state-business-primary) 68%, var(--dsw-alias-state-error-primary));
44
- color: var(--dsh-wt-sidebar-accent);
45
- }
46
- .dsh-git-worktree-sidebar-icon[data-worktree-state="preview_detached"],
47
- .dsh-git-worktree-sidebar-badge[data-worktree-state="preview_detached"],
48
- .dsh-git-worktree-sidebar-icon[data-worktree-state="recovery_required"],
49
- .dsh-git-worktree-sidebar-badge[data-worktree-state="recovery_required"] {
50
- --dsh-wt-sidebar-accent: var(--dsw-alias-state-error-primary);
51
- color: var(--dsw-alias-state-error-primary);
52
- }
53
- .dsh-git-worktree-sidebar-icon[data-worktree-state="finalized"],
54
- .dsh-git-worktree-sidebar-badge[data-worktree-state="finalized"] {
55
- --dsh-wt-sidebar-accent: var(--dsw-alias-state-success-primary);
56
- color: var(--dsw-alias-state-success-primary);
57
- }
58
- .dsh-git-worktree-sidebar-icon[data-worktree-state="discarded"],
59
- .dsh-git-worktree-sidebar-badge[data-worktree-state="discarded"] {
60
- --dsh-wt-sidebar-accent: var(--dsw-alias-label-tertiary);
61
- color: var(--dsw-alias-label-tertiary);
62
- }
63
-
64
- .dsh-wt-card {
65
- --wt-ink: color-mix(in srgb, currentColor 92%, transparent);
66
- --wt-muted: color-mix(in srgb, currentColor 58%, transparent);
67
- --wt-line: color-mix(in srgb, currentColor 14%, transparent);
68
- --wt-panel: color-mix(in srgb, currentColor 4%, transparent);
69
- --wt-green: #2f8f64;
70
- --wt-amber: #b46a13;
71
- --wt-red: #bd3b3b;
72
- margin: 6px 0;
73
- border: 1px solid var(--wt-line);
74
- border-radius: 12px;
75
- background: linear-gradient(145deg, color-mix(in srgb, currentColor 2%, transparent), transparent 45%);
76
- color: var(--wt-ink);
77
- overflow: hidden;
78
- font-size: 13px;
79
- }
80
- .dsh-wt-card[data-tool="worktree_ready_for_review"] { overflow:visible; }
81
- .dsh-wt-head { display:flex; align-items:center; gap:10px; padding:10px 12px; min-width:0; }
82
- .dsh-wt-mark { width:9px; height:9px; flex:0 0 auto; border-radius:999px; background:var(--wt-green); box-shadow:0 0 0 4px color-mix(in srgb, var(--wt-green) 14%, transparent); }
83
- .dsh-wt-card[data-state="running"] .dsh-wt-mark { background:var(--wt-amber); animation:dsh-wt-pulse 1.4s ease-in-out infinite; }
84
- .dsh-wt-card[data-state="error"] .dsh-wt-mark { background:var(--wt-red); box-shadow:0 0 0 4px color-mix(in srgb, var(--wt-red) 14%, transparent); }
85
- @keyframes dsh-wt-pulse { 50% { opacity:.35; transform:scale(.82); } }
86
- @media (prefers-reduced-motion: reduce) { .dsh-wt-card[data-state="running"] .dsh-wt-mark { animation:none; } }
87
- .dsh-wt-title { font-weight:650; letter-spacing:-.01em; white-space:nowrap; }
88
- .dsh-wt-subtitle { color:var(--wt-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
89
- .dsh-wt-spacer { flex:1; }
90
- .dsh-wt-body { border-top:1px solid var(--wt-line); padding:12px; display:grid; gap:11px; background:var(--wt-panel); }
91
- .dsh-wt-grid { display:grid; grid-template-columns:minmax(90px, .35fr) minmax(0, 1fr); gap:7px 12px; }
92
- .dsh-wt-label { color:var(--wt-muted); }
93
- .dsh-wt-value { min-width:0; overflow-wrap:anywhere; }
94
- .dsh-wt-code { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12px; }
95
- .dsh-wt-path { border:0; padding:0; color:inherit; text-align:left; background:none; cursor:pointer; text-decoration:underline; text-decoration-color:color-mix(in srgb, currentColor 28%, transparent); text-underline-offset:3px; }
96
- .dsh-wt-path:hover { text-decoration-color:currentColor; }
97
- .dsh-wt-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
98
- .dsh-wt-button { border:1px solid var(--wt-line); border-radius:8px; padding:7px 11px; background:transparent; color:inherit; font:inherit; font-weight:600; cursor:pointer; transition:background .15s ease, border-color .15s ease, transform .15s ease; }
99
- .dsh-wt-button:hover:not(:disabled) { background:color-mix(in srgb, currentColor 7%, transparent); border-color:color-mix(in srgb, currentColor 28%, transparent); }
100
- .dsh-wt-button:active:not(:disabled) { transform:translateY(1px); }
101
- .dsh-wt-button:focus-visible, .dsh-wt-path:focus-visible, .dsh-wt-summary:focus-visible { outline:2px solid #5a8dee; outline-offset:2px; }
102
- .dsh-wt-button:disabled { opacity:.52; cursor:wait; }
103
- .dsh-wt-primary { background:#2257d7; color:white; border-color:#2257d7; }
104
- .dsh-wt-primary:hover:not(:disabled) { background:#1848bd; border-color:#1848bd; }
105
- .dsh-wt-error { color:var(--wt-red); line-height:1.45; overflow-wrap:anywhere; }
106
- .dsh-wt-status { color:var(--wt-muted); }
107
- .dsh-wt-badge { display:inline-flex; align-items:center; border:1px solid var(--wt-line); border-radius:999px; padding:2px 7px; font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.04em; }
108
- .dsh-wt-badge[data-validation="passed"] { color:var(--wt-green); }
109
- .dsh-wt-badge[data-validation="failed"] { color:var(--wt-red); }
110
- .dsh-wt-badge[data-validation="partial"] { color:var(--wt-amber); }
111
- .dsh-wt-files { display:flex; flex-wrap:wrap; gap:5px; }
112
- .dsh-wt-file { border:1px solid var(--wt-line); border-radius:6px; padding:3px 6px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:11px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
113
- .dsh-wt-commit { margin:0; padding:9px 10px; max-height:150px; overflow:auto; border:1px solid var(--wt-line); border-radius:8px; background:color-mix(in srgb, currentColor 3%, transparent); white-space:pre-wrap; overflow-wrap:anywhere; }
114
- .dsh-wt-details { border-top:1px solid var(--wt-line); padding-top:9px; }
115
- .dsh-wt-summary { cursor:pointer; color:var(--wt-muted); font-weight:600; }
116
- .dsh-wt-test-list { list-style:none; padding:7px 0 0; margin:0; display:grid; gap:6px; }
117
- .dsh-wt-test { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:7px; align-items:start; }
118
- .dsh-wt-test-state { color:var(--wt-muted); font-size:11px; text-transform:uppercase; padding-top:2px; }
119
- .dsh-wt-test-command { overflow-wrap:anywhere; }
120
- .dsh-wt-retain { position:relative; }
121
- .dsh-wt-retain[open] > .dsh-wt-summary { margin-bottom:7px; }
122
- .dsh-wt-retain-actions { display:flex; gap:6px; flex-wrap:wrap; }
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
- .dsh-wt-pre-session { position:relative; display:inline-flex; align-items:center; min-width:0; }
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; }
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); }
133
-
134
- .dsh-wt-pre-session-note { margin:0; color:color-mix(in srgb, currentColor 62%, transparent); font-size:12px; line-height:1.5; }
135
- @media (max-width: 560px) { .dsh-wt-grid { grid-template-columns:1fr; gap:3px; } .dsh-wt-label { margin-top:4px; } }
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; }
2
+ export const WORKTREE_STYLES = String.raw `
3
+ /* Managed owner decoration inside the version/hash-gated official Workspace row. */
4
+ .dsh-git-worktree-sidebar-icon,
5
+ .dsh-git-worktree-sidebar-badge {
6
+ flex: 0 0 auto;
7
+ }
8
+ .dsh-git-worktree-sidebar-icon {
9
+ width: 16px;
10
+ height: 16px;
11
+ display: inline-flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ color: var(--dsw-alias-state-business-primary);
15
+ }
16
+ .dsh-git-worktree-sidebar-badge {
17
+ box-sizing: border-box;
18
+ max-width: 76px;
19
+ min-height: 20px;
20
+ margin-inline-end: 4px;
21
+ padding: 1px 6px;
22
+ overflow: hidden;
23
+ border: 1px solid color-mix(in srgb, var(--dsh-wt-sidebar-accent) 24%, transparent);
24
+ border-radius: 999px;
25
+ background: color-mix(in srgb, var(--dsh-wt-sidebar-accent) 10%, transparent);
26
+ color: var(--dsh-wt-sidebar-accent);
27
+ font-size: 11px;
28
+ font-weight: 600;
29
+ line-height: 16px;
30
+ text-overflow: ellipsis;
31
+ white-space: nowrap;
32
+ }
33
+ /* Official rows exchange time for actions on hover. Yield the badge's width
34
+ only when a safe action container exists, leaving alpha's badge visible. */
35
+ [role="treeitem"]:hover:has(> [class$="_rowActions"]) > .dsh-git-worktree-sidebar-badge {
36
+ display: none;
37
+ }
38
+ .dsh-git-worktree-sidebar-icon,
39
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="working"] {
40
+ --dsh-wt-sidebar-accent: var(--dsw-alias-state-business-primary);
41
+ }
42
+ .dsh-git-worktree-sidebar-icon[data-worktree-state="ready_for_review"],
43
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="ready_for_review"] {
44
+ --dsh-wt-sidebar-accent: var(--dsw-alias-state-warn-label);
45
+ color: var(--dsw-alias-state-warn-label);
46
+ }
47
+ .dsh-git-worktree-sidebar-icon[data-worktree-state="preview_active"],
48
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="preview_active"] {
49
+ --dsh-wt-sidebar-accent: color-mix(in srgb, var(--dsw-alias-state-business-primary) 68%, var(--dsw-alias-state-error-primary));
50
+ color: var(--dsh-wt-sidebar-accent);
51
+ }
52
+ .dsh-git-worktree-sidebar-icon[data-worktree-state="preview_detached"],
53
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="preview_detached"],
54
+ .dsh-git-worktree-sidebar-icon[data-worktree-state="recovery_required"],
55
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="recovery_required"] {
56
+ --dsh-wt-sidebar-accent: var(--dsw-alias-state-error-primary);
57
+ color: var(--dsw-alias-state-error-primary);
58
+ }
59
+ .dsh-git-worktree-sidebar-icon[data-worktree-state="finalized"],
60
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="finalized"] {
61
+ --dsh-wt-sidebar-accent: var(--dsw-alias-state-success-primary);
62
+ color: var(--dsw-alias-state-success-primary);
63
+ }
64
+ .dsh-git-worktree-sidebar-icon[data-worktree-state="discarded"],
65
+ .dsh-git-worktree-sidebar-badge[data-worktree-state="discarded"] {
66
+ --dsh-wt-sidebar-accent: var(--dsw-alias-label-tertiary);
67
+ color: var(--dsw-alias-label-tertiary);
68
+ }
69
+
70
+ .dsh-wt-card {
71
+ --wt-ink: color-mix(in srgb, currentColor 92%, transparent);
72
+ --wt-muted: color-mix(in srgb, currentColor 58%, transparent);
73
+ --wt-line: color-mix(in srgb, currentColor 14%, transparent);
74
+ --wt-panel: color-mix(in srgb, currentColor 4%, transparent);
75
+ --wt-green: #2f8f64;
76
+ --wt-amber: #b46a13;
77
+ --wt-red: #bd3b3b;
78
+ margin: 6px 0;
79
+ border: 1px solid var(--wt-line);
80
+ border-radius: 12px;
81
+ background: linear-gradient(145deg, color-mix(in srgb, currentColor 2%, transparent), transparent 45%);
82
+ color: var(--wt-ink);
83
+ overflow: hidden;
84
+ font-size: 13px;
85
+ }
86
+ .dsh-wt-card[data-tool="worktree_ready_for_review"] { overflow:visible; }
87
+ .dsh-wt-head { display:flex; align-items:center; gap:10px; padding:10px 12px; min-width:0; }
88
+ .dsh-wt-mark { width:9px; height:9px; flex:0 0 auto; border-radius:999px; background:var(--wt-green); box-shadow:0 0 0 4px color-mix(in srgb, var(--wt-green) 14%, transparent); }
89
+ .dsh-wt-card[data-state="running"] .dsh-wt-mark { background:var(--wt-amber); animation:dsh-wt-pulse 1.4s ease-in-out infinite; }
90
+ .dsh-wt-card[data-state="error"] .dsh-wt-mark { background:var(--wt-red); box-shadow:0 0 0 4px color-mix(in srgb, var(--wt-red) 14%, transparent); }
91
+ @keyframes dsh-wt-pulse { 50% { opacity:.35; transform:scale(.82); } }
92
+ @media (prefers-reduced-motion: reduce) { .dsh-wt-card[data-state="running"] .dsh-wt-mark { animation:none; } }
93
+ .dsh-wt-title { font-weight:650; letter-spacing:-.01em; white-space:nowrap; }
94
+ .dsh-wt-subtitle { color:var(--wt-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
95
+ .dsh-wt-spacer { flex:1; }
96
+ .dsh-wt-body { border-top:1px solid var(--wt-line); padding:12px; display:grid; gap:11px; background:var(--wt-panel); }
97
+ .dsh-wt-grid { display:grid; grid-template-columns:minmax(90px, .35fr) minmax(0, 1fr); gap:7px 12px; }
98
+ .dsh-wt-label { color:var(--wt-muted); }
99
+ .dsh-wt-value { min-width:0; overflow-wrap:anywhere; }
100
+ .dsh-wt-code { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12px; }
101
+ .dsh-wt-path { border:0; padding:0; color:inherit; text-align:left; background:none; cursor:pointer; text-decoration:underline; text-decoration-color:color-mix(in srgb, currentColor 28%, transparent); text-underline-offset:3px; }
102
+ .dsh-wt-path:hover { text-decoration-color:currentColor; }
103
+ .dsh-wt-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
104
+ .dsh-wt-button { border:1px solid var(--wt-line); border-radius:8px; padding:7px 11px; background:transparent; color:inherit; font:inherit; font-weight:600; cursor:pointer; transition:background .15s ease, border-color .15s ease, transform .15s ease; }
105
+ .dsh-wt-button:hover:not(:disabled) { background:color-mix(in srgb, currentColor 7%, transparent); border-color:color-mix(in srgb, currentColor 28%, transparent); }
106
+ .dsh-wt-button:active:not(:disabled) { transform:translateY(1px); }
107
+ .dsh-wt-button:focus-visible, .dsh-wt-path:focus-visible, .dsh-wt-summary:focus-visible { outline:2px solid #5a8dee; outline-offset:2px; }
108
+ .dsh-wt-button:disabled { opacity:.52; cursor:wait; }
109
+ .dsh-wt-primary { background:#2257d7; color:white; border-color:#2257d7; }
110
+ .dsh-wt-primary:hover:not(:disabled) { background:#1848bd; border-color:#1848bd; }
111
+ .dsh-wt-error { color:var(--wt-red); line-height:1.45; overflow-wrap:anywhere; }
112
+ .dsh-wt-status { color:var(--wt-muted); }
113
+ .dsh-wt-badge { display:inline-flex; align-items:center; border:1px solid var(--wt-line); border-radius:999px; padding:2px 7px; font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.04em; }
114
+ .dsh-wt-badge[data-validation="passed"] { color:var(--wt-green); }
115
+ .dsh-wt-badge[data-validation="failed"] { color:var(--wt-red); }
116
+ .dsh-wt-badge[data-validation="partial"] { color:var(--wt-amber); }
117
+ .dsh-wt-files { display:flex; flex-wrap:wrap; gap:5px; }
118
+ .dsh-wt-file { border:1px solid var(--wt-line); border-radius:6px; padding:3px 6px; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:11px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
119
+ .dsh-wt-commit { margin:0; padding:9px 10px; max-height:150px; overflow:auto; border:1px solid var(--wt-line); border-radius:8px; background:color-mix(in srgb, currentColor 3%, transparent); white-space:pre-wrap; overflow-wrap:anywhere; }
120
+ .dsh-wt-details { border-top:1px solid var(--wt-line); padding-top:9px; }
121
+ .dsh-wt-summary { cursor:pointer; color:var(--wt-muted); font-weight:600; }
122
+ .dsh-wt-test-list { list-style:none; padding:7px 0 0; margin:0; display:grid; gap:6px; }
123
+ .dsh-wt-test { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:7px; align-items:start; }
124
+ .dsh-wt-test-state { color:var(--wt-muted); font-size:11px; text-transform:uppercase; padding-top:2px; }
125
+ .dsh-wt-test-command { overflow-wrap:anywhere; }
126
+ .dsh-wt-retain { position:relative; }
127
+ .dsh-wt-retain[open] > .dsh-wt-summary { margin-bottom:7px; }
128
+ .dsh-wt-retain-actions { display:flex; gap:6px; flex-wrap:wrap; }
129
+ .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; }
130
+ .dsh-wt-pre-session { position:relative; display:inline-flex; align-items:center; min-width:0; }
131
+ /* Match the Harness PermissionSelect toolbar trigger while retaining switch semantics. */
132
+ .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; }
133
+ .dsh-wt-pre-session-toggle:hover:not(:disabled) { background:var(--dsw-alias-interactive-bg-hover, color-mix(in srgb, currentColor 7%, transparent)); }
134
+ .dsh-wt-pre-session-toggle:focus-visible { box-shadow:0 0 0 2px var(--dsw-alias-border-l3, currentColor); }
135
+ .dsh-wt-pre-session-toggle:disabled { color:var(--dsw-alias-label-dimmed, inherit); cursor:default; }
136
+ .dsh-wt-pre-session-toggle[aria-checked="true"] { color:var(--dsw-alias-label-primary, inherit); }
137
+ .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; }
138
+ .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); }
139
+
140
+ .dsh-wt-pre-session-note { margin:0; color:color-mix(in srgb, currentColor 62%, transparent); font-size:12px; line-height:1.5; }
141
+ @media (max-width: 560px) { .dsh-wt-grid { grid-template-columns:1fr; gap:3px; } .dsh-wt-label { margin-top:4px; } }
142
+ ${REVIEW_CONSOLE_STYLES}
143
+
144
+ .dsh-wt-pre-session .dsh-wt-button,
145
+ .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; }
146
+ .dsh-wt-create-dialog .dsh-wt-button .dsh-wt-icon { width:16px; height:16px; flex:0 0 16px; vertical-align:middle; }
147
+ .dsh-wt-pre-session-check .dsh-wt-icon { width:12px; height:12px; flex-basis:12px; }
142
148
  `;
143
149
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsIvC,qBAAqB;;;;;;CAMtB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4IvC,qBAAqB;;;;;;CAMtB,CAAA"}