@theia/ai-chat-ui 1.63.0-next.0 → 1.63.0-next.24

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. package/lib/browser/ai-chat-ui-contribution.js +2 -2
  2. package/lib/browser/ai-chat-ui-contribution.js.map +1 -1
  3. package/lib/browser/chat-input-widget.d.ts +3 -1
  4. package/lib/browser/chat-input-widget.d.ts.map +1 -1
  5. package/lib/browser/chat-input-widget.js +101 -90
  6. package/lib/browser/chat-input-widget.js.map +1 -1
  7. package/lib/browser/chat-response-renderer/index.d.ts +1 -0
  8. package/lib/browser/chat-response-renderer/index.d.ts.map +1 -1
  9. package/lib/browser/chat-response-renderer/index.js +1 -0
  10. package/lib/browser/chat-response-renderer/index.js.map +1 -1
  11. package/lib/browser/chat-response-renderer/tool-confirmation.d.ts +17 -0
  12. package/lib/browser/chat-response-renderer/tool-confirmation.d.ts.map +1 -0
  13. package/lib/browser/chat-response-renderer/tool-confirmation.js +120 -0
  14. package/lib/browser/chat-response-renderer/tool-confirmation.js.map +1 -0
  15. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +5 -1
  16. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
  17. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +83 -19
  18. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
  19. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts +6 -1
  20. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.d.ts.map +1 -1
  21. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js +9 -0
  22. package/lib/browser/chat-tree-view/chat-view-tree-input-widget.js.map +1 -1
  23. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +6 -0
  24. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
  25. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +30 -3
  26. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  27. package/lib/browser/chat-view-widget.d.ts +5 -2
  28. package/lib/browser/chat-view-widget.d.ts.map +1 -1
  29. package/lib/browser/chat-view-widget.js +19 -6
  30. package/lib/browser/chat-view-widget.js.map +1 -1
  31. package/package.json +10 -10
  32. package/src/browser/ai-chat-ui-contribution.ts +2 -2
  33. package/src/browser/chat-input-widget.tsx +171 -137
  34. package/src/browser/chat-response-renderer/index.ts +1 -0
  35. package/src/browser/chat-response-renderer/tool-confirmation.tsx +173 -0
  36. package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +115 -19
  37. package/src/browser/chat-tree-view/chat-view-tree-input-widget.tsx +16 -1
  38. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +39 -5
  39. package/src/browser/chat-view-widget.tsx +23 -7
  40. package/src/browser/style/index.css +173 -0
@@ -624,6 +624,179 @@ div:last-child > .theia-ChatNode {
624
624
  cursor: pointer;
625
625
  }
626
626
 
