Skip to content

Commit 4a779d7

Browse files
authored
Merge branch 'main' into agent-builder-an-working
2 parents e726087 + d02e784 commit 4a779d7

File tree

10 files changed

+86
-34
lines changed

10 files changed

+86
-34
lines changed

src/app/components/chat-panel/chat-panel.component.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,6 @@
395395
</mat-form-field>
396396
</div>
397397

398-
} @else {
399-
<div class="readonly-session-message">{{i18n.cannotEditSessionMessage}}</div>
400398
}
401399
}
402400

src/app/components/chat-panel/chat-panel.component.i18n.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ export const CHAT_PANEL_MESSAGES = {
4747
turnOffCamTooltip: 'Turn off camera',
4848
useCamTooltip: 'Use camera',
4949
updatedSessionStateChipLabel: 'Updated session state',
50-
cannotEditSessionMessage:
51-
'This session is read-only. You cannot send messages or update the state.',
5250
};
5351

5452

src/app/components/chat-panel/chat-panel.component.scss

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -193,15 +193,6 @@
193193
margin: 0 auto;
194194
}
195195

196-
.readonly-session-message {
197-
display: block;
198-
text-align: center;
199-
padding: 10px;
200-
width: 100%;
201-
margin: 0 auto;
202-
color: var(--chat-error-color);
203-
}
204-
205196
.input-field {
206197
flex-grow: 1;
207198

src/app/components/chat/chat.component.html

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,9 @@
128128
</div>
129129
<div class="toolbar-actions">
130130
@if (this.isEvalEditMode()) {
131-
<button mat-button (click)="cancelEditEvalCase()" style="height: 30px">{{ i18n.cancelButton }}</button>
131+
<button mat-button (click)="cancelEditEvalCase()" style="height: 30px">
132+
{{ i18n.cancelButton }}
133+
</button>
132134
<button
133135
mat-flat-button
134136
(click)="saveEvalCase()"
@@ -155,12 +157,18 @@
155157
}
156158
</div>
157159
} @else {
158-
<div style="display: flex">
160+
<div style="display: flex; align-items: center">
159161
@let isSessionLoading = uiStateService.isSessionLoading() | async; @if (isSessionLoading ===
160162
false) {
161163
<div class="toolbar-session-text">{{ i18n.sessionIdLabel }}</div>
162164
<div class="toolbar-session-id">{{ sessionId }}</div>
163-
} @else {
165+
@if (!canEditSession()) {
166+
<div class="readonly-badge">
167+
<mat-icon>visibility</mat-icon>
168+
{{ i18n.readOnlyBadgeLabel }}
169+
</div>
170+
<div class="readonly-session-message">{{i18n.cannotEditSessionMessage}}</div>
171+
} } @else {
164172
<div class="toolbar-session-text">{{ i18n.loadingSessionLabel }}</div>
165173
}
166174
</div>

src/app/components/chat/chat.component.i18n.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ export const CHAT_MESSAGES = {
4141
failedToLoadAgentsMessage: 'Failed to load agents. To get started, run',
4242
errorMessageLabel: 'Error message:',
4343
noAgentsFoundWarning: 'Warning: No agents found in current folder.',
44+
cannotEditSessionMessage:
45+
'Chat is disabled to prevent changes to the end user\'s session.',
46+
readOnlyBadgeLabel: 'Read only',
4447
};
4548

4649
/**
@@ -51,7 +54,7 @@ export type ChatMessages = typeof CHAT_MESSAGES;
5154
/**
5255
* Injection token for ChatComponent messages.
5356
*/
54-
export const ChatMessagesInjectionToken = new InjectionToken<ChatMessages>(
55-
'Chat Messages', {
57+
export const ChatMessagesInjectionToken =
58+
new InjectionToken<ChatMessages>('Chat Messages', {
5659
factory: () => CHAT_MESSAGES,
5760
});

src/app/components/chat/chat.component.scss

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,12 @@
162162
}
163163

164164
.function-event-button-highlight {
165-
background-color: var(--chat-function-event-button-highlight-background-color);
166-
border-color: var(--chat-function-event-button-highlight-border-color) !important;
165+
background-color: var(
166+
--chat-function-event-button-highlight-background-color
167+
);
168+
border-color: var(
169+
--chat-function-event-button-highlight-border-color
170+
) !important;
167171
color: var(--chat-function-event-button-highlight-color) !important;
168172
}
169173

@@ -194,8 +198,11 @@
194198

195199
.bot-message:focus-within {
196200
.message-card {
197-
background-color: var(--chat-bot-message-focus-within-message-card-background-color);
198-
border: 1px solid var(--chat-bot-message-focus-within-message-card-border-color);
201+
background-color: var(
202+
--chat-bot-message-focus-within-message-card-background-color
203+
);
204+
border: 1px solid
205+
var(--chat-bot-message-focus-within-message-card-border-color);
199206
}
200207
}
201208

@@ -473,6 +480,7 @@ button {
473480
margin-left: auto;
474481
display: flex;
475482
align-items: center;
483+
flex-shrink: 0;
476484
}
477485

478486
.toolbar-session-text {
@@ -486,6 +494,7 @@ button {
486494
text-transform: uppercase;
487495
margin-left: 20px;
488496
padding-top: 4px;
497+
flex-shrink: 0;
489498
}
490499

491500
.toolbar-session-id {
@@ -497,6 +506,7 @@ button {
497506
line-height: 20px;
498507
letter-spacing: 0.25px;
499508
margin-left: 5px;
509+
flex-shrink: 0;
500510
}
501511

502512
.toolbar-icon {
@@ -522,11 +532,16 @@ button {
522532
label-text-size: 14px,
523533
label-text-color: var(--chat-toolbar-sse-toggle-label-text-color),
524534
selected-track-color: var(--chat-toolbar-sse-toggle-selected-track-color),
525-
selected-focus-track-color: var(--chat-toolbar-sse-toggle-selected-track-color),
526-
selected-hover-track-color: var(--chat-toolbar-sse-toggle-selected-track-color),
527-
selected-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color),
528-
selected-focus-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color),
529-
selected-hover-handle-color: var(--chat-toolbar-sse-toggle-selected-handle-color),
535+
selected-focus-track-color:
536+
var(--chat-toolbar-sse-toggle-selected-track-color),
537+
selected-hover-track-color:
538+
var(--chat-toolbar-sse-toggle-selected-track-color),
539+
selected-handle-color:
540+
var(--chat-toolbar-sse-toggle-selected-handle-color),
541+
selected-focus-handle-color:
542+
var(--chat-toolbar-sse-toggle-selected-handle-color),
543+
selected-hover-handle-color:
544+
var(--chat-toolbar-sse-toggle-selected-handle-color),
530545
track-height: 24px,
531546
track-width: 46px,
532547
track-outline-color: var(--chat-toolbar-sse-toggle-track-outline-color),
@@ -541,6 +556,37 @@ button {
541556
overflow-x: auto;
542557
max-width: 100%;
543558
}
559+
560+
.readonly-badge {
561+
color: var(--chat-readonly-badge-color);
562+
background-color: var(--chat-readonly-badge-background-color);
563+
border-radius: 4px;
564+
padding: 1px 6px;
565+
display: flex;
566+
align-items: center;
567+
margin-left: 8px;
568+
font-size: 12px;
569+
line-height: 16px;
570+
gap: 4px;
571+
white-space: nowrap;
572+
mat-icon {
573+
font-size: 14px;
574+
width: 14px;
575+
height: 14px;
576+
padding-top: 1px;
577+
flex-shrink: 0;
578+
}
579+
}
580+
581+
.readonly-session-message {
582+
display: block;
583+
color: var(--chat-toolbar-session-text-color);
584+
margin-left: 1em;
585+
font-weight: 400;
586+
line-height: 16px;
587+
letter-spacing: 0.3px;
588+
flex-shrink: 1;
589+
}
544590

545591
::ng-deep .mat-drawer-content {
546592
display: flex !important;

src/app/components/chat/chat.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ export class ChatComponent implements OnInit, AfterViewInit, OnDestroy {
211211
root_agent = ROOT_AGENT;
212212
updatedSessionState: WritableSignal<any> = signal(null);
213213
private readonly isModelThinkingSubject = new BehaviorSubject(false);
214+
protected readonly canEditSession = signal(true);
214215

215216
// TODO: Remove this once backend supports restarting bidi streaming.
216217
sessionHasUsedBidi = new Set<string>();
@@ -1169,6 +1170,7 @@ export class ChatComponent implements OnInit, AfterViewInit, OnDestroy {
11691170

11701171
this.sessionService.canEdit(this.userId, session).subscribe((canEdit) => {
11711172
this.chatPanel()?.canEditSession.set(canEdit);
1173+
this.canEditSession.set(canEdit);
11721174
});
11731175
this.bottomPanelVisible = false;
11741176
this.changeDetectorRef.detectChanges();

src/app/components/session-tab/session-tab.component.html

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
-->
1616

1717
<div class="session-wrapper">
18-
@let isSessionListLoading = uiStateService.isSessionListLoading() | async;
19-
@if (isSessionListLoading) {
18+
@let isSessionListLoading = uiStateService.isSessionListLoading() | async; @if
19+
(isSessionListLoading) {
2020
<div class="loading-spinner-container">
2121
<mat-progress-bar mode="indeterminate"></mat-progress-bar>
2222
</div>
@@ -30,13 +30,12 @@
3030
[ngClass]="session.id === sessionId ? 'session-item current': 'session-item'"
3131
>
3232
<div class="session-info">
33-
<div class="session-id">
34-
{{session.id}} @if ((sessionService.canEdit(userId, session) | async) === false) {
35-
<mat-chip>{{ i18n.readonlyChip }}</mat-chip>
36-
}
37-
</div>
33+
<div class="session-id">{{session.id}}</div>
3834
<div class="session-date">{{ getDate(session) }}</div>
3935
</div>
36+
@if ((sessionService.canEdit(userId, session) | async) === false) {
37+
<mat-chip>{{ i18n.readonlyChip }}</mat-chip>
38+
}
4039
</div>
4140
}
4241
</div>

src/app/components/session-tab/session-tab.component.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
.session-item {
3434
display: flex;
3535
justify-content: space-between;
36+
align-items: center;
3637
border: none;
3738
background-color: var(--session-tab-session-item-background-color);
3839
border-radius: 8px;
@@ -45,6 +46,10 @@
4546
&.current {
4647
background-color: var(--session-tab-session-item-current-background-color);
4748
}
49+
50+
mat-chip {
51+
margin-right: 11px;
52+
}
4853
}
4954

5055
.session-id {

src/styles.scss

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ markdown p {
165165
--chat-mat-mdc-text-field-wrapper-border-color: #8e918f;
166166
--chat-segment-key-color: lightgray;
167167
--chat-bottom-resize-handler-background-color: #5f6368;
168+
--chat-readonly-badge-background-color: #ff8983;
169+
--chat-readonly-badge-color: #202124;
168170
--chat-trace-detail-container-background-color: #1b1b1b;
169171
--chat-toolbar-background-color: #1b1b1b;
170172
--chat-toolbar-edit-mode-background-color: #44c2651a;

0 commit comments

Comments
 (0)