@hef2024/llmasaservice-ui 0.19.0 → 0.20.0

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/index.css CHANGED
@@ -897,6 +897,97 @@ button[data-pending=true]::after {
897
897
  .searching-section {
898
898
  border-left: 3px solid #7b68ee;
899
899
  }
900
+ .error-banner {
901
+ display: flex;
902
+ align-items: flex-start;
903
+ gap: 12px;
904
+ padding: 12px 16px;
905
+ margin: 12px 16px;
906
+ background: #fef2f2;
907
+ border: 1px solid #fecaca;
908
+ border-radius: 8px;
909
+ animation: slideDown 0.2s ease-out;
910
+ }
911
+ .dark-theme .error-banner {
912
+ background: #7f1d1d;
913
+ border-color: #991b1b;
914
+ }
915
+ .error-banner__icon {
916
+ flex-shrink: 0;
917
+ color: #dc2626;
918
+ margin-top: 2px;
919
+ width: 20px;
920
+ height: 20px;
921
+ }
922
+ .error-banner__icon svg {
923
+ width: 100%;
924
+ height: 100%;
925
+ }
926
+ .dark-theme .error-banner__icon {
927
+ color: #fca5a5;
928
+ }
929
+ .error-banner__content {
930
+ flex: 1;
931
+ display: flex;
932
+ flex-direction: column;
933
+ gap: 4px;
934
+ }
935
+ .error-banner__message {
936
+ color: #991b1b;
937
+ font-size: 14px;
938
+ font-weight: 500;
939
+ line-height: 1.4;
940
+ }
941
+ .dark-theme .error-banner__message {
942
+ color: #fecaca;
943
+ }
944
+ .error-banner__hint {
945
+ color: #b91c1c;
946
+ font-size: 13px;
947
+ line-height: 1.4;
948
+ }
949
+ .dark-theme .error-banner__hint {
950
+ color: #fca5a5;
951
+ opacity: 0.8;
952
+ }
953
+ .error-banner__close {
954
+ flex-shrink: 0;
955
+ background: none;
956
+ border: none;
957
+ padding: 4px;
958
+ cursor: pointer;
959
+ color: #991b1b;
960
+ border-radius: 4px;
961
+ transition: background-color 0.15s;
962
+ width: 24px;
963
+ height: 24px;
964
+ display: flex;
965
+ align-items: center;
966
+ justify-content: center;
967
+ }
968
+ .error-banner__close svg {
969
+ width: 16px;
970
+ height: 16px;
971
+ }
972
+ .dark-theme .error-banner__close {
973
+ color: #fca5a5;
974
+ }
975
+ .error-banner__close:hover {
976
+ background: rgba(220, 38, 38, 0.1);
977
+ }
978
+ .dark-theme .error-banner__close:hover {
979
+ background: rgba(252, 165, 165, 0.1);
980
+ }
981
+ @keyframes slideDown {
982
+ from {
983
+ opacity: 0;
984
+ transform: translateY(-8px);
985
+ }
986
+ to {
987
+ opacity: 1;
988
+ transform: translateY(0);
989
+ }
990
+ }
900
991
 
901
992
  /* src/AIAgentPanel.css */
902
993
  :root {
@@ -2301,12 +2392,34 @@ button[data-pending=true]::after {
2301
2392
  display: flex;
2302
2393
  gap: 4px;
2303
2394
  margin-top: 8px;
2304
- opacity: 0;
2395
+ opacity: 1;
2305
2396
  transition: opacity 0.2s;
2306
2397
  }
2307
2398
  .ai-chat-message:hover .ai-chat-message__actions {
2308
2399
  opacity: 1;
2309
2400
  }
2401
+ .ai-chat-action-button {
2402
+ display: inline-flex;
2403
+ align-items: center;
2404
+ justify-content: center;
2405
+ width: 32px;
2406
+ height: 32px;
2407
+ padding: 0;
2408
+ background: transparent;
2409
+ border: none;
2410
+ border-radius: 6px;
2411
+ color: var(--ai-sidebar-text-muted, #9ca3af);
2412
+ cursor: pointer;
2413
+ transition: background-color 0.15s, color 0.15s;
2414
+ }
2415
+ .ai-chat-action-button:hover {
2416
+ background-color: var(--ai-button-ghost-hover, rgba(0, 0, 0, 0.04));
2417
+ color: var(--ai-chat-assistant-text, #374151);
2418
+ }
2419
+ .dark-theme .ai-chat-action-button:hover {
2420
+ background-color: var(--ai-button-ghost-hover, rgba(255, 255, 255, 0.08));
2421
+ color: var(--ai-chat-assistant-text, #e5e7eb);
2422
+ }
2310
2423
  .ai-chat-thinking {
2311
2424
  background-color: var(--ai-chat-thinking-bg);
2312
2425
  border: 1px solid var(--ai-chat-thinking-border);
@@ -3316,3 +3429,79 @@ button[data-pending=true]::after {
3316
3429
  }
3317
3430
  }
3318
3431
  }
3432
+ .ai-chat-error-banner {
3433
+ display: flex;
3434
+ align-items: flex-start;
3435
+ gap: 12px;
3436
+ padding: 12px 16px;
3437
+ margin: 12px 16px;
3438
+ background: #fef2f2;
3439
+ border: 1px solid #fecaca;
3440
+ border-radius: 8px;
3441
+ animation: slideDown 0.2s ease-out;
3442
+ }
3443
+ .dark-theme .ai-chat-error-banner {
3444
+ background: #7f1d1d;
3445
+ border-color: #991b1b;
3446
+ }
3447
+ .ai-chat-error-banner__icon {
3448
+ flex-shrink: 0;
3449
+ color: #dc2626;
3450
+ margin-top: 2px;
3451
+ }
3452
+ .dark-theme .ai-chat-error-banner__icon {
3453
+ color: #fca5a5;
3454
+ }
3455
+ .ai-chat-error-banner__content {
3456
+ flex: 1;
3457
+ display: flex;
3458
+ flex-direction: column;
3459
+ gap: 4px;
3460
+ }
3461
+ .ai-chat-error-banner__message {
3462
+ color: #991b1b;
3463
+ font-size: 14px;
3464
+ font-weight: 500;
3465
+ line-height: 1.4;
3466
+ }
3467
+ .dark-theme .ai-chat-error-banner__message {
3468
+ color: #fecaca;
3469
+ }
3470
+ .ai-chat-error-banner__hint {
3471
+ color: #b91c1c;
3472
+ font-size: 13px;
3473
+ line-height: 1.4;
3474
+ }
3475
+ .dark-theme .ai-chat-error-banner__hint {
3476
+ color: #fca5a5;
3477
+ opacity: 0.8;
3478
+ }
3479
+ .ai-chat-error-banner__close {
3480
+ flex-shrink: 0;
3481
+ background: none;
3482
+ border: none;
3483
+ padding: 4px;
3484
+ cursor: pointer;
3485
+ color: #991b1b;
3486
+ border-radius: 4px;
3487
+ transition: background-color 0.15s;
3488
+ }
3489
+ .dark-theme .ai-chat-error-banner__close {
3490
+ color: #fca5a5;
3491
+ }
3492
+ .ai-chat-error-banner__close:hover {
3493
+ background: rgba(220, 38, 38, 0.1);
3494
+ }
3495
+ .dark-theme .ai-chat-error-banner__close:hover {
3496
+ background: rgba(252, 165, 165, 0.1);
3497
+ }
3498
+ @keyframes slideDown {
3499
+ from {
3500
+ opacity: 0;
3501
+ transform: translateY(-8px);
3502
+ }
3503
+ to {
3504
+ opacity: 1;
3505
+ transform: translateY(0);
3506
+ }
3507
+ }
package/dist/index.d.mts CHANGED
@@ -390,7 +390,7 @@ declare function useAgentRegistry(agentIds: string[], options?: UseAgentRegistry
390
390
  id: string;
391
391
  name: string;
392
392
  description: string;
393
- status: "idle" | "error" | "loading" | "ready";
393
+ status: "error" | "idle" | "loading" | "ready";
394
394
  isReady: boolean;
395
395
  avatarUrl: string | undefined;
396
396
  localName: string | undefined;
package/dist/index.d.ts CHANGED
@@ -390,7 +390,7 @@ declare function useAgentRegistry(agentIds: string[], options?: UseAgentRegistry
390
390
  id: string;
391
391
  name: string;
392
392
  description: string;
393
- status: "idle" | "error" | "loading" | "ready";
393
+ status: "error" | "idle" | "loading" | "ready";
394
394
  isReady: boolean;
395
395
  avatarUrl: string | undefined;
396
396
  localName: string | undefined;