@theia/ai-chat-ui 1.73.0-next.3 → 1.73.0-next.39

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.
Files changed (63) hide show
  1. package/lib/browser/ai-chat-ui-contribution.d.ts +33 -8
  2. package/lib/browser/ai-chat-ui-contribution.d.ts.map +1 -1
  3. package/lib/browser/ai-chat-ui-contribution.js +154 -85
  4. package/lib/browser/ai-chat-ui-contribution.js.map +1 -1
  5. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
  6. package/lib/browser/ai-chat-ui-frontend-module.js +4 -2
  7. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
  8. package/lib/browser/chat-input-widget.d.ts +2 -1
  9. package/lib/browser/chat-input-widget.d.ts.map +1 -1
  10. package/lib/browser/chat-input-widget.js +11 -6
  11. package/lib/browser/chat-input-widget.js.map +1 -1
  12. package/lib/browser/chat-response-renderer/delegation-tool-renderer.d.ts +8 -1
  13. package/lib/browser/chat-response-renderer/delegation-tool-renderer.d.ts.map +1 -1
  14. package/lib/browser/chat-response-renderer/delegation-tool-renderer.js +30 -1
  15. package/lib/browser/chat-response-renderer/delegation-tool-renderer.js.map +1 -1
  16. package/lib/browser/chat-response-renderer/tool-confirmation.d.ts +15 -1
  17. package/lib/browser/chat-response-renderer/tool-confirmation.d.ts.map +1 -1
  18. package/lib/browser/chat-response-renderer/tool-confirmation.js +60 -17
  19. package/lib/browser/chat-response-renderer/tool-confirmation.js.map +1 -1
  20. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +8 -1
  21. package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
  22. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +31 -5
  23. package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
  24. package/lib/browser/chat-response-renderer/toolcall-part-renderer.spec.js +102 -0
  25. package/lib/browser/chat-response-renderer/toolcall-part-renderer.spec.js.map +1 -1
  26. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +2 -1
  27. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
  28. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +6 -1
  29. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  30. package/lib/browser/chat-view-commands.d.ts +6 -3
  31. package/lib/browser/chat-view-commands.d.ts.map +1 -1
  32. package/lib/browser/chat-view-commands.js +13 -20
  33. package/lib/browser/chat-view-commands.js.map +1 -1
  34. package/lib/browser/chat-view-widget-toolbar-contribution.d.ts.map +1 -1
  35. package/lib/browser/chat-view-widget-toolbar-contribution.js +3 -0
  36. package/lib/browser/chat-view-widget-toolbar-contribution.js.map +1 -1
  37. package/lib/browser/chat-view-widget.d.ts +1 -2
  38. package/lib/browser/chat-view-widget.d.ts.map +1 -1
  39. package/lib/browser/chat-view-widget.js +3 -8
  40. package/lib/browser/chat-view-widget.js.map +1 -1
  41. package/lib/browser/tool-confirmation-keybinding-contribution.d.ts +25 -0
  42. package/lib/browser/tool-confirmation-keybinding-contribution.d.ts.map +1 -0
  43. package/lib/browser/tool-confirmation-keybinding-contribution.js +106 -0
  44. package/lib/browser/tool-confirmation-keybinding-contribution.js.map +1 -0
  45. package/package.json +11 -11
  46. package/src/browser/ai-chat-ui-contribution.ts +195 -92
  47. package/src/browser/ai-chat-ui-frontend-module.ts +5 -3
  48. package/src/browser/chat-input-widget.tsx +12 -9
  49. package/src/browser/chat-response-renderer/delegation-tool-renderer.tsx +34 -3
  50. package/src/browser/chat-response-renderer/tool-confirmation.tsx +122 -30
  51. package/src/browser/chat-response-renderer/toolcall-part-renderer.spec.ts +127 -0
  52. package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +51 -6
  53. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +5 -2
  54. package/src/browser/chat-view-commands.ts +12 -21
  55. package/src/browser/chat-view-widget-toolbar-contribution.tsx +3 -0
  56. package/src/browser/chat-view-widget.tsx +4 -8
  57. package/src/browser/style/index.css +9 -0
  58. package/src/browser/tool-confirmation-keybinding-contribution.ts +104 -0
  59. package/lib/browser/ai-chat-navigation-service.d.ts +0 -26
  60. package/lib/browser/ai-chat-navigation-service.d.ts.map +0 -1
  61. package/lib/browser/ai-chat-navigation-service.js +0 -158
  62. package/lib/browser/ai-chat-navigation-service.js.map +0 -1
  63. package/src/browser/ai-chat-navigation-service.ts +0 -143
