@cluesmith/codev 2.0.2 → 2.0.3

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 (209) hide show
  1. package/dashboard/dist/assets/{index-b38SaXk5.js → index-UsH9ixz1.js} +20 -20
  2. package/dashboard/dist/assets/index-UsH9ixz1.js.map +1 -0
  3. package/dashboard/dist/index.html +1 -1
  4. package/dist/agent-farm/cli.js +1 -1
  5. package/dist/agent-farm/cli.js.map +1 -1
  6. package/dist/agent-farm/commands/architect.d.ts +1 -1
  7. package/dist/agent-farm/commands/architect.js +3 -3
  8. package/dist/agent-farm/commands/architect.js.map +1 -1
  9. package/dist/agent-farm/commands/attach.js +1 -1
  10. package/dist/agent-farm/commands/attach.js.map +1 -1
  11. package/dist/agent-farm/commands/cleanup.js +6 -6
  12. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  13. package/dist/agent-farm/commands/open.js +5 -5
  14. package/dist/agent-farm/commands/open.js.map +1 -1
  15. package/dist/agent-farm/commands/send.js +5 -5
  16. package/dist/agent-farm/commands/send.js.map +1 -1
  17. package/dist/agent-farm/commands/shell.js +5 -5
  18. package/dist/agent-farm/commands/shell.js.map +1 -1
  19. package/dist/agent-farm/commands/spawn-worktree.d.ts +1 -1
  20. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  21. package/dist/agent-farm/commands/spawn-worktree.js +8 -8
  22. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  23. package/dist/agent-farm/commands/spawn.js +3 -3
  24. package/dist/agent-farm/commands/spawn.js.map +1 -1
  25. package/dist/agent-farm/commands/start.d.ts +4 -4
  26. package/dist/agent-farm/commands/start.js +16 -16
  27. package/dist/agent-farm/commands/start.js.map +1 -1
  28. package/dist/agent-farm/commands/status.d.ts +1 -1
  29. package/dist/agent-farm/commands/status.js +16 -16
  30. package/dist/agent-farm/commands/status.js.map +1 -1
  31. package/dist/agent-farm/commands/stop.d.ts +4 -4
  32. package/dist/agent-farm/commands/stop.js +9 -9
  33. package/dist/agent-farm/commands/stop.js.map +1 -1
  34. package/dist/agent-farm/db/index.d.ts.map +1 -1
  35. package/dist/agent-farm/db/index.js +82 -7
  36. package/dist/agent-farm/db/index.js.map +1 -1
  37. package/dist/agent-farm/db/schema.d.ts +2 -2
  38. package/dist/agent-farm/db/schema.d.ts.map +1 -1
  39. package/dist/agent-farm/db/schema.js +21 -4
  40. package/dist/agent-farm/db/schema.js.map +1 -1
  41. package/dist/agent-farm/lib/tower-client.d.ts +20 -20
  42. package/dist/agent-farm/lib/tower-client.d.ts.map +1 -1
  43. package/dist/agent-farm/lib/tower-client.js +25 -25
  44. package/dist/agent-farm/lib/tower-client.js.map +1 -1
  45. package/dist/agent-farm/lib/tunnel-client.d.ts +12 -2
  46. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
  47. package/dist/agent-farm/lib/tunnel-client.js +59 -1
  48. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  49. package/dist/agent-farm/servers/tower-instances.d.ts +18 -18
  50. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  51. package/dist/agent-farm/servers/tower-instances.js +89 -89
  52. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  53. package/dist/agent-farm/servers/tower-routes.d.ts +1 -1
  54. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  55. package/dist/agent-farm/servers/tower-routes.js +184 -162
  56. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  57. package/dist/agent-farm/servers/tower-server.js +23 -19
  58. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  59. package/dist/agent-farm/servers/tower-terminals.d.ts +27 -29
  60. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  61. package/dist/agent-farm/servers/tower-terminals.js +95 -116
  62. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  63. package/dist/agent-farm/servers/tower-tunnel.d.ts +2 -2
  64. package/dist/agent-farm/servers/tower-tunnel.d.ts.map +1 -1
  65. package/dist/agent-farm/servers/tower-tunnel.js +12 -12
  66. package/dist/agent-farm/servers/tower-tunnel.js.map +1 -1
  67. package/dist/agent-farm/servers/tower-types.d.ts +8 -10
  68. package/dist/agent-farm/servers/tower-types.d.ts.map +1 -1
  69. package/dist/agent-farm/servers/tower-utils.d.ts +9 -9
  70. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
  71. package/dist/agent-farm/servers/tower-utils.js +18 -18
  72. package/dist/agent-farm/servers/tower-utils.js.map +1 -1
  73. package/dist/agent-farm/servers/tower-websocket.d.ts +2 -2
  74. package/dist/agent-farm/servers/tower-websocket.js +14 -14
  75. package/dist/agent-farm/servers/tower-websocket.js.map +1 -1
  76. package/dist/agent-farm/types.d.ts +2 -2
  77. package/dist/agent-farm/types.d.ts.map +1 -1
  78. package/dist/agent-farm/utils/config.d.ts +1 -1
  79. package/dist/agent-farm/utils/config.d.ts.map +1 -1
  80. package/dist/agent-farm/utils/config.js +16 -16
  81. package/dist/agent-farm/utils/config.js.map +1 -1
  82. package/dist/agent-farm/utils/file-tabs.d.ts +3 -3
  83. package/dist/agent-farm/utils/file-tabs.d.ts.map +1 -1
  84. package/dist/agent-farm/utils/file-tabs.js +9 -9
  85. package/dist/agent-farm/utils/file-tabs.js.map +1 -1
  86. package/dist/agent-farm/utils/gate-status.d.ts +2 -2
  87. package/dist/agent-farm/utils/gate-status.d.ts.map +1 -1
  88. package/dist/agent-farm/utils/gate-status.js +3 -3
  89. package/dist/agent-farm/utils/gate-status.js.map +1 -1
  90. package/dist/agent-farm/utils/index.d.ts +0 -1
  91. package/dist/agent-farm/utils/index.d.ts.map +1 -1
  92. package/dist/agent-farm/utils/index.js +0 -1
  93. package/dist/agent-farm/utils/index.js.map +1 -1
  94. package/dist/agent-farm/utils/notifications.d.ts +4 -4
  95. package/dist/agent-farm/utils/notifications.d.ts.map +1 -1
  96. package/dist/agent-farm/utils/notifications.js +18 -18
  97. package/dist/agent-farm/utils/notifications.js.map +1 -1
  98. package/dist/commands/adopt.d.ts +2 -2
  99. package/dist/commands/adopt.d.ts.map +1 -1
  100. package/dist/commands/adopt.js +13 -3
  101. package/dist/commands/adopt.js.map +1 -1
  102. package/dist/commands/consult/index.d.ts +1 -1
  103. package/dist/commands/consult/index.d.ts.map +1 -1
  104. package/dist/commands/consult/index.js +52 -51
  105. package/dist/commands/consult/index.js.map +1 -1
  106. package/dist/commands/doctor.js +6 -6
  107. package/dist/commands/doctor.js.map +1 -1
  108. package/dist/commands/import.js +4 -4
  109. package/dist/commands/import.js.map +1 -1
  110. package/dist/commands/init.d.ts +2 -2
  111. package/dist/commands/init.d.ts.map +1 -1
  112. package/dist/commands/init.js +13 -3
  113. package/dist/commands/init.js.map +1 -1
  114. package/dist/commands/porch/index.d.ts +6 -6
  115. package/dist/commands/porch/index.d.ts.map +1 -1
  116. package/dist/commands/porch/index.js +37 -37
  117. package/dist/commands/porch/index.js.map +1 -1
  118. package/dist/commands/porch/next.d.ts +1 -1
  119. package/dist/commands/porch/next.d.ts.map +1 -1
  120. package/dist/commands/porch/next.js +43 -40
  121. package/dist/commands/porch/next.js.map +1 -1
  122. package/dist/commands/porch/notify.d.ts +11 -0
  123. package/dist/commands/porch/notify.d.ts.map +1 -0
  124. package/dist/commands/porch/notify.js +30 -0
  125. package/dist/commands/porch/notify.js.map +1 -0
  126. package/dist/commands/porch/plan.d.ts +1 -1
  127. package/dist/commands/porch/plan.d.ts.map +1 -1
  128. package/dist/commands/porch/plan.js +3 -3
  129. package/dist/commands/porch/plan.js.map +1 -1
  130. package/dist/commands/porch/prompts.d.ts +1 -1
  131. package/dist/commands/porch/prompts.d.ts.map +1 -1
  132. package/dist/commands/porch/prompts.js +13 -13
  133. package/dist/commands/porch/prompts.js.map +1 -1
  134. package/dist/commands/porch/protocol.d.ts +1 -1
  135. package/dist/commands/porch/protocol.d.ts.map +1 -1
  136. package/dist/commands/porch/protocol.js +6 -6
  137. package/dist/commands/porch/protocol.js.map +1 -1
  138. package/dist/commands/porch/state.d.ts +6 -6
  139. package/dist/commands/porch/state.d.ts.map +1 -1
  140. package/dist/commands/porch/state.js +11 -11
  141. package/dist/commands/porch/state.js.map +1 -1
  142. package/dist/commands/update.d.ts.map +1 -1
  143. package/dist/commands/update.js +10 -1
  144. package/dist/commands/update.js.map +1 -1
  145. package/dist/lib/scaffold.d.ts +13 -0
  146. package/dist/lib/scaffold.d.ts.map +1 -1
  147. package/dist/lib/scaffold.js +34 -0
  148. package/dist/lib/scaffold.js.map +1 -1
  149. package/dist/lib/skeleton.d.ts +7 -7
  150. package/dist/lib/skeleton.d.ts.map +1 -1
  151. package/dist/lib/skeleton.js +10 -10
  152. package/dist/lib/skeleton.js.map +1 -1
  153. package/dist/terminal/pty-manager.d.ts +1 -1
  154. package/dist/terminal/pty-manager.d.ts.map +1 -1
  155. package/dist/terminal/pty-manager.js +3 -3
  156. package/dist/terminal/pty-manager.js.map +1 -1
  157. package/package.json +1 -1
  158. package/templates/open.html +13 -13
  159. package/templates/tower.html +54 -54
  160. package/templates/vendor/marked.min.js +6 -0
  161. package/templates/vendor/prism-bash.min.js +1 -0
  162. package/templates/vendor/prism-css.min.js +1 -0
  163. package/templates/vendor/prism-javascript.min.js +1 -0
  164. package/templates/vendor/prism-json.min.js +1 -0
  165. package/templates/vendor/prism-markdown.min.js +1 -0
  166. package/templates/vendor/prism-markup.min.js +1 -0
  167. package/templates/vendor/prism-python.min.js +1 -0
  168. package/templates/vendor/prism-tomorrow.min.css +1 -0
  169. package/templates/vendor/prism-typescript.min.js +1 -0
  170. package/templates/vendor/prism-yaml.min.js +1 -0
  171. package/templates/vendor/prism.min.js +1 -0
  172. package/templates/vendor/purify.min.js +3 -0
  173. package/dashboard/dist/assets/index-b38SaXk5.js.map +0 -1
  174. package/dist/agent-farm/hq-connector.d.ts +0 -19
  175. package/dist/agent-farm/hq-connector.d.ts.map +0 -1
  176. package/dist/agent-farm/hq-connector.js +0 -351
  177. package/dist/agent-farm/hq-connector.js.map +0 -1
  178. package/dist/agent-farm/utils/deps.d.ts +0 -51
  179. package/dist/agent-farm/utils/deps.d.ts.map +0 -1
  180. package/dist/agent-farm/utils/deps.js +0 -162
  181. package/dist/agent-farm/utils/deps.js.map +0 -1
  182. package/dist/agent-farm/utils/gate-watcher.d.ts +0 -38
  183. package/dist/agent-farm/utils/gate-watcher.d.ts.map +0 -1
  184. package/dist/agent-farm/utils/gate-watcher.js +0 -122
  185. package/dist/agent-farm/utils/gate-watcher.js.map +0 -1
  186. package/dist/agent-farm/utils/session.d.ts +0 -32
  187. package/dist/agent-farm/utils/session.d.ts.map +0 -1
  188. package/dist/agent-farm/utils/session.js +0 -57
  189. package/dist/agent-farm/utils/session.js.map +0 -1
  190. package/dist/lib/projectlist-parser.d.ts +0 -70
  191. package/dist/lib/projectlist-parser.d.ts.map +0 -1
  192. package/dist/lib/projectlist-parser.js +0 -200
  193. package/dist/lib/projectlist-parser.js.map +0 -1
  194. package/templates/dashboard/css/dialogs.css +0 -149
  195. package/templates/dashboard/css/files.css +0 -558
  196. package/templates/dashboard/css/layout.css +0 -133
  197. package/templates/dashboard/css/projects.css +0 -501
  198. package/templates/dashboard/css/statusbar.css +0 -23
  199. package/templates/dashboard/css/tabs.css +0 -314
  200. package/templates/dashboard/css/utilities.css +0 -50
  201. package/templates/dashboard/css/variables.css +0 -45
  202. package/templates/dashboard/index.html +0 -149
  203. package/templates/dashboard/js/dialogs.js +0 -368
  204. package/templates/dashboard/js/files.js +0 -448
  205. package/templates/dashboard/js/main.js +0 -476
  206. package/templates/dashboard/js/projects.js +0 -544
  207. package/templates/dashboard/js/state.js +0 -91
  208. package/templates/dashboard/js/tabs.js +0 -518
  209. package/templates/dashboard/js/utils.js +0 -191
