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,157 +1,157 @@
1
- export const TARGET_CONSOLE_STYLES = String.raw `
2
- .dsh-wtc-target-chip {
3
- --wtc-state: #728096;
4
- display: inline-flex;
5
- align-items: center;
6
- gap: 6px;
7
- min-height: 24px;
8
- padding: 2px 9px;
9
- border: 1px solid color-mix(in srgb, var(--wtc-state) 35%, transparent);
10
- border-radius: 999px;
11
- background: color-mix(in srgb, var(--wtc-state) 9%, transparent);
12
- color: inherit;
13
- font-size: 12px;
14
- font-weight: 650;
15
- line-height: 1;
16
- white-space: nowrap;
17
- cursor: pointer;
18
- }
19
- .dsh-wtc-target-chip:hover { background: color-mix(in srgb, var(--wtc-state) 15%, transparent); }
20
- .dsh-wtc-target-chip:focus-visible { outline: 2px solid #5b8fe8; outline-offset: 2px; }
21
- .dsh-wtc-target-chevron {
22
- width: 6px;
23
- height: 6px;
24
- margin: -3px 1px 0 2px;
25
- flex: 0 0 auto;
26
- border-right: 1.5px solid currentColor;
27
- border-bottom: 1.5px solid currentColor;
28
- opacity: .58;
29
- transform: rotate(45deg);
30
- }
31
- .dsh-wtc-menu-summary { display: grid; gap: 3px; min-width: 250px; text-align: left; white-space: normal; }
32
- .dsh-wtc-menu-summary strong { font-size: 12px; color: inherit; }
33
- .dsh-wtc-menu-summary span { color: color-mix(in srgb, currentColor 64%, transparent); font-size: 11px; line-height: 1.35; }
34
- .dsh-wtc-menu-summary .dsh-wtc-menu-error { color: #c44747; }
35
- .dsh-wtc-target-dot, .dsh-wtc-state-dot {
36
- width: 7px;
37
- height: 7px;
38
- flex: 0 0 auto;
39
- border-radius: 999px;
40
- background: var(--wtc-state);
41
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--wtc-state) 15%, transparent);
42
- }
43
- .dsh-wtc-target-chip[data-target-state="creating"] { --wtc-state: #c47a1c; }
44
- .dsh-wtc-target-chip[data-target-state="working"] { --wtc-state: #2676dc; }
45
- .dsh-wtc-target-chip[data-target-state="ready_for_review"] { --wtc-state: #25885d; }
46
- .dsh-wtc-target-chip[data-target-state="retained"] { --wtc-state: #6b5bd2; }
47
- .dsh-wtc-target-chip[data-target-state="cleanup_pending"] { --wtc-state: #c47a1c; }
48
- .dsh-wtc-target-chip[data-target-state="recovery_required"],
49
- .dsh-wtc-target-chip[data-target-state="error"] { --wtc-state: #c94747; }
50
- .dsh-wtc-target-chip[data-target-state="delivered"] { opacity: .66; }
51
- .dsh-wtc-target-expiry { color: color-mix(in srgb, currentColor 62%, transparent); font-weight: 520; }
52
-
53
- .dsh-wtc-console {
54
- --wtc-ink: color-mix(in srgb, currentColor 94%, transparent);
55
- --wtc-muted: color-mix(in srgb, currentColor 58%, transparent);
56
- --wtc-line: color-mix(in srgb, currentColor 14%, transparent);
57
- --wtc-panel: color-mix(in srgb, currentColor 4%, transparent);
58
- --wtc-blue: #2f6fd0;
59
- --wtc-red: #c44747;
60
- position: relative;
61
- display: grid;
62
- gap: 14px;
63
- min-width: 0;
64
- width: 100%;
65
- padding: 18px clamp(12px, 3vw, 26px) 28px;
66
- color: var(--wtc-ink);
67
- box-sizing: border-box;
68
- }
69
- .dsh-wtc-console h2, .dsh-wtc-console h3 { margin: 0; letter-spacing: -.025em; }
70
- .dsh-wtc-console h2 { font-size: clamp(20px, 3vw, 28px); font-weight: 720; }
71
- .dsh-wtc-console h3 { font-size: 15px; font-weight: 680; }
72
- .dsh-wtc-console-head, .dsh-wtc-section-head, .dsh-wtc-current,
73
- .dsh-wtc-row, .dsh-wtc-row-title, .dsh-wtc-row-actions, .dsh-wtc-current-actions {
74
- display: flex;
75
- align-items: center;
76
- }
77
- .dsh-wtc-console-head, .dsh-wtc-section-head, .dsh-wtc-current, .dsh-wtc-row { justify-content: space-between; }
78
- .dsh-wtc-console-head { gap: 16px; }
79
- .dsh-wtc-kicker, .dsh-wtc-label {
80
- display: block;
81
- color: var(--wtc-muted);
82
- font-size: 10px;
83
- font-weight: 720;
84
- letter-spacing: .1em;
85
- text-transform: uppercase;
86
- }
87
- .dsh-wtc-kicker { margin-bottom: 3px; }
88
- .dsh-wtc-current, .dsh-wtc-list-section {
89
- min-width: 0;
90
- border: 1px solid var(--wtc-line);
91
- border-radius: 14px;
92
- background: linear-gradient(145deg, color-mix(in srgb, currentColor 3%, transparent), transparent 52%);
93
- }
94
- .dsh-wtc-current { gap: 16px; padding: 14px 16px; }
95
- .dsh-wtc-current > div:first-child { min-width: 0; display: grid; gap: 3px; }
96
- .dsh-wtc-current strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
97
- .dsh-wtc-current-actions, .dsh-wtc-row-actions { gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
98
- .dsh-wtc-list-section { overflow: hidden; }
99
- .dsh-wtc-section-head { padding: 12px 14px; border-bottom: 1px solid var(--wtc-line); }
100
- .dsh-wtc-count { min-width: 26px; padding: 3px 7px; border-radius: 999px; background: var(--wtc-panel); color: var(--wtc-muted); text-align: center; font-size: 11px; }
101
- .dsh-wtc-list { list-style: none; margin: 0; padding: 0; }
102
- .dsh-wtc-row { position: relative; gap: 14px; min-width: 0; padding: 12px 14px; border-bottom: 1px solid var(--wtc-line); }
103
- .dsh-wtc-row:last-child { border-bottom: 0; }
104
- .dsh-wtc-row[data-current-target="true"] { background: color-mix(in srgb, var(--wtc-blue) 6%, transparent); }
105
- .dsh-wtc-row-main { min-width: 0; display: grid; gap: 6px; }
106
- .dsh-wtc-row-title { min-width: 0; gap: 10px; }
107
- .dsh-wtc-row-id { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 12px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
108
- .dsh-wtc-relation { flex: 0 0 auto; padding: 2px 6px; border-radius: 999px; background: var(--wtc-panel); color: var(--wtc-muted); font-size: 10px; font-weight: 650; }
109
- .dsh-wtc-state { --wtc-state: #728096; display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; font-size: 12px; font-weight: 680; }
110
- .dsh-wtc-state[data-target-state="creating"], .dsh-wtc-state[data-target-state="cleanup_pending"] { --wtc-state: #c47a1c; }
111
- .dsh-wtc-state[data-target-state="working"] { --wtc-state: #2676dc; }
112
- .dsh-wtc-state[data-target-state="ready_for_review"] { --wtc-state: #25885d; }
113
- .dsh-wtc-state[data-target-state="retained"] { --wtc-state: #6b5bd2; }
114
- .dsh-wtc-state[data-target-state="recovery_required"] { --wtc-state: #c94747; }
115
- .dsh-wtc-state[data-target-state="delivered"] { opacity: .66; }
116
- .dsh-wtc-facts { display: flex; flex-wrap: wrap; gap: 4px 10px; color: var(--wtc-muted); font-size: 11px; }
117
- .dsh-wtc-recovery-message { color: var(--wtc-red); font-weight: 620; }
118
- .dsh-wtc-revision { color: var(--wtc-muted); font: 11px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
119
- .dsh-wtc-button {
120
- min-height: 30px;
121
- border: 1px solid var(--wtc-line);
122
- border-radius: 8px;
123
- padding: 5px 9px;
124
- background: transparent;
125
- color: inherit;
126
- font: inherit;
127
- font-size: 12px;
128
- font-weight: 650;
129
- cursor: pointer;
130
- }
131
- .dsh-wtc-button:hover:not(:disabled) { background: color-mix(in srgb, currentColor 7%, transparent); border-color: color-mix(in srgb, currentColor 30%, transparent); }
132
- .dsh-wtc-button:focus-visible { outline: 2px solid #5b8fe8; outline-offset: 2px; }
133
- .dsh-wtc-button:disabled { opacity: .5; cursor: wait; }
134
- .dsh-wtc-primary { color: white; border-color: var(--wtc-blue); background: var(--wtc-blue); }
135
- .dsh-wtc-danger { color: var(--wtc-red); }
136
- .dsh-wtc-empty, .dsh-wtc-loading { padding: 24px 14px; color: var(--wtc-muted); text-align: center; }
137
- .dsh-wtc-error { padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--wtc-red) 35%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--wtc-red) 8%, transparent); color: var(--wtc-red); overflow-wrap: anywhere; }
138
- .dsh-wtc-confirm { position: absolute; z-index: 2; inset: 12px; align-self: start; display: grid; gap: 10px; max-width: 520px; margin: 64px auto 0; padding: 18px; border: 1px solid color-mix(in srgb, var(--wtc-red) 35%, var(--wtc-line)); border-radius: 14px; background: Canvas; color: CanvasText; box-shadow: 0 20px 60px rgba(0,0,0,.24); }
139
- .dsh-wtc-confirm p { margin: 0; color: color-mix(in srgb, currentColor 68%, transparent); line-height: 1.5; }
140
- .dsh-wtc-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
141
- .dsh-wtc-manager-dialog { width: min(960px, calc(100vw - 32px)); max-width: 960px; max-height: min(86vh, 900px); }
142
- .dsh-wtc-manager-content { overflow: auto; min-height: 0; }
143
- .dsh-wtc-manager-content .dsh-wtc-console { padding: 4px 0 8px; }
144
- @media (max-width: 620px) {
145
- .dsh-wtc-current, .dsh-wtc-row { align-items: flex-start; flex-direction: column; }
146
- .dsh-wtc-current-actions, .dsh-wtc-row-actions { width: 100%; justify-content: flex-start; }
147
- }
148
- .dsh-wtc-button, .dsh-wtc-link { display:inline-flex; align-items:center; gap:6px; }
149
- .dsh-wtc-button .dsh-wt-icon, .dsh-wtc-link .dsh-wt-icon { width:16px; height:16px; flex:0 0 16px; }
150
- .dsh-wtc-target-kind { width:14px; height:14px; flex:0 0 14px; }
151
- .dsh-wtc-target-chip .dsh-wtc-target-chevron { width:12px; height:12px; border:0; transform:none; margin:0; }
152
- .dsh-wtc-target-chip[aria-expanded="true"] .dsh-wtc-target-chevron { transform:rotate(180deg); }
153
- .dsh-wtc-console-head[data-embedded] { justify-content:flex-end; }
154
- .dsh-wtc-task-name { min-width:0; overflow-wrap:anywhere; font-weight:500; }
155
- .dsh-wtc-facts .dsh-wtc-checkout-id { font-size:11px; overflow-wrap:anywhere; }
1
+ export const TARGET_CONSOLE_STYLES = String.raw `
2
+ .dsh-wtc-target-chip {
3
+ --wtc-state: #728096;
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: 6px;
7
+ min-height: 24px;
8
+ padding: 2px 9px;
9
+ border: 1px solid color-mix(in srgb, var(--wtc-state) 35%, transparent);
10
+ border-radius: 999px;
11
+ background: color-mix(in srgb, var(--wtc-state) 9%, transparent);
12
+ color: inherit;
13
+ font-size: 12px;
14
+ font-weight: 650;
15
+ line-height: 1;
16
+ white-space: nowrap;
17
+ cursor: pointer;
18
+ }
19
+ .dsh-wtc-target-chip:hover { background: color-mix(in srgb, var(--wtc-state) 15%, transparent); }
20
+ .dsh-wtc-target-chip:focus-visible { outline: 2px solid #5b8fe8; outline-offset: 2px; }
21
+ .dsh-wtc-target-chevron {
22
+ width: 6px;
23
+ height: 6px;
24
+ margin: -3px 1px 0 2px;
25
+ flex: 0 0 auto;
26
+ border-right: 1.5px solid currentColor;
27
+ border-bottom: 1.5px solid currentColor;
28
+ opacity: .58;
29
+ transform: rotate(45deg);
30
+ }
31
+ .dsh-wtc-menu-summary { display: grid; gap: 3px; min-width: 250px; text-align: left; white-space: normal; }
32
+ .dsh-wtc-menu-summary strong { font-size: 12px; color: inherit; }
33
+ .dsh-wtc-menu-summary span { color: color-mix(in srgb, currentColor 64%, transparent); font-size: 11px; line-height: 1.35; }
34
+ .dsh-wtc-menu-summary .dsh-wtc-menu-error { color: #c44747; }
35
+ .dsh-wtc-target-dot, .dsh-wtc-state-dot {
36
+ width: 7px;
37
+ height: 7px;
38
+ flex: 0 0 auto;
39
+ border-radius: 999px;
40
+ background: var(--wtc-state);
41
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--wtc-state) 15%, transparent);
42
+ }
43
+ .dsh-wtc-target-chip[data-target-state="creating"] { --wtc-state: #c47a1c; }
44
+ .dsh-wtc-target-chip[data-target-state="working"] { --wtc-state: #2676dc; }
45
+ .dsh-wtc-target-chip[data-target-state="ready_for_review"] { --wtc-state: #25885d; }
46
+ .dsh-wtc-target-chip[data-target-state="retained"] { --wtc-state: #6b5bd2; }
47
+ .dsh-wtc-target-chip[data-target-state="cleanup_pending"] { --wtc-state: #c47a1c; }
48
+ .dsh-wtc-target-chip[data-target-state="recovery_required"],
49
+ .dsh-wtc-target-chip[data-target-state="error"] { --wtc-state: #c94747; }
50
+ .dsh-wtc-target-chip[data-target-state="delivered"] { opacity: .66; }
51
+ .dsh-wtc-target-expiry { color: color-mix(in srgb, currentColor 62%, transparent); font-weight: 520; }
52
+
53
+ .dsh-wtc-console {
54
+ --wtc-ink: color-mix(in srgb, currentColor 94%, transparent);
55
+ --wtc-muted: color-mix(in srgb, currentColor 58%, transparent);
56
+ --wtc-line: color-mix(in srgb, currentColor 14%, transparent);
57
+ --wtc-panel: color-mix(in srgb, currentColor 4%, transparent);
58
+ --wtc-blue: #2f6fd0;
59
+ --wtc-red: #c44747;
60
+ position: relative;
61
+ display: grid;
62
+ gap: 14px;
63
+ min-width: 0;
64
+ width: 100%;
65
+ padding: 18px clamp(12px, 3vw, 26px) 28px;
66
+ color: var(--wtc-ink);
67
+ box-sizing: border-box;
68
+ }
69
+ .dsh-wtc-console h2, .dsh-wtc-console h3 { margin: 0; letter-spacing: -.025em; }
70
+ .dsh-wtc-console h2 { font-size: clamp(20px, 3vw, 28px); font-weight: 720; }
71
+ .dsh-wtc-console h3 { font-size: 15px; font-weight: 680; }
72
+ .dsh-wtc-console-head, .dsh-wtc-section-head, .dsh-wtc-current,
73
+ .dsh-wtc-row, .dsh-wtc-row-title, .dsh-wtc-row-actions, .dsh-wtc-current-actions {
74
+ display: flex;
75
+ align-items: center;
76
+ }
77
+ .dsh-wtc-console-head, .dsh-wtc-section-head, .dsh-wtc-current, .dsh-wtc-row { justify-content: space-between; }
78
+ .dsh-wtc-console-head { gap: 16px; }
79
+ .dsh-wtc-kicker, .dsh-wtc-label {
80
+ display: block;
81
+ color: var(--wtc-muted);
82
+ font-size: 10px;
83
+ font-weight: 720;
84
+ letter-spacing: .1em;
85
+ text-transform: uppercase;
86
+ }
87
+ .dsh-wtc-kicker { margin-bottom: 3px; }
88
+ .dsh-wtc-current, .dsh-wtc-list-section {
89
+ min-width: 0;
90
+ border: 1px solid var(--wtc-line);
91
+ border-radius: 14px;
92
+ background: linear-gradient(145deg, color-mix(in srgb, currentColor 3%, transparent), transparent 52%);
93
+ }
94
+ .dsh-wtc-current { gap: 16px; padding: 14px 16px; }
95
+ .dsh-wtc-current > div:first-child { min-width: 0; display: grid; gap: 3px; }
96
+ .dsh-wtc-current strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
97
+ .dsh-wtc-current-actions, .dsh-wtc-row-actions { gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
98
+ .dsh-wtc-list-section { overflow: hidden; }
99
+ .dsh-wtc-section-head { padding: 12px 14px; border-bottom: 1px solid var(--wtc-line); }
100
+ .dsh-wtc-count { min-width: 26px; padding: 3px 7px; border-radius: 999px; background: var(--wtc-panel); color: var(--wtc-muted); text-align: center; font-size: 11px; }
101
+ .dsh-wtc-list { list-style: none; margin: 0; padding: 0; }
102
+ .dsh-wtc-row { position: relative; gap: 14px; min-width: 0; padding: 12px 14px; border-bottom: 1px solid var(--wtc-line); }
103
+ .dsh-wtc-row:last-child { border-bottom: 0; }
104
+ .dsh-wtc-row[data-current-target="true"] { background: color-mix(in srgb, var(--wtc-blue) 6%, transparent); }
105
+ .dsh-wtc-row-main { min-width: 0; display: grid; gap: 6px; }
106
+ .dsh-wtc-row-title { min-width: 0; gap: 10px; }
107
+ .dsh-wtc-row-id { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 12px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
108
+ .dsh-wtc-relation { flex: 0 0 auto; padding: 2px 6px; border-radius: 999px; background: var(--wtc-panel); color: var(--wtc-muted); font-size: 10px; font-weight: 650; }
109
+ .dsh-wtc-state { --wtc-state: #728096; display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; font-size: 12px; font-weight: 680; }
110
+ .dsh-wtc-state[data-target-state="creating"], .dsh-wtc-state[data-target-state="cleanup_pending"] { --wtc-state: #c47a1c; }
111
+ .dsh-wtc-state[data-target-state="working"] { --wtc-state: #2676dc; }
112
+ .dsh-wtc-state[data-target-state="ready_for_review"] { --wtc-state: #25885d; }
113
+ .dsh-wtc-state[data-target-state="retained"] { --wtc-state: #6b5bd2; }
114
+ .dsh-wtc-state[data-target-state="recovery_required"] { --wtc-state: #c94747; }
115
+ .dsh-wtc-state[data-target-state="delivered"] { opacity: .66; }
116
+ .dsh-wtc-facts { display: flex; flex-wrap: wrap; gap: 4px 10px; color: var(--wtc-muted); font-size: 11px; }
117
+ .dsh-wtc-recovery-message { color: var(--wtc-red); font-weight: 620; }
118
+ .dsh-wtc-revision { color: var(--wtc-muted); font: 11px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
119
+ .dsh-wtc-button {
120
+ min-height: 30px;
121
+ border: 1px solid var(--wtc-line);
122
+ border-radius: 8px;
123
+ padding: 5px 9px;
124
+ background: transparent;
125
+ color: inherit;
126
+ font: inherit;
127
+ font-size: 12px;
128
+ font-weight: 650;
129
+ cursor: pointer;
130
+ }
131
+ .dsh-wtc-button:hover:not(:disabled) { background: color-mix(in srgb, currentColor 7%, transparent); border-color: color-mix(in srgb, currentColor 30%, transparent); }
132
+ .dsh-wtc-button:focus-visible { outline: 2px solid #5b8fe8; outline-offset: 2px; }
133
+ .dsh-wtc-button:disabled { opacity: .5; cursor: wait; }
134
+ .dsh-wtc-primary { color: white; border-color: var(--wtc-blue); background: var(--wtc-blue); }
135
+ .dsh-wtc-danger { color: var(--wtc-red); }
136
+ .dsh-wtc-empty, .dsh-wtc-loading { padding: 24px 14px; color: var(--wtc-muted); text-align: center; }
137
+ .dsh-wtc-error { padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--wtc-red) 35%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--wtc-red) 8%, transparent); color: var(--wtc-red); overflow-wrap: anywhere; }
138
+ .dsh-wtc-confirm { position: absolute; z-index: 2; inset: 12px; align-self: start; display: grid; gap: 10px; max-width: 520px; margin: 64px auto 0; padding: 18px; border: 1px solid color-mix(in srgb, var(--wtc-red) 35%, var(--wtc-line)); border-radius: 14px; background: Canvas; color: CanvasText; box-shadow: 0 20px 60px rgba(0,0,0,.24); }
139
+ .dsh-wtc-confirm p { margin: 0; color: color-mix(in srgb, currentColor 68%, transparent); line-height: 1.5; }
140
+ .dsh-wtc-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
141
+ .dsh-wtc-manager-dialog { width: min(960px, calc(100vw - 32px)); max-width: 960px; max-height: min(86vh, 900px); }
142
+ .dsh-wtc-manager-content { overflow: auto; min-height: 0; }
143
+ .dsh-wtc-manager-content .dsh-wtc-console { padding: 4px 0 8px; }
144
+ @media (max-width: 620px) {
145
+ .dsh-wtc-current, .dsh-wtc-row { align-items: flex-start; flex-direction: column; }
146
+ .dsh-wtc-current-actions, .dsh-wtc-row-actions { width: 100%; justify-content: flex-start; }
147
+ }
148
+ .dsh-wtc-button, .dsh-wtc-link { display:inline-flex; align-items:center; gap:6px; }
149
+ .dsh-wtc-button .dsh-wt-icon, .dsh-wtc-link .dsh-wt-icon { width:16px; height:16px; flex:0 0 16px; }
150
+ .dsh-wtc-target-kind { width:14px; height:14px; flex:0 0 14px; }
151
+ .dsh-wtc-target-chip .dsh-wtc-target-chevron { width:12px; height:12px; border:0; transform:none; margin:0; }
152
+ .dsh-wtc-target-chip[aria-expanded="true"] .dsh-wtc-target-chevron { transform:rotate(180deg); }
153
+ .dsh-wtc-console-head[data-embedded] { justify-content:flex-end; }
154
+ .dsh-wtc-task-name { min-width:0; overflow-wrap:anywhere; font-weight:500; }
155
+ .dsh-wtc-facts .dsh-wtc-checkout-id { font-size:11px; overflow-wrap:anywhere; }
156
156
  `;
157
157
  //# sourceMappingURL=target-console.styles.js.map
@@ -1,4 +1,5 @@
1
1
  import { type ComponentType } from 'react';
2
+ import type { Context } from '@deepseek-ai/cordis';
2
3
  import type { WorkspaceBrowserProps } from '@deepseek-ai/dsh-client-ui-workspace/client';
3
4
  import type { WorktreeConsoleAdapter, WorktreeSidebarTopologyResponse } from '../../console-contract.js';
4
5
  /** Ephemeral presentation metadata consumed only by the gated official Browser derivative. */
@@ -8,15 +9,23 @@ export interface ManagedWorktreeSessionDecoration {
8
9
  label: string;
9
10
  originalTitle: string;
10
11
  }
12
+ interface ManagedWorkspaceGuard {
13
+ ready: boolean;
14
+ sessionIds: ReadonlySet<string>;
15
+ workspaceIds: ReadonlySet<string>;
16
+ blockSession(id: string): boolean;
17
+ blockWorkspace(id: string): boolean;
18
+ }
11
19
  interface OfficialWorkspaceBrowserProps extends WorkspaceBrowserProps {
12
20
  adapter: WorktreeConsoleAdapter;
13
21
  OfficialBrowser: ComponentType<WorkspaceBrowserProps>;
22
+ guard?: ManagedWorkspaceGuard;
14
23
  }
15
24
  /**
16
25
  * Preserve the complete official Workspace Browser and change only its data
17
26
  * projection plus mutations that are unsafe for one-to-one Managed owners.
18
27
  */
19
- export declare function ManagedOfficialWorkspaceBrowser({ adapter, OfficialBrowser, ...officialProps }: OfficialWorkspaceBrowserProps): import("react").JSX.Element;
28
+ export declare function ManagedOfficialWorkspaceBrowser({ adapter, OfficialBrowser, guard, ...officialProps }: OfficialWorkspaceBrowserProps): import("react").JSX.Element;
20
29
  interface SidebarRegistrationContext {
21
30
  slots: {
22
31
  inject(name: string, callback: () => unknown): void;
@@ -29,5 +38,5 @@ interface SidebarRegistrationContext {
29
38
  * replacing only its Browser component while preserving its declaration tree,
30
39
  * locale, picker, stores, and directory-flow authorization.
31
40
  */
32
- export declare function registerManagedWorkspaceSidebar(ctx: SidebarRegistrationContext, adapter: WorktreeConsoleAdapter): void;
41
+ export declare function registerManagedWorkspaceSidebar(ctx: SidebarRegistrationContext, adapter: WorktreeConsoleAdapter, applyWorkspace?: (ctx: Context) => void): void;
33
42
  export {};
@@ -1,20 +1,22 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ClientI18nProvider, useClientTranslator } from '../i18n.js';
3
- import { useEffect, useMemo, useState } from 'react';
3
+ import { useEffect, useLayoutEffect, useMemo, useState } from 'react';
4
4
  import { apply as applyOfficialWorkspace } from 'virtual:dsh-official-workspace-client';
5
5
  import { WORKTREE_REVIEW_REFRESH_EVENT } from '../review-console/status-events.js';
6
+ import { selectedSessionId } from '../actions.js';
6
7
  import { projectManagedWorkspaceSidebar } from './model.js';
7
8
  const EMPTY_TOPOLOGY = { projects: [] };
8
9
  /**
9
10
  * Preserve the complete official Workspace Browser and change only its data
10
11
  * projection plus mutations that are unsafe for one-to-one Managed owners.
11
12
  */
12
- export function ManagedOfficialWorkspaceBrowser({ adapter, OfficialBrowser, ...officialProps }) {
13
+ export function ManagedOfficialWorkspaceBrowser({ adapter, OfficialBrowser, guard, ...officialProps }) {
13
14
  const t = useClientTranslator();
14
15
  const props = officialProps;
15
16
  const workspaceState = props.useWorkspaces((state) => state);
16
17
  const sessionState = props.useSessions((state) => state);
17
18
  const [topology, setTopology] = useState(EMPTY_TOPOLOGY);
19
+ const [topologyVerified, setTopologyVerified] = useState(false);
18
20
  const workspaceKey = workspaceState.items
19
21
  .map(workspace => `${workspace.workspaceId}:${workspace.sessionIds.join(',')}`)
20
22
  .join('|');
@@ -22,29 +24,44 @@ export function ManagedOfficialWorkspaceBrowser({ adapter, OfficialBrowser, ...o
22
24
  useEffect(() => {
23
25
  let active = true;
24
26
  const refresh = () => {
27
+ if (guard)
28
+ guard.ready = false;
25
29
  void adapter.sidebarTopology().then(outcome => {
26
30
  if (!active)
27
31
  return;
28
32
  setTopology(outcome.ok ? outcome.value : EMPTY_TOPOLOGY);
33
+ setTopologyVerified(outcome.ok);
29
34
  }, () => {
30
- if (active)
35
+ if (active) {
31
36
  setTopology(EMPTY_TOPOLOGY);
37
+ setTopologyVerified(false);
38
+ }
32
39
  });
33
40
  };
34
41
  refresh();
35
42
  window.addEventListener(WORKTREE_REVIEW_REFRESH_EVENT, refresh);
36
43
  return () => {
37
44
  active = false;
45
+ if (guard)
46
+ guard.ready = false;
38
47
  window.removeEventListener(WORKTREE_REVIEW_REFRESH_EVENT, refresh);
39
48
  };
40
- }, [adapter, sessionKey, workspaceKey]);
49
+ }, [adapter, guard, sessionKey, workspaceKey]);
41
50
  const projection = useMemo(() => projectManagedWorkspaceSidebar({
42
51
  workspaces: workspaceState.items,
43
52
  sessions: sessionState.byId,
44
53
  topology,
45
54
  archivedSessionIds: workspaceState.archivedSessionIds,
46
- currentSessionId: sessionState.current,
47
- }, t), [sessionState.byId, sessionState.current, topology, workspaceState.items, workspaceState.archivedSessionIds, t]);
55
+ currentSessionId: selectedSessionId(sessionState),
56
+ }, t), [sessionState.byId, sessionState.ids, topology, workspaceState.items, workspaceState.archivedSessionIds, t]);
57
+ useLayoutEffect(() => {
58
+ if (!guard)
59
+ return;
60
+ guard.sessionIds = projection.protectedSessionIds;
61
+ guard.workspaceIds = projection.protectedWorkspaceIds;
62
+ guard.ready = topologyVerified;
63
+ return () => { guard.ready = false; };
64
+ }, [guard, projection, topologyVerified]);
48
65
  const projectedWorkspaceState = useMemo(() => ({
49
66
  ...workspaceState,
50
67
  items: projection.workspaces.map(workspace => projection.protectedWorkspaceIds.has(workspace.workspaceId)
@@ -98,15 +115,58 @@ export function ManagedOfficialWorkspaceBrowser({ adapter, OfficialBrowser, ...o
98
115
  await props.insertSessionBefore(workspaceId, sessionId, beforeSessionId);
99
116
  } });
100
117
  }
118
+ /**
119
+ * Resolve the directory picker service only when an action actually needs it.
120
+ * On the modern Host the picker provider entry waits for `uiWorkspace`, so the
121
+ * managed context may not have the service while `uiWorkspace` is starting;
122
+ * every picker call must therefore re-read the service at invocation time.
123
+ */
124
+ function deferredRemoteDirectoryPicker(ctx) {
125
+ const resolve = () => {
126
+ const get = ctx.get;
127
+ const picker = typeof get === 'function' ? get.call(ctx, 'remote.directoryPicker') : undefined;
128
+ if (picker === undefined || picker === null) {
129
+ throw new Error('The directory picker service is not active yet.');
130
+ }
131
+ return picker;
132
+ };
133
+ return new Proxy({}, {
134
+ get(_target, key) {
135
+ const picker = resolve();
136
+ const value = picker[key];
137
+ return typeof value === 'function' ? value.bind(picker) : value;
138
+ },
139
+ });
140
+ }
101
141
  function officialContextProxy(ctx, adapter) {
142
+ // Service-level guards also cover the newer official shortcut/menu seats,
143
+ // which call uiWorkspace directly rather than invoking Browser props.
144
+ const guard = {
145
+ ready: false,
146
+ sessionIds: new Set(),
147
+ workspaceIds: new Set(),
148
+ blockSession(id) { return !this.ready || this.sessionIds.has(id); },
149
+ blockWorkspace(id) { return !this.ready || this.workspaceIds.has(id); },
150
+ };
102
151
  const proxySlots = new Proxy(ctx.slots, {
103
152
  get(target, key, receiver) {
104
153
  if (key === 'register') {
105
154
  return (descriptor, component) => {
155
+ if ((descriptor.name === 'sidebar.workspaces.session.menu.item'
156
+ || descriptor.name === 'sidebar.workspaces.session.row.action')
157
+ && descriptor.id !== 'pin') {
158
+ // The only owner-safe built-in row action is pin. Third-party actions
159
+ // remain available on ordinary Sessions, but never on a managed owner.
160
+ const Action = component;
161
+ const GuardedAction = (props) => typeof props.sessionId === 'string' && !guard.blockSession(props.sessionId)
162
+ ? _jsx(Action, { ...props })
163
+ : null;
164
+ return target.register(descriptor, GuardedAction);
165
+ }
106
166
  if (descriptor.name !== 'sidebar.workspaces')
107
167
  return target.register(descriptor, component);
108
168
  const OfficialBrowser = component;
109
- const Browser = (props) => _jsx(ClientI18nProvider, { locale: typeof ctx.get === 'function' ? ctx.get('locale') : undefined, children: _jsx(ManagedOfficialWorkspaceBrowser, { ...props, adapter: adapter, OfficialBrowser: OfficialBrowser }) });
169
+ const Browser = (props) => _jsx(ClientI18nProvider, { locale: typeof ctx.get === 'function' ? ctx.get('locale') : undefined, children: _jsx(ManagedOfficialWorkspaceBrowser, { ...props, adapter: adapter, OfficialBrowser: OfficialBrowser, guard: guard }) });
110
170
  return target.register(descriptor, Browser);
111
171
  };
112
172
  }
@@ -117,6 +177,26 @@ function officialContextProxy(ctx, adapter) {
117
177
  get(target, key, receiver) {
118
178
  if (key === 'slots')
119
179
  return proxySlots;
180
+ if (key === 'remote' && target.remote !== undefined && target.remote !== null) {
181
+ // The official apply reads `ctx.remote.directoryPicker` once while
182
+ // constructing `uiWorkspace`; hand back a deferred facade so that the
183
+ // read never fails (and never blocks) before the picker activates.
184
+ const remote = target.remote;
185
+ return new Proxy(remote, {
186
+ get(remoteTarget, remoteKey, remoteReceiver) {
187
+ if (remoteKey === 'directoryPicker')
188
+ return deferredRemoteDirectoryPicker(ctx);
189
+ return Reflect.get(remoteTarget, remoteKey, remoteReceiver);
190
+ },
191
+ });
192
+ }
193
+ if (key === 'get' && typeof target.get === 'function') {
194
+ return (name) => name === '__dshGitWorktreeManagedGuard'
195
+ ? guard
196
+ : name === 'remote.directoryPicker'
197
+ ? deferredRemoteDirectoryPicker(ctx)
198
+ : target.get.call(target, name);
199
+ }
120
200
  return Reflect.get(target, key, receiver);
121
201
  },
122
202
  });
@@ -126,7 +206,7 @@ function officialContextProxy(ctx, adapter) {
126
206
  * replacing only its Browser component while preserving its declaration tree,
127
207
  * locale, picker, stores, and directory-flow authorization.
128
208
  */
129
- export function registerManagedWorkspaceSidebar(ctx, adapter) {
130
- applyOfficialWorkspace(officialContextProxy(ctx, adapter));
209
+ export function registerManagedWorkspaceSidebar(ctx, adapter, applyWorkspace = applyOfficialWorkspace) {
210
+ applyWorkspace(officialContextProxy(ctx, adapter));
131
211
  }
132
212
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/workspace-sidebar/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/workspace-sidebar/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAA;AAKzF,OAAO,EAAE,KAAK,IAAI,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAGvF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAA;AAE3D,MAAM,cAAc,GAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAwBxE;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAC9C,OAAO,EACP,eAAe,EACf,KAAK,EACL,GAAG,aAAa,EACc;IAC9B,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,aAAiD,CAAA;IAC/D,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,KAAyB,EAAE,EAAE,CAAC,KAAK,CAAuB,CAAA;IACtG,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAqB,CAAA;IAC9F,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAkC,cAAc,CAAC,CAAA;IACzF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK;SACtC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SAC9E,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAC9B,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,CAAC,MAAM;oBAAE,OAAM;gBACnB,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;gBACxD,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACjC,CAAC,EAAE,GAAG,EAAE;gBACN,IAAI,MAAM,EAAE,CAAC;oBACX,WAAW,CAAC,cAAc,CAAC,CAAA;oBAC3B,mBAAmB,CAAC,KAAK,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,OAAO,EAAE,CAAA;QACT,MAAM,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAA;QAC/D,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,KAAK,CAAA;YACd,IAAI,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;YAC9B,MAAM,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAA;QACpE,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;IAE9C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC;QAC9D,UAAU,EAAE,cAAc,CAAC,KAAK;QAChC,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,QAAQ;QACR,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;QACrD,gBAAgB,EAAE,iBAAiB,CAAC,YAAY,CAAC;KAClD,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAA;IAEnH,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,mBAAmB,CAAA;QACjD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,qBAAqB,CAAA;QACrD,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAA;QAC9B,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,CAAC,CAAA;IACtC,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAEzC,MAAM,uBAAuB,GAAG,OAAO,CAAqB,GAAG,EAAE,CAAC,CAAC;QACjE,GAAG,cAAc;QACjB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;YACvG,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,yBAAyB,EAAE,IAAI,EAAE;YACnD,CAAC,CAAC,SAAS,CAA2C;KACzD,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAqB,EAAE,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IAC9E,MAAM,qBAAqB,GAAG,OAAO,CAAmB,GAAG,EAAE;QAC3D,MAAM,IAAI,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAA;QACrC,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC,SAA8B,CAAC,CAAA;QACpG,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,SAA8B,CAAC,CAAA;YACpD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI;gBAAE,SAAQ;YAC/B,IAAI,CAAC,SAA8B,CAAC,GAAG;gBACrC,GAAG,OAAO;gBACV,sEAAsE;gBACtE,mEAAmE;gBACnE,gBAAgB,EAAE;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,aAAa,EAAE,OAAO,CAAC,YAAY;iBACO;aAC3B,CAAA;QACrB,CAAC;QACD,OAAO;YACL,GAAG,YAAY;YACf,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1F,IAAI;SACL,CAAA;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,EAAE,UAAU,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAA;IAElF,MAAM,sBAAsB,GAAG,CAAC,CAAK,QAA0C,EAAK,EAAE,CACpF,QAAQ,CAAC,uBAAuB,CAAC,CAA2C,CAAA;IAC9E,MAAM,oBAAoB,GAAG,CAAC,CAAK,QAAwC,EAAK,EAAE,CAChF,QAAQ,CAAC,qBAAqB,CAAC,CAAyC,CAAA;IAC1E,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAA;IACnD,MAAM,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAA;IAE9D,OAAO,KAAC,eAAe,OACjB,KAAK,EACT,aAAa,EAAE,sBAAsB,EACrC,WAAW,EAAE,oBAAoB,EACjC,YAAY,EAAE,KAAK,EAAE,WAAwB,EAAE,EAAE;YAC/C,IAAI,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,OAAM;YAClD,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC,EACD,WAAW,EAAE,CAAC,SAAoB,EAAE,EAAE;YACpC,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAM;YACvC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC,EACD,mBAAmB,EAAE,KAAK,EAAE,WAAwB,EAAE,SAAoB,EAAE,eAA2B,EAAE,EAAE;YACzG,IACE,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC;mBACnC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;mBAC3B,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC;mBAC7C,CAAC,eAAe,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;gBAChI,OAAM;YACR,MAAM,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;QAC1E,CAAC,GACD,CAAA;AACJ,CAAC;AAUD;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,GAA+B;IACpE,MAAM,OAAO,GAAG,GAA4B,EAAE;QAC5C,MAAM,GAAG,GAAI,GAA2C,CAAC,GAAG,CAAA;QAC5D,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC9F,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,MAAiC,CAAA;IAC1C,CAAC,CAAA;IACD,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;QACnB,GAAG,CAAC,OAAO,EAAE,GAAG;YACd,MAAM,MAAM,GAAG,OAAO,EAAE,CAAA;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAa,CAAC,CAAA;YACnC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAyC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACtG,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAA+B,EAC/B,OAA+B;IAE/B,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,KAAK,GAA0B;QACnC,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,YAAY,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;QAClE,cAAc,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;KACvE,CAAA;IACD,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE;QACtC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ;YACvB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAmC,EAAE,SAA6B,EAAW,EAAE;oBACrF,IACE,CAAC,UAAU,CAAC,IAAI,KAAK,sCAAsC;2BACtD,UAAU,CAAC,IAAI,KAAK,uCAAuC,CAAC;2BAC9D,UAAU,CAAC,EAAE,KAAK,KAAK,EAC1B,CAAC;wBACD,sEAAsE;wBACtE,uEAAuE;wBACvE,MAAM,MAAM,GAAG,SAAS,CAAA;wBACxB,MAAM,aAAa,GAAG,CAAC,KAA6B,EAAE,EAAE,CACtD,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;4BACzE,CAAC,CAAC,KAAC,MAAM,OAAK,KAAK,GAAI;4BACvB,CAAC,CAAC,IAAI,CAAA;wBACV,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;oBACnD,CAAC;oBACD,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAoB;wBAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;oBAC3F,MAAM,eAAe,GAAG,SAAiD,CAAA;oBACzE,MAAM,OAAO,GAAG,CAAC,KAA4B,EAAE,EAAE,CAAC,KAAC,kBAAkB,IAAC,MAAM,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,YAAE,KAAC,+BAA+B,OACvK,KAAK,EACT,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,KAAK,EAAE,KAAK,GACZ,GAAqB,CAAA;oBACvB,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAC7C,CAAC,CAAA;YACH,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;QACpB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ;YACvB,IAAI,GAAG,KAAK,OAAO;gBAAE,OAAO,UAAU,CAAA;YACtC,IAAI,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC9E,mEAAmE;gBACnE,sEAAsE;gBACtE,mEAAmE;gBACnE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAiC,CAAA;gBACvD,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;oBACvB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc;wBACzC,IAAI,SAAS,KAAK,iBAAiB;4BAAE,OAAO,6BAA6B,CAAC,GAAG,CAAC,CAAA;wBAC9E,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;oBAC7D,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,GAAG,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBACtD,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,8BAA8B;oBAC9D,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,KAAK,wBAAwB;wBACjC,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC;wBACpC,CAAC,CAAE,MAAM,CAAC,GAAoC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACvE,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC3C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,GAA+B,EAC/B,OAA+B,EAC/B,iBAAyC,sBAAsB;IAE/D,cAAc,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAuB,CAAC,CAAA;AAC1E,CAAC"}