@theia/ai-chat-ui 1.66.0-next.67 → 1.66.0-next.73

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.
@@ -1,4 +1,5 @@
1
1
  import { CommandRegistry, MessageService, QuickInputButton, QuickInputService, QuickPickItem } from '@theia/core';
2
+ import { ILogger } from '@theia/core/lib/common/logger';
2
3
  import { Widget } from '@theia/core/lib/browser';
3
4
  import { ChatAgent, ChatService } from '@theia/ai-chat';
4
5
  import { ChatAgentService } from '@theia/ai-chat/lib/common/chat-agent-service';
@@ -18,11 +19,18 @@ export declare class AIChatContribution extends AbstractViewContribution<ChatVie
18
19
  protected readonly chatAgentService: ChatAgentService;
19
20
  protected readonly editorManager: EditorManager;
20
21
  protected readonly activationService: AIActivationService;
22
+ protected readonly logger: ILogger;
23
+ /**
24
+ * Store whether there are persisted sessions to make this information available in
25
+ * command enablement checks which are synchronous.
26
+ */
27
+ protected hasPersistedSessions: boolean;
21
28
  protected static readonly RENAME_CHAT_BUTTON: QuickInputButton;
22
29
  protected static readonly REMOVE_CHAT_BUTTON: QuickInputButton;
23
30
  protected readonly secondaryWindowHandler: SecondaryWindowHandler;
24
31
  constructor();
25
32
  initialize(): void;
33
+ protected checkPersistedSessions(): Promise<void>;
26
34
  registerCommands(registry: CommandRegistry): void;
27
35
  registerToolbarItems(registry: TabBarToolbarRegistry): void;
28
36
  protected selectChat(sessionId?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAkB,cAAc,EAAO,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvI,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMjD,OAAO,EAAE,SAAS,EAAqB,WAAW,EAA+B,MAAM,gBAAgB,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAG1F,OAAO,EAA4B,mBAAmB,EAAyB,MAAM,4BAA4B,CAAC;AAIlH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD,qBACa,kBAAmB,SAAQ,wBAAwB,CAAC,cAAc,CAAE,YAAW,yBAAyB;IAGjH,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAE1D,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAG5D;IACF,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAG5D;IAGF,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;;IAgBlE,UAAU,IAAI,IAAI;IAYT,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAiI1D,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;cA0C3C,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7D,SAAS,CAAC,iBAAiB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA0DjE,SAAS,CAAC,UAAU,CAChB,MAAM,GAAE,MAAM,GAAG,SAA+B,EAChD,SAAS,GAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAoB,GAC5D,OAAO,GAAG,KAAK;IAIlB,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIzD,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO;cAIrC,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAWrE;;;OAGG;IACH;;;;OAIG;cACa,WAAW,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IA8BpF;;;OAGG;cACa,4BAA4B,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwB3E;;;OAGG;IACH,SAAS,CAAC,yBAAyB,IAAI;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;CAiCpF"}
1
+ {"version":3,"file":"ai-chat-ui-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-contribution.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ exports.AIChatContribution = exports.AI_CHAT_TOGGLE_COMMAND_ID = void 0;
20
20
  const tslib_1 = require("tslib");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
22
  const core_1 = require("@theia/core");
23
+ const logger_1 = require("@theia/core/lib/common/logger");
23
24
  const chat_view_commands_1 = require("./chat-view-commands");
24
25
  const ai_chat_1 = require("@theia/ai-chat");
25
26
  const chat_agent_service_1 = require("@theia/ai-chat/lib/common/chat-agent-service");
@@ -48,6 +49,11 @@ let AIChatContribution = AIChatContribution_1 = class AIChatContribution extends
48
49
  toggleCommandId: exports.AI_CHAT_TOGGLE_COMMAND_ID,
49
50
  toggleKeybinding: core_1.isOSX ? 'ctrl+cmd+i' : 'ctrl+alt+i'
50
51
  });
52
+ /**
53
+ * Store whether there are persisted sessions to make this information available in
54
+ * command enablement checks which are synchronous.
55
+ */
56
+ this.hasPersistedSessions = false;
51
57
  }
52
58
  initialize() {
53
59
  this.chatService.onSessionEvent(event => {
@@ -58,6 +64,17 @@ let AIChatContribution = AIChatContribution_1 = class AIChatContribution extends
58
64
  this.openView({ activate: true });
59
65
  }
60
66
  });
67
+ this.checkPersistedSessions();
68
+ }
69
+ async checkPersistedSessions() {
70
+ try {
71
+ const index = await this.chatService.getPersistedSessions();
72
+ this.hasPersistedSessions = Object.keys(index).length > 0;
73
+ }
74
+ catch (e) {
75
+ this.logger.error('Failed to check persisted AI sessions', e);
76
+ this.hasPersistedSessions = false;
77
+ }
61
78
  }
62
79
  registerCommands(registry) {
63
80
  super.registerCommands(registry);
@@ -164,7 +181,13 @@ let AIChatContribution = AIChatContribution_1 = class AIChatContribution extends
164
181
  });