627
+ /* Tool confirmation styles */
628
+ .theia-tool-confirmation {
629
+ margin: 10px 0;
630
+ padding: 12px;
631
+ border: 1px solid var(--theia-dropdown-border);
632
+ border-radius: 4px;
633
+ background-color: var(--theia-editorWidget-background);
634
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
635
+ }
636
+
637
+ .theia-tool-confirmation-header {
638
+ font-weight: bold;
639
+ margin-bottom: 8px;
640
+ color: var(--theia-foreground);
641
+ display: flex;
642
+ align-items: center;
643
+ gap: 6px;
644
+ }
645
+
646
+ .theia-tool-confirmation-info {
647
+ margin-bottom: 12px;
648
+ }
649
+
650
+ .theia-tool-confirmation-name,
651
+ .theia-tool-confirmation-args {
652
+ margin-bottom: 4px;
653
+ }
654
+
655
+ .theia-tool-confirmation-name .label,
656
+ .theia-tool-confirmation-args .label {
657
+ font-weight: bold;
658
+ margin-right: 6px;
659
+ }
660
+
661
+ .theia-tool-confirmation-args pre.value {
662
+ margin: 6px 0;
663
+ padding: 8px;
664
+ background-color: var(--theia-editor-background);
665
+ border-radius: 3px;
666
+ max-height: 150px;
667
+ overflow: auto;
668
+ }
669
+
670
+ .theia-tool-confirmation-actions {
671
+ display: flex;
672
+ justify-content: flex-end;
673
+ gap: 0;
674
+ }
675
+
676
+ .theia-tool-confirmation-split-button {
677
+ display: inline-flex;
678
+ position: relative;
679
+ }
680
+
681
+ .theia-tool-confirmation-main-btn {
682
+ border-top-right-radius: 0 !important;
683
+ border-bottom-right-radius: 0 !important;
684
+ margin-right: 0 !important;
685
+ }
686
+
687
+ .theia-tool-confirmation-chevron-btn {
688
+ border-top-left-radius: 0 !important;
689
+ border-bottom-left-radius: 0 !important;
690
+ width: 24px !important;
691
+ min-width: 24px !important;
692
+ max-width: 24px !important;
693
+ padding: 0 !important;
694
+ margin-left: 0 !important;
695
+ display: flex !important;
696
+ align-items: center !important;
697
+ justify-content: center !important;
698
+ }
699
+
700
+ .theia-tool-confirmation-dropdown-menu {
701
+ position: absolute;
702
+ top: 100%;
703
+ left: 0;
704
+ z-index: 10;
705
+ min-width: 180px;
706
+ background: var(--theia-menu-background);
707
+ border: 1px solid var(--theia-menu-border);
708
+ border-radius: 4px;
709
+ box-shadow: 0 2px 8px rgba(0,0,0,0.15);
710
+ margin: 0;
711
+ padding: 0;
712
+ list-style: none;
713
+ }
714
+
715
+ .theia-tool-confirmation-dropdown-item {
716
+ padding: 6px 16px;
717
+ cursor: pointer;
718
+ white-space: nowrap;
719
+ }
720
+
721
+ .theia-tool-confirmation-dropdown-item:hover {
722
+ background: var(--theia-list-hoverBackground, #e5e5e5);
723
+ }
724
+
725
+ .theia-tool-confirmation-status {
726
+ margin: 10px 0;
727
+ padding: 12px;
728
+ border: 1px solid var(--theia-dropdown-border);
729
+ border-radius: 4px;
730
+ background-color: var(--theia-editorWidget-background);
731
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
732
+ }
733
+
734
+ .theia-tool-confirmation-header {
735
+ font-weight: bold;
736
+ margin-bottom: 8px;
737
+ color: var(--theia-foreground);
738
+ display: flex;
739
+ align-items: center;
740
+ gap: 6px;
741
+ }
742
+
743
+ .theia-tool-confirmation-info {
744
+ margin-bottom: 12px;
745
+ }
746
+
747
+ .theia-tool-confirmation-name,
748
+ .theia-tool-confirmation-args {
749
+ margin-bottom: 4px;
750
+ }
751
+
752
+ .theia-tool-confirmation-name .label,
753
+ .theia-tool-confirmation-args .label {
754
+ font-weight: bold;
755
+ margin-right: 6px;
756
+ }
757
+
758
+ .theia-tool-confirmation-args pre.value {
759
+ margin: 6px 0;
760
+ padding: 8px;
761
+ background-color: var(--theia-editor-background);
762
+ border-radius: 3px;
763
+ max-height: 150px;
764
+ overflow: auto;
765
+ }
766
+
767
+ .theia-tool-confirmation-actions {
768
+ display: flex;
769
+ justify-content: flex-end;
770
+ gap: 8px;
771
+ }
772
+
773
+ .theia-tool-confirmation-status {
774
+ padding: 8px;
775
+ margin: 10px 0;
776
+ border-radius: 4px;
777
+ display: flex;
778
+ align-items: center;
779
+ gap: 6px;
780
+ }
781
+
782
+ .theia-tool-confirmation-status.approved {
783
+ background-color: var(--theia-successBackground);
784
+ color: var(--theia-successForeground);
785
+ }
786
+
787
+ .theia-tool-confirmation-status.denied {
788
+ background-color: var(--theia-errorBackground);
789
+ color: var(--theia-errorForeground);
790
+ }
791
+
792
+ .theia-tool-pending {
793
+ color: var(--theia-descriptionForeground);
794
+ }
795
+
796
+ .theia-tool-denied {
797
+ color: var(--theia-errorForeground);
798
+ }
799
+
627
800
  .theia-toolCall .fa,
628
801
  .theia-toolCall details summary::marker,
629
802
  .theia-thinking .fa,