@siact/sime-x-vue 0.0.21 → 0.0.22

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.
package/dist/style.css CHANGED
@@ -423,7 +423,7 @@ to {
423
423
  .fade-leave-to[data-v-958fd919] {
424
424
  opacity: 0;
425
425
  }
426
- .command-test[data-v-2d2cea1f] {
426
+ .command-test[data-v-36096054] {
427
427
  --text-primary: #e6edf7;
428
428
  --text-secondary: #95a8c8;
429
429
  --glass-bg: rgba(8, 16, 32, 0.72);
@@ -440,14 +440,14 @@ to {
440
440
  }
441
441
 
442
442
  /* ── 输入栏 ── */
443
- .input-bar[data-v-2d2cea1f] {
443
+ .input-bar[data-v-36096054] {
444
444
  display: flex;
445
445
  align-items: center;
446
446
  gap: 8px;
447
447
  width: 100%;
448
448
  min-width: 320px;
449
449
  }
450
- .input-field[data-v-2d2cea1f] {
450
+ .input-field[data-v-36096054] {
451
451
  flex: 1;
452
452
  padding: 10px 14px;
453
453
  border-radius: 12px;
@@ -459,17 +459,17 @@ to {
459
459
  backdrop-filter: blur(10px);
460
460
  transition: border-color 0.2s ease;
461
461
  }
462
- .input-field[data-v-2d2cea1f]::placeholder {
462
+ .input-field[data-v-36096054]::placeholder {
463
463
  color: var(--text-secondary);
464
464
  }
465
- .input-field[data-v-2d2cea1f]:focus {
465
+ .input-field[data-v-36096054]:focus {
466
466
  border-color: var(--color-accent);
467
467
  }
468
- .input-field[data-v-2d2cea1f]:disabled {
468
+ .input-field[data-v-36096054]:disabled {
469
469
  opacity: 0.5;
470
470
  cursor: not-allowed;
471
471
  }
472
- .submit-btn[data-v-2d2cea1f] {
472
+ .submit-btn[data-v-36096054] {
473
473
  display: flex;
474
474
  align-items: center;
475
475
  justify-content: center;
@@ -483,20 +483,20 @@ to {
483
483
  backdrop-filter: blur(10px);
484
484
  transition: background 0.2s ease, transform 0.15s ease, opacity 0.2s ease;
485
485
  }
486
- .submit-btn[data-v-2d2cea1f]:hover:not(:disabled) {
486
+ .submit-btn[data-v-36096054]:hover:not(:disabled) {
487
487
  background: rgba(129, 140, 248, 0.12);
488
488
  transform: scale(1.05);
489
489
  }
490
- .submit-btn[data-v-2d2cea1f]:disabled {
490
+ .submit-btn[data-v-36096054]:disabled {
491
491
  opacity: 0.4;
492
492
  cursor: not-allowed;
493
493
  }
494
- .btn-spinner[data-v-2d2cea1f] {
495
- animation: tool-spin-2d2cea1f 0.8s linear infinite;
494
+ .btn-spinner[data-v-36096054] {
495
+ animation: tool-spin-36096054 0.8s linear infinite;
496
496
  }
497
497
 
498
498
  /* ── 气泡容器 ── */
499
- .bubble-stack[data-v-2d2cea1f] {
499
+ .bubble-stack[data-v-36096054] {
500
500
  position: absolute;
501
501
  right: 0;
502
502
  bottom: calc(100% + 12px);
@@ -504,16 +504,16 @@ to {
504
504
  max-height: min(58vh, 520px);
505
505
  overflow: auto;
506
506
  }
507
- .bubble-stack[data-v-2d2cea1f]::-webkit-scrollbar {
507
+ .bubble-stack[data-v-36096054]::-webkit-scrollbar {
508
508
  width: 4px;
509
509
  }
510
- .bubble-stack[data-v-2d2cea1f]::-webkit-scrollbar-thumb {
510
+ .bubble-stack[data-v-36096054]::-webkit-scrollbar-thumb {
511
511
  background: rgba(126, 155, 204, 0.3);
512
512
  border-radius: 999px;
513
513
  }
514
514
 
515
515
  /* ── Agent 气泡 ── */
516
- .agent-bubble[data-v-2d2cea1f] {
516
+ .agent-bubble[data-v-36096054] {
517
517
  border-radius: 16px;
518
518
  padding: 12px 14px;
519
519
  background: radial-gradient(circle at 12% 10%, rgba(80, 122, 255, 0.14), transparent 50%), linear-gradient(155deg, rgba(24, 42, 72, 0.96), rgba(14, 24, 46, 0.97));
@@ -523,9 +523,9 @@ to {
523
523
  display: flex;
524
524
  flex-direction: column;
525
525
  gap: 0;
526
- animation: bubble-appear-2d2cea1f 0.3s cubic-bezier(0.16, 1, 0.3, 1);
526
+ animation: bubble-appear-36096054 0.3s cubic-bezier(0.16, 1, 0.3, 1);
527
527
  }
528
- @keyframes bubble-appear-2d2cea1f {
528
+ @keyframes bubble-appear-36096054 {
529
529
  from {
530
530
  opacity: 0;
531
531
  transform: translateY(8px) scale(0.97);
@@ -536,7 +536,7 @@ to {
536
536
  }
537
537
  }
538
538
  /* ── 工具执行步骤 ── */
539
- .tool-steps[data-v-2d2cea1f] {
539
+ .tool-steps[data-v-36096054] {
540
540
  display: flex;
541
541
  flex-direction: column;
542
542
  gap: 2px;
@@ -544,40 +544,40 @@ to {
544
544
  padding-bottom: 8px;
545
545
  border-bottom: 1px solid rgba(125, 160, 220, 0.1);
546
546
  }
547
- .tool-step[data-v-2d2cea1f] {
547
+ .tool-step[data-v-36096054] {
548
548
  display: flex;
549
549
  align-items: center;
550
550
  gap: 7px;
551
551
  padding: 4px 6px;
552
552
  border-radius: 8px;
553
553
  transition: background 0.2s ease;
554
- animation: step-in-2d2cea1f 0.25s cubic-bezier(0.16, 1, 0.3, 1);
554
+ animation: step-in-36096054 0.25s cubic-bezier(0.16, 1, 0.3, 1);
555
555
  }
556
- .tool-step--loading .tool-step__icon[data-v-2d2cea1f] {
556
+ .tool-step--loading .tool-step__icon[data-v-36096054] {
557
557
  color: var(--color-accent);
558
558
  }
559
- .tool-step--loading .tool-step__name[data-v-2d2cea1f] {
559
+ .tool-step--loading .tool-step__name[data-v-36096054] {
560
560
  color: rgba(200, 215, 240, 0.85);
561
561
  }
562
- .tool-step--done .tool-step__icon[data-v-2d2cea1f] {
562
+ .tool-step--done .tool-step__icon[data-v-36096054] {
563
563
  color: var(--color-success);
564
564
  }
565
- .tool-step--done .tool-step__name[data-v-2d2cea1f] {
565
+ .tool-step--done .tool-step__name[data-v-36096054] {
566
566
  color: rgba(200, 215, 240, 0.55);
567
567
  }
568
- .tool-step--error .tool-step__icon[data-v-2d2cea1f] {
568
+ .tool-step--error .tool-step__icon[data-v-36096054] {
569
569
  color: var(--color-error);
570
570
  }
571
- .tool-step--error .tool-step__name[data-v-2d2cea1f] {
571
+ .tool-step--error .tool-step__name[data-v-36096054] {
572
572
  color: rgba(248, 113, 113, 0.8);
573
573
  }
574
- .tool-step--executing[data-v-2d2cea1f] {
574
+ .tool-step--executing[data-v-36096054] {
575
575
  background: rgba(129, 140, 248, 0.06);
576
576
  }
577
- .tool-step--executing .tool-step__icon[data-v-2d2cea1f] {
577
+ .tool-step--executing .tool-step__icon[data-v-36096054] {
578
578
  color: var(--color-accent);
579
579
  }
580
- @keyframes step-in-2d2cea1f {
580
+ @keyframes step-in-36096054 {
581
581
  from {
582
582
  opacity: 0;
583
583
  transform: translateX(-6px);
@@ -587,7 +587,7 @@ to {
587
587
  transform: translateX(0);
588
588
  }
589
589
  }
590
- .tool-step__icon[data-v-2d2cea1f] {
590
+ .tool-step__icon[data-v-36096054] {
591
591
  display: flex;
592
592
  align-items: center;
593
593
  justify-content: center;
@@ -595,10 +595,10 @@ to {
595
595
  height: 18px;
596
596
  flex-shrink: 0;
597
597
  }
598
- .tool-step__spinner[data-v-2d2cea1f] {
599
- animation: tool-spin-2d2cea1f 0.8s linear infinite;
598
+ .tool-step__spinner[data-v-36096054] {
599
+ animation: tool-spin-36096054 0.8s linear infinite;
600
600
  }
601
- @keyframes tool-spin-2d2cea1f {
601
+ @keyframes tool-spin-36096054 {
602
602
  from {
603
603
  transform: rotate(0deg);
604
604
  }
@@ -606,7 +606,7 @@ to {
606
606
  transform: rotate(360deg);
607
607
  }
608
608
  }
609
- .tool-step__name[data-v-2d2cea1f] {
609
+ .tool-step__name[data-v-36096054] {
610
610
  font-size: 12px;
611
611
  font-weight: 500;
612
612
  white-space: nowrap;
@@ -614,7 +614,7 @@ to {
614
614
  text-overflow: ellipsis;
615
615
  transition: color 0.2s ease;
616
616
  }
617
- .tool-step__tag[data-v-2d2cea1f] {
617
+ .tool-step__tag[data-v-36096054] {
618
618
  font-size: 10px;
619
619
  font-weight: 500;
620
620
  padding: 1px 6px;
@@ -622,32 +622,32 @@ to {
622
622
  white-space: nowrap;
623
623
  flex-shrink: 0;
624
624
  }
625
- .tool-step__tag--exec[data-v-2d2cea1f] {
625
+ .tool-step__tag--exec[data-v-36096054] {
626
626
  background: rgba(129, 140, 248, 0.12);
627
627
  color: var(--color-accent);
628
628
  }
629
629
 
630
630
  /* ── 思考中动画 ── */
631
- .thinking-dots[data-v-2d2cea1f] {
631
+ .thinking-dots[data-v-36096054] {
632
632
  display: inline-flex;
633
633
  align-items: center;
634
634
  gap: 5px;
635
635
  padding: 2px 0;
636
636
  }
637
- .thinking-dots span[data-v-2d2cea1f] {
637
+ .thinking-dots span[data-v-36096054] {
638
638
  width: 5px;
639
639
  height: 5px;
640
640
  border-radius: 50%;
641
641
  background: var(--text-secondary);
642
- animation: thinking-bounce-2d2cea1f 1s infinite ease-in-out;
642
+ animation: thinking-bounce-36096054 1s infinite ease-in-out;
643
643
  }
644
- .thinking-dots span[data-v-2d2cea1f]:nth-child(2) {
644
+ .thinking-dots span[data-v-36096054]:nth-child(2) {
645
645
  animation-delay: 0.15s;
646
646
  }
647
- .thinking-dots span[data-v-2d2cea1f]:nth-child(3) {
647
+ .thinking-dots span[data-v-36096054]:nth-child(3) {
648
648
  animation-delay: 0.3s;
649
649
  }
650
- @keyframes thinking-bounce-2d2cea1f {
650
+ @keyframes thinking-bounce-36096054 {
651
651
  0%, 100% {
652
652
  transform: translateY(0);
653
653
  opacity: 0.3;
@@ -658,7 +658,7 @@ to {
658
658
  }
659
659
  }
660
660
  /* ── 文本内容 ── */
661
- .agent-text[data-v-2d2cea1f] {
661
+ .agent-text[data-v-36096054] {
662
662
  font-size: 14px;
663
663
  line-height: 1.55;
664
664
  color: var(--text-primary);
@@ -667,30 +667,30 @@ to {
667
667
  }
668
668
 
669
669
  /* ── 气泡过渡 ── */
670
- .bubble-fade-enter-active[data-v-2d2cea1f] {
670
+ .bubble-fade-enter-active[data-v-36096054] {
671
671
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
672
672
  }
673
- .bubble-fade-leave-active[data-v-2d2cea1f] {
673
+ .bubble-fade-leave-active[data-v-36096054] {
674
674
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
675
675
  }
676
- .bubble-fade-enter-from[data-v-2d2cea1f] {
676
+ .bubble-fade-enter-from[data-v-36096054] {
677
677
  opacity: 0;
678
678
  transform: translateY(12px) scale(0.95);
679
679
  }
680
- .bubble-fade-leave-to[data-v-2d2cea1f] {
680
+ .bubble-fade-leave-to[data-v-36096054] {
681
681
  opacity: 0;
682
682
  transform: translateY(8px) scale(0.97);
683
683
  }
684
684
  @media (max-width: 768px) {
685
- .bubble-stack[data-v-2d2cea1f] {
685
+ .bubble-stack[data-v-36096054] {
686
686
  width: min(320px, 88vw);
687
687
  max-height: min(54vh, 420px);
688
688
  }
689
- .input-bar[data-v-2d2cea1f] {
689
+ .input-bar[data-v-36096054] {
690
690
  min-width: 260px;
691
691
  }
692
692
  }
693
- .voice-assistant[data-v-ac1884ea] {
693
+ .voice-assistant[data-v-d15c792e] {
694
694
  --text-primary: #e6edf7;
695
695
  --text-secondary: #95a8c8;
696
696
  --glass-bg: rgba(8, 16, 32, 0.72);
@@ -707,16 +707,16 @@ to {
707
707
  }
708
708
 
709
709
  /* ── FAB 按钮 ── */
710
- .assistant-fab[data-v-ac1884ea] {
710
+ .assistant-fab[data-v-d15c792e] {
711
711
  position: relative;
712
712
  cursor: pointer;
713
713
  transition: transform 0.2s ease, filter 0.2s ease;
714
714
  }
715
- .assistant-fab[data-v-ac1884ea]:hover {
715
+ .assistant-fab[data-v-d15c792e]:hover {
716
716
  transform: translateY(-1px) scale(1.03);
717
717
  filter: brightness(1.06);
718
718
  }
719
- .status-pill[data-v-ac1884ea] {
719
+ .status-pill[data-v-d15c792e] {
720
720
  position: absolute;
721
721
  right: calc(100% + 12px);
722
722
  top: 50%;
@@ -735,13 +735,13 @@ to {
735
735
  text-overflow: ellipsis;
736
736
  box-shadow: 0 10px 20px rgba(2, 8, 24, 0.38);
737
737
  }
738
- .fab-avatar-wrapper[data-v-ac1884ea] {
738
+ .fab-avatar-wrapper[data-v-d15c792e] {
739
739
  position: relative;
740
740
  display: flex;
741
741
  align-items: center;
742
742
  justify-content: center;
743
743
  }
744
- .fab-avatar-wrapper img[data-v-ac1884ea] {
744
+ .fab-avatar-wrapper img[data-v-d15c792e] {
745
745
  display: block;
746
746
  height: auto;
747
747
  object-fit: contain;
@@ -749,7 +749,7 @@ to {
749
749
  }
750
750
 
751
751
  /* ── 气泡容器 ── */
752
- .bubble-stack[data-v-ac1884ea] {
752
+ .bubble-stack[data-v-d15c792e] {
753
753
  position: absolute;
754
754
  right: 0;
755
755
  bottom: calc(100% + 16px);
@@ -757,16 +757,16 @@ to {
757
757
  max-height: min(58vh, 520px);
758
758
  overflow: auto;
759
759
  }
760
- .bubble-stack[data-v-ac1884ea]::-webkit-scrollbar {
760
+ .bubble-stack[data-v-d15c792e]::-webkit-scrollbar {
761
761
  width: 4px;
762
762
  }
763
- .bubble-stack[data-v-ac1884ea]::-webkit-scrollbar-thumb {
763
+ .bubble-stack[data-v-d15c792e]::-webkit-scrollbar-thumb {
764
764
  background: rgba(126, 155, 204, 0.3);
765
765
  border-radius: 999px;
766
766
  }
767
767
 
768
768
  /* ── 统一 agent 气泡 ── */
769
- .agent-bubble[data-v-ac1884ea] {
769
+ .agent-bubble[data-v-d15c792e] {
770
770
  border-radius: 16px;
771
771
  padding: 12px 14px;
772
772
  background: radial-gradient(circle at 12% 10%, rgba(80, 122, 255, 0.14), transparent 50%), linear-gradient(155deg, rgba(24, 42, 72, 0.96), rgba(14, 24, 46, 0.97));
@@ -776,9 +776,9 @@ to {
776
776
  display: flex;
777
777
  flex-direction: column;
778
778
  gap: 0;
779
- animation: bubble-appear-ac1884ea 0.3s cubic-bezier(0.16, 1, 0.3, 1);
779
+ animation: bubble-appear-d15c792e 0.3s cubic-bezier(0.16, 1, 0.3, 1);
780
780
  }
781
- @keyframes bubble-appear-ac1884ea {
781
+ @keyframes bubble-appear-d15c792e {
782
782
  from {
783
783
  opacity: 0;
784
784
  transform: translateY(8px) scale(0.97);
@@ -789,7 +789,7 @@ to {
789
789
  }
790
790
  }
791
791
  /* ── 工具执行步骤(内联紧凑) ── */
792
- .tool-steps[data-v-ac1884ea] {
792
+ .tool-steps[data-v-d15c792e] {
793
793
  display: flex;
794
794
  flex-direction: column;
795
795
  gap: 2px;
@@ -797,40 +797,40 @@ to {
797
797
  padding-bottom: 8px;
798
798
  border-bottom: 1px solid rgba(125, 160, 220, 0.1);
799
799
  }
800
- .tool-step[data-v-ac1884ea] {
800
+ .tool-step[data-v-d15c792e] {
801
801
  display: flex;
802
802
  align-items: center;
803
803
  gap: 7px;
804
804
  padding: 4px 6px;
805
805
  border-radius: 8px;
806
806
  transition: background 0.2s ease;
807
- animation: step-in-ac1884ea 0.25s cubic-bezier(0.16, 1, 0.3, 1);
807
+ animation: step-in-d15c792e 0.25s cubic-bezier(0.16, 1, 0.3, 1);
808
808
  }
809
- .tool-step--loading .tool-step__icon[data-v-ac1884ea] {
809
+ .tool-step--loading .tool-step__icon[data-v-d15c792e] {
810
810
  color: var(--color-accent);
811
811
  }
812
- .tool-step--loading .tool-step__name[data-v-ac1884ea] {
812
+ .tool-step--loading .tool-step__name[data-v-d15c792e] {
813
813
  color: rgba(200, 215, 240, 0.85);
814
814
  }
815
- .tool-step--done .tool-step__icon[data-v-ac1884ea] {
815
+ .tool-step--done .tool-step__icon[data-v-d15c792e] {
816
816
  color: var(--color-success);
817
817
  }
818
- .tool-step--done .tool-step__name[data-v-ac1884ea] {
818
+ .tool-step--done .tool-step__name[data-v-d15c792e] {
819
819
  color: rgba(200, 215, 240, 0.55);
820
820
  }
821
- .tool-step--error .tool-step__icon[data-v-ac1884ea] {
821
+ .tool-step--error .tool-step__icon[data-v-d15c792e] {
822
822
  color: var(--color-error);
823
823
  }
824
- .tool-step--error .tool-step__name[data-v-ac1884ea] {
824
+ .tool-step--error .tool-step__name[data-v-d15c792e] {
825
825
  color: rgba(248, 113, 113, 0.8);
826
826
  }
827
- .tool-step--executing[data-v-ac1884ea] {
827
+ .tool-step--executing[data-v-d15c792e] {
828
828
  background: rgba(129, 140, 248, 0.06);
829
829
  }
830
- .tool-step--executing .tool-step__icon[data-v-ac1884ea] {
830
+ .tool-step--executing .tool-step__icon[data-v-d15c792e] {
831
831
  color: var(--color-accent);
832
832
  }
833
- @keyframes step-in-ac1884ea {
833
+ @keyframes step-in-d15c792e {
834
834
  from {
835
835
  opacity: 0;
836
836
  transform: translateX(-6px);
@@ -840,7 +840,7 @@ to {
840
840
  transform: translateX(0);
841
841
  }
842
842
  }
843
- .tool-step__icon[data-v-ac1884ea] {
843
+ .tool-step__icon[data-v-d15c792e] {
844
844
  display: flex;
845
845
  align-items: center;
846
846
  justify-content: center;
@@ -848,10 +848,10 @@ to {
848
848
  height: 18px;
849
849
  flex-shrink: 0;
850
850
  }
851
- .tool-step__spinner[data-v-ac1884ea] {
852
- animation: tool-spin-ac1884ea 0.8s linear infinite;
851
+ .tool-step__spinner[data-v-d15c792e] {
852
+ animation: tool-spin-d15c792e 0.8s linear infinite;
853
853
  }
854
- @keyframes tool-spin-ac1884ea {
854
+ @keyframes tool-spin-d15c792e {
855
855
  from {
856
856
  transform: rotate(0deg);
857
857
  }
@@ -859,7 +859,7 @@ to {
859
859
  transform: rotate(360deg);
860
860
  }
861
861
  }
862
- .tool-step__name[data-v-ac1884ea] {
862
+ .tool-step__name[data-v-d15c792e] {
863
863
  font-size: 12px;
864
864
  font-weight: 500;
865
865
  white-space: nowrap;
@@ -867,7 +867,7 @@ to {
867
867
  text-overflow: ellipsis;
868
868
  transition: color 0.2s ease;
869
869
  }
870
- .tool-step__tag[data-v-ac1884ea] {
870
+ .tool-step__tag[data-v-d15c792e] {
871
871
  font-size: 10px;
872
872
  font-weight: 500;
873
873
  padding: 1px 6px;
@@ -875,32 +875,32 @@ to {
875
875
  white-space: nowrap;
876
876
  flex-shrink: 0;
877
877
  }
878
- .tool-step__tag--exec[data-v-ac1884ea] {
878
+ .tool-step__tag--exec[data-v-d15c792e] {
879
879
  background: rgba(129, 140, 248, 0.12);
880
880
  color: var(--color-accent);
881
881
  }
882
882
 
883
883
  /* ── 思考中动画 ── */
884
- .thinking-dots[data-v-ac1884ea] {
884
+ .thinking-dots[data-v-d15c792e] {
885
885
  display: inline-flex;
886
886
  align-items: center;
887
887
  gap: 5px;
888
888
  padding: 2px 0;
889
889
  }
890
- .thinking-dots span[data-v-ac1884ea] {
890
+ .thinking-dots span[data-v-d15c792e] {
891
891
  width: 5px;
892
892
  height: 5px;
893
893
  border-radius: 50%;
894
894
  background: var(--text-secondary);
895
- animation: thinking-bounce-ac1884ea 1s infinite ease-in-out;
895
+ animation: thinking-bounce-d15c792e 1s infinite ease-in-out;
896
896
  }
897
- .thinking-dots span[data-v-ac1884ea]:nth-child(2) {
897
+ .thinking-dots span[data-v-d15c792e]:nth-child(2) {
898
898
  animation-delay: 0.15s;
899
899
  }
900
- .thinking-dots span[data-v-ac1884ea]:nth-child(3) {
900
+ .thinking-dots span[data-v-d15c792e]:nth-child(3) {
901
901
  animation-delay: 0.3s;
902
902
  }
903
- @keyframes thinking-bounce-ac1884ea {
903
+ @keyframes thinking-bounce-d15c792e {
904
904
  0%, 100% {
905
905
  transform: translateY(0);
906
906
  opacity: 0.3;
@@ -911,7 +911,7 @@ to {
911
911
  }
912
912
  }
913
913
  /* ── 文本内容 ── */
914
- .agent-text[data-v-ac1884ea] {
914
+ .agent-text[data-v-d15c792e] {
915
915
  font-size: 14px;
916
916
  line-height: 1.55;
917
917
  color: var(--text-primary);
@@ -920,23 +920,23 @@ to {
920
920
  }
921
921
 
922
922
  /* ── 气泡淡入淡出过渡 ── */
923
- .bubble-fade-enter-active[data-v-ac1884ea] {
923
+ .bubble-fade-enter-active[data-v-d15c792e] {
924
924
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
925
925
  }
926
- .bubble-fade-leave-active[data-v-ac1884ea] {
926
+ .bubble-fade-leave-active[data-v-d15c792e] {
927
927
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
928
928
  }
929
- .bubble-fade-enter-from[data-v-ac1884ea] {
929
+ .bubble-fade-enter-from[data-v-d15c792e] {
930
930
  opacity: 0;
931
931
  transform: translateY(12px) scale(0.95);
932
932
  }
933
- .bubble-fade-leave-to[data-v-ac1884ea] {
933
+ .bubble-fade-leave-to[data-v-d15c792e] {
934
934
  opacity: 0;
935
935
  transform: translateY(8px) scale(0.97);
936
936
  }
937
937
 
938
938
  /* ── 监听状态指示器 ── */
939
- .listening-badge[data-v-ac1884ea] {
939
+ .listening-badge[data-v-d15c792e] {
940
940
  position: absolute;
941
941
  top: -8px;
942
942
  right: -8px;
@@ -948,57 +948,57 @@ to {
948
948
  align-items: center;
949
949
  justify-content: center;
950
950
  }
951
- .listening-waves[data-v-ac1884ea] {
951
+ .listening-waves[data-v-d15c792e] {
952
952
  position: absolute;
953
953
  inset: 0;
954
954
  display: flex;
955
955
  align-items: center;
956
956
  justify-content: center;
957
957
  }
958
- .wave[data-v-ac1884ea] {
958
+ .wave[data-v-d15c792e] {
959
959
  position: absolute;
960
960
  width: 100%;
961
961
  height: 100%;
962
962
  border-radius: 50%;
963
963
  border: 2px solid rgba(255, 255, 255, 0.65);
964
- animation: wave-expand-ac1884ea 3s ease-out infinite;
964
+ animation: wave-expand-d15c792e 3s ease-out infinite;
965
965
  }
966
- .wave-1[data-v-ac1884ea] {
966
+ .wave-1[data-v-d15c792e] {
967
967
  animation-delay: 0s;
968
968
  }
969
- .wave-2[data-v-ac1884ea] {
969
+ .wave-2[data-v-d15c792e] {
970
970
  animation-delay: 0.6s;
971
971
  }
972
- .wave-3[data-v-ac1884ea] {
972
+ .wave-3[data-v-d15c792e] {
973
973
  animation-delay: 1.2s;
974
974
  }
975
- .listening-icon[data-v-ac1884ea] {
975
+ .listening-icon[data-v-d15c792e] {
976
976
  position: relative;
977
977
  color: #fff;
978
978
  }
979
- .listening-badge.wake-active[data-v-ac1884ea] {
979
+ .listening-badge.wake-active[data-v-d15c792e] {
980
980
  background-color: rgba(34, 197, 94, 0.9);
981
- animation: wake-badge-pop-ac1884ea 0.35s ease;
981
+ animation: wake-badge-pop-d15c792e 0.35s ease;
982
982
  }
983
- .indicator-fade-enter-active[data-v-ac1884ea],
984
- .indicator-fade-leave-active[data-v-ac1884ea] {
983
+ .indicator-fade-enter-active[data-v-d15c792e],
984
+ .indicator-fade-leave-active[data-v-d15c792e] {
985
985
  transition: all 0.2s ease;
986
986
  }
987
- .indicator-fade-enter-from[data-v-ac1884ea],
988
- .indicator-fade-leave-to[data-v-ac1884ea] {
987
+ .indicator-fade-enter-from[data-v-d15c792e],
988
+ .indicator-fade-leave-to[data-v-d15c792e] {
989
989
  opacity: 0;
990
990
  transform: translateY(6px);
991
991
  }
992
992
  @media (max-width: 768px) {
993
- .bubble-stack[data-v-ac1884ea] {
993
+ .bubble-stack[data-v-d15c792e] {
994
994
  width: min(320px, 88vw);
995
995
  max-height: min(54vh, 420px);
996
996
  }
997
- .status-pill[data-v-ac1884ea] {
997
+ .status-pill[data-v-d15c792e] {
998
998
  max-width: 220px;
999
999
  }
1000
1000
  }
1001
- @keyframes wave-expand-ac1884ea {
1001
+ @keyframes wave-expand-d15c792e {
1002
1002
  0% {
1003
1003
  transform: scale(0.8);
1004
1004
  opacity: 0.8;
@@ -1008,7 +1008,7 @@ to {
1008
1008
  opacity: 0;
1009
1009
  }
1010
1010
  }
1011
- @keyframes wake-badge-pop-ac1884ea {
1011
+ @keyframes wake-badge-pop-d15c792e {
1012
1012
  0% {
1013
1013
  transform: scale(1);
1014
1014
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siact/sime-x-vue",
3
- "version": "0.0.21",
3
+ "version": "0.0.22",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -10,6 +10,7 @@ export declare function useTTS(getVoiceConfig: () => VoiceConfig | null): {
10
10
  hasPendingAudio: import("vue").Ref<boolean, boolean>;
11
11
  warmUpAudio: () => void;
12
12
  speak: (text: string) => Promise<void>;
13
+ speakAndWait: (text: string) => Promise<void>;
13
14
  feed: (delta: string) => void;
14
15
  flush: () => void;
15
16
  stop: () => void;