@theia/ai-chat-ui 1.66.2 → 1.67.0-next.13

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.
@@ -14,6 +14,7 @@ import { SimpleMonacoEditor } from '@theia/monaco/lib/browser/simple-monaco-edit
14
14
  import { ChangeSetActionService } from './change-set-actions/change-set-action-service';
15
15
  import { ContextVariablePicker } from './context-variable-picker';
16
16
  import { ChatInputHistoryService, ChatInputNavigationState } from './chat-input-history';
17
+ import { ContextFileValidationService, FileValidationResult } from '@theia/ai-chat/lib/browser/context-file-validation-service';
17
18
  type Query = (query: string, mode?: string) => Promise<void>;
18
19
  type Unpin = () => void;
19
20
  type Cancel = (requestModel: ChatRequestModel) => void;
@@ -45,6 +46,8 @@ export declare class AIChatInputWidget extends ReactWidget {
45
46
  protected readonly aiActivationService: AIActivationService;
46
47
  protected readonly historyService: ChatInputHistoryService;
47
48
  protected readonly chatRequestParser: ChatRequestParser;
49
+ protected readonly validationService: ContextFileValidationService | undefined;
50
+ protected fileValidationState: Map<string, FileValidationResult>;
48
51
  protected readonly contextKeyService: ContextKeyService;
49
52
  protected navigationState: ChatInputNavigationState;
50
53
  protected editorRef: SimpleMonacoEditor | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-input-widget.d.ts","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
@@ -36,10 +36,12 @@ const chat_view_language_contribution_1 = require("./chat-view-language-contribu
36
36
  const context_variable_picker_1 = require("./context-variable-picker");
37
37
  const task_context_variable_1 = require("@theia/ai-chat/lib/browser/task-context-variable");
38
38
  const chat_input_history_1 = require("./chat-input-history");
39
+ const context_file_validation_service_1 = require("@theia/ai-chat/lib/browser/context-file-validation-service");
39
40
  exports.AIChatInputConfiguration = Symbol('AIChatInputConfiguration');
40
41
  let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends browser_2.ReactWidget {
41
42
  constructor() {
42
43
  super(...arguments);
44
+ this.fileValidationState = new Map();
43
45
  this.editorRef = undefined;
44
46
  this.editorReady = new promise_util_1.Deferred();
45
47
  this.handleModeChange = (mode) => {
@@ -119,7 +121,26 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
119
121
  this.onDisposeForChatModel.dispose();
120
122
  this.onDisposeForChatModel = new core_1.DisposableCollection();
121
123
  this.onDisposeForChatModel.push(chatModel.onDidChange(event => {
122
- if (event.kind === 'addVariable' || event.kind === 'removeVariable' || event.kind === 'addRequest' || event.kind === 'changeHierarchyBranch') {
124
+ if (event.kind === 'addVariable') {
125
+ // Validate files added via any path (including LLM tool calls)
126
+ // Get the current variables and validate any new file variables
127
+ const variables = chatModel.context.getVariables();
128
+ variables.forEach(variable => {
129
+ if (variable.variable.name === 'file' && variable.arg) {
130
+ const pathKey = variable.arg; // Use the original path as the key
131
+ // Revalidate the file each time someone (User or LLM) adds it to the context,
132
+ // as the state may change over time.
133
+ if (this.validationService) {
134
+ this.validationService.validateFile(pathKey).then(result => {
135
+ this.fileValidationState.set(pathKey, result);
136
+ this.update();
137
+ });
138
+ }
139
+ }
140
+ });
141
+ this.update();
142
+ }
143
+ else if (event.kind === 'removeVariable' || event.kind === 'addRequest' || event.kind === 'changeHierarchyBranch') {
123
144
  this.update();
124
145
  }
125
146
  }));
@@ -315,7 +336,7 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
315
336
  const isEditing = !!(currentRequest && (ai_chat_1.EditableChatRequestModel.isEditing(currentRequest)));
316
337
  const isPending = () => !!(currentRequest && !isEditing && ai_chat_1.ChatRequestModel.isInProgress(currentRequest));
317
338
  const pending = isPending();
318
- return (React.createElement(ChatInput, { branch: this._branch, onQuery: this._onQuery.bind(this), onUnpin: this._onUnpin.bind(this), onCancel: this._onCancel.bind(this), onDragOver: this.onDragOver.bind(this), onDrop: this.onDrop.bind(this), onPaste: this.onPaste.bind(this), onEscape: this.onEscape.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), onAddContextElement: this.addContextElement.bind(this), onDeleteContextElement: this.deleteContextElement.bind(this), onOpenContextElement: this.openContextElement.bind(this), context: this.getContext(), onAgentCompletion: this.handleAgentCompletion.bind(this), chatModel: this._chatModel, pinnedAgent: this._pinnedAgent, editorProvider: this.editorProvider, uri: this.getResourceUri(), contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
339
+ return (React.createElement(ChatInput, { branch: this._branch, onQuery: this._onQuery.bind(this), onUnpin: this._onUnpin.bind(this), onCancel: this._onCancel.bind(this), onDragOver: this.onDragOver.bind(this), onDrop: this.onDrop.bind(this), onPaste: this.onPaste.bind(this), onEscape: this.onEscape.bind(this), onDeleteChangeSet: this._onDeleteChangeSet.bind(this), onDeleteChangeSetElement: this._onDeleteChangeSetElement.bind(this), onAddContextElement: this.addContextElement.bind(this), onDeleteContextElement: this.deleteContextElement.bind(this), onOpenContextElement: this.openContextElement.bind(this), context: this.getContext(), fileValidationState: this.fileValidationState, onAgentCompletion: this.handleAgentCompletion.bind(this), chatModel: this._chatModel, pinnedAgent: this._pinnedAgent, editorProvider: this.editorProvider, uri: this.getResourceUri(), contextMenuCallback: this.handleContextMenu.bind(this), isEnabled: this.isEnabled, setEditorRef: editor => {
319
340
  this.editorRef = editor;
320
341
  this.setupEditorEventListeners();
321
342
  this.editorReady.resolve();
@@ -393,6 +414,14 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
393
414
  }
394
415
  }
395
416
  async openContextElement(request) {
417
+ // Re-validate file before opening
418
+ if (request.variable.name === 'file' && request.arg) {
419
+ if (this.validationService) {
420
+ const result = await this.validationService.validateFile(request.arg);
421
+ this.fileValidationState.set(request.arg, result);
422
+ this.update();
423
+ }
424
+ }
396
425
  const session = this.chatService.getSessions().find(candidate => candidate.model.id === this._chatModel.id);
397
426
  const context = { session };
398
427
  await this.variableService.open(request, context);
@@ -421,6 +450,7 @@ let AIChatInputWidget = AIChatInputWidget_1 = class AIChatInputWidget extends br
421
450
  event.preventDefault();
422
451
  }
423
452
  addContext(variable) {
453
+ // Validation happens in the chatModel.onDidChange listener
424
454
  this._chatModel.context.addVariables(variable);
425
455
  }
426
456
  getContext() {
@@ -491,6 +521,11 @@ tslib_1.__decorate([
491
521
  (0, inversify_1.inject)(ai_chat_1.ChatRequestParser),
492
522
  tslib_1.__metadata("design:type", Object)
493
523
  ], AIChatInputWidget.prototype, "chatRequestParser", void 0);
524
+ tslib_1.__decorate([
525
+ (0, inversify_1.inject)(context_file_validation_service_1.ContextFileValidationService),
526
+ (0, inversify_1.optional)(),
527
+ tslib_1.__metadata("design:type", Object)
528
+ ], AIChatInputWidget.prototype, "validationService", void 0);
494
529
  tslib_1.__decorate([
495
530
  (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
496
531
  tslib_1.__metadata("design:type", Object)
@@ -839,7 +874,7 @@ const ChatInput = (props) => {
839
874
  disabled: (isInputEmpty && !shouldUseTaskPlaceholder) || !props.isEnabled
840
875
  }];
841
876
  }
842
- const contextUI = buildContextUI(props.context, props.labelProvider, props.onDeleteContextElement, props.onOpenContextElement);
877
+ const contextUI = buildContextUI(props.context, props.labelProvider, props.onDeleteContextElement, props.onOpenContextElement, props.fileValidationState);
843
878
  // Show mode selector if agent has multiple modes
844
879
  const showModeSelector = ((_b = (_a = props.modeSelectorProps.receivingAgentModes) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 1;
845
880
  return (React.createElement("div", { className: 'theia-ChatInput', "data-ai-disabled": !props.isEnabled, onDragOver: props.onDragOver, onDrop: props.onDrop, ref: containerRef },
@@ -929,26 +964,47 @@ const ChangeSetElement = element => (React.createElement("li", { key: element.ur
929
964
  element.revert && (React.createElement("span", { className: 'codicon codicon-discard action', title: core_1.nls.localizeByDefault('Revert'), onClick: noPropagation(() => element.revert()) })),
930
965
  element.apply && (React.createElement("span", { className: 'codicon codicon-check action', title: core_1.nls.localizeByDefault('Apply'), onClick: noPropagation(() => element.apply()) })),
931
966
  React.createElement("span", { className: 'codicon codicon-close action', title: core_1.nls.localizeByDefault('Delete'), onClick: noPropagation(() => element.delete()) }))));
932
- function buildContextUI(context, labelProvider, onDeleteContextElement, onOpen) {
967
+ function buildContextUI(context, labelProvider, onDeleteContextElement, onOpen, fileValidationState) {
933
968
  if (!context) {
934
969
  return { context: [] };
935
970
  }
936
971
  return {
937
- context: context.map((element, index) => ({
938
- variable: element,
939
- name: labelProvider.getName(element),
940
- iconClass: labelProvider.getIcon(element),
941
- nameClass: element.variable.name,
942
- additionalInfo: labelProvider.getDetails(element),
943
- details: labelProvider.getLongName(element),
944
- delete: () => onDeleteContextElement(index),
945
- open: () => onOpen(element)
946
- }))
972
+ context: context.map((element, index) => {
973
+ // Check if this is an invalid file
974
+ let className;
975
+ let validationMessage;
976
+ if (element.variable.name === 'file' && element.arg) {
977
+ // Use the path directly as the key (same as storage)
978
+ const validationResult = fileValidationState.get(element.arg);
979
+ if (validationResult) {
980
+ if (validationResult.state === context_file_validation_service_1.FileValidationState.INVALID_SECONDARY) {
981
+ className = 'warning-file';
982
+ validationMessage = validationResult.message;
983
+ }
984
+ else if (validationResult.state === context_file_validation_service_1.FileValidationState.INVALID_NOT_FOUND) {
985
+ className = 'invalid-file';
986
+ validationMessage = validationResult.message;
987
+ }
988
+ }
989
+ }
990
+ return {
991
+ variable: element,
992
+ name: labelProvider.getName(element),
993
+ iconClass: labelProvider.getIcon(element),
994
+ nameClass: element.variable.name,
995
+ className,
996
+ validationMessage,
997
+ additionalInfo: labelProvider.getDetails(element),
998
+ details: labelProvider.getLongName(element),
999
+ delete: () => onDeleteContextElement(index),
1000
+ open: () => onOpen(element)
1001
+ };
1002
+ })
947
1003
  };
948
1004
  }
949
1005
  const ChatContext = ({ context }) => (React.createElement("div", { className: "theia-ChatInput-ChatContext" },
950
1006
  React.createElement("ul", null, context.map((element, index) => {
951
- var _a, _b, _c;
1007
+ var _a, _b, _c, _d;
952
1008
  if (image_context_variable_1.ImageContextVariable.isImageContextRequest(element.variable)) {
953
1009
  const variable = image_context_variable_1.ImageContextVariable.parseRequest(element.variable);
954
1010
  return React.createElement("li", { key: index, className: "theia-ChatInput-ChatContext-Element theia-ChatInput-ImageContext-Element", title: (_a = variable.name) !== null && _a !== void 0 ? _a : variable.wsRelativePath, onClick: () => { var _a; return (_a = element.open) === null || _a === void 0 ? void 0 : _a.call(element); } },
@@ -962,8 +1018,13 @@ const ChatContext = ({ context }) => (React.createElement("div", { className: "t
962
1018
  React.createElement("div", { className: 'theia-ChatInput-ImagePreview-Item' },
963
1019
  React.createElement("img", { src: `data:${variable.mimeType};base64,${variable.data}`, alt: variable.name }))));
964
1020
  }
965
- return React.createElement("li", { key: index, className: "theia-ChatInput-ChatContext-Element", title: element.details, onClick: () => { var _a; return (_a = element.open) === null || _a === void 0 ? void 0 : _a.call(element); } },
1021
+ const isWarning = element.className === 'warning-file';
1022
+ const isInvalid = element.className === 'invalid-file';
1023
+ const tooltipTitle = (_d = element.validationMessage) !== null && _d !== void 0 ? _d : element.details;
1024
+ return React.createElement("li", { key: index, className: `theia-ChatInput-ChatContext-Element ${element.className || ''}`, title: tooltipTitle, onClick: () => { var _a; return (_a = element.open) === null || _a === void 0 ? void 0 : _a.call(element); } },
966
1025
  React.createElement("div", { className: "theia-ChatInput-ChatContext-Row" },
1026
+ isWarning && React.createElement("span", { className: "codicon codicon-warning warning-file-icon" }),
1027
+ isInvalid && React.createElement("span", { className: "codicon codicon-error invalid-file-icon" }),
967
1028
  React.createElement("div", { className: `theia-ChatInput-ChatContext-Icon ${element.iconClass}` }),
968
1029
  React.createElement("div", { className: "theia-ChatInput-ChatContext-labelParts" },
969
1030
  React.createElement("span", { className: `theia-ChatInput-ChatContext-title ${element.nameClass}` }, element.name),
@@ -1 +1 @@
1
- {"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-input-widget.js","sourceRoot":"","sources":["../../src/browser/chat-input-widget.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@theia/ai-chat-ui",
3
- "version": "1.66.2",
3
+ "version": "1.67.0-next.13+c409d5d18",
4
4
  "description": "Theia - AI Chat UI Extension",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.66.2",
7
- "@theia/ai-core": "1.66.2",
8
- "@theia/core": "1.66.2",
9
- "@theia/editor": "1.66.2",
10
- "@theia/editor-preview": "1.66.2",
11
- "@theia/filesystem": "1.66.2",
12
- "@theia/monaco": "1.66.2",
6
+ "@theia/ai-chat": "1.67.0-next.13+c409d5d18",
7
+ "@theia/ai-core": "1.67.0-next.13+c409d5d18",
8
+ "@theia/core": "1.67.0-next.13+c409d5d18",
9
+ "@theia/editor": "1.67.0-next.13+c409d5d18",
10
+ "@theia/editor-preview": "1.67.0-next.13+c409d5d18",
11
+ "@theia/filesystem": "1.67.0-next.13+c409d5d18",
12
+ "@theia/monaco": "1.67.0-next.13+c409d5d18",
13
13
  "@theia/monaco-editor-core": "1.96.302",
14
- "@theia/workspace": "1.66.2",
14
+ "@theia/workspace": "1.67.0-next.13+c409d5d18",
15
15
  "date-fns": "^4.1.0",
16
16
  "tslib": "^2.6.2",
17
17
  "uuid": "^9.0.1"
@@ -50,10 +50,10 @@
50
50
  "watch": "theiaext watch"
51
51
  },
52
52
  "devDependencies": {
53
- "@theia/ext-scripts": "1.66.2"
53
+ "@theia/ext-scripts": "1.66.0"
54
54
  },
55
55
  "nyc": {
56
56
  "extends": "../../configs/nyc.json"
57
57
  },
58
- "gitHead": "18508653de50e2a0c350e7d131f9447d74475c41"
58
+ "gitHead": "c409d5d18d8c4f5a722f87b37ea9d6fd5af47ea8"
59
59
  }
@@ -39,6 +39,7 @@ import { TASK_CONTEXT_VARIABLE } from '@theia/ai-chat/lib/browser/task-context-v
39
39
  import { IModelDeltaDecoration } from '@theia/monaco-editor-core/esm/vs/editor/common/model';
40
40
  import { EditorOption } from '@theia/monaco-editor-core/esm/vs/editor/common/config/editorOptions';
41
41
  import { ChatInputHistoryService, ChatInputNavigationState } from './chat-input-history';
42
+ import { ContextFileValidationService, FileValidationResult, FileValidationState } from '@theia/ai-chat/lib/browser/context-file-validation-service';
42
43
 
43
44
  type Query = (query: string, mode?: string) => Promise<void>;
44
45
  type Unpin = () => void;
@@ -106,6 +107,11 @@ export class AIChatInputWidget extends ReactWidget {
106
107
  @inject(ChatRequestParser)
107
108
  protected readonly chatRequestParser: ChatRequestParser;
108
109
 
110
+ @inject(ContextFileValidationService) @optional()
111
+ protected readonly validationService: ContextFileValidationService | undefined;
112
+
113
+ protected fileValidationState = new Map<string, FileValidationResult>();
114
+
109
115
  @inject(ContextKeyService)
110
116
  protected readonly contextKeyService: ContextKeyService;
111
117
 
@@ -218,7 +224,25 @@ export class AIChatInputWidget extends ReactWidget {
218
224
  this.onDisposeForChatModel.dispose();
219
225
  this.onDisposeForChatModel = new DisposableCollection();
220
226
  this.onDisposeForChatModel.push(chatModel.onDidChange(event => {
221
- if (event.kind === 'addVariable' || event.kind === 'removeVariable' || event.kind === 'addRequest' || event.kind === 'changeHierarchyBranch') {
227
+ if (event.kind === 'addVariable') {
228
+ // Validate files added via any path (including LLM tool calls)
229
+ // Get the current variables and validate any new file variables
230
+ const variables = chatModel.context.getVariables();
231
+ variables.forEach(variable => {
232
+ if (variable.variable.name === 'file' && variable.arg) {
233
+ const pathKey = variable.arg; // Use the original path as the key
234
+ // Revalidate the file each time someone (User or LLM) adds it to the context,
235
+ // as the state may change over time.
236
+ if (this.validationService) {
237
+ this.validationService.validateFile(pathKey).then(result => {
238
+ this.fileValidationState.set(pathKey, result);
239
+ this.update();
240
+ });
241
+ }
242
+ }
243
+ });
244
+ this.update();
245
+ } else if (event.kind === 'removeVariable' || event.kind === 'addRequest' || event.kind === 'changeHierarchyBranch') {
222
246
  this.update();
223
247
  }
224
248
  }));
@@ -458,6 +482,7 @@ export class AIChatInputWidget extends ReactWidget {
458
482
  onDeleteContextElement={this.deleteContextElement.bind(this)}
459
483
  onOpenContextElement={this.openContextElement.bind(this)}
460
484
  context={this.getContext()}
485
+ fileValidationState={this.fileValidationState}
461
486
  onAgentCompletion={this.handleAgentCompletion.bind(this)}
462
487
  chatModel={this._chatModel}
463
488
  pinnedAgent={this._pinnedAgent}
@@ -562,6 +587,14 @@ export class AIChatInputWidget extends ReactWidget {
562
587
  }
563
588
 
564
589
  protected async openContextElement(request: AIVariableResolutionRequest): Promise<void> {
590
+ // Re-validate file before opening
591
+ if (request.variable.name === 'file' && request.arg) {
592
+ if (this.validationService) {
593
+ const result = await this.validationService.validateFile(request.arg);
594
+ this.fileValidationState.set(request.arg, result);
595
+ this.update();
596
+ }
597
+ }
565
598
  const session = this.chatService.getSessions().find(candidate => candidate.model.id === this._chatModel.id);
566
599
  const context = { session };
567
600
  await this.variableService.open(request, context);
@@ -595,6 +628,7 @@ export class AIChatInputWidget extends ReactWidget {
595
628
  }
596
629
 
597
630
  addContext(variable: AIVariableResolutionRequest): void {
631
+ // Validation happens in the chatModel.onDidChange listener
598
632
  this._chatModel.context.addVariables(variable);
599
633
  }
600
634
 
@@ -619,6 +653,7 @@ interface ChatInputProperties {
619
653
  onOpenContextElement: OpenContextElement;
620
654
  onAgentCompletion: (request: ChatRequestModel) => void;
621
655
  context?: readonly AIVariableResolutionRequest[];
656
+ fileValidationState: Map<string, FileValidationResult>;
622
657
  isEnabled?: boolean;
623
658
  chatModel: ChatModel;
624
659
  pinnedAgent?: ChatAgent;
@@ -1044,7 +1079,7 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
1044
1079
  }];
1045
1080
  }
1046
1081
 
1047
- const contextUI = buildContextUI(props.context, props.labelProvider, props.onDeleteContextElement, props.onOpenContextElement);
1082
+ const contextUI = buildContextUI(props.context, props.labelProvider, props.onDeleteContextElement, props.onOpenContextElement, props.fileValidationState);
1048
1083
 
1049
1084
  // Show mode selector if agent has multiple modes
1050
1085
  const showModeSelector = (props.modeSelectorProps.receivingAgentModes?.length ?? 0) > 1;
@@ -1293,22 +1328,43 @@ function buildContextUI(
1293
1328
  context: readonly AIVariableResolutionRequest[] | undefined,
1294
1329
  labelProvider: LabelProvider,
1295
1330
  onDeleteContextElement: (index: number) => void,
1296
- onOpen: OpenContextElement
1331
+ onOpen: OpenContextElement,
1332
+ fileValidationState: Map<string, FileValidationResult>
1297
1333
  ): ChatContextUI {
1298
1334
  if (!context) {
1299
1335
  return { context: [] };
1300
1336
  }
1301
1337
  return {
1302
- context: context.map((element, index) => ({
1303
- variable: element,
1304
- name: labelProvider.getName(element),
1305
- iconClass: labelProvider.getIcon(element),
1306
- nameClass: element.variable.name,
1307
- additionalInfo: labelProvider.getDetails(element),
1308
- details: labelProvider.getLongName(element),
1309
- delete: () => onDeleteContextElement(index),
1310
- open: () => onOpen(element)
1311
- }))
1338
+ context: context.map((element, index) => {
1339
+ // Check if this is an invalid file
1340
+ let className: string | undefined;
1341
+ let validationMessage: string | undefined;
1342
+ if (element.variable.name === 'file' && element.arg) {
1343
+ // Use the path directly as the key (same as storage)
1344
+ const validationResult = fileValidationState.get(element.arg);
1345
+ if (validationResult) {
1346
+ if (validationResult.state === FileValidationState.INVALID_SECONDARY) {
1347
+ className = 'warning-file';
1348
+ validationMessage = validationResult.message;
1349
+ } else if (validationResult.state === FileValidationState.INVALID_NOT_FOUND) {
1350
+ className = 'invalid-file';
1351
+ validationMessage = validationResult.message;
1352
+ }
1353
+ }
1354
+ }
1355
+ return {
1356
+ variable: element,
1357
+ name: labelProvider.getName(element),
1358
+ iconClass: labelProvider.getIcon(element),
1359
+ nameClass: element.variable.name,
1360
+ className,
1361
+ validationMessage,
1362
+ additionalInfo: labelProvider.getDetails(element),
1363
+ details: labelProvider.getLongName(element),
1364
+ delete: () => onDeleteContextElement(index),
1365
+ open: () => onOpen(element)
1366
+ };
1367
+ })
1312
1368
  };
1313
1369
  }
1314
1370
 
@@ -1318,6 +1374,8 @@ interface ChatContextUI {
1318
1374
  name: string;
1319
1375
  iconClass: string;
1320
1376
  nameClass: string;
1377
+ className?: string;
1378
+ validationMessage?: string;
1321
1379
  additionalInfo?: string;
1322
1380
  details?: string;
1323
1381
  delete: () => void;
@@ -1352,8 +1410,13 @@ const ChatContext: React.FunctionComponent<ChatContextUI> = ({ context }) => (
1352
1410
  </div>
1353
1411
  </li>;
1354
1412
  }
1355
- return <li key={index} className="theia-ChatInput-ChatContext-Element" title={element.details} onClick={() => element.open?.()}>
1413
+ const isWarning = element.className === 'warning-file';
1414
+ const isInvalid = element.className === 'invalid-file';
1415
+ const tooltipTitle = element.validationMessage ?? element.details;
1416
+ return <li key={index} className={`theia-ChatInput-ChatContext-Element ${element.className || ''}`} title={tooltipTitle} onClick={() => element.open?.()}>
1356
1417
  <div className="theia-ChatInput-ChatContext-Row">
1418
+ {isWarning && <span className="codicon codicon-warning warning-file-icon" />}
1419
+ {isInvalid && <span className="codicon codicon-error invalid-file-icon" />}
1357
1420
  <div className={`theia-ChatInput-ChatContext-Icon ${element.iconClass}`} />
1358
1421
  <div className="theia-ChatInput-ChatContext-labelParts">
1359
1422
  <span className={`theia-ChatInput-ChatContext-title ${element.nameClass}`}>
@@ -226,6 +226,37 @@ div:last-child > .theia-ChatNode {
226
226
  cursor: pointer;
227
227
  }
228
228
 
229
+ .theia-ChatInput-ChatContext-Element.invalid-file {
230
+ border-color: var(--theia-inputValidation-errorBorder, var(--theia-errorForeground));
231
+ background-color: var(--theia-inputValidation-errorBackground, rgba(255, 0, 0, 0.1));
232
+ }
233
+
234
+ .theia-ChatInput-ChatContext-Element.invalid-file .theia-ChatInput-ChatContext-title {
235
+ text-decoration: line-through;
236
+ color: var(--theia-errorForeground);
237
+ }
238
+
239
+ .invalid-file-icon {
240
+ color: var(--theia-errorForeground);
241
+ margin-right: 4px;
242
+ flex-shrink: 0;
243
+ }
244
+
245
+ .theia-ChatInput-ChatContext-Element.warning-file {
246
+ border-color: var(--theia-inputValidation-warningBorder, var(--theia-editorWarning-foreground));
247
+ background-color: var(--theia-inputValidation-warningBackground, rgba(255, 165, 0, 0.1));
248
+ }
249
+
250
+ .theia-ChatInput-ChatContext-Element.warning-file .theia-ChatInput-ChatContext-title {
251
+ color: var(--theia-editorWarning-foreground);
252
+ }
253
+
254
+ .warning-file-icon {
255
+ color: var(--theia-editorWarning-foreground);
256
+ margin-right: 4px;
257
+ flex-shrink: 0;
258
+ }
259
+
229
260
  .theia-ChatInput-ChatContext-Row {
230
261
  display: flex;
231
262
  align-items: center;