agentcrew-ai 0.8.13__py3-none-any.whl → 0.9.0__py3-none-any.whl

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 (40) hide show
  1. AgentCrew/__init__.py +1 -1
  2. AgentCrew/app.py +34 -633
  3. AgentCrew/main_docker.py +1 -30
  4. AgentCrew/modules/agents/local_agent.py +2 -2
  5. AgentCrew/modules/chat/message/command_processor.py +33 -8
  6. AgentCrew/modules/chat/message/handler.py +5 -1
  7. AgentCrew/modules/console/completers.py +1 -1
  8. AgentCrew/modules/console/console_ui.py +6 -11
  9. AgentCrew/modules/console/conversation_browser/__init__.py +9 -0
  10. AgentCrew/modules/console/conversation_browser/browser.py +84 -0
  11. AgentCrew/modules/console/conversation_browser/browser_input_handler.py +279 -0
  12. AgentCrew/modules/console/{conversation_browser.py → conversation_browser/browser_ui.py} +249 -163
  13. AgentCrew/modules/console/conversation_handler.py +34 -1
  14. AgentCrew/modules/console/display_handlers.py +123 -7
  15. AgentCrew/modules/gui/components/command_handler.py +137 -29
  16. AgentCrew/modules/gui/themes/README.md +30 -14
  17. AgentCrew/modules/gui/themes/__init__.py +2 -1
  18. AgentCrew/modules/gui/themes/atom_light.yaml +1287 -0
  19. AgentCrew/modules/gui/themes/catppuccin.yaml +1276 -0
  20. AgentCrew/modules/gui/themes/dracula.yaml +1262 -0
  21. AgentCrew/modules/gui/themes/nord.yaml +1267 -0
  22. AgentCrew/modules/gui/themes/saigontech.yaml +1268 -0
  23. AgentCrew/modules/gui/themes/style_provider.py +76 -264
  24. AgentCrew/modules/gui/themes/theme_loader.py +379 -0
  25. AgentCrew/modules/gui/themes/unicorn.yaml +1276 -0
  26. AgentCrew/modules/gui/widgets/configs/global_settings.py +3 -4
  27. AgentCrew/modules/llm/constants.py +13 -4
  28. AgentCrew/setup.py +470 -0
  29. {agentcrew_ai-0.8.13.dist-info → agentcrew_ai-0.9.0.dist-info}/METADATA +1 -1
  30. {agentcrew_ai-0.8.13.dist-info → agentcrew_ai-0.9.0.dist-info}/RECORD +34 -29
  31. {agentcrew_ai-0.8.13.dist-info → agentcrew_ai-0.9.0.dist-info}/WHEEL +1 -1
  32. AgentCrew/modules/gui/themes/atom_light.py +0 -1365
  33. AgentCrew/modules/gui/themes/catppuccin.py +0 -1404
  34. AgentCrew/modules/gui/themes/dracula.py +0 -1372
  35. AgentCrew/modules/gui/themes/nord.py +0 -1365
  36. AgentCrew/modules/gui/themes/saigontech.py +0 -1359
  37. AgentCrew/modules/gui/themes/unicorn.py +0 -1372
  38. {agentcrew_ai-0.8.13.dist-info → agentcrew_ai-0.9.0.dist-info}/entry_points.txt +0 -0
  39. {agentcrew_ai-0.8.13.dist-info → agentcrew_ai-0.9.0.dist-info}/licenses/LICENSE +0 -0
  40. {agentcrew_ai-0.8.13.dist-info → agentcrew_ai-0.9.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1262 @@
1
+ name: Dracula
2
+ description: Dracula dark theme
3
+
4
+ colors:
5
+ background: "#282A36"
6
+ current_line: "#44475A"
7
+ foreground: "#F8F8F2"
8
+ comment: "#6272A4"
9
+ cyan: "#8BE9FD"
10
+ green: "#50FA7B"
11
+ orange: "#FFB86C"
12
+ pink: "#FF79C6"
13
+ purple: "#BD93F9"
14
+ red: "#FF5555"
15
+ yellow: "#F1FA8C"
16
+ white: "#ffffff"
17
+ transparent: "transparent"
18
+
19
+ icons:
20
+ web_search: "\U0001F50D"
21
+ fetch_webpage: "\U0001F310"
22
+ transfer: "\u2197\ufe0f"
23
+ adapt: "\U0001F9E0"
24
+ retrieve_memory: "\U0001F4AD"
25
+ forget_memory_topic: "\U0001F5D1\ufe0f"
26
+ read_repo: "\U0001F4C2"
27
+ get_file: "\U0001F4C4"
28
+ default: "\U0001F527"
29
+
30
+ styles:
31
+ main: |
32
+ QMainWindow {
33
+ background-color: ${background};
34
+ }
35
+ QScrollArea {
36
+ border: none;
37
+ background-color: ${background};
38
+ }
39
+ QWidget#chatContainer {
40
+ background-color: ${background};
41
+ }
42
+ QSplitter::handle {
43
+ background-color: ${current_line};
44
+ }
45
+ QSplitter::handle:hover {
46
+ background-color: ${comment};
47
+ }
48
+ QSplitter::handle:pressed {
49
+ background-color: ${purple};
50
+ }
51
+ QStatusBar {
52
+ background-color: ${background};
53
+ color: ${foreground};
54
+ }
55
+ QToolTip {
56
+ background-color: ${current_line};
57
+ color: ${foreground};
58
+ border: 1px solid ${comment};
59
+ padding: 4px;
60
+ }
61
+ QMessageBox {
62
+ background-color: ${background};
63
+ }
64
+ QMessageBox QLabel {
65
+ color: ${foreground};
66
+ background-color: ${transparent};
67
+ }
68
+ QListView {
69
+ background-color: ${current_line};
70
+ color: ${foreground};
71
+ border: 1px solid ${comment};
72
+ padding: 2px;
73
+ outline: 0px;
74
+ }
75
+ QListView::item {
76
+ padding: 4px 8px;
77
+ border-radius: 2px;
78
+ }
79
+ QListView::item:selected {
80
+ background-color: ${purple};
81
+ color: ${foreground};
82
+ }
83
+ QListView::item:hover {
84
+ background-color: ${comment};
85
+ }
86
+ QScrollBar:vertical {
87
+ border: none;
88
+ background: ${background};
89
+ width: 10px;
90
+ margin: 0px;
91
+ }
92
+ QScrollBar::handle:vertical {
93
+ background: ${current_line};
94
+ min-height: 20px;
95
+ border-radius: 5px;
96
+ }
97
+ QScrollBar::handle:vertical:hover {
98
+ background: ${purple};
99
+ }
100
+ QScrollBar::handle:vertical:pressed {
101
+ background: ${pink};
102
+ }
103
+ QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
104
+ border: none;
105
+ background: none;
106
+ height: 0px;
107
+ }
108
+ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
109
+ background: none;
110
+ }
111
+ QScrollBar:horizontal {
112
+ border: none;
113
+ background: ${background};
114
+ height: 10px;
115
+ margin: 0px;
116
+ }
117
+ QScrollBar::handle:horizontal {
118
+ background: ${current_line};
119
+ min-width: 20px;
120
+ border-radius: 5px;
121
+ }
122
+ QScrollBar::handle:horizontal:hover {
123
+ background: ${purple};
124
+ }
125
+ QScrollBar::handle:horizontal:pressed {
126
+ background: ${pink};
127
+ }
128
+ QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
129
+ border: none;
130
+ background: none;
131
+ width: 0px;
132
+ }
133
+ QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
134
+ background: none;
135
+ }
136
+ QLabel QMenu {
137
+ background-color: ${background};
138
+ border: 1px solid ${comment};
139
+ padding: 4px;
140
+ border-radius: 6px;
141
+ }
142
+ QLabel QMenu::item {
143
+ color: ${foreground};
144
+ padding: 8px 24px 8px 12px;
145
+ border-radius: 4px;
146
+ margin: 2px;
147
+ }
148
+ QLabel QMenu::item:selected {
149
+ background-color: ${purple};
150
+ color: ${foreground};
151
+ }
152
+ QLabel QMenu::item:pressed {
153
+ background-color: ${pink};
154
+ }
155
+ QLabel QMenu::separator {
156
+ height: 1px;
157
+ background: ${comment};
158
+ margin: 4px 8px;
159
+ }
160
+
161
+ button_primary: |
162
+ QPushButton {
163
+ background-color: ${purple};
164
+ color: ${foreground};
165
+ border: none;
166
+ border-radius: 4px;
167
+ padding: 8px;
168
+ font-weight: bold;
169
+ }
170
+ QPushButton:hover {
171
+ background-color: ${pink};
172
+ }
173
+ QPushButton:pressed {
174
+ background-color: ${cyan};
175
+ }
176
+ QPushButton:disabled {
177
+ background-color: ${current_line};
178
+ color: ${comment};
179
+ }
180
+
181
+ button_secondary: |
182
+ QPushButton {
183
+ background-color: ${current_line};
184
+ color: ${foreground};
185
+ border: none;
186
+ border-radius: 4px;
187
+ padding: 8px;
188
+ font-weight: bold;
189
+ }
190
+ QPushButton:hover {
191
+ background-color: ${comment};
192
+ }
193
+ QPushButton:pressed {
194
+ background-color: ${purple};
195
+ }
196
+ QPushButton:disabled {
197
+ background-color: ${background};
198
+ color: ${current_line};
199
+ }
200
+
201
+ button_stop: |
202
+ QPushButton {
203
+ background-color: ${red};
204
+ color: ${foreground};
205
+ border: none;
206
+ border-radius: 4px;
207
+ padding: 8px;
208
+ font-weight: bold;
209
+ }
210
+ QPushButton:hover {
211
+ background-color: ${orange};
212
+ }
213
+ QPushButton:pressed {
214
+ background-color: ${red};
215
+ }
216
+
217
+ button_stop_stopping: |
218
+ QPushButton {
219
+ background-color: ${current_line};
220
+ color: ${comment};
221
+ border: none;
222
+ border-radius: 4px;
223
+ padding: 8px;
224
+ font-weight: bold;
225
+ }
226
+
227
+ button_red: |
228
+ QPushButton {
229
+ background-color: ${red};
230
+ color: ${foreground};
231
+ border: none;
232
+ border-radius: 4px;
233
+ padding: 8px;
234
+ font-weight: bold;
235
+ }
236
+ QPushButton:hover {
237
+ background-color: ${orange};
238
+ }
239
+ QPushButton:pressed {
240
+ background-color: ${red};
241
+ }
242
+ QPushButton:disabled {
243
+ background-color: ${current_line};
244
+ color: ${comment};
245
+ }
246
+
247
+ button_green: |
248
+ QPushButton {
249
+ background-color: ${green};
250
+ color: ${background};
251
+ border: none;
252
+ border-radius: 4px;
253
+ padding: 8px;
254
+ font-weight: bold;
255
+ }
256
+ QPushButton:hover {
257
+ background-color: ${cyan};
258
+ }
259
+ QPushButton:pressed {
260
+ background-color: ${green};
261
+ }
262
+ QPushButton:disabled {
263
+ background-color: ${current_line};
264
+ color: ${comment};
265
+ }
266
+
267
+ button_disabled: |
268
+ QPushButton {
269
+ background-color: ${current_line};
270
+ color: ${comment};
271
+ border: none;
272
+ border-radius: 4px;
273
+ padding: 8px;
274
+ font-weight: bold;
275
+ }
276
+
277
+ button_menu: |
278
+ QPushButton {
279
+ background-color: ${purple};
280
+ color: ${foreground};
281
+ border: none;
282
+ border-radius: 4px;
283
+ padding: 8px;
284
+ font-weight: bold;
285
+ padding-left: 12px;
286
+ }
287
+ QPushButton:hover {
288
+ background-color: ${pink};
289
+ }
290
+ QPushButton:pressed {
291
+ background-color: ${cyan};
292
+ }
293
+ QPushButton:disabled {
294
+ background-color: ${current_line};
295
+ color: ${comment};
296
+ }
297
+ QPushButton::menu-indicator {
298
+ subcontrol-origin: padding;
299
+ subcontrol-position: right center;
300
+ right: 5px;
301
+ width: 16px;
302
+ }
303
+
304
+ button_agent_menu: |
305
+ QPushButton {
306
+ background-color: ${purple};
307
+ color: ${foreground};
308
+ border: none;
309
+ border-radius: 4px;
310
+ padding: 8px;
311
+ font-weight: bold;
312
+ padding-left: 12px;
313
+ }
314
+ QPushButton:hover {
315
+ background-color: ${pink};
316
+ }
317
+ QPushButton:pressed {
318
+ background-color: ${cyan};
319
+ }
320
+ QPushButton:disabled {
321
+ background-color: ${current_line};
322
+ color: ${comment};
323
+ }
324
+ QPushButton::menu-indicator {
325
+ subcontrol-origin: padding;
326
+ subcontrol-position: right center;
327
+ right: 5px;
328
+ width: 16px;
329
+ }
330
+
331
+ button_rollback: |
332
+ QPushButton {
333
+ background-color: ${pink};
334
+ color: ${foreground};
335
+ border: none;
336
+ border-radius: 15px;
337
+ padding: 8px;
338
+ font-size: 24px;
339
+ font-weight: bold;
340
+ width: 30px;
341
+ height: 30px;
342
+ }
343
+ QPushButton:hover {
344
+ background-color: ${cyan};
345
+ }
346
+ QPushButton:pressed {
347
+ background-color: ${pink};
348
+ }
349
+
350
+ button_consolidated: |
351
+ QPushButton {
352
+ background-color: ${pink};
353
+ color: ${foreground};
354
+ border: none;
355
+ border-radius: 15px;
356
+ padding: 8px;
357
+ font-size: 16px;
358
+ font-weight: bold;
359
+ width: 30px;
360
+ height: 30px;
361
+ }
362
+ QPushButton:hover {
363
+ background-color: ${cyan};
364
+ }
365
+ QPushButton:pressed {
366
+ background-color: ${pink};
367
+ }
368
+
369
+ button_unconsolidate: |
370
+ QPushButton {
371
+ background-color: ${comment};
372
+ color: ${foreground};
373
+ border: none;
374
+ border-radius: 15px;
375
+ padding: 8px;
376
+ font-size: 16px;
377
+ font-weight: bold;
378
+ width: 30px;
379
+ height: 30px;
380
+ }
381
+ QPushButton:hover {
382
+ background-color: ${red};
383
+ }
384
+ QPushButton:pressed {
385
+ background-color: #FF6E6E;
386
+ }
387
+
388
+ api_keys_group: |
389
+ QGroupBox {
390
+ background-color: ${background};
391
+ }
392
+ QLabel {
393
+ background-color: ${background};
394
+ }
395
+
396
+ editor_container_widget: |
397
+ QWidget {
398
+ background-color: ${background};
399
+ }
400
+
401
+ combo_box: |
402
+ QComboBox {
403
+ background-color: ${current_line};
404
+ color: ${foreground};
405
+ border: 1px solid ${comment};
406
+ border-radius: 4px;
407
+ padding: 6px 8px;
408
+ min-width: 120px;
409
+ }
410
+ QComboBox:hover {
411
+ border: 1px solid ${purple};
412
+ }
413
+ QComboBox:focus {
414
+ border: 1px solid ${cyan};
415
+ }
416
+ QComboBox::drop-down {
417
+ subcontrol-origin: padding;
418
+ subcontrol-position: top right;
419
+ width: 20px;
420
+ border-left-width: 1px;
421
+ border-left-color: ${comment};
422
+ border-left-style: solid;
423
+ border-top-right-radius: 4px;
424
+ border-bottom-right-radius: 4px;
425
+ background-color: ${current_line};
426
+ }
427
+ QComboBox::down-arrow {
428
+ width: 0;
429
+ height: 0;
430
+ border-left: 4px solid ${transparent};
431
+ border-right: 4px solid ${transparent};
432
+ border-top: 6px solid ${foreground};
433
+ }
434
+ QComboBox QAbstractItemView {
435
+ background-color: ${current_line};
436
+ color: ${foreground};
437
+ border: 1px solid ${comment};
438
+ border-radius: 4px;
439
+ selection-background-color: ${purple};
440
+ selection-color: ${foreground};
441
+ outline: 0px;
442
+ }
443
+
444
+ text_input: |
445
+ QTextEdit {
446
+ background-color: ${current_line};
447
+ color: ${foreground};
448
+ border: 1px solid ${comment};
449
+ border-radius: 4px;
450
+ padding: 8px;
451
+ }
452
+ QTextEdit:focus {
453
+ border: 1px solid ${cyan};
454
+ }
455
+
456
+ line_edit: |
457
+ QLineEdit {
458
+ background-color: ${current_line};
459
+ color: ${foreground};
460
+ border: 1px solid ${comment};
461
+ border-radius: 4px;
462
+ padding: 8px;
463
+ }
464
+ QLineEdit:focus {
465
+ border: 1px solid ${cyan};
466
+ }
467
+
468
+ menu_bar: |
469
+ QMenuBar {
470
+ background-color: ${background};
471
+ color: ${foreground};
472
+ padding: 2px;
473
+ }
474
+ QMenuBar::item {
475
+ background-color: ${transparent};
476
+ color: ${foreground};
477
+ padding: 4px 12px;
478
+ border-radius: 4px;
479
+ }
480
+ QMenuBar::item:selected {
481
+ background-color: ${current_line};
482
+ }
483
+ QMenuBar::item:pressed {
484
+ background-color: ${comment};
485
+ }
486
+ QMenu {
487
+ background-color: ${background};
488
+ color: ${foreground};
489
+ border: 1px solid ${comment};
490
+ padding: 4px;
491
+ }
492
+ QMenu::item {
493
+ padding: 6px 24px 6px 12px;
494
+ border-radius: 4px;
495
+ }
496
+ QMenu::item:selected {
497
+ background-color: ${purple};
498
+ color: ${foreground};
499
+ }
500
+ QMenu::separator {
501
+ height: 1px;
502
+ background: ${comment};
503
+ margin-left: 10px;
504
+ margin-right: 5px;
505
+ }
506
+
507
+ context_menu: |
508
+ QMenu {
509
+ background-color: ${background};
510
+ color: ${foreground};
511
+ border: 1px solid ${comment};
512
+ padding: 4px;
513
+ border-radius: 6px;
514
+ }
515
+ QMenu::item {
516
+ padding: 8px 24px 8px 12px;
517
+ border-radius: 4px;
518
+ margin: 2px;
519
+ color: ${foreground};
520
+ }
521
+ QMenu::item:selected {
522
+ background-color: ${purple};
523
+ color: ${white};
524
+ }
525
+ QMenu::item:pressed {
526
+ background-color: ${pink};
527
+ }
528
+ QMenu::item:disabled {
529
+ background-color: ${transparent};
530
+ color: ${comment};
531
+ }
532
+ QMenu::separator {
533
+ height: 1px;
534
+ background: ${comment};
535
+ margin: 4px 8px;
536
+ }
537
+
538
+ agent_menu: |
539
+ QMenu {
540
+ background-color: ${background};
541
+ color: ${foreground};
542
+ border: 1px solid ${current_line};
543
+ border-radius: 4px;
544
+ padding: 4px;
545
+ }
546
+ QMenu::item {
547
+ padding: 6px 20px;
548
+ background-color: ${transparent};
549
+ }
550
+ QMenu::item:selected {
551
+ background-color: ${purple};
552
+ color: ${foreground};
553
+ border-radius: 3px;
554
+ }
555
+ QMenu::separator {
556
+ height: 1px;
557
+ background-color: ${current_line};
558
+ margin-left: 5px;
559
+ margin-right: 5px;
560
+ }
561
+
562
+ status_indicator: |
563
+ QLabel {
564
+ background-color: ${current_line};
565
+ color: ${foreground};
566
+ padding: 8px;
567
+ border-radius: 5px;
568
+ font-weight: bold;
569
+ }
570
+
571
+ version_label: |
572
+ QLabel {
573
+ color: ${foreground};
574
+ padding: 2px 8px;
575
+ font-size: 11px;
576
+ }
577
+
578
+ system_message_toggle_button: |
579
+ QPushButton {
580
+ background-color: ${transparent};
581
+ color: ${cyan};
582
+ border: none;
583
+ text-align: left;
584
+ padding: 2px;
585
+ }
586
+ QPushButton:hover {
587
+ color: ${pink};
588
+ }
589
+
590
+ sidebar: "background-color: ${background};"
591
+
592
+ conversation_list: |
593
+ QListWidget {
594
+ background-color: ${background};
595
+ border: 1px solid ${current_line};
596
+ border-radius: 4px;
597
+ }
598
+ QListWidget::item {
599
+ color: ${foreground};
600
+ background-color: ${background};
601
+ border: none;
602
+ border-bottom: 1px solid ${current_line};
603
+ margin: 0px;
604
+ padding: 8px;
605
+ }
606
+ QListWidget::item:selected {
607
+ background-color: ${purple};
608
+ color: ${foreground};
609
+ }
610
+ QListWidget::item:hover:!selected {
611
+ background-color: ${current_line};
612
+ }
613
+
614
+ search_box: |
615
+ QLineEdit {
616
+ background-color: ${current_line};
617
+ color: ${foreground};
618
+ border: 1px solid ${comment};
619
+ border-radius: 4px;
620
+ padding: 8px;
621
+ }
622
+ QLineEdit:focus {
623
+ border: 1px solid ${cyan};
624
+ }
625
+
626
+ token_usage: |
627
+ QLabel {
628
+ color: ${foreground};
629
+ font-weight: bold;
630
+ padding: 8px;
631
+ background-color: ${background};
632
+ border-top: 1px solid ${current_line};
633
+ }
634
+
635
+ token_usage_widget: "background-color: ${background};"
636
+
637
+ user_bubble: |
638
+ QFrame {
639
+ border-radius: 5px;
640
+ background-color: ${purple};
641
+ border: none;
642
+ padding: 2px;
643
+ }
644
+
645
+ assistant_bubble: |
646
+ QFrame {
647
+ border-radius: 5px;
648
+ background-color: ${current_line};
649
+ border: none;
650
+ padding: 2px;
651
+ }
652
+
653
+ thinking_bubble: |
654
+ QFrame {
655
+ border-radius: 5px;
656
+ background-color: ${comment};
657
+ border: none;
658
+ padding: 2px;
659
+ }
660
+
661
+ consolidated_bubble: |
662
+ QFrame {
663
+ border-radius: 5px;
664
+ background-color: ${current_line};
665
+ border: 1px solid ${comment};
666
+ padding: 2px;
667
+ }
668
+
669
+ tool_dialog_text_edit: |
670
+ QTextEdit {
671
+ background-color: ${current_line};
672
+ color: ${foreground};
673
+ border: 1px solid ${comment};
674
+ border-radius: 4px;
675
+ padding: 8px;
676
+ font-family: monospace;
677
+ }
678
+ QTextEdit:focus {
679
+ border: 1px solid ${cyan};
680
+ }
681
+
682
+ tool_dialog_yes_button: |
683
+ QPushButton {
684
+ background-color: ${green};
685
+ color: ${background};
686
+ font-weight: bold;
687
+ padding: 6px 14px;
688
+ border: none;
689
+ border-radius: 4px;
690
+ }
691
+ QPushButton:hover {
692
+ background-color: ${cyan};
693
+ }
694
+
695
+ tool_dialog_all_button: |
696
+ QPushButton {
697
+ background-color: ${purple};
698
+ color: ${foreground};
699
+ font-weight: bold;
700
+ padding: 6px 14px;
701
+ border: none;
702
+ border-radius: 4px;
703
+ }
704
+ QPushButton:hover {
705
+ background-color: ${pink};
706
+ }
707
+
708
+ tool_dialog_no_button: |
709
+ QPushButton {
710
+ background-color: ${red};
711
+ color: ${foreground};
712
+ font-weight: bold;
713
+ padding: 6px 14px;
714
+ border: none;
715
+ border-radius: 4px;
716
+ }
717
+ QPushButton:hover {
718
+ background-color: ${orange};
719
+ }
720
+
721
+ system_message_label: |
722
+ color: ${foreground};
723
+ padding: 2px;
724
+
725
+ system_message_toggle: |
726
+ QPushButton {
727
+ background-color: ${transparent};
728
+ color: ${cyan};
729
+ border: none;
730
+ text-align: left;
731
+ padding: 2px;
732
+ }
733
+ QPushButton:hover {
734
+ color: ${pink};
735
+ }
736
+
737
+ config_dialog: |
738
+ QDialog {
739
+ background-color: ${background};
740
+ color: ${foreground};
741
+ }
742
+ QTabWidget::pane {
743
+ border: 1px solid ${current_line};
744
+ background-color: ${background};
745
+ border-radius: 4px;
746
+ }
747
+ QTabBar::tab {
748
+ background-color: ${current_line};
749
+ color: ${foreground};
750
+ padding: 8px;
751
+ border-top-left-radius: 4px;
752
+ border-top-right-radius: 4px;
753
+ border: 1px solid ${comment};
754
+ border-bottom: none;
755
+ margin-right: 2px;
756
+ }
757
+ QTabBar::tab:selected {
758
+ background-color: ${background};
759
+ border-bottom-color: ${background};
760
+ color: ${cyan};
761
+ }
762
+ QTabBar::tab:hover:!selected {
763
+ background-color: ${comment};
764
+ }
765
+ QPushButton {
766
+ background-color: ${purple};
767
+ color: ${foreground};
768
+ border: none;
769
+ border-radius: 4px;
770
+ padding: 8px;
771
+ font-weight: bold;
772
+ }
773
+ QPushButton:hover {
774
+ background-color: ${pink};
775
+ }
776
+ QPushButton:pressed {
777
+ background-color: ${cyan};
778
+ }
779
+ QPushButton:disabled {
780
+ background-color: ${current_line};
781
+ color: ${comment};
782
+ }
783
+ QListWidget {
784
+ background-color: ${background};
785
+ border: 1px solid ${current_line};
786
+ border-radius: 4px;
787
+ padding: 4px;
788
+ color: ${foreground};
789
+ }
790
+ QListWidget::item {
791
+ padding: 6px;
792
+ border-radius: 2px;
793
+ color: ${foreground};
794
+ background-color: ${background};
795
+ }
796
+ QListWidget::item:selected {
797
+ background-color: ${purple};
798
+ color: ${foreground};
799
+ }
800
+ QListWidget::item:hover:!selected {
801
+ background-color: ${current_line};
802
+ }
803
+ QLineEdit, QTextEdit {
804
+ border: 1px solid ${comment};
805
+ border-radius: 4px;
806
+ padding: 6px;
807
+ background-color: ${current_line};
808
+ color: ${foreground};
809
+ }
810
+ QLineEdit:focus, QTextEdit:focus {
811
+ border: 1px solid ${cyan};
812
+ }
813
+ QCheckBox {
814
+ spacing: 8px;
815
+ color: ${foreground};
816
+ }
817
+ QCheckBox::indicator {
818
+ width: 18px;
819
+ height: 18px;
820
+ border-radius: 3px;
821
+ background-color: ${current_line};
822
+ border: 2px solid ${comment};
823
+ }
824
+ QCheckBox::indicator:checked {
825
+ background-color: ${purple};
826
+ border: 2px solid ${purple};
827
+ }
828
+ QCheckBox::indicator:indeterminate {
829
+ background-color: ${yellow};
830
+ border: 2px solid ${yellow};
831
+ border-radius: 9px;
832
+ }
833
+ QCheckBox::indicator:hover {
834
+ border: 2px solid ${cyan};
835
+ }
836
+ QCheckBox::indicator:hover:checked {
837
+ background-color: ${cyan};
838
+ border: 2px solid ${cyan};
839
+ }
840
+ QCheckBox::indicator:hover:indeterminate {
841
+ background-color: ${pink};
842
+ border: 2px solid ${pink};
843
+ }
844
+ QCheckBox::indicator:disabled {
845
+ background-color: ${background};
846
+ border: 2px solid ${current_line};
847
+ }
848
+ QGroupBox {
849
+ font-weight: bold;
850
+ border: 1px solid ${comment};
851
+ border-radius: 4px;
852
+ margin-top: 12px;
853
+ padding-top: 12px;
854
+ background-color: ${background};
855
+ }
856
+ QGroupBox::title {
857
+ subcontrol-origin: margin;
858
+ subcontrol-position: top left;
859
+ padding: 0 4px 4px 4px;
860
+ color: ${cyan};
861
+ background-color: ${background};
862
+ left: 10px;
863
+ }
864
+ QScrollArea {
865
+ background-color: ${background};
866
+ border: none;
867
+ }
868
+ QScrollArea > QWidget > QWidget {
869
+ background-color: ${background};
870
+ }
871
+ QLabel {
872
+ color: ${foreground};
873
+ padding: 2px;
874
+ }
875
+ QSplitter::handle {
876
+ background-color: ${current_line};
877
+ }
878
+ QSplitter::handle:hover {
879
+ background-color: ${comment};
880
+ }
881
+ QSplitter::handle:pressed {
882
+ background-color: ${purple};
883
+ }
884
+
885
+ panel: "background-color: ${background};"
886
+
887
+ scroll_area: |
888
+ background-color: ${background};
889
+ border: none;
890
+
891
+ editor_widget: "background-color: ${background};"
892
+
893
+ group_box: "background-color: ${background};"
894
+
895
+ splitter_color: |
896
+ QSplitter::handle {
897
+ background-color: ${current_line};
898
+ }
899
+ QSplitter::handle:hover {
900
+ background-color: ${comment};
901
+ }
902
+ QSplitter::handle:pressed {
903
+ background-color: ${purple};
904
+ }
905
+
906
+ metadata_header_label: |
907
+ QLabel {
908
+ color: ${foreground};
909
+ font-style: italic;
910
+ padding-bottom: 5px;
911
+ }
912
+
913
+ user_message_label: |
914
+ QLabel {
915
+ color: ${foreground};
916
+ }
917
+
918
+ assistant_message_label: |
919
+ QLabel {
920
+ color: ${foreground};
921
+ }
922
+
923
+ thinking_message_label: |
924
+ QLabel {
925
+ color: ${foreground};
926
+ }
927
+
928
+ user_sender_label: |
929
+ QLabel {
930
+ font-weight: bold;
931
+ color: ${foreground};
932
+ padding: 2px;
933
+ }
934
+
935
+ assistant_sender_label: |
936
+ QLabel {
937
+ font-weight: bold;
938
+ color: ${foreground};
939
+ padding: 2px;
940
+ }
941
+
942
+ thinking_sender_label: |
943
+ QLabel {
944
+ font-weight: bold;
945
+ color: ${foreground};
946
+ padding: 2px;
947
+ }
948
+
949
+ user_file_name_label: |
950
+ QLabel {
951
+ font-weight: bold;
952
+ color: ${foreground};
953
+ padding-left: 10px;
954
+ }
955
+
956
+ assistant_file_name_label: |
957
+ QLabel {
958
+ font-weight: bold;
959
+ color: ${foreground};
960
+ padding-left: 10px;
961
+ }
962
+
963
+ user_file_info_label: |
964
+ QLabel {
965
+ color: ${yellow};
966
+ }
967
+
968
+ assistant_file_info_label: |
969
+ QLabel {
970
+ color: ${comment};
971
+ }
972
+
973
+ code_css: |
974
+ table td {border: 1px solid ${foreground}; padding: 5px;}
975
+ table { border-collapse: collapse; }
976
+ pre { line-height: 1; background-color: ${background}; border-radius: 8px; padding: 12px; color: ${foreground}; white-space: pre-wrap; word-wrap: break-word; }
977
+ td.linenos .normal { color: ${comment}; background-color: transparent; padding-left: 5px; padding-right: 5px; }
978
+ span.linenos { color: ${comment}; background-color: transparent; padding-left: 5px; padding-right: 5px; }
979
+ td.linenos .special { color: ${foreground}; background-color: ${current_line}; padding-left: 5px; padding-right: 5px; }
980
+ span.linenos.special { color: ${foreground}; background-color: ${current_line}; padding-left: 5px; padding-right: 5px; }
981
+ .codehilite .hll { background-color: ${current_line} }
982
+ .codehilite { background: ${background}; border-radius: 8px; padding: 10px; color: ${foreground}; }
983
+ .codehilite .c { color: ${comment}; font-style: italic }
984
+ .codehilite .err { border: 1px solid ${red}; color: ${red}; }
985
+ .codehilite .k { color: ${pink}; font-weight: bold }
986
+ .codehilite .o { color: ${cyan} }
987
+ .codehilite .ch { color: ${comment}; font-style: italic }
988
+ .codehilite .cm { color: ${comment}; font-style: italic }
989
+ .codehilite .cp { color: ${yellow} }
990
+ .codehilite .cpf { color: ${comment}; font-style: italic }
991
+ .codehilite .c1 { color: ${comment}; font-style: italic }
992
+ .codehilite .cs { color: ${comment}; font-style: italic }
993
+ .codehilite .gd { color: ${red} }
994
+ .codehilite .ge { font-style: italic }
995
+ .codehilite .ges { font-weight: bold; font-style: italic }
996
+ .codehilite .gr { color: ${red} }
997
+ .codehilite .gh { color: ${purple}; font-weight: bold }
998
+ .codehilite .gi { color: ${green} }
999
+ .codehilite .go { color: ${foreground} }
1000
+ .codehilite .gp { color: ${purple}; font-weight: bold }
1001
+ .codehilite .gs { font-weight: bold }
1002
+ .codehilite .gu { color: ${purple}; font-weight: bold }
1003
+ .codehilite .gt { color: ${red} }
1004
+ .codehilite .kc { color: ${pink}; font-weight: bold }
1005
+ .codehilite .kd { color: ${pink}; font-weight: bold }
1006
+ .codehilite .kn { color: ${pink}; font-weight: bold }
1007
+ .codehilite .kp { color: ${pink} }
1008
+ .codehilite .kr { color: ${pink}; font-weight: bold }
1009
+ .codehilite .kt { color: ${orange}; font-weight: bold }
1010
+ .codehilite .m { color: ${purple} }
1011
+ .codehilite .s { color: ${green} }
1012
+ .codehilite .na { color: ${cyan} }
1013
+ .codehilite .nb { color: ${purple} }
1014
+ .codehilite .nc { color: ${yellow}; font-weight: bold }
1015
+ .codehilite .no { color: ${orange} }
1016
+ .codehilite .nd { color: ${pink} }
1017
+ .codehilite .ni { color: ${foreground}; font-weight: bold }
1018
+ .codehilite .ne { color: ${red}; font-weight: bold }
1019
+ .codehilite .nf { color: ${purple}; font-weight: bold }
1020
+ .codehilite .nl { color: ${foreground} }
1021
+ .codehilite .nn { color: ${yellow}; font-weight: bold }
1022
+ .codehilite .nt { color: ${pink}; font-weight: bold }
1023
+ .codehilite .nv { color: ${foreground} }
1024
+ .codehilite .ow { color: ${cyan}; font-weight: bold }
1025
+ .codehilite .w { color: ${comment} }
1026
+ .codehilite .mb { color: ${purple} }
1027
+ .codehilite .mf { color: ${purple} }
1028
+ .codehilite .mh { color: ${purple} }
1029
+ .codehilite .mi { color: ${purple} }
1030
+ .codehilite .mo { color: ${purple} }
1031
+ .codehilite .sa { color: ${green} }
1032
+ .codehilite .sb { color: ${green} }
1033
+ .codehilite .sc { color: ${green} }
1034
+ .codehilite .dl { color: ${green} }
1035
+ .codehilite .sd { color: ${comment}; font-style: italic }
1036
+ .codehilite .s2 { color: ${green} }
1037
+ .codehilite .se { color: ${orange}; font-weight: bold }
1038
+ .codehilite .sh { color: ${green} }
1039
+ .codehilite .si { color: ${green}; font-weight: bold }
1040
+ .codehilite .sx { color: ${green} }
1041
+ .codehilite .sr { color: ${green} }
1042
+ .codehilite .s1 { color: ${green} }
1043
+ .codehilite .ss { color: ${green} }
1044
+ .codehilite .bp { color: ${purple} }
1045
+ .codehilite .fm { color: ${purple}; font-weight: bold }
1046
+ .codehilite .vc { color: ${foreground} }
1047
+ .codehilite .vg { color: ${foreground} }
1048
+ .codehilite .vi { color: ${foreground} }
1049
+ .codehilite .vm { color: ${foreground} }
1050
+ .codehilite .il { color: ${purple} }
1051
+
1052
+ checkbox: |
1053
+ QCheckBox {
1054
+ spacing: 8px;
1055
+ color: ${foreground};
1056
+ }
1057
+ QCheckBox::indicator {
1058
+ width: 18px;
1059
+ height: 18px;
1060
+ border-radius: 3px;
1061
+ background-color: ${current_line};
1062
+ border: 2px solid ${comment};
1063
+ }
1064
+ QCheckBox::indicator:checked {
1065
+ background-color: ${purple};
1066
+ border: 2px solid ${purple};
1067
+ }
1068
+ QCheckBox::indicator:indeterminate {
1069
+ background-color: ${yellow};
1070
+ border: 2px solid ${yellow};
1071
+ border-radius: 9px;
1072
+ }
1073
+ QCheckBox::indicator:hover {
1074
+ border: 2px solid ${cyan};
1075
+ }
1076
+ QCheckBox::indicator:hover:checked {
1077
+ background-color: ${cyan};
1078
+ border: 2px solid ${cyan};
1079
+ }
1080
+ QCheckBox::indicator:hover:indeterminate {
1081
+ background-color: ${pink};
1082
+ border: 2px solid ${pink};
1083
+ }
1084
+ QCheckBox::indicator:disabled {
1085
+ background-color: ${background};
1086
+ border: 2px solid ${current_line};
1087
+ }
1088
+
1089
+ tool_widget: |
1090
+ QWidget {
1091
+ background-color: ${transparent};
1092
+ }
1093
+
1094
+ tool_card: |
1095
+ QFrame#toolCard {
1096
+ border-radius: 6px;
1097
+ background-color: rgba(139, 233, 253, 0.08);
1098
+ border: 1px solid rgba(139, 233, 253, 0.4);
1099
+ padding: 1px;
1100
+ }
1101
+
1102
+ tool_card_error: |
1103
+ QFrame#toolCard {
1104
+ border-radius: 6px;
1105
+ background-color: rgba(255, 85, 85, 0.08);
1106
+ border: 1px solid rgba(255, 85, 85, 0.4);
1107
+ padding: 1px;
1108
+ }
1109
+
1110
+ tool_header: |
1111
+ QLabel {
1112
+ font-weight: 500;
1113
+ color: #c7c9d1;
1114
+ }
1115
+
1116
+ tool_toggle_button: |
1117
+ QPushButton {
1118
+ background-color: ${transparent};
1119
+ border: none;
1120
+ color: #6272a4;
1121
+ font-weight: normal;
1122
+ font-size: 11px;
1123
+ }
1124
+ QPushButton:hover {
1125
+ color: ${cyan};
1126
+ }
1127
+
1128
+ tool_status: |
1129
+ QLabel {
1130
+ font-weight: 500;
1131
+ padding: 2px;
1132
+ font-size: 11px;
1133
+ }
1134
+ QLabel[status="running"] {
1135
+ color: ${orange};
1136
+ }
1137
+ QLabel[status="complete"] {
1138
+ color: ${green};
1139
+ }
1140
+ QLabel[status="error"] {
1141
+ color: ${red};
1142
+ }
1143
+
1144
+ tool_content: |
1145
+ QLabel {
1146
+ color: #c7c9d1;
1147
+ padding: 1px;
1148
+ font-size: 11px;
1149
+ }
1150
+ QLabel[role="title"] {
1151
+ font-weight: 500;
1152
+ color: #c7c9d1;
1153
+ font-size: 12px;
1154
+ }
1155
+ QLabel[role="key"] {
1156
+ color: ${cyan};
1157
+ font-weight: 500;
1158
+ font-size: 11px;
1159
+ }
1160
+ QLabel[role="value"] {
1161
+ color: #a6a9b8;
1162
+ font-size: 11px;
1163
+ }
1164
+ QLabel[role="error"] {
1165
+ color: ${red};
1166
+ font-size: 11px;
1167
+ }
1168
+
1169
+ tool_progress: |
1170
+ QProgressBar {
1171
+ border: none;
1172
+ background-color: rgba(68, 71, 90, 0.4);
1173
+ border-radius: 5px;
1174
+ text-align: center;
1175
+ }
1176
+ QProgressBar::chunk {
1177
+ background-color: ${cyan};
1178
+ border-radius: 5px;
1179
+ }
1180
+
1181
+ tool_separator: |
1182
+ QFrame {
1183
+ background-color: rgba(139, 233, 253, 0.3);
1184
+ border: none;
1185
+ }
1186
+
1187
+ diff_colors:
1188
+ background: ${background}
1189
+ panel_bg: "#21222c"
1190
+ header_bg: ${current_line}
1191
+ header_text: ${foreground}
1192
+ line_number_bg: "#1e1f29"
1193
+ line_number_text: ${comment}
1194
+ removed_bg: "#3d2a36"
1195
+ removed_text: ${red}
1196
+ removed_highlight: ${red}
1197
+ added_bg: "#2a3d36"
1198
+ added_text: ${green}
1199
+ added_highlight: ${green}
1200
+ unchanged_text: ${comment}
1201
+ border: ${current_line}
1202
+ block_header_bg: ${purple}
1203
+ block_header_text: ${background}
1204
+
1205
+ json_editor_colors:
1206
+ background: ${background}
1207
+ text: ${foreground}
1208
+ border: ${current_line}
1209
+ string: ${green}
1210
+ number: ${orange}
1211
+ keyword: ${purple}
1212
+ punctuation: ${foreground}
1213
+ error: ${red}
1214
+
1215
+ json_editor: |
1216
+ QPlainTextEdit {
1217
+ background-color: ${background};
1218
+ color: ${foreground};
1219
+ border: 1px solid ${current_line};
1220
+ border-radius: 4px;
1221
+ padding: 8px;
1222
+ font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
1223
+ font-size: 12px;
1224
+ line-height: 1.4;
1225
+ }
1226
+ QPlainTextEdit:focus {
1227
+ border: 1px solid ${cyan};
1228
+ }
1229
+
1230
+ markdown_editor_colors:
1231
+ background: ${background}
1232
+ text: ${foreground}
1233
+ border: ${current_line}
1234
+ header: ${purple}
1235
+ bold: ${orange}
1236
+ italic: ${green}
1237
+ code: ${pink}
1238
+ code_background: ${current_line}
1239
+ link: ${cyan}
1240
+ image: ${purple}
1241
+ list: ${yellow}
1242
+ blockquote: ${comment}
1243
+ hr: ${current_line}
1244
+ strikethrough: ${red}
1245
+ error: ${red}
1246
+
1247
+ markdown_editor: |
1248
+ QPlainTextEdit {
1249
+ background-color: ${background};
1250
+ color: ${foreground};
1251
+ border: 1px solid ${current_line};
1252
+ border-radius: 4px;
1253
+ padding: 8px;
1254
+ font-family: 'Inter', 'Segoe UI', 'Roboto', sans-serif;
1255
+ font-size: 13px;
1256
+ line-height: 1.6;
1257
+ selection-background-color: ${current_line};
1258
+ selection-color: ${foreground};
1259
+ }
1260
+ QPlainTextEdit:focus {
1261
+ border: 1px solid ${cyan};
1262
+ }