165
182
  registry.registerCommand(chat_view_commands_1.AI_CHAT_SHOW_CHATS_COMMAND, {
166
183
  execute: () => this.selectChat(),
167
- isEnabled: widget => this.activationService.isActive && this.withWidget(widget) && this.chatService.getSessions().some(session => !!session.title),
184
+ isEnabled: widget => {
185
+ if (!this.activationService.isActive || !this.withWidget(widget)) {
186
+ return false;
187
+ }
188
+ // Enable if there are active sessions with titles OR persisted sessions
189
+ return this.chatService.getSessions().some(session => !!session.title) || this.hasPersistedSessions;
190
+ },
168
191
  isVisible: widget => this.activationService.isActive && this.withWidget(widget)
169
192
  });
170
193
  registry.registerCommand(chat_node_toolbar_action_contribution_1.ChatNodeToolbarCommands.EDIT, {
@@ -260,33 +283,80 @@ let AIChatContribution = AIChatContribution_1 = class AIChatContribution extends
260
283
  }
261
284
  this.chatService.setActiveSession(activeSessionId, { focus: true });
262
285
  }
263
- askForChatSession() {
264
- const getItems = () => this.chatService.getSessions()
265
- .filter(session => session.title)
266
- .sort((a, b) => {
267
- if (!a.lastInteraction) {
268
- return 1;
286
+ async askForChatSession() {
287
+ const getItems = async () => {
288
+ const activeSessions = this.chatService.getSessions()
289
+ .filter(session => session.title)
290
+ .map(session => ({
291
+ session,
292
+ isActive: true,
293
+ lastDate: session.lastInteraction ? session.lastInteraction.getTime() : 0
294
+ }));
295
+ // Try to load persisted sessions, but don't fail if it doesn't work
296
+ let persistedSessions = [];
297
+ try {
298
+ const persistedIndex = await this.chatService.getPersistedSessions();
299
+ const activeIds = new Set(activeSessions.map(s => s.session.id));
300
+ persistedSessions = Object.values(persistedIndex)
301
+ .filter(metadata => !activeIds.has(metadata.sessionId))
302
+ .map(metadata => ({
303
+ metadata,
304
+ isActive: false,
305
+ lastDate: metadata.saveDate
306
+ }));
269
307
  }
270
- if (!b.lastInteraction) {
271
- return -1;
308
+ catch (error) {
309
+ this.logger.error('Failed to load persisted sessions, showing only active sessions', error);
310
+ // Continue with just active sessions
272
311
  }
273
- return b.lastInteraction.getTime() - a.lastInteraction.getTime();
274
- })
275
- .map(session => {
276
- var _a;
277
- return ({
278
- label: session.title,
279
- description: session.lastInteraction ? (0, date_fns_1.formatDistance)(session.lastInteraction, new Date(), { addSuffix: false, locale: getDateFnsLocale() }) : undefined,
280
- detail: (_a = session.model.getRequests().at(0)) === null || _a === void 0 ? void 0 : _a.request.text,
281
- id: session.id,
282
- buttons: [AIChatContribution_1.RENAME_CHAT_BUTTON, AIChatContribution_1.REMOVE_CHAT_BUTTON]
312
+ // Combine and sort by last interaction/message date
313
+ const allSessions = [
314
+ ...activeSessions.map(s => {
315
+ var _a;
316
+ return ({
317
+ isActive: true,
318
+ id: s.session.id,
319
+ title: s.session.title,
320
+ lastDate: s.lastDate,
321
+ firstRequestText: (_a = s.session.model.getRequests().at(0)) === null || _a === void 0 ? void 0 : _a.request.text
322
+ });
323
+ }),
324
+ ...persistedSessions.map(s => ({
325
+ isActive: false,
326
+ id: s.metadata.sessionId,
327
+ title: s.metadata.title,
328
+ lastDate: s.lastDate,
329
+ firstRequestText: undefined
330
+ }))
331
+ ].sort((a, b) => b.lastDate - a.lastDate);
332
+ return allSessions.map(session => {
333
+ // Add icon for persisted sessions to visually distinguish them
334
+ const icon = session.isActive ? '' : '$(archive) ';
335
+ const label = `${icon}${session.title}`;
336
+ return ({
337
+ label,
338
+ description: (0, date_fns_1.formatDistance)(new Date(session.lastDate), new Date(), { addSuffix: false, locale: getDateFnsLocale() }),
339
+ detail: session.firstRequestText || (session.isActive ? undefined : core_1.nls.localize('theia/ai/chat-ui/persistedSession', 'Persisted session (click to restore)')),
340
+ id: session.id,
341
+ buttons: [AIChatContribution_1.RENAME_CHAT_BUTTON, AIChatContribution_1.REMOVE_CHAT_BUTTON]
342
+ });
283
343
  });
284
- });
344
+ };
285
345
  const defer = new promise_util_1.Deferred();
286
346
  const quickPick = this.quickInputService.createQuickPick();
287
347
  quickPick.placeholder = core_1.nls.localize('theia/ai/chat-ui/selectChat', 'Select chat');
288
348
  quickPick.canSelectMany = false;
289
- quickPick.items = getItems();
349
+ quickPick.busy = true;
350
+ quickPick.show();
351
+ // Load items asynchronously
352
+ getItems().then(items => {
353
+ quickPick.items = items;
354
+ quickPick.busy = false;
355
+ }).catch(error => {
356
+ this.logger.error('Failed to load chat sessions', error);
357
+ quickPick.busy = false;
358
+ quickPick.placeholder = core_1.nls.localize('theia/ai/chat-ui/failedToLoadChats', 'Failed to load chat sessions');
359
+ });
290
360
  quickPick.onDidTriggerItemButton(async (context) => {
291
361
  if (context.button === AIChatContribution_1.RENAME_CHAT_BUTTON) {
292
362
  quickPick.hide();
@@ -302,20 +372,44 @@ let AIChatContribution = AIChatContribution_1 = class AIChatContribution extends
302
372
  });
303
373
  }
304
374
  else if (context.button === AIChatContribution_1.REMOVE_CHAT_BUTTON) {
305
- this.chatService.deleteSession(context.item.id);
306
- quickPick.items = getItems();
307
- if (this.chatService.getSessions().length <= 1) {
308
- quickPick.hide();
309
- }
375
+ // Wait for deletion to complete before refreshing the list
376
+ this.chatService.deleteSession(context.item.id).then(() => getItems()).then(items => {
377
+ quickPick.items = items;
378
+ if (items.length === 0) {
379
+ quickPick.hide();
380
+ }
381
+ // Update persisted sessions flag after deletion
382
+ this.checkPersistedSessions();
383
+ }).catch(error => {
384
+ this.logger.error('Failed to delete chat session', error);
385
+ this.messageService.error(core_1.nls.localize('theia/ai/chat-ui/failedToDeleteSession', 'Failed to delete chat session'));
386
+ });
310
387
  }
311
388
  });
312
- quickPick.onDidAccept(() => {
389
+ quickPick.onDidAccept(async () => {
313
390
  const selectedItem = quickPick.selectedItems[0];
391
+ if (selectedItem) {
392
+ // Restore session if not already loaded
393
+ const session = this.chatService.getSession(selectedItem.id);
394
+ if (!session) {
395
+ try {
396
+ await this.chatService.getOrRestoreSession(selectedItem.id);
397
+ // Update persisted sessions flag after restoration
398
+ this.checkPersistedSessions();
399
+ }
400
+ catch (error) {
401
+ this.logger.error('Failed to restore chat session', error);
402
+ this.messageService.error(core_1.nls.localize('theia/ai/chat-ui/failedToRestoreSession', 'Failed to restore chat session'));
403
+ defer.resolve(undefined);
404
+ quickPick.hide();
405
+ return;
406
+ }
407
+ }
408
+ }
314
409
  defer.resolve(selectedItem);
315
410
  quickPick.hide();
316
411
  });
317
412
  quickPick.onDidHide(() => defer.resolve(undefined));
318
- quickPick.show();
319
413
  return defer.promise;
320
414
  }
321
415
  withWidget(widget = this.tryGetWidget(), predicate = () => true) {
@@ -466,6 +560,11 @@ tslib_1.__decorate([
466
560
  (0, inversify_1.inject)(browser_1.AIActivationService),
467
561
  tslib_1.__metadata("design:type", Object)
468
562
  ], AIChatContribution.prototype, "activationService", void 0);
563
+ tslib_1.__decorate([
564
+ (0, inversify_1.inject)(logger_1.ILogger),
565
+ (0, inversify_1.named)('AIChatContribution'),
566
+ tslib_1.__metadata("design:type", Object)
567
+ ], AIChatContribution.prototype, "logger", void 0);
469
568
  tslib_1.__decorate([
470
569
  (0, inversify_1.inject)(secondary_window_handler_1.SecondaryWindowHandler),
471
570
  tslib_1.__metadata("design:type", secondary_window_handler_1.SecondaryWindowHandler)
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-chat-ui-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-contribution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAI3C,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAwC3E,wBA0GG"}
1
+ {"version":3,"file":"ai-chat-ui-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAI3C,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AA0C3E,wBA4GG"}
@@ -26,6 +26,7 @@ const chat_input_widget_1 = require("./chat-input-widget");
26
26
  const chat_node_toolbar_action_contribution_1 = require("./chat-node-toolbar-action-contribution");
27
27
  const chat_response_part_renderer_1 = require("./chat-response-part-renderer");
28
28
  const chat_response_renderer_1 = require("./chat-response-renderer");
29
+ const unknown_part_renderer_1 = require("./chat-response-renderer/unknown-part-renderer");
29
30
  const ai_selection_resolver_1 = require("./chat-response-renderer/ai-selection-resolver");
30
31
  const question_part_renderer_1 = require("./chat-response-renderer/question-part-renderer");
31
32
  const chat_tree_view_1 = require("./chat-tree-view");
@@ -103,7 +104,9 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
103
104
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ThinkingPartRenderer).inSingletonScope();
104
105
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(question_part_renderer_1.QuestionPartRenderer).inSingletonScope();
105
106
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.ProgressPartRenderer).inSingletonScope();
107
+ bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.TextPartRenderer).inSingletonScope();
106
108
  bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(chat_response_renderer_1.DelegationResponseRenderer).inSingletonScope();
109
+ bind(chat_response_part_renderer_1.ChatResponsePartRenderer).to(unknown_part_renderer_1.UnknownPartRenderer).inSingletonScope();
107
110
  [core_1.CommandContribution, core_1.MenuContribution].forEach(serviceIdentifier => bind(serviceIdentifier).to(chat_view_contribution_1.ChatViewMenuContribution).inSingletonScope());
108
111
  (0, core_1.bindContributionProvider)(bind, chat_response_renderer_1.CodePartRendererAction);
109
112
  (0, core_1.bindContributionProvider)(bind, change_set_action_service_1.ChangeSetActionRenderer);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-chat-ui-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-ui-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"question-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/question-part-renderer.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBACa,oBACT,YAAW,wBAAwB,CAAC,uBAAuB,CAAC;IAE5D,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS;CAyB3E"}
1
+ {"version":3,"file":"question-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/question-part-renderer.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBACa,oBACT,YAAW,wBAAwB,CAAC,uBAAuB,CAAC;IAE5D,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS;CA6B3E"}
@@ -28,12 +28,18 @@ let QuestionPartRenderer = class QuestionPartRenderer {
28
28
  return -1;
29
29
  }
30
30
  render(question, node) {
31
+ const isDisabled = question.isReadOnly || question.selectedOption !== undefined || !node.response.isWaitingForInput;
31
32
  return (React.createElement("div", { className: "theia-QuestionPartRenderer-root" },
32
33
  React.createElement("div", { className: "theia-QuestionPartRenderer-question" }, question.question),
33
- React.createElement("div", { className: "theia-QuestionPartRenderer-options" }, question.options.map((option, index) => (React.createElement("button", { className: `theia-button theia-QuestionPartRenderer-option ${question.selectedOption === option ? 'selected' : ''}`, onClick: () => {
34
- question.selectedOption = option;
35
- question.handler(option);
36
- }, disabled: question.selectedOption !== undefined || !node.response.isWaitingForInput, key: index }, option.text))))));
34
+ React.createElement("div", { className: "theia-QuestionPartRenderer-options" }, question.options.map((option, index) => {
35
+ var _a;
36
+ return (React.createElement("button", { className: `theia-button theia-QuestionPartRenderer-option ${((_a = question.selectedOption) === null || _a === void 0 ? void 0 : _a.text) === option.text ? 'selected' : ''}`, onClick: () => {
37
+ if (!question.isReadOnly && question.handler) {
38
+ question.selectedOption = option;
39
+ question.handler(option);
40
+ }
41
+ }, disabled: isDisabled, key: index }, option.text));
42
+ }))));
37
43
  }
38
44
  };
39
45
  exports.QuestionPartRenderer = QuestionPartRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"question-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/question-part-renderer.tsx"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4CAA8E;AAC9E,4DAA0D;AAC1D,kDAAkD;AAM3C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG7B,SAAS,CAAC,QAA6B;QACnC,IAAI,iCAAuB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAiC,EAAE,IAAkB;QACxD,OAAO,CACH,6BAAK,SAAS,EAAC,iCAAiC;YAC5C,6BAAK,SAAS,EAAC,qCAAqC,IAAE,QAAQ,CAAC,QAAQ,CAAO;YAC9E,6BAAK,SAAS,EAAC,oCAAoC,IAE3C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,gCACI,SAAS,EAAE,kDAAkD,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EACnH,OAAO,EAAE,GAAG,EAAE;oBACV,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC;oBACjC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC,EACD,QAAQ,EAAE,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EACnF,GAAG,EAAE,KAAK,IAET,MAAM,CAAC,IAAI,CACP,CACZ,CAAC,CAEJ,CACJ,CACT,CAAC;IACN,CAAC;CAEJ,CAAA;AAnCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAmChC"}
1
+ {"version":3,"file":"question-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/question-part-renderer.tsx"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4CAA8E;AAC9E,4DAA0D;AAC1D,kDAAkD;AAM3C,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAG7B,SAAS,CAAC,QAA6B;QACnC,IAAI,iCAAuB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,QAAiC,EAAE,IAAkB;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAEpH,OAAO,CACH,6BAAK,SAAS,EAAC,iCAAiC;YAC5C,6BAAK,SAAS,EAAC,qCAAqC,IAAE,QAAQ,CAAC,QAAQ,CAAO;YAC9E,6BAAK,SAAS,EAAC,oCAAoC,IAE3C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;gBAAC,OAAA,CACpC,gCACI,SAAS,EAAE,kDAAkD,CAAA,MAAA,QAAQ,CAAC,cAAc,0CAAE,IAAI,MAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9H,OAAO,EAAE,GAAG,EAAE;wBACV,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;4BAC3C,QAAQ,CAAC,cAAc,GAAG,MAAM,CAAC;4BACjC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC7B,CAAC;oBACL,CAAC,EACD,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,KAAK,IAET,MAAM,CAAC,IAAI,CACP,CACZ,CAAA;aAAA,CAAC,CAEJ,CACJ,CACT,CAAC;IACN,CAAC;CAEJ,CAAA;AAvCY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAuChC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
3
+ import { ChatResponseContent, UnknownChatResponseContent } from '@theia/ai-chat/lib/common';
4
+ import { ReactNode } from '@theia/core/shared/react';
5
+ export declare class UnknownPartRenderer implements ChatResponsePartRenderer<UnknownChatResponseContent> {
6
+ canHandle(response: ChatResponseContent): number;
7
+ render(response: UnknownChatResponseContent): ReactNode;
8
+ }
9
+ //# sourceMappingURL=unknown-part-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown-part-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/unknown-part-renderer.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAKrD,qBACa,mBAAoB,YAAW,wBAAwB,CAAC,0BAA0B,CAAC;IAC5F,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAIhD,MAAM,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS;CAqB1D"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.UnknownPartRenderer = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const nls_1 = require("@theia/core/lib/common/nls");
22
+ const React = require("@theia/core/shared/react");
23
+ const browser_1 = require("@theia/core/lib/browser");
24
+ let UnknownPartRenderer = class UnknownPartRenderer {
25
+ canHandle(response) {
26
+ return response.kind === 'unknown' ? 10 : -1;
27
+ }
28
+ render(response) {
29
+ var _a;
30
+ const fallbackMessage = response.fallbackMessage || ((_a = response.asString) === null || _a === void 0 ? void 0 : _a.call(response)) || '';
31
+ return (React.createElement("div", { className: "theia-chat-unknown-content" },
32
+ React.createElement("div", { className: "theia-chat-unknown-content-warning" },
33
+ React.createElement("i", { className: (0, browser_1.codicon)('warning') }),
34
+ React.createElement("span", null, nls_1.nls.localize('theia/ai/chat-ui/unknown-part-renderer/contentNotRestoreable', "This content (type '{0}') could not be fully restored. It may be from an extension that is no longer available.", response.originalKind))),
35
+ React.createElement("div", { className: "theia-chat-unknown-content-fallback" }, fallbackMessage)));
36
+ }
37
+ };
38
+ exports.UnknownPartRenderer = UnknownPartRenderer;
39
+ exports.UnknownPartRenderer = UnknownPartRenderer = tslib_1.__decorate([
40
+ (0, inversify_1.injectable)()
41
+ ], UnknownPartRenderer);
42
+ //# sourceMappingURL=unknown-part-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown-part-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/unknown-part-renderer.tsx"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAI1D,oDAAiD;AACjD,kDAAkD;AAClD,qDAAkD;AAG3C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,SAAS,CAAC,QAA6B;QACnC,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,QAAoC;;QACvC,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,KAAI,MAAA,QAAQ,CAAC,QAAQ,wDAAI,CAAA,IAAI,EAAE,CAAC;QAEhF,OAAO,CACH,6BAAK,SAAS,EAAC,4BAA4B;YACvC,6BAAK,SAAS,EAAC,oCAAoC;gBAC/C,2BAAG,SAAS,EAAE,IAAA,iBAAO,EAAC,SAAS,CAAC,GAAI;gBACpC,kCACK,SAAG,CAAC,QAAQ,CACT,8DAA8D,EAC9D,iHAAiH,EACjH,QAAQ,CAAC,YAAY,CACxB,CACE,CACL;YACN,6BAAK,SAAS,EAAC,qCAAqC,IAC/C,eAAe,CACd,CACJ,CACT,CAAC;IACN,CAAC;CACJ,CAAA;AA1BY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,sBAAU,GAAE;GACA,mBAAmB,CA0B/B"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@theia/ai-chat-ui",
3
- "version": "1.66.0-next.67+6fae23c43",
3
+ "version": "1.66.0-next.73+6d82794da",
4
4
  "description": "Theia - AI Chat UI Extension",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.66.0-next.67+6fae23c43",
7
- "@theia/ai-core": "1.66.0-next.67+6fae23c43",
8
- "@theia/core": "1.66.0-next.67+6fae23c43",
9
- "@theia/editor": "1.66.0-next.67+6fae23c43",
10
- "@theia/editor-preview": "1.66.0-next.67+6fae23c43",
11
- "@theia/filesystem": "1.66.0-next.67+6fae23c43",
12
- "@theia/monaco": "1.66.0-next.67+6fae23c43",
6
+ "@theia/ai-chat": "1.66.0-next.73+6d82794da",
7
+ "@theia/ai-core": "1.66.0-next.73+6d82794da",
8
+ "@theia/core": "1.66.0-next.73+6d82794da",
9
+ "@theia/editor": "1.66.0-next.73+6d82794da",
10
+ "@theia/editor-preview": "1.66.0-next.73+6d82794da",
11
+ "@theia/filesystem": "1.66.0-next.73+6d82794da",
12
+ "@theia/monaco": "1.66.0-next.73+6d82794da",
13
13
  "@theia/monaco-editor-core": "1.96.302",
14
- "@theia/workspace": "1.66.0-next.67+6fae23c43",
14
+ "@theia/workspace": "1.66.0-next.73+6d82794da",
15
15
  "date-fns": "^4.1.0",
16
16
  "tslib": "^2.6.2",
17
17
  "uuid": "^9.0.1"
@@ -55,5 +55,5 @@
55
55
  "nyc": {
56
56
  "extends": "../../configs/nyc.json"
57
57
  },
58
- "gitHead": "6fae23c43f4e850ef4dd6f7c85aa0422077f70e2"
58
+ "gitHead": "6d82794da24e16f75d70eaac3a4178a29e822e82"
59
59
  }
@@ -14,8 +14,9 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
17
+ import { inject, injectable, named, postConstruct } from '@theia/core/shared/inversify';
18
18
  import { CommandRegistry, Emitter, isOSX, MessageService, nls, QuickInputButton, QuickInputService, QuickPickItem } from '@theia/core';
19
+ import { ILogger } from '@theia/core/lib/common/logger';
19
20
  import { Widget } from '@theia/core/lib/browser';
20
21
  import {
21
22
  AI_CHAT_NEW_CHAT_WINDOW_COMMAND,
@@ -57,6 +58,14 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
57
58
  protected readonly editorManager: EditorManager;
58
59
  @inject(AIActivationService)
59
60
  protected readonly activationService: AIActivationService;
61
+ @inject(ILogger) @named('AIChatContribution')
62
+ protected readonly logger: ILogger;
63
+
64
+ /**
65
+ * Store whether there are persisted sessions to make this information available in
66
+ * command enablement checks which are synchronous.
67
+ */
68
+ protected hasPersistedSessions = false;
60
69
 
61
70
  protected static readonly RENAME_CHAT_BUTTON: QuickInputButton = {
62
71
  iconClass: 'codicon-edit',
@@ -92,8 +101,19 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
92
101
  if (event.focus) {
93
102
  this.openView({ activate: true });
94
103
  }
104
+ });
105
+
106
+ this.checkPersistedSessions();
107
+ }
108
+
109
+ protected async checkPersistedSessions(): Promise<void> {
110
+ try {
111
+ const index = await this.chatService.getPersistedSessions();
112
+ this.hasPersistedSessions = Object.keys(index).length > 0;
113
+ } catch (e) {
114
+ this.logger.error('Failed to check persisted AI sessions', e);
115
+ this.hasPersistedSessions = false;
95
116
  }
96
- );
97
117
  }