@@ -1,558 +0,0 @@
1
- /* File Tree, File Search, Cmd+P Palette */
2
-
3
- /* Tree Styles (used by dashboard file browser) */
4
- .tree-item {
5
- display: flex;
6
- align-items: center;
7
- padding: 4px 8px;
8
- cursor: pointer;
9
- user-select: none;
10
- }
11
-
12
- .tree-item:hover {
13
- background: var(--bg-secondary);
14
- }
15
-
16
- .tree-item.selected {
17
- background: var(--tab-active);
18
- }
19
-
20
- .tree-item-icon {
21
- width: 16px;
22
- height: 16px;
23
- margin-right: 4px;
24
- display: flex;
25
- align-items: center;
26
- justify-content: center;
27
- font-size: 10px;
28
- color: var(--text-muted);
29
- }
30
-
31
- .tree-item-icon.folder-toggle {
32
- cursor: pointer;
33
- }
34
-
35
- .tree-item-icon.folder-toggle:hover {
36
- color: var(--text-secondary);
37
- }
38
-
39
- .tree-item-name {
40
- font-size: 13px;
41
- color: var(--text-secondary);
42
- overflow: hidden;
43
- text-overflow: ellipsis;
44
- white-space: nowrap;
45
- }
46
-
47
- .tree-item:hover .tree-item-name {
48
- color: var(--text-primary);
49
- }
50
-
51
- .tree-item[data-type="dir"] .tree-item-name {
52
- color: var(--text-primary);
53
- }
54
-
55
- .tree-item[data-type="file"]:hover .tree-item-name {
56
- color: var(--accent);
57
- }
58
-
59
- .tree-children {
60
- overflow: hidden;
61
- }
62
-
63
- .tree-children.collapsed {
64
- display: none;
65
- }
66
-
67
- /* Dashboard Tab Styles (Spec 0057) */
68
- .dashboard-container {
69
- flex: 1;
70
- overflow-y: auto;
71
- display: flex;
72
- flex-direction: column;
73
- }
74
-
75
- .dashboard-header {
76
- display: flex;
77
- gap: 16px;
78
- padding: 16px;
79
- flex-shrink: 0;
80
- }
81
-
82
- @media (max-width: 900px) {
83
- .dashboard-header {
84
- flex-direction: column;
85
- }
86
- }
87
-
88
- /* Collapsible section styles */
89
- .dashboard-section {
90
- background: var(--bg-secondary);
91
- border: 1px solid var(--border);
92
- border-radius: 8px;
93
- overflow: hidden;
94
- display: flex;
95
- flex-direction: column;
96
- }
97
-
98
- .dashboard-section.section-tabs,
99
- .dashboard-section.section-files {
100
- flex: 1;
101
- max-height: 280px;
102
- }
103
-
104
- .dashboard-section.section-projects {
105
- flex: 0 0 auto;
106
- margin: 0 16px 16px 16px;
107
- max-height: 50%;
108
- overflow-y: auto;
109
- }
110
-
111
- .dashboard-section.section-projects .dashboard-section-content {
112
- flex: 0 0 auto;
113
- }
114
-
115
- /* Tabs/Files expand to fill remaining space above Projects */
116
- .dashboard-header {
117
- flex: 1;
118
- min-height: 0;
119
- }
120
-
121
- .dashboard-section.section-tabs,
122
- .dashboard-section.section-files {
123
- max-height: none;
124
- }
125
-
126
- .dashboard-section-header {
127
- display: flex;
128
- justify-content: space-between;
129
- align-items: center;
130
- padding: 8px 12px;
131
- cursor: pointer;
132
- user-select: none;
133
- flex-shrink: 0;
134
- border-bottom: 1px solid var(--border);
135
- }
136
-
137
- .dashboard-section-header:hover {
138
- background: var(--bg-tertiary);
139
- }
140
-
141
- .dashboard-section-header h3 {
142
- font-size: 12px;
143
- text-transform: uppercase;
144
- color: var(--text-muted);
145
- letter-spacing: 0.5px;
146
- margin: 0;
147
- display: flex;
148
- align-items: center;
149
- gap: 6px;
150
- }
151
-
152
- .dashboard-section-header .collapse-icon {
153
- font-size: 10px;
154
- transition: transform 0.2s;
155
- }
156
-
157
- .dashboard-section.collapsed .collapse-icon {
158
- transform: rotate(-90deg);
159
- }
160
-
161
- .dashboard-section.collapsed .dashboard-section-header {
162
- border-bottom: none;
163
- }
164
-
165
- .dashboard-section-header .header-actions {
166
- display: flex;
167
- gap: 4px;
168
- }
169
-
170
- .dashboard-section-header .header-actions button {
171
- padding: 4px 8px;
172
- border-radius: 4px;
173
- border: 1px solid var(--border);
174
- background: var(--bg-tertiary);
175
- color: var(--text-secondary);
176
- cursor: pointer;
177
- font-size: 11px;
178
- }
179
-
180
- .dashboard-section-header .header-actions button:hover {
181
- background: var(--tab-hover);
182
- color: var(--text-primary);
183
- }
184
-
185
- .dashboard-section-header .header-actions .btn-create {
186
- color: var(--accent);
187
- font-weight: 500;
188
- border-style: dashed;
189
- }
190
-
191
- .dashboard-section-header .header-actions .btn-create:hover {
192
- border-color: var(--accent);
193
- }
194
-
195
- .dashboard-section-content {
196
- flex: 1;
197
- overflow-y: auto;
198
- padding: 8px 12px;
199
- }
200
-
201
- .dashboard-section.collapsed .dashboard-section-content {
202
- display: none;
203
- }
204
-
205
- /* Legacy support */
206
- .dashboard-column {
207
- background: var(--bg-secondary);
208
- border: 1px solid var(--border);
209
- border-radius: 8px;
210
- padding: 12px;
211
- overflow: hidden;
212
- display: flex;
213
- flex-direction: column;
214
- max-height: 280px;
215
- }
216
-
217
- .dashboard-column-header {
218
- display: flex;
219
- justify-content: space-between;
220
- align-items: center;
221
- margin-bottom: 8px;
222
- flex-shrink: 0;
223
- }
224
-
225
- .dashboard-column-header h3 {
226
- font-size: 12px;
227
- text-transform: uppercase;
228
- color: var(--text-muted);
229
- letter-spacing: 0.5px;
230
- margin: 0;
231
- }
232
-
233
- .dashboard-column-header .header-actions {
234
- display: flex;
235
- gap: 4px;
236
- }
237
-
238
- .dashboard-column-header .header-actions button {
239
- padding: 4px 8px;
240
- border-radius: 4px;
241
- border: 1px solid var(--border);
242
- background: var(--bg-tertiary);
243
- color: var(--text-secondary);
244
- cursor: pointer;
245
- font-size: 11px;
246
- }
247
-
248
- .dashboard-column-header .header-actions button:hover {
249
- background: var(--tab-hover);
250
- color: var(--text-primary);
251
- }
252
-
253
- .dashboard-tabs-list {
254
- flex: 1;
255
- overflow-y: auto;
256
- margin-bottom: 8px;
257
- }
258
-
259
- .dashboard-tab-item {
260
- display: flex;
261
- align-items: center;
262
- gap: 8px;
263
- padding: 6px 8px;
264
- border-radius: 4px;
265
- cursor: pointer;
266
- font-size: 13px;
267
- color: var(--text-secondary);
268
- }
269
-
270
- .dashboard-tab-item:hover {
271
- background: var(--bg-tertiary);
272
- }
273
-
274
- .dashboard-tab-item.active {
275
- background: var(--accent);
276
- color: white;
277
- }
278
-
279
- .dashboard-tab-item .tab-icon {
280
- font-size: 14px;
281
- flex-shrink: 0;
282
- }
283
-
284
- .dashboard-tab-item .tab-name {
285
- flex: 1;
286
- overflow: hidden;
287
- text-overflow: ellipsis;
288
- white-space: nowrap;
289
- }
290
-
291
- .dashboard-actions {
292
- flex-shrink: 0;
293
- display: flex;
294
- gap: 8px;
295
- }
296
-
297
- .dashboard-actions .btn-action {
298
- flex: 1;
299
- padding: 8px 12px;
300
- border-radius: 4px;
301
- border: 1px dashed var(--border);
302
- background: transparent;
303
- color: var(--text-muted);
304
- cursor: pointer;
305
- font-size: 12px;
306
- display: flex;
307
- align-items: center;
308
- justify-content: center;
309
- gap: 4px;
310
- }
311
-
312
- .dashboard-actions .btn-action:hover {
313
- border-style: solid;
314
- color: var(--text-secondary);
315
- background: var(--bg-tertiary);
316
- }
317
-
318
- .dashboard-files-list {
319
- flex: 1;
320
- overflow-y: auto;
321
- }
322
-
323
- .dashboard-files-list .tree-item {
324
- padding: 3px 6px;
325
- font-size: 12px;
326
- }
327
-
328
- .dashboard-files-list .tree-item-name {
329
- font-size: 12px;
330
- }
331
-
332
- /* File search styles (Spec 0058) */
333
- .files-search-container {
334
- display: flex;
335
- align-items: center;
336
- padding: 6px 8px;
337
- gap: 6px;
338
- border-bottom: 1px solid var(--border);
339
- }
340
-
341
- .files-search-input {
342
- flex: 1;
343
- background: var(--bg-tertiary);
344
- border: 1px solid var(--border);
345
- border-radius: 4px;
346
- padding: 6px 10px;
347
- font-size: 12px;
348
- color: var(--text-primary);
349
- outline: none;
350
- }
351
-
352
- .files-search-input:focus {
353
- border-color: var(--accent);
354
- }
355
-
356
- .files-search-input::placeholder {
357
- color: var(--text-muted);
358
- }
359
-
360
- .files-search-clear {
361
- background: transparent;
362
- border: none;
363
- color: var(--text-muted);
364
- cursor: pointer;
365
- font-size: 14px;
366
- padding: 2px 6px;
367
- border-radius: 4px;
368
- line-height: 1;
369
- }
370
-
371
- .files-search-clear:hover {
372
- color: var(--text-primary);
373
- background: var(--bg-tertiary);
374
- }
375
-
376
- .files-search-clear.hidden {
377
- display: none;
378
- }
379
-
380
- .files-search-results {
381
- flex: 1;
382
- overflow-y: auto;
383
- }
384
-
385
- .files-search-result {
386
- padding: 6px 12px;
387
- cursor: pointer;
388
- display: flex;
389
- flex-direction: column;
390
- gap: 2px;
391
- }
392
-
393
- .files-search-result:hover,
394
- .files-search-result.selected {
395
- background: var(--bg-tertiary);
396
- }
397
-
398
- .files-search-result-name {
399
- font-size: 12px;
400
- color: var(--text-primary);
401
- }
402
-
403
- .files-search-result-path {
404
- font-size: 11px;
405
- color: var(--text-muted);
406
- overflow: hidden;
407
- text-overflow: ellipsis;
408
- white-space: nowrap;
409
- }
410
-
411
- .files-search-highlight {
412
- color: var(--accent);
413
- font-weight: 500;
414
- }
415
-
416
- /* Cmd+P Palette styles (Spec 0058) */
417
- .file-palette {
418
- position: fixed;
419
- inset: 0;
420
- z-index: 1000;
421
- display: flex;
422
- justify-content: center;
423
- padding-top: 80px;
424
- }
425
-
426
- .file-palette.hidden {
427
- display: none;
428
- }
429
-
430
- .file-palette-backdrop {
431
- position: absolute;
432
- inset: 0;
433
- background: rgba(0, 0, 0, 0.5);
434
- }
435
-
436
- .file-palette-container {
437
- position: relative;
438
- width: 500px;
439
- max-width: 90vw;
440
- max-height: 450px;
441
- background: var(--bg-secondary);
442
- border: 1px solid var(--border);
443
- border-radius: 8px;
444
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
445
- display: flex;
446
- flex-direction: column;
447
- overflow: hidden;
448
- }
449
-
450
- .file-palette-input {
451
- width: 100%;
452
- padding: 14px 16px;
453
- background: var(--bg-tertiary);
454
- border: none;
455
- border-bottom: 1px solid var(--border);
456
- font-size: 14px;
457
- color: var(--text-primary);
458
- outline: none;
459
- }
460
-
461
- .file-palette-input::placeholder {
462
- color: var(--text-muted);
463
- }
464
-
465
- .file-palette-results {
466
- flex: 1;
467
- overflow-y: auto;
468
- max-height: 380px;
469
- }
470
-
471
- .file-palette-result {
472
- padding: 10px 16px;
473
- cursor: pointer;
474
- display: flex;
475
- flex-direction: column;
476
- gap: 2px;
477
- }
478
-
479
- .file-palette-result:hover,
480
- .file-palette-result.selected {
481
- background: var(--bg-tertiary);
482
- }
483
-
484
- .file-palette-result-name {
485
- font-size: 13px;
486
- color: var(--text-primary);
487
- }
488
-
489
- .file-palette-result-path {
490
- font-size: 12px;
491
- color: var(--text-muted);
492
- overflow: hidden;
493
- text-overflow: ellipsis;
494
- white-space: nowrap;
495
- }
496
-
497
- .file-palette-empty {
498
- padding: 16px;
499
- text-align: center;
500
- color: var(--text-muted);
501
- font-size: 13px;
502
- }
503
-
504
- .dashboard-empty-state {
505
- color: var(--text-muted);
506
- font-size: 13px;
507
- padding: 12px;
508
- text-align: center;
509
- }
510
-
511
- /* Action items for creating new shells/worktrees */
512
- .dashboard-tab-action {
513
- border: 1px dashed var(--border);
514
- margin-bottom: 4px;
515
- color: var(--text-muted);
516
- }
517
-
518
- .dashboard-tab-action:hover {
519
- border-style: solid;
520
- border-color: var(--accent);
521
- color: var(--text-secondary);
522
- }
523
-
524
- .dashboard-tab-action .tab-icon {
525
- color: var(--accent);
526
- font-weight: 500;
527
- }
528
-
529
- /* Status indicators in dashboard tab list */
530
- .dashboard-status-indicator {
531
- width: 8px;
532
- height: 8px;
533
- border-radius: 50%;
534
- flex-shrink: 0;
535
- }
536
-
537
- .dashboard-status-working {
538
- background: var(--status-active);
539
- animation: status-pulse 2s ease-in-out infinite;
540
- }
541
-
542
- .dashboard-status-idle {
543
- background: var(--status-waiting);
544
- animation: status-blink-slow 3s ease-in-out infinite;
545
- }
546
-
547
- .dashboard-status-blocked {
548
- background: var(--status-error);
549
- animation: status-blink-fast 0.8s ease-in-out infinite;
550
- }
551
-
552
- @media (prefers-reduced-motion: reduce) {
553
- .dashboard-status-working,
554
- .dashboard-status-idle,
555
- .dashboard-status-blocked {
556
- animation: none;
557
- }
558
- }
@@ -1,133 +0,0 @@
1
- /* Dashboard Layout - Header, Main, Panes */
2
-
3
- /* Header */
4
- .header {
5
- display: flex;
6
- justify-content: space-between;
7
- align-items: center;
8
- padding: 12px 16px;
9
- background: var(--bg-secondary);
10
- border-bottom: 1px solid var(--border);
11
- }
12
-
13
- .header h1 {
14
- font-size: 16px;
15
- font-weight: 600;
16
- }
17
-
18
- .header-actions {
19
- display: flex;
20
- gap: 8px;
21
- }
22
-
23
- .btn {
24
- padding: 6px 12px;
25
- border-radius: 4px;
26
- border: 1px solid var(--border);
27
- background: var(--bg-tertiary);
28
- color: var(--text-secondary);
29
- cursor: pointer;
30
- font-size: 13px;
31
- }
32
-
33
- .btn:hover {
34
- background: var(--tab-active);
35
- }
36
-
37
- .btn-danger {
38
- border-color: #ef4444;
39
- color: #ef4444;
40
- }
41
-
42
- .btn-danger:hover {
43
- background: rgba(239, 68, 68, 0.1);
44
- }
45
-
46
- .btn-primary {
47
- border-color: var(--accent);
48
- color: var(--accent);
49
- }
50
-
51
- .btn-primary:hover {
52
- background: rgba(59, 130, 246, 0.1);
53
- }
54
-
55
- /* Main content area */
56
- .main {
57
- display: flex;
58
- flex: 1;
59
- overflow: hidden;
60
- }
61
-
62
- /* Left pane - Architect */
63
- .left-pane {
64
- width: 50%;
65
- min-width: 20%;
66
- max-width: 80%;
67
- resize: horizontal;
68
- overflow: auto;
69
- border-right: 1px solid var(--border);
70
- display: flex;
71
- flex-direction: column;
72
- }
73
-
74
- .pane-header {
75
- padding: 8px 12px;
76
- background: var(--bg-secondary);
77
- border-bottom: 1px solid var(--border);
78
- font-size: 12px;
79
- color: var(--text-muted);
80
- text-transform: uppercase;
81
- letter-spacing: 0.5px;
82
- display: flex;
83
- align-items: center;
84
- gap: 6px;
85
- }
86
-
87
- .pane-header .status-dot {
88
- width: 8px;
89
- height: 8px;
90
- border-radius: 50%;
91
- background: var(--status-active);
92
- }
93
-
94
- .pane-header .status-dot.inactive {
95
- background: var(--text-muted);
96
- }
97
-
98
- #architect-content {
99
- flex: 1;
100
- display: flex;
101
- flex-direction: column;
102
- }
103
-
104
- .left-pane iframe {
105
- flex: 1;
106
- width: 100%;
107
- border: none;
108
- background: #000;
109
- }
110
-
111
- .architect-placeholder {
112
- flex: 1;
113
- display: flex;
114
- flex-direction: column;
115
- align-items: center;
116
- justify-content: center;
117
- color: var(--text-muted);
118
- gap: 16px;
119
- }
120
-
121
- .architect-placeholder code {
122
- background: var(--bg-tertiary);
123
- padding: 4px 8px;
124
- border-radius: 4px;
125
- font-size: 13px;
126
- }
127
-
128
- /* Right pane - Tabs */
129
- .right-pane {
130
- width: 50%;
131
- display: flex;
132
- flex-direction: column;
133
- }