@@ -1,7 +1,7 @@
1
- import { CommandRegistry, MessageService, PreferenceService, QuickInputButton, QuickInputService, QuickPickItem } from '@theia/core';
1
+ import { CommandRegistry, Disposable, Emitter, Event, MessageService, PreferenceService, QuickInputButton, QuickInputService, QuickPickItem } from '@theia/core';
2
2
  import { ILogger } from '@theia/core/lib/common/logger';
3
- import { FrontendApplicationContribution, Widget } from '@theia/core/lib/browser';
4
- import { AIChatNavigationService } from './ai-chat-navigation-service';
3
+ import { FrontendApplicationContribution, KeybindingRegistry, Widget } from '@theia/core/lib/browser';
4
+ import { ContextKey, ContextKeyService } from '@theia/core/lib/browser/context-key-service';
5
5
  import { ChatAgent, ChatService } from '@theia/ai-chat';
6
6
  import { ChatAgentService } from '@theia/ai-chat/lib/common/chat-agent-service';
7
7
  import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
@@ -18,6 +18,14 @@ export declare class AIChatContribution extends AbstractViewContribution<ChatVie
18
18
  protected readonly taskContextService: TaskContextService;
19
19
  protected readonly messageService: MessageService;
20
20
  protected readonly chatAgentService: ChatAgentService;
21
+ protected readonly contextKeyService: ContextKeyService;
22
+ /**
23
+ * Context key set to true while the chat view widget is the active widget in the shell.
24
+ * Broader than `chatInputFocus`/`chatResponseFocus` (which require DOM focus on a specific
25
+ * sub-widget): clicks on non-focusable parts of the chat view still flip this key, so chat
26
+ * view keybindings remain available.
27
+ */
28
+ protected chatViewActiveKey: ContextKey<boolean>;
21
29
  protected readonly editorManager: EditorManager;
22
30
  protected readonly activationService: AIActivationService;
23
31
  protected readonly logger: ILogger;
@@ -27,15 +35,36 @@ export declare class AIChatContribution extends AbstractViewContribution<ChatVie
27
35
  * command enablement checks which are synchronous.
28
36
  */
29
37
  protected hasPersistedSessions: boolean;
38
+ /**
39
+ * Tracks whether the currently active session is empty (= the home / overview is shown).
40
+ * Used to hide toolbar items that only make sense within an open chat (Home,
41
+ * lock/unlock auto-scroll, Summarize Current Session, ...).
42
+ */
43
+ protected activeSessionEmpty: boolean;
44
+ /** Model listener for the active session; disposed and re-bound on active-session changes. */
45
+ protected activeSessionModelListener: Disposable | undefined;
46
+ protected readonly onActiveSessionEmptyChangedEmitter: Emitter<void>;
47
+ /** Fires when {@link isActiveSessionEmpty} flips. Consumed by toolbar items that hide on the overview. */
48
+ readonly onActiveSessionEmptyChanged: Event<void>;
49
+ /** True when the chat view currently displays the home/overview (the active session has no requests). */
50
+ get isActiveSessionEmpty(): boolean;
30
51
  protected static readonly RENAME_CHAT_BUTTON: QuickInputButton;
31
52
  protected static readonly REMOVE_CHAT_BUTTON: QuickInputButton;
32
- protected readonly navigationService: AIChatNavigationService;
33
53
  protected readonly secondaryWindowHandler: SecondaryWindowHandler;
34
54
  constructor();
35
55
  initialize(): void;
56
+ protected updateChatViewActiveKey(): void;
57
+ /**
58
+ * (Re-)attach a model listener to the currently active session so the Home
59
+ * toolbar item can react when the user submits the first message and the welcome view
60
+ * is replaced by the chat tree.
61
+ */
62
+ protected attachToActiveSession(): void;
63
+ protected setActiveSessionEmpty(empty: boolean): void;
36
64
  initializeLayout(): Promise<void>;
37
65
  protected checkPersistedSessions(): Promise<void>;
38
66
  registerCommands(registry: CommandRegistry): void;
67
+ registerKeybindings(keybindings: KeybindingRegistry): void;
39
68
  registerToolbarItems(registry: TabBarToolbarRegistry): void;
40
69
  protected selectChat(sessionId?: string): Promise<void>;
41
70
  protected askForChatSession(): Promise<QuickPickItem | undefined>;