98
118
 
99
119
  override registerCommands(registry: CommandRegistry): void {
@@ -179,7 +199,13 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
179
199
  });
180
200
  registry.registerCommand(AI_CHAT_SHOW_CHATS_COMMAND, {
181
201
  execute: () => this.selectChat(),
182
- isEnabled: widget => this.activationService.isActive && this.withWidget(widget) && this.chatService.getSessions().some(session => !!session.title),
202
+ isEnabled: widget => {
203
+ if (!this.activationService.isActive || !this.withWidget(widget)) {
204
+ return false;
205
+ }
206
+ // Enable if there are active sessions with titles OR persisted sessions
207
+ return this.chatService.getSessions().some(session => !!session.title) || this.hasPersistedSessions;
208
+ },
183
209
  isVisible: widget => this.activationService.isActive && this.withWidget(widget)
184
210
  });
185
211
  registry.registerCommand(ChatNodeToolbarCommands.EDIT, {
@@ -281,28 +307,82 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
281
307
  this.chatService.setActiveSession(activeSessionId!, { focus: true });
282
308
  }
283
309
 
284
- protected askForChatSession(): Promise<QuickPickItem | undefined> {
285
- const getItems = () =>
286
- this.chatService.getSessions()
310
+ protected async askForChatSession(): Promise<QuickPickItem | undefined> {
311
+ const getItems = async (): Promise<QuickPickItem[]> => {
312
+ const activeSessions = this.chatService.getSessions()
287
313
  .filter(session => session.title)
288
- .sort((a, b) => {
289
- if (!a.lastInteraction) { return 1; }
290
- if (!b.lastInteraction) { return -1; }
291
- return b.lastInteraction.getTime() - a.lastInteraction.getTime();
292
- })
293
- .map(session => <QuickPickItem>({
294
- label: session.title,
295
- description: session.lastInteraction ? formatDistance(session.lastInteraction, new Date(), { addSuffix: false, locale: getDateFnsLocale() }) : undefined,
296
- detail: session.model.getRequests().at(0)?.request.text,
314
+ .map(session => ({
315
+ session,
316
+ isActive: true,
317
+ lastDate: session.lastInteraction ? session.lastInteraction.getTime() : 0
318
+ }));
319
+
320
+ // Try to load persisted sessions, but don't fail if it doesn't work
321
+ let persistedSessions: Array<{ metadata: { sessionId: string; title: string; saveDate: number }; isActive: false; lastDate: number }> = [];
322
+ try {
323
+ const persistedIndex = await this.chatService.getPersistedSessions();
324
+ const activeIds = new Set(activeSessions.map(s => s.session.id));
325
+ persistedSessions = Object.values(persistedIndex)
326
+ .filter(metadata => !activeIds.has(metadata.sessionId))
327
+ .map(metadata => ({
328
+ metadata,
329
+ isActive: false,
330
+ lastDate: metadata.saveDate
331
+ }));
332
+ } catch (error) {
333
+ this.logger.error('Failed to load persisted sessions, showing only active sessions', error);
334
+ // Continue with just active sessions
335
+ }
336
+
337
+ // Combine and sort by last interaction/message date
338
+ const allSessions = [
339
+ ...activeSessions.map(s => ({
340
+ isActive: true,
341
+ id: s.session.id,
342
+ title: s.session.title!,
343
+ lastDate: s.lastDate,
344
+ firstRequestText: s.session.model.getRequests().at(0)?.request.text
345
+ })),
346
+ ...persistedSessions.map(s => ({
347
+ isActive: false,
348
+ id: s.metadata.sessionId,
349
+ title: s.metadata.title,
350
+ lastDate: s.lastDate,
351
+ firstRequestText: undefined
352
+ }))
353
+ ].sort((a, b) => b.lastDate - a.lastDate);
354
+
355
+ return allSessions.map(session => {
356
+ // Add icon for persisted sessions to visually distinguish them
357
+ const icon = session.isActive ? '' : '$(archive) ';
358
+ const label = `${icon}${session.title}`;
359
+
360
+ return <QuickPickItem>({
361
+ label,
362
+ description: formatDistance(new Date(session.lastDate), new Date(), { addSuffix: false, locale: getDateFnsLocale() }),
363
+ detail: session.firstRequestText || (session.isActive ? undefined : nls.localize('theia/ai/chat-ui/persistedSession', 'Persisted session (click to restore)')),
297
364
  id: session.id,
298
365
  buttons: [AIChatContribution.RENAME_CHAT_BUTTON, AIChatContribution.REMOVE_CHAT_BUTTON]
299
- }));
366
+ });
367
+ });
368
+ };
300
369
 
301
370
  const defer = new Deferred<QuickPickItem | undefined>();
302
371
  const quickPick = this.quickInputService.createQuickPick();
303
372
  quickPick.placeholder = nls.localize('theia/ai/chat-ui/selectChat', 'Select chat');
304
373
  quickPick.canSelectMany = false;
305
- quickPick.items = getItems();
374
+ quickPick.busy = true;
375
+ quickPick.show();
376
+
377
+ // Load items asynchronously
378
+ getItems().then(items => {
379
+ quickPick.items = items;
380
+ quickPick.busy = false;
381
+ }).catch(error => {
382
+ this.logger.error('Failed to load chat sessions', error);
383
+ quickPick.busy = false;
384
+ quickPick.placeholder = nls.localize('theia/ai/chat-ui/failedToLoadChats', 'Failed to load chat sessions');
385
+ });
306
386
 
307
387
  quickPick.onDidTriggerItemButton(async context => {
308
388
  if (context.button === AIChatContribution.RENAME_CHAT_BUTTON) {
@@ -318,24 +398,46 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
318
398
  }
319
399
  });
320
400
  } else if (context.button === AIChatContribution.REMOVE_CHAT_BUTTON) {
321
- this.chatService.deleteSession(context.item.id!);
322
- quickPick.items = getItems();
323
- if (this.chatService.getSessions().length <= 1) {
324
- quickPick.hide();
325
- }
401
+ // Wait for deletion to complete before refreshing the list
402
+ this.chatService.deleteSession(context.item.id!).then(() => getItems()).then(items => {
403
+ quickPick.items = items;
404
+ if (items.length === 0) {
405
+ quickPick.hide();
406
+ }
407
+ // Update persisted sessions flag after deletion
408
+ this.checkPersistedSessions();
409
+ }).catch(error => {
410
+ this.logger.error('Failed to delete chat session', error);
411
+ this.messageService.error(nls.localize('theia/ai/chat-ui/failedToDeleteSession', 'Failed to delete chat session'));
412
+ });
326
413
  }
327
414
  });
