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