@@ -45,10 +74,6 @@ export declare class AIChatContribution extends AbstractViewContribution<ChatVie
45
74
  protected extractChatView(chatView: ChatViewWidget): void;
46
75
  canExtractChatView(chatView: ChatViewWidget): boolean;
47
76
  protected summarizeActiveSession(): Promise<string | undefined>;
48
- /**
49
- * Prompts the user to select a chat agent
50
- * @returns The selected agent or undefined if cancelled
51
- */
52
77
  /**
53
78
  * Prompts the user to select a chat agent with an optional default (pre-selected) agent.
54
79
  * @param defaultAgentId The id of the agent to pre-select, if present
@@ -1 +1 @@
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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"}
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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"}
@@ -22,8 +22,8 @@ const inversify_1 = require("@theia/core/shared/inversify");
22
22
  const core_1 = require("@theia/core");
23
23
  const logger_1 = require("@theia/core/lib/common/logger");
24
24
  const browser_1 = require("@theia/core/lib/browser");
25
+ const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
25
26
  const chat_view_commands_1 = require("./chat-view-commands");
26
- const ai_chat_navigation_service_1 = require("./ai-chat-navigation-service");
27
27
  const ai_chat_1 = require("@theia/ai-chat");
28
28
  const chat_agent_service_1 = require("@theia/ai-chat/lib/common/chat-agent-service");
29
29
  const editor_manager_1 = require("@theia/editor/lib/browser/editor-manager");
@@ -41,6 +41,10 @@ const ai_chat_preferences_1 = require("@theia/ai-chat/lib/common/ai-chat-prefere
41
41
  exports.AI_CHAT_TOGGLE_COMMAND_ID = 'aiChat:toggle';
42
42
  let AIChatContribution = class AIChatContribution extends view_contribution_1.AbstractViewContribution {
43
43
  static { AIChatContribution_1 = this; }
44
+ /** True when the chat view currently displays the home/overview (the active session has no requests). */
45
+ get isActiveSessionEmpty() {
46
+ return this.activeSessionEmpty;
47
+ }
44
48
  static { this.RENAME_CHAT_BUTTON = {
45
49
  iconClass: 'codicon-edit',
46
50
  tooltip: core_1.nls.localizeByDefault('Rename Chat'),
@@ -65,6 +69,15 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
65
69
  * command enablement checks which are synchronous.
66
70
  */
67
71
  this.hasPersistedSessions = false;
72
+ /**
73
+ * Tracks whether the currently active session is empty (= the home / overview is shown).
74
+ * Used to hide toolbar items that only make sense within an open chat (Home,
75
+ * lock/unlock auto-scroll, Summarize Current Session, ...).
76
+ */
77
+ this.activeSessionEmpty = true;
78
+ this.onActiveSessionEmptyChangedEmitter = new core_1.Emitter();
79
+ /** Fires when {@link isActiveSessionEmpty} flips. Consumed by toolbar items that hide on the overview. */
80
+ this.onActiveSessionEmptyChanged = this.onActiveSessionEmptyChangedEmitter.event;
68
81
  }
69
82
  initialize() {
70
83
  this.chatService.onSessionEvent(event => {
@@ -74,6 +87,7 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
74
87
  if (event.focus) {
75
88
  this.openView({ activate: true });
76
89
  }
90
+ this.attachToActiveSession();
77
91
  });
78
92
  // Re-check persisted sessions when storage preferences change
79
93
  this.preferenceService.onPreferenceChanged(event => {
@@ -82,6 +96,40 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
82
96
  }
83
97
  });
84
98
  this.checkPersistedSessions();
99
+ this.attachToActiveSession();
100
+ this.chatViewActiveKey = this.contextKeyService.createKey('chatViewActive', false);
101
+ this.updateChatViewActiveKey();
102
+ this.shell.onDidChangeActiveWidget(() => this.updateChatViewActiveKey());
103
+ this.shell.onDidChangeCurrentWidget(() => this.updateChatViewActiveKey());
104
+ }
105
+ updateChatViewActiveKey() {
106
+ const active = this.shell.activeWidget instanceof chat_view_widget_1.ChatViewWidget
107
+ || this.shell.currentWidget instanceof chat_view_widget_1.ChatViewWidget;
108
+ this.chatViewActiveKey.set(active);
109
+ }
110
+ /**
111
+ * (Re-)attach a model listener to the currently active session so the Home
112
+ * toolbar item can react when the user submits the first message and the welcome view
113
+ * is replaced by the chat tree.
114
+ */
115
+ attachToActiveSession() {
116
+ this.activeSessionModelListener?.dispose();
117
+ this.activeSessionModelListener = undefined;
118
+ const session = this.chatService.getActiveSession();
119
+ if (!session) {
120
+ this.setActiveSessionEmpty(true);
121
+ return;
122
+ }
123
+ this.setActiveSessionEmpty(session.model.isEmpty());
124
+ this.activeSessionModelListener = session.model.onDidChange(() => {
125
+ this.setActiveSessionEmpty(session.model.isEmpty());
126
+ });
127
+ }
128
+ setActiveSessionEmpty(empty) {
129
+ if (this.activeSessionEmpty !== empty) {
130
+ this.activeSessionEmpty = empty;
131
+ this.onActiveSessionEmptyChangedEmitter.fire();
132
+ }
85
133
  }