328
415
 
329
- quickPick.onDidAccept(() => {
416
+ quickPick.onDidAccept(async () => {
330
417
  const selectedItem = quickPick.selectedItems[0];
418
+ if (selectedItem) {
419
+ // Restore session if not already loaded
420
+ const session = this.chatService.getSession(selectedItem.id!);
421
+ if (!session) {
422
+ try {
423
+ await this.chatService.getOrRestoreSession(selectedItem.id!);
424
+ // Update persisted sessions flag after restoration
425
+ this.checkPersistedSessions();
426
+ } catch (error) {
427
+ this.logger.error('Failed to restore chat session', error);
428
+ this.messageService.error(nls.localize('theia/ai/chat-ui/failedToRestoreSession', 'Failed to restore chat session'));
429
+ defer.resolve(undefined);
430
+ quickPick.hide();
431
+ return;
432
+ }
433
+ }
434
+ }
331
435
  defer.resolve(selectedItem);
332
436
  quickPick.hide();
333
437
  });
334
438
 
335
439
  quickPick.onDidHide(() => defer.resolve(undefined));
336
440
 
337
- quickPick.show();
338
-
339
441
  return defer.promise;
340
442
  }
341
443
 
@@ -37,7 +37,9 @@ import {
37
37
  ThinkingPartRenderer,
38
38
  ProgressPartRenderer,
39
39
  DelegationResponseRenderer,
40
+ TextPartRenderer,
40
41
  } from './chat-response-renderer';
42
+ import { UnknownPartRenderer } from './chat-response-renderer/unknown-part-renderer';
41
43
  import {
42
44
  GitHubSelectionResolver,
43
45
  TextFragmentSelectionResolver,
@@ -129,7 +131,9 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
129
131
  bind(ChatResponsePartRenderer).to(ThinkingPartRenderer).inSingletonScope();
130
132
  bind(ChatResponsePartRenderer).to(QuestionPartRenderer).inSingletonScope();
131
133
  bind(ChatResponsePartRenderer).to(ProgressPartRenderer).inSingletonScope();
134
+ bind(ChatResponsePartRenderer).to(TextPartRenderer).inSingletonScope();
132
135
  bind(ChatResponsePartRenderer).to(DelegationResponseRenderer).inSingletonScope();
136
+ bind(ChatResponsePartRenderer).to(UnknownPartRenderer).inSingletonScope();
133
137
  [CommandContribution, MenuContribution].forEach(serviceIdentifier =>
134
138
  bind(serviceIdentifier).to(ChatViewMenuContribution).inSingletonScope()
135
139
  );
@@ -32,6 +32,8 @@ export class QuestionPartRenderer
32
32
  }
33
33
 
34
34
  render(question: QuestionResponseContent, node: ResponseNode): ReactNode {
35
+ const isDisabled = question.isReadOnly || question.selectedOption !== undefined || !node.response.isWaitingForInput;
36
+
35
37
  return (
36
38
  <div className="theia-QuestionPartRenderer-root">
37
39
  <div className="theia-QuestionPartRenderer-question">{question.question}</div>
@@ -39,12 +41,14 @@ export class QuestionPartRenderer
39
41
  {
40
42
  question.options.map((option, index) => (
41
43
  <button
42
- className={`theia-button theia-QuestionPartRenderer-option ${question.selectedOption === option ? 'selected' : ''}`}
44
+ className={`theia-button theia-QuestionPartRenderer-option ${question.selectedOption?.text === option.text ? 'selected' : ''}`}
43
45
  onClick={() => {
44
- question.selectedOption = option;
45
- question.handler(option);
46
+ if (!question.isReadOnly && question.handler) {
47
+ question.selectedOption = option;
48
+ question.handler(option);
49
+ }
46
50
  }}
47
- disabled={question.selectedOption !== undefined || !node.response.isWaitingForInput}
51
+ disabled={isDisabled}
48
52
  key={index}
49
53
  >
50
54
  {option.text}
@@ -0,0 +1,52 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2025 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { injectable } from '@theia/core/shared/inversify';
18
+ import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
19
+ import { ChatResponseContent, UnknownChatResponseContent } from '@theia/ai-chat/lib/common';
20
+ import { ReactNode } from '@theia/core/shared/react';
21
+ import { nls } from '@theia/core/lib/common/nls';
22
+ import * as React from '@theia/core/shared/react';
23
+ import { codicon } from '@theia/core/lib/browser';
24
+
25
+ @injectable()
26
+ export class UnknownPartRenderer implements ChatResponsePartRenderer<UnknownChatResponseContent> {
27
+ canHandle(response: ChatResponseContent): number {
28
+ return response.kind === 'unknown' ? 10 : -1;
29
+ }
30
+
31
+ render(response: UnknownChatResponseContent): ReactNode {
32
+ const fallbackMessage = response.fallbackMessage || response.asString?.() || '';
33
+
34
+ return (
35
+ <div className="theia-chat-unknown-content">
36
+ <div className="theia-chat-unknown-content-warning">
37
+ <i className={codicon('warning')} />
38
+ <span>
39
+ {nls.localize(
40
+ 'theia/ai/chat-ui/unknown-part-renderer/contentNotRestoreable',
41
+ "This content (type '{0}') could not be fully restored. It may be from an extension that is no longer available.",
42
+ response.originalKind
43
+ )}
44
+ </span>
45
+ </div>
46
+ <div className="theia-chat-unknown-content-fallback">
47
+ {fallbackMessage}
48
+ </div>
49
+ </div>
50
+ );
51
+ }
52
+ }
@@ -1167,3 +1167,31 @@ details[open].collapsible-arguments .collapsible-arguments-summary {
1167
1167
  background: var(--theia-button-background, #007acc);
1168
1168
  color: var(--theia-button-foreground, #fff);
1169
1169
  }
1170
+
1171
+ /* Unknown content styles */
1172
+ .theia-chat-unknown-content {
1173
+ margin: 4px 0;
1174
+ }
1175
+
1176
+ .theia-chat-unknown-content-warning {
1177
+ display: flex;
1178
+ align-items: center;
1179
+ gap: 8px;
1180
+ padding: var(--theia-ui-padding);
1181
+ background-color: var(--theia-warningBackground);
1182
+ border: 1px solid var(--theia-warningBorder);
1183
+ border-radius: 3px;
1184
+ color: var(--theia-warningForeground);
1185
+ font-size: 0.9em;
1186
+ margin-bottom: 8px;
1187
+ }
1188
+
1189
+ .theia-chat-unknown-content-warning i {
1190
+ flex-shrink: 0;
1191
+ }
1192
+
1193
+ .theia-chat-unknown-content-fallback {
1194
+ color: var(--theia-foreground);
1195
+ font-family: var(--theia-code-font-family);
1196
+ white-space: pre-wrap;
1197
+ }