86
134
  async initializeLayout() {
87
135
  try {
@@ -103,23 +151,34 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
103
151
  registerCommands(registry) {
104
152
  super.registerCommands(registry);
105
153
  registry.registerCommand(chat_view_commands_1.ChatCommands.SCROLL_LOCK_WIDGET, {
106
- isEnabled: widget => this.withWidget(widget, chatWidget => !chatWidget.isLocked),
107
- isVisible: widget => this.withWidget(widget, chatWidget => !chatWidget.isLocked),
154
+ isEnabled: widget => this.withWidget(widget, chatWidget => !chatWidget.isLocked) && !this.activeSessionEmpty,
155
+ isVisible: widget => this.withWidget(widget, chatWidget => !chatWidget.isLocked) && !this.activeSessionEmpty,
108
156
  execute: widget => this.withWidget(widget, chatWidget => {
109
157
  chatWidget.lock();
110
158
  return true;
111
159
  })
112
160
  });
113
161
  registry.registerCommand(chat_view_commands_1.ChatCommands.SCROLL_UNLOCK_WIDGET, {
114
- isEnabled: widget => this.withWidget(widget, chatWidget => chatWidget.isLocked),
115
- isVisible: widget => this.withWidget(widget, chatWidget => chatWidget.isLocked),
162
+ isEnabled: widget => this.withWidget(widget, chatWidget => chatWidget.isLocked) && !this.activeSessionEmpty,
163
+ isVisible: widget => this.withWidget(widget, chatWidget => chatWidget.isLocked) && !this.activeSessionEmpty,
116
164
  execute: widget => this.withWidget(widget, chatWidget => {
117
165
  chatWidget.unlock();
118
166
  return true;
119
167
  })
120
168
  });
121
- registry.registerCommand(chat_view_commands_1.AI_CHAT_NEW_CHAT_WINDOW_COMMAND, {
122
- execute: () => this.openView().then(() => this.chatService.createSession(ai_chat_1.ChatAgentLocation.Panel, { focus: true })),
169
+ registry.registerCommand(chat_view_commands_1.AI_CHAT_HOME, {
170
+ execute: async () => {
171
+ await this.openView();
172
+ const activeSession = this.chatService.getActiveSession();
173
+ // If the active session is already empty we are on the overview: just focus it
174
+ // instead of spawning another redundant empty session.
175
+ if (activeSession?.model.isEmpty()) {
176
+ this.chatService.setActiveSession(activeSession.id, { focus: true });
177
+ }
178
+ else {
179
+ this.chatService.createSession(ai_chat_1.ChatAgentLocation.Panel, { focus: true });
180
+ }
181
+ },
123
182
  isVisible: widget => this.activationService.isActive,
124
183
  isEnabled: widget => this.activationService.canRun,
125
184
  });
@@ -147,6 +206,7 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
147
206
  }
148
207
  const activeSession = this.chatService.getActiveSession();
149
208
  return activeSession?.model.location === ai_chat_1.ChatAgentLocation.Panel
209
+ && !activeSession.model.isEmpty()
150
210
  && !this.taskContextService.hasSummary(activeSession);
151
211
  },
152
212
  isEnabled: widget => {
@@ -227,16 +287,6 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
227
287
  isVisible: () => this.activationService.isActive,
228
288
  isEnabled: () => this.activationService.canRun
229
289
  });
230
- registry.registerCommand(chat_view_commands_1.ChatCommands.AI_CHAT_NAVIGATE_BACK, {
231
- execute: () => this.navigationService.back(),
232
- isEnabled: widget => this.withWidget(widget, () => this.navigationService.canGoBack),
233
- isVisible: widget => this.activationService.isActive && !!this.withWidget(widget)
234
- });
235
- registry.registerCommand(chat_view_commands_1.ChatCommands.AI_CHAT_NAVIGATE_FORWARD, {
236
- execute: () => this.navigationService.forward(),
237
- isEnabled: widget => this.withWidget(widget, () => this.navigationService.canGoForward),
238
- isVisible: widget => this.activationService.isActive && !!this.withWidget(widget)
239
- });
240
290
  registry.registerCommand(chat_node_toolbar_action_contribution_1.ChatNodeToolbarCommands.EDIT, {
241
291
  isEnabled: node => (0, chat_tree_view_1.isEditableRequestNode)(node) && !node.request.isEditing,
242
292
  isVisible: node => (0, chat_tree_view_1.isEditableRequestNode)(node) && !node.request.isEditing,
@@ -272,42 +322,47 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
272
322
  await this.chatService.sendRequest(node.sessionId, request.request);
273
323
  }
274
324
  catch (error) {
275
- console.error('Failed to retry chat message:', error);
325
+ this.logger.error('Failed to retry chat message:', error);
276
326
  this.messageService.error(core_1.nls.localize('theia/ai/chat-ui/failedToRetry', 'Failed to retry message'));
277
327
  }
278
328
  }
279
329
  });
280
330
  }
281
- registerToolbarItems(registry) {
282
- const navigationChangedEmitter = new core_1.Emitter();
283
- this.navigationService.onDidChange(() => navigationChangedEmitter.fire());
284
- registry.registerItem({
285
- id: chat_view_commands_1.ChatCommands.AI_CHAT_NAVIGATE_BACK.id,
286
- command: chat_view_commands_1.ChatCommands.AI_CHAT_NAVIGATE_BACK.id,
287
- tooltip: core_1.nls.localize('theia/ai-chat-ui/navigate-back', 'Navigate Back'),
288
- onDidChange: navigationChangedEmitter.event,
289
- priority: 0,
290
- when: browser_2.ENABLE_AI_CONTEXT_KEY
291
- });
292
- registry.registerItem({
293
- id: chat_view_commands_1.ChatCommands.AI_CHAT_NAVIGATE_FORWARD.id,
294
- command: chat_view_commands_1.ChatCommands.AI_CHAT_NAVIGATE_FORWARD.id,
295
- tooltip: core_1.nls.localize('theia/ai-chat-ui/navigate-forward', 'Navigate Forward'),
296
- onDidChange: navigationChangedEmitter.event,
297
- priority: 0,
298
- when: browser_2.ENABLE_AI_CONTEXT_KEY
331
+ registerKeybindings(keybindings) {
332
+ super.registerKeybindings(keybindings);
333
+ // Scoped to chat view active so we don't shadow global bindings (e.g. ctrl+shift+l =
334
+ // "Select All Occurrences" in editors). We use chatViewActive in addition to the more
335
+ // specific input/response focus keys so clicks on non-focusable parts of the chat view
336
+ // (e.g. plain markdown text in a response) don't silently disable the keybindings.
337
+ // Avoid plain Ctrl+L: Monaco binds it to "Expand Line Selection" inside the chat input
338
+ // (a Monaco editor) and wins when the input has focus.
339
+ const chatScope = '(chatInputFocus || chatResponseFocus || chatViewActive)';
340
+ keybindings.registerKeybinding({
341
+ command: chat_view_commands_1.AI_CHAT_HOME.id,
342
+ keybinding: 'ctrlcmd+shift+l',
343
+ when: chatScope
344
+ });
345
+ keybindings.registerKeybinding({
346
+ command: chat_view_commands_1.AI_CHAT_SHOW_CHATS_COMMAND.id,
347
+ keybinding: 'ctrlcmd+alt+l',
348
+ when: chatScope
299
349
  });
350
+ }
351
+ registerToolbarItems(registry) {
352
+ // No explicit `tooltip`: the toolbar framework falls back to the command label and appends
353
+ // the command's keybinding accelerator itself (see RenderedToolbarItemImpl.renderItem).
300
354
  registry.registerItem({
301
- id: chat_view_commands_1.AI_CHAT_NEW_CHAT_WINDOW_COMMAND.id,
302
- command: chat_view_commands_1.AI_CHAT_NEW_CHAT_WINDOW_COMMAND.id,
303
- tooltip: chat_view_commands_1.AI_CHAT_NEW_CHAT_WINDOW_COMMAND.label,
304
- isVisible: widget => this.activationService.isActive && this.withWidget(widget),
355
+ id: chat_view_commands_1.AI_CHAT_HOME.id,
356
+ command: chat_view_commands_1.AI_CHAT_HOME.id,
357
+ onDidChange: this.onActiveSessionEmptyChangedEmitter.event,
358
+ // Hide on the overview itself (the active session is empty); only show when there
359
+ // is an actual chat to return from.
360
+ isVisible: widget => this.activationService.isActive && this.withWidget(widget) && !this.activeSessionEmpty,
305
361
  when: browser_2.ENABLE_AI_CONTEXT_KEY
306
362
  });
307
363
  registry.registerItem({
308
364
  id: chat_view_commands_1.AI_CHAT_SHOW_CHATS_COMMAND.id,
309
365
  command: chat_view_commands_1.AI_CHAT_SHOW_CHATS_COMMAND.id,
310
- tooltip: chat_view_commands_1.AI_CHAT_SHOW_CHATS_COMMAND.label,
311
366
  isVisible: widget => this.activationService.isActive && this.withWidget(widget),
312
367
  when: browser_2.ENABLE_AI_CONTEXT_KEY
313
368
  });
@@ -325,6 +380,7 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
325
380
  this.chatService.onSessionEvent(event => event.type === 'activeChange' && sessionSummarizibilityChangedEmitter.fire());
326
381
  this.activationService.onDidChangeActiveStatus(() => sessionSummarizibilityChangedEmitter.fire());
327
382
  this.activationService.onDidChangeCanRun(() => sessionSummarizibilityChangedEmitter.fire());
383
+ this.onActiveSessionEmptyChanged(() => sessionSummarizibilityChangedEmitter.fire());
328
384
  registry.registerItem({
329
385
  id: 'chat-view.' + chat_view_commands_1.ChatCommands.AI_CHAT_SUMMARIZE_CURRENT_SESSION.id,
330
386
  command: chat_view_commands_1.ChatCommands.AI_CHAT_SUMMARIZE_CURRENT_SESSION.id,
@@ -354,56 +410,73 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
354
410
  const activeSessions = this.chatService.getSessions()
355
411
  .filter(session => session.title)
356
412
  .map(session => ({
357
- session,
358
413
  isActive: true,
359
- lastDate: session.lastInteraction ? session.lastInteraction.getTime() : 0
360
- }));
361
- // Try to load persisted sessions, but don't fail if it doesn't work
414
+ id: session.id,
415
+ title: session.title,
416
+ lastDate: session.lastInteraction ? session.lastInteraction.getTime() : 0,
417
+ firstRequestText: session.model.getRequests().at(0)?.request.text,
418
+ agentIconClass: session.pinnedAgent?.iconClass,
419
+ agentName: session.pinnedAgent?.name
420
+ }))
421
+ .sort((a, b) => b.lastDate - a.lastDate);
362
422
  let persistedSessions = [];
363
423
  try {
364
424
  const persistedIndex = await this.chatService.getPersistedSessions();
365
- const activeIds = new Set(activeSessions.map(s => s.session.id));
425
+ const activeIds = new Set(activeSessions.map(s => s.id));
366
426
  persistedSessions = Object.values(persistedIndex)
367
427
  .filter(metadata => !activeIds.has(metadata.sessionId))
368
- .map(metadata => ({
369
- metadata,
370
- isActive: false,
371
- lastDate: metadata.saveDate
372
- }));
428
+ .map(metadata => {
429
+ const agent = metadata.pinnedAgentId ? this.chatAgentService.getAgent(metadata.pinnedAgentId) : undefined;
430
+ return {
431
+ isActive: false,
432
+ id: metadata.sessionId,
433
+ title: metadata.title,
434
+ lastDate: metadata.saveDate,
435
+ firstRequestText: undefined,
436
+ agentIconClass: agent?.iconClass,
437
+ agentName: agent?.name
438
+ };
439
+ })
440
+ .sort((a, b) => b.lastDate - a.lastDate);
373
441
  }
374
442
  catch (error) {
375
443
  this.logger.error('Failed to load persisted sessions, showing only active sessions', error);
376
444
  // Continue with just active sessions
377
445
  }
378
- // Combine and sort by last interaction/message date
379
- const allSessions = [
380
- ...activeSessions.map(s => ({
381
- isActive: true,
382
- id: s.session.id,
383
- title: s.session.title,
384
- lastDate: s.lastDate,
385
- firstRequestText: s.session.model.getRequests().at(0)?.request.text
386
- })),
387
- ...persistedSessions.map(s => ({
388
- isActive: false,
389
- id: s.metadata.sessionId,
390
- title: s.metadata.title,
391
- lastDate: s.lastDate,
392
- firstRequestText: undefined
393
- }))
394
- ].sort((a, b) => b.lastDate - a.lastDate);
395
- return allSessions.map(session => {
396
- // Add icon for persisted sessions to visually distinguish them
397
- const icon = session.isActive ? '' : '$(archive) ';
446
+ const toItem = (session) => {
447
+ // Mark restored sessions with an archive icon; active sessions get the pinned agent's icon
448
+ // to match the home view. QuickPick labels support inline codicons via `$(name)`, so we
449
+ // extract the codicon name from the agent's iconClass (e.g. "codicon codicon-foo" -> "foo").
450
+ let icon;
451
+ if (session.isActive) {
452
+ const codiconName = session.agentIconClass?.match(/codicon-([\w-]+)/)?.[1] ?? 'comment-discussion';
453
+ icon = `$(${codiconName}) `;
454
+ }
455
+ else {
456
+ icon = '$(archive) ';
457
+ }
398
458
  const label = `${icon}${session.title}`;
399
- return ({
459
+ // Mirror the home-view item subtitle: "@Agent · time ago"
460
+ const timeAgo = (0, chat_date_utils_1.formatTimeAgo)(session.lastDate);
461
+ const description = session.agentName ? `@${session.agentName} · ${timeAgo}` : timeAgo;
462
+ return {
400
463
  label,
401
- description: (0, chat_date_utils_1.formatTimeAgo)(session.lastDate, false),
464
+ description,
402
465
  detail: session.firstRequestText || (session.isActive ? undefined : core_1.nls.localize('theia/ai/chat-ui/persistedSession', 'Persisted session (click to restore)')),
403
466
  id: session.id,
404
467
  buttons: [AIChatContribution_1.RENAME_CHAT_BUTTON, AIChatContribution_1.REMOVE_CHAT_BUTTON]
405
- });
406
- });
468
+ };
469
+ };
470
+ const items = [];
471
+ if (activeSessions.length > 0) {
472
+ items.push({ type: 'separator', label: core_1.nls.localizeByDefault('Active') });
473
+ items.push(...activeSessions.map(toItem));
474
+ }
475
+ if (persistedSessions.length > 0) {
476
+ items.push({ type: 'separator', label: core_1.nls.localize('theia/ai/chat-ui/sectionRestored', 'Restored') });
477
+ items.push(...persistedSessions.map(toItem));
478
+ }
479
+ return items;
407
480
  };
408
481
  const defer = new promise_util_1.Deferred();
409
482
  const quickPick = this.quickInputService.createQuickPick();
@@ -506,15 +579,11 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
506
579
  return;
507
580
  }
508
581
  return this.taskContextService.summarize(activeSession).catch(err => {
509
- console.warn('Error while summarizing session:', err);
582
+ this.logger.warn('Error while summarizing session:', err);
510
583
  this.messageService.error(core_1.nls.localize('theia/ai/chat-ui/unableToSummarizeCurrentSession', 'Unable to summarize current session. Please confirm that the summary agent is not disabled.'));
511
584
  return undefined;
512
585
  });
513
586
  }
514
- /**
515
- * Prompts the user to select a chat agent
516
- * @returns The selected agent or undefined if cancelled
517
- */
518
587
  /**
519
588
  * Prompts the user to select a chat agent with an optional default (pre-selected) agent.
520
589
  * @param defaultAgentId The id of the agent to pre-select, if present
@@ -622,6 +691,10 @@ tslib_1.__decorate([
622
691
  (0, inversify_1.inject)(chat_agent_service_1.ChatAgentService),
623
692
  tslib_1.__metadata("design:type", Object)
624
693
  ], AIChatContribution.prototype, "chatAgentService", void 0);
694
+ tslib_1.__decorate([
695
+ (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
696
+ tslib_1.__metadata("design:type", Object)
697
+ ], AIChatContribution.prototype, "contextKeyService", void 0);
625
698
  tslib_1.__decorate([
626
699
  (0, inversify_1.inject)(editor_manager_1.EditorManager),
627
700
  tslib_1.__metadata("design:type", editor_manager_1.EditorManager)
@@ -632,17 +705,13 @@ tslib_1.__decorate([
632
705
  ], AIChatContribution.prototype, "activationService", void 0);
633
706
  tslib_1.__decorate([
634
707
  (0, inversify_1.inject)(logger_1.ILogger),
635
- (0, inversify_1.named)('AIChatContribution'),
708
+ (0, inversify_1.named)('ai-chat-ui:AIChatContribution'),
636
709
  tslib_1.__metadata("design:type", Object)
637
710
  ], AIChatContribution.prototype, "logger", void 0);
638
711
  tslib_1.__decorate([
639
712
  (0, inversify_1.inject)(core_1.PreferenceService),
640
713
  tslib_1.__metadata("design:type", Object)
641
714
  ], AIChatContribution.prototype, "preferenceService", void 0);
642
- tslib_1.__decorate([
643
- (0, inversify_1.inject)(ai_chat_navigation_service_1.AIChatNavigationService),
644
- tslib_1.__metadata("design:type", ai_chat_navigation_service_1.AIChatNavigationService)
645
- ], AIChatContribution.prototype, "navigationService", void 0);
646
715
  tslib_1.__decorate([
647
716
  (0, inversify_1.inject)(secondary_window_handler_1.SecondaryWindowHandler),
648
717
  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;AAC3C,OAAO,iDAAiD,CAAC;AAIzD,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAoD3E,wBA8IG"}
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;AAC3C,OAAO,iDAAiD,CAAC;AAIzD,OAAO,EAAE,eAAe,EAAc,MAAM,8BAA8B,CAAC;;AAoD3E,wBAgJG"}
@@ -23,7 +23,6 @@ const tab_bar_toolbar_1 = require("@theia/core/lib/browser/shell/tab-bar-toolbar
23
23
  const inversify_1 = require("@theia/core/shared/inversify");
24
24
  const editor_manager_1 = require("@theia/editor/lib/browser/editor-manager");
25
25
  const ai_chat_ui_contribution_1 = require("./ai-chat-ui-contribution");
26
- const ai_chat_navigation_service_1 = require("./ai-chat-navigation-service");
27
26
  const chat_input_widget_1 = require("./chat-input-widget");
28
27
  const chat_node_toolbar_action_contribution_1 = require("./chat-node-toolbar-action-contribution");
29
28
  const chat_response_part_renderer_1 = require("./chat-response-part-renderer");
@@ -52,9 +51,9 @@ const chat_focus_contribution_1 = require("./chat-focus-contribution");
52
51
  const chat_capabilities_service_1 = require("./chat-capabilities-service");
53
52
  const chat_input_capabilities_contribution_1 = require("./chat-input-capabilities-contribution");
54
53
  const generic_capabilities_service_1 = require("./generic-capabilities-service");
54
+ const tool_confirmation_keybinding_contribution_1 = require("./tool-confirmation-keybinding-contribution");
55
55
  exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebind) => {
56
56
  (0, chat_view_preferences_1.bindChatViewPreferences)(bind);
57
- bind(ai_chat_navigation_service_1.AIChatNavigationService).toSelf().inSingletonScope();
58
57
  (0, browser_1.bindViewContribution)(bind, ai_chat_ui_contribution_1.AIChatContribution);
59
58
  bind(browser_1.FrontendApplicationContribution).toService(ai_chat_ui_contribution_1.AIChatContribution);
60
59
  bind(tab_bar_toolbar_1.TabBarToolbarContribution).toService(ai_chat_ui_contribution_1.AIChatContribution);
@@ -80,6 +79,9 @@ exports.default = new inversify_1.ContainerModule((bind, _unbind, _isBound, rebi
80
79
  bind(chat_input_capabilities_contribution_1.ChatInputCapabilitiesContribution).toSelf().inSingletonScope();
81
80
  bind(core_1.CommandContribution).toService(chat_input_capabilities_contribution_1.ChatInputCapabilitiesContribution);
82
81
  bind(browser_1.KeybindingContribution).toService(chat_input_capabilities_contribution_1.ChatInputCapabilitiesContribution);
82
+ bind(tool_confirmation_keybinding_contribution_1.ToolConfirmationKeybindingContribution).toSelf().inSingletonScope();
83
+ bind(core_1.CommandContribution).toService(tool_confirmation_keybinding_contribution_1.ToolConfirmationKeybindingContribution);
84
+ bind(browser_1.KeybindingContribution).toService(tool_confirmation_keybinding_contribution_1.ToolConfirmationKeybindingContribution);
83
85
  (0, core_1.bindRootContributionProvider)(bind, chat_response_part_renderer_1.ChatResponsePartRenderer);
84
86
  (0, core_1.bindRootContributionProvider)(bind, chat_tree_view_1.ChatWelcomeMessageProvider);
85
87
  bindChatViewWidget(bind);