@theia/ai-chat-ui 1.77.0-next.1 → 1.77.0-next.14

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.
@@ -73,7 +73,11 @@ export declare class AIChatContribution extends AbstractViewContribution<ChatVie
73
73
  protected withWidget(widget?: Widget | undefined, predicate?: (output: ChatViewWidget) => boolean): boolean | false;
74
74
  protected extractChatView(chatView: ChatViewWidget): void;
75
75
  canExtractChatView(chatView: ChatViewWidget): boolean;
76
- protected summarizeActiveSession(): Promise<string | undefined>;
76
+ /**
77
+ * Summarizes the active session and returns the summary ID.
78
+ * @param override Whether to regenerate the summary if one already exists for the session.
79
+ */
80
+ protected summarizeActiveSession(override?: boolean): Promise<string | undefined>;
77
81
  /**
78
82
  * Prompts the user to select a chat agent with an optional default (pre-selected) agent.
79
83
  * @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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"}
@@ -225,7 +225,7 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
225
225
  });
226
226
  registry.registerCommand(chat_view_commands_1.ChatCommands.AI_CHAT_OPEN_SUMMARY_FOR_CURRENT_SESSION, {
227
227
  execute: async () => {
228
- const id = await this.summarizeActiveSession();
228
+ const id = await this.summarizeActiveSession(false);
229
229
  if (!id) {
230
230
  return;
231
231
  }
@@ -596,12 +596,16 @@ let AIChatContribution = class AIChatContribution extends view_contribution_1.Ab
596
596
  canExtractChatView(chatView) {
597
597
  return !chatView.secondaryWindow;
598
598
  }
599
- async summarizeActiveSession() {
599
+ /**
600
+ * Summarizes the active session and returns the summary ID.
601
+ * @param override Whether to regenerate the summary if one already exists for the session.
602
+ */
603
+ async summarizeActiveSession(override = true) {
600
604
  const activeSession = this.chatService.getActiveSession();
601
605
  if (!activeSession) {
602
606
  return;
603
607
  }
604
- return this.taskContextService.summarize(activeSession).catch(err => {
608
+ return this.taskContextService.summarize(activeSession, undefined, undefined, override).catch(err => {
605
609
  this.logger.warn('Error while summarizing session:', err);
606
610
  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.'));
607
611
  return undefined;
@@ -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,18 +1,27 @@
1
1
  import { Command, CommandContribution, CommandRegistry } from '@theia/core';
2
2
  import { ApplicationShell, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
3
+ import { ChatInputFocusService } from '../chat-input-focus-service';
3
4
  import { ChatViewWidget } from '../chat-view-widget';
4
5
  export declare const CHAT_FIND_COMMAND: Command;
5
6
  export declare const CHAT_FIND_HIDE_COMMAND: Command;
6
7
  /**
7
- * Ctrl+F in the chat response tree opens the find bar over it; in the chat input, Ctrl+F keeps its default
8
- * behavior. The binding is only enabled while the session has content to search. It takes precedence over core's
9
- * `CommonCommands.FIND` and Monaco's `actions.find` because it is registered later within the default scope,
10
- * the same mechanism `ChatInputPasteContribution` relies on for Ctrl+V.
8
+ * Ctrl+F in the chat view opens the find bar over the response tree (or refocuses it) while the session has content
9
+ * to search; in a chat input it does nothing.
10
+ *
11
+ * Besides its own binding, the contribution registers handlers for core's `CommonCommands.FIND` and Monaco's
12
+ * `actions.find` that are enabled while the focus is in a chat view or a chat input, so that Ctrl+F never falls
13
+ * through to Monaco's find there: that would open the find widget inside the chat input or in the editor of the main
14
+ * area. Handlers are used rather than keybindings because the latter lose to Monaco's binding in the chat input
15
+ * (`KeybindingRegistry.selectBindingByLocalContext`), whereas the most recently registered enabled handler runs.
11
16
  */
12
17
  export declare class ChatFindContribution implements CommandContribution, KeybindingContribution {
13
18
  protected readonly shell: ApplicationShell;
19
+ protected readonly chatInputFocusService: ChatInputFocusService;
14
20
  registerCommands(commands: CommandRegistry): void;
15
21
  registerKeybindings(keybindings: KeybindingRegistry): void;
22
+ /** Opens or refocuses the find bar of the focused chat view; does nothing in a chat input or without content to search. */
23
+ protected find(): void;
24
+ protected isChatInputFocused(): boolean;
16
25
  protected findActiveChatViewWidget(): ChatViewWidget | undefined;
17
26
  }
18
27
  //# sourceMappingURL=chat-find-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-find-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-find/chat-find-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGvG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,iBAAiB,SAI6B,CAAC;AAE5D,eAAO,MAAM,sBAAsB,SAI4B,CAAC;AAEhE;;;;;GAKG;AACH,qBACa,oBAAqB,YAAW,mBAAmB,EAAE,sBAAsB;IAGpF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAWjD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAa1D,SAAS,CAAC,wBAAwB,IAAI,cAAc,GAAG,SAAS;CAGnE"}
1
+ {"version":3,"file":"chat-find-contribution.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-find/chat-find-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAkB,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEvH,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,iBAAiB,SAI6B,CAAC;AAE5D,eAAO,MAAM,sBAAsB,SAI4B,CAAC;AAKhE;;;;;;;;;GASG;AACH,qBACa,oBAAqB,YAAW,mBAAmB,EAAE,sBAAsB;IAGpF,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEhE,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAiBjD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAc1D,2HAA2H;IAC3H,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB,SAAS,CAAC,kBAAkB,IAAI,OAAO;IAIvC,SAAS,CAAC,wBAAwB,IAAI,cAAc,GAAG,SAAS;CAGnE"}
@@ -20,6 +20,7 @@ const tslib_1 = require("tslib");
20
20
  const core_1 = require("@theia/core");
21
21
  const browser_1 = require("@theia/core/lib/browser");
22
22
  const inversify_1 = require("@theia/core/shared/inversify");
23
+ const chat_input_focus_service_1 = require("../chat-input-focus-service");
23
24
  const chat_view_commands_1 = require("../chat-view-commands");
24
25
  const chat_view_widget_1 = require("../chat-view-widget");
25
26
  exports.CHAT_FIND_COMMAND = core_1.Command.toLocalizedCommand({
@@ -32,11 +33,17 @@ exports.CHAT_FIND_HIDE_COMMAND = core_1.Command.toLocalizedCommand({
32
33
  category: chat_view_commands_1.ChatCommands.CHAT_CATEGORY,
33
34
  label: 'Hide Find in Chat'
34
35
  }, 'theia/ai/chat-ui/findHide', chat_view_commands_1.ChatCommands.CHAT_CATEGORY_KEY);
36
+ /** Monaco's find action, bound to Ctrl+F while any editor is open and run on the focused or last active editor. */
37
+ const MONACO_FIND_ACTION_ID = 'actions.find';
35
38
  /**
36
- * Ctrl+F in the chat response tree opens the find bar over it; in the chat input, Ctrl+F keeps its default
37
- * behavior. The binding is only enabled while the session has content to search. It takes precedence over core's
38
- * `CommonCommands.FIND` and Monaco's `actions.find` because it is registered later within the default scope,
39
- * the same mechanism `ChatInputPasteContribution` relies on for Ctrl+V.
39
+ * Ctrl+F in the chat view opens the find bar over the response tree (or refocuses it) while the session has content
40
+ * to search; in a chat input it does nothing.
41
+ *
42
+ * Besides its own binding, the contribution registers handlers for core's `CommonCommands.FIND` and Monaco's
43
+ * `actions.find` that are enabled while the focus is in a chat view or a chat input, so that Ctrl+F never falls
44
+ * through to Monaco's find there: that would open the find widget inside the chat input or in the editor of the main
45
+ * area. Handlers are used rather than keybindings because the latter lose to Monaco's binding in the chat input
46
+ * (`KeybindingRegistry.selectBindingByLocalContext`), whereas the most recently registered enabled handler runs.
40
47
  */
41
48
  let ChatFindContribution = class ChatFindContribution {
42
49
  registerCommands(commands) {
@@ -48,12 +55,19 @@ let ChatFindContribution = class ChatFindContribution {
48
55
  isEnabled: () => this.findActiveChatViewWidget()?.treeWidget.isFindVisible === true,
49
56
  execute: () => this.findActiveChatViewWidget()?.treeWidget.hideFind()
50
57
  });
58
+ const findHandler = {
59
+ isEnabled: () => this.isChatInputFocused() || this.findActiveChatViewWidget() !== undefined,
60
+ execute: () => this.find()
61
+ };
62
+ commands.registerHandler(browser_1.CommonCommands.FIND.id, findHandler);
63
+ commands.registerHandler(MONACO_FIND_ACTION_ID, findHandler);
51
64
  }
52
65
  registerKeybindings(keybindings) {
53
66
  keybindings.registerKeybinding({
54
67
  command: exports.CHAT_FIND_COMMAND.id,
55
68
  keybinding: 'ctrlcmd+f',
56
- when: 'chatResponseFocus'
69
+ // A request's edit box is a chat input inside the response tree.
70
+ when: 'chatResponseFocus && !chatInputFocus'
57
71
  });
58
72
  keybindings.registerKeybinding({
59
73
  command: exports.CHAT_FIND_HIDE_COMMAND.id,
@@ -61,6 +75,19 @@ let ChatFindContribution = class ChatFindContribution {
61
75
  when: 'chatFindVisible && chatResponseFocus'
62
76
  });
63
77
  }
78
+ /** Opens or refocuses the find bar of the focused chat view; does nothing in a chat input or without content to search. */
79
+ find() {
80
+ if (this.isChatInputFocused()) {
81
+ return;
82
+ }
83
+ const treeWidget = this.findActiveChatViewWidget()?.treeWidget;
84
+ if (treeWidget?.canFind) {
85
+ treeWidget.showFind();
86
+ }
87
+ }
88
+ isChatInputFocused() {
89
+ return this.chatInputFocusService.getFocused() !== undefined;
90
+ }
64
91
  findActiveChatViewWidget() {
65
92
  return chat_view_widget_1.ChatViewWidget.findActive(this.shell);
66
93
  }
@@ -70,6 +97,10 @@ tslib_1.__decorate([
70
97
  (0, inversify_1.inject)(browser_1.ApplicationShell),
71
98
  tslib_1.__metadata("design:type", browser_1.ApplicationShell)
72
99
  ], ChatFindContribution.prototype, "shell", void 0);
100
+ tslib_1.__decorate([
101
+ (0, inversify_1.inject)(chat_input_focus_service_1.ChatInputFocusService),
102
+ tslib_1.__metadata("design:type", chat_input_focus_service_1.ChatInputFocusService)
103
+ ], ChatFindContribution.prototype, "chatInputFocusService", void 0);
73
104
  exports.ChatFindContribution = ChatFindContribution = tslib_1.__decorate([
74
105
  (0, inversify_1.injectable)()
75
106
  ], ChatFindContribution);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-find-contribution.js","sourceRoot":"","sources":["../../../src/browser/chat-find/chat-find-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yDAAyD;AACzD,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,sCAA4E;AAC5E,qDAAuG;AACvG,4DAAkE;AAClE,8DAAqD;AACrD,0DAAqD;AAExC,QAAA,iBAAiB,GAAG,cAAO,CAAC,kBAAkB,CAAC;IACxD,EAAE,EAAE,cAAc;IAClB,QAAQ,EAAE,iCAAY,CAAC,aAAa;IACpC,KAAK,EAAE,cAAc;CACxB,EAAE,uBAAuB,EAAE,iCAAY,CAAC,iBAAiB,CAAC,CAAC;AAE/C,QAAA,sBAAsB,GAAG,cAAO,CAAC,kBAAkB,CAAC;IAC7D,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,iCAAY,CAAC,aAAa;IACpC,KAAK,EAAE,mBAAmB;CAC7B,EAAE,2BAA2B,EAAE,iCAAY,CAAC,iBAAiB,CAAC,CAAC;AAEhE;;;;;GAKG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAK7B,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,yBAAiB,EAAE;YACxC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,OAAO,KAAK,IAAI;YAC7E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE;SACxE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,8BAAsB,EAAE;YAC7C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,aAAa,KAAK,IAAI;YACnF,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;IAED,mBAAmB,CAAC,WAA+B;QAC/C,WAAW,CAAC,kBAAkB,CAAC;YAC3B,OAAO,EAAE,yBAAiB,CAAC,EAAE;YAC7B,UAAU,EAAE,WAAW;YACvB,IAAI,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,WAAW,CAAC,kBAAkB,CAAC;YAC3B,OAAO,EAAE,8BAAsB,CAAC,EAAE;YAClC,UAAU,EAAE,KAAK;YACjB,IAAI,EAAE,sCAAsC;SAC/C,CAAC,CAAC;IACP,CAAC;IAES,wBAAwB;QAC9B,OAAO,iCAAc,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CACJ,CAAA;AAhCY,oDAAoB;AAGV;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACC,0BAAgB;mDAAC;+BAHlC,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAgChC"}
1
+ {"version":3,"file":"chat-find-contribution.js","sourceRoot":"","sources":["../../../src/browser/chat-find/chat-find-contribution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chat-find-contribution.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-find-contribution.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-find/chat-find-contribution.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
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
+ const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
19
+ let disableJSDOM = (0, jsdom_1.enableJSDOM)();
20
+ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
21
+ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
22
+ const chai_1 = require("chai");
23
+ const core_1 = require("@theia/core");
24
+ const browser_1 = require("@theia/core/lib/browser");
25
+ const chat_input_focus_service_1 = require("../chat-input-focus-service");
26
+ const chat_find_contribution_1 = require("./chat-find-contribution");
27
+ disableJSDOM();
28
+ const MONACO_FIND_ACTION_ID = 'actions.find';
29
+ class TestChatFindContribution extends chat_find_contribution_1.ChatFindContribution {
30
+ findActiveChatViewWidget() {
31
+ return this.chatViewWidget;
32
+ }
33
+ }
34
+ describe('ChatFindContribution', () => {
35
+ before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
36
+ after(() => disableJSDOM());
37
+ let commands;
38
+ let contribution;
39
+ let focusService;
40
+ let monacoFindCalls;
41
+ let showFindCalls;
42
+ function createChatViewWidget(canFind) {
43
+ return { treeWidget: { canFind, showFind: () => showFindCalls++ } };
44
+ }
45
+ async function pressFind(commandId) {
46
+ await commands.getActiveHandler(commandId)?.execute();
47
+ }
48
+ beforeEach(() => {
49
+ monacoFindCalls = 0;
50
+ showFindCalls = 0;
51
+ commands = new core_1.CommandRegistry({ getContributions: () => [] });
52
+ // Registered before the chat contribution, as core and Monaco are in the application.
53
+ commands.registerCommand(browser_1.CommonCommands.FIND, { execute: () => { } });
54
+ const monacoFind = { execute: () => monacoFindCalls++ };
55
+ commands.registerCommand({ id: MONACO_FIND_ACTION_ID }, monacoFind);
56
+ commands.registerHandler(browser_1.CommonCommands.FIND.id, monacoFind);
57
+ focusService = new chat_input_focus_service_1.ChatInputFocusService();
58
+ contribution = new TestChatFindContribution();
59
+ contribution.chatInputFocusService = focusService;
60
+ contribution.registerCommands(commands);
61
+ });
62
+ for (const commandId of [browser_1.CommonCommands.FIND.id, MONACO_FIND_ACTION_ID]) {
63
+ describe(commandId, () => {
64
+ it('does nothing in a chat input', async () => {
65
+ focusService.setFocused({});
66
+ contribution.chatViewWidget = createChatViewWidget(true);
67
+ await pressFind(commandId);
68
+ (0, chai_1.expect)(monacoFindCalls).to.equal(0);
69
+ (0, chai_1.expect)(showFindCalls).to.equal(0);
70
+ });
71
+ it('does nothing in a chat input outside of a chat view', async () => {
72
+ focusService.setFocused({});
73
+ await pressFind(commandId);
74
+ (0, chai_1.expect)(monacoFindCalls).to.equal(0);
75
+ });
76
+ it('opens Find in Chat in a chat view with content to search', async () => {
77
+ contribution.chatViewWidget = createChatViewWidget(true);
78
+ await pressFind(commandId);
79
+ (0, chai_1.expect)(showFindCalls).to.equal(1);
80
+ (0, chai_1.expect)(monacoFindCalls).to.equal(0);
81
+ });
82
+ it('does nothing in a chat view without content to search', async () => {
83
+ contribution.chatViewWidget = createChatViewWidget(false);
84
+ await pressFind(commandId);
85
+ (0, chai_1.expect)(showFindCalls).to.equal(0);
86
+ (0, chai_1.expect)(monacoFindCalls).to.equal(0);
87
+ });
88
+ it("leaves Monaco's find alone outside of the chat", async () => {
89
+ await pressFind(commandId);
90
+ (0, chai_1.expect)(monacoFindCalls).to.equal(1);
91
+ (0, chai_1.expect)(showFindCalls).to.equal(0);
92
+ });
93
+ });
94
+ }
95
+ });
96
+ //# sourceMappingURL=chat-find-contribution.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-find-contribution.spec.js","sourceRoot":"","sources":["../../../src/browser/chat-find/chat-find-contribution.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@theia/ai-chat-ui",
3
- "version": "1.77.0-next.1+8b94967c4",
3
+ "version": "1.77.0-next.14+b315294d3",
4
4
  "description": "Theia - AI Chat UI Extension",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.77.0-next.1+8b94967c4",
7
- "@theia/ai-core": "1.77.0-next.1+8b94967c4",
8
- "@theia/core": "1.77.0-next.1+8b94967c4",
9
- "@theia/editor": "1.77.0-next.1+8b94967c4",
10
- "@theia/editor-preview": "1.77.0-next.1+8b94967c4",
11
- "@theia/filesystem": "1.77.0-next.1+8b94967c4",
12
- "@theia/monaco": "1.77.0-next.1+8b94967c4",
6
+ "@theia/ai-chat": "1.77.0-next.14+b315294d3",
7
+ "@theia/ai-core": "1.77.0-next.14+b315294d3",
8
+ "@theia/core": "1.77.0-next.14+b315294d3",
9
+ "@theia/editor": "1.77.0-next.14+b315294d3",
10
+ "@theia/editor-preview": "1.77.0-next.14+b315294d3",
11
+ "@theia/filesystem": "1.77.0-next.14+b315294d3",
12
+ "@theia/monaco": "1.77.0-next.14+b315294d3",
13
13
  "@theia/monaco-editor-core": "1.108.201",
14
- "@theia/preferences": "1.77.0-next.1+8b94967c4",
15
- "@theia/workspace": "1.77.0-next.1+8b94967c4",
14
+ "@theia/preferences": "1.77.0-next.14+b315294d3",
15
+ "@theia/workspace": "1.77.0-next.14+b315294d3",
16
16
  "date-fns": "^4.4.0",
17
17
  "mermaid": "^11.17.2",
18
18
  "tslib": "^2.8.1"
@@ -56,5 +56,5 @@
56
56
  "nyc": {
57
57
  "extends": "../../configs/nyc.json"
58
58
  },
59
- "gitHead": "8b94967c4cfa0dcf688a345d28b3ac2e0d7e298a"
59
+ "gitHead": "b315294d3c24f8480548d8769f7de024c4ad8efb"
60
60
  }
@@ -270,7 +270,7 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
270
270
  });
271
271
  registry.registerCommand(ChatCommands.AI_CHAT_OPEN_SUMMARY_FOR_CURRENT_SESSION, {
272
272
  execute: async () => {
273
- const id = await this.summarizeActiveSession();
273
+ const id = await this.summarizeActiveSession(false);
274
274
  if (!id) { return; }
275
275
  await this.taskContextService.open(id);
276
276
  },
@@ -675,10 +675,14 @@ export class AIChatContribution extends AbstractViewContribution<ChatViewWidget>
675
675
  return !chatView.secondaryWindow;
676
676
  }
677
677
 
678
- protected async summarizeActiveSession(): Promise<string | undefined> {
678
+ /**
679
+ * Summarizes the active session and returns the summary ID.
680
+ * @param override Whether to regenerate the summary if one already exists for the session.
681
+ */
682
+ protected async summarizeActiveSession(override = true): Promise<string | undefined> {
679
683
  const activeSession = this.chatService.getActiveSession();
680
684
  if (!activeSession) { return; }
681
- return this.taskContextService.summarize(activeSession).catch(err => {
685
+ return this.taskContextService.summarize(activeSession, undefined, undefined, override).catch(err => {
682
686
  this.logger.warn('Error while summarizing session:', err);
683
687
  this.messageService.error(nls.localize('theia/ai/chat-ui/unableToSummarizeCurrentSession',
684
688
  'Unable to summarize current session. Please confirm that the summary agent is not disabled.'));
@@ -0,0 +1,113 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 Safi Seid-Ahmad, K2view and others.
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 { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
18
+ let disableJSDOM = enableJSDOM();
19
+ import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
20
+ FrontendApplicationConfigProvider.set({});
21
+
22
+ import { expect } from 'chai';
23
+ import { CommandContribution, CommandRegistry, ContributionProvider } from '@theia/core';
24
+ import { CommonCommands } from '@theia/core/lib/browser';
25
+ import { ChatInputFocusService } from '../chat-input-focus-service';
26
+ import type { AIChatInputWidget } from '../chat-input-widget';
27
+ import type { ChatViewWidget } from '../chat-view-widget';
28
+ import { ChatFindContribution } from './chat-find-contribution';
29
+
30
+ disableJSDOM();
31
+
32
+ const MONACO_FIND_ACTION_ID = 'actions.find';
33
+
34
+ class TestChatFindContribution extends ChatFindContribution {
35
+ chatViewWidget: ChatViewWidget | undefined;
36
+
37
+ protected override findActiveChatViewWidget(): ChatViewWidget | undefined {
38
+ return this.chatViewWidget;
39
+ }
40
+ }
41
+
42
+ describe('ChatFindContribution', () => {
43
+ before(() => disableJSDOM = enableJSDOM());
44
+ after(() => disableJSDOM());
45
+
46
+ let commands: CommandRegistry;
47
+ let contribution: TestChatFindContribution;
48
+ let focusService: ChatInputFocusService;
49
+ let monacoFindCalls: number;
50
+ let showFindCalls: number;
51
+
52
+ function createChatViewWidget(canFind: boolean): ChatViewWidget {
53
+ return { treeWidget: { canFind, showFind: () => showFindCalls++ } } as unknown as ChatViewWidget;
54
+ }
55
+
56
+ async function pressFind(commandId: string): Promise<void> {
57
+ await commands.getActiveHandler(commandId)?.execute();
58
+ }
59
+
60
+ beforeEach(() => {
61
+ monacoFindCalls = 0;
62
+ showFindCalls = 0;
63
+ commands = new CommandRegistry({ getContributions: () => [] } as ContributionProvider<CommandContribution>);
64
+ // Registered before the chat contribution, as core and Monaco are in the application.
65
+ commands.registerCommand(CommonCommands.FIND, { execute: () => { } });
66
+ const monacoFind = { execute: () => monacoFindCalls++ };
67
+ commands.registerCommand({ id: MONACO_FIND_ACTION_ID }, monacoFind);
68
+ commands.registerHandler(CommonCommands.FIND.id, monacoFind);
69
+
70
+ focusService = new ChatInputFocusService();
71
+ contribution = new TestChatFindContribution();
72
+ (contribution as unknown as { chatInputFocusService: ChatInputFocusService }).chatInputFocusService = focusService;
73
+ contribution.registerCommands(commands);
74
+ });
75
+
76
+ for (const commandId of [CommonCommands.FIND.id, MONACO_FIND_ACTION_ID]) {
77
+ describe(commandId, () => {
78
+ it('does nothing in a chat input', async () => {
79
+ focusService.setFocused({} as AIChatInputWidget);
80
+ contribution.chatViewWidget = createChatViewWidget(true);
81
+ await pressFind(commandId);
82
+ expect(monacoFindCalls).to.equal(0);
83
+ expect(showFindCalls).to.equal(0);
84
+ });
85
+
86
+ it('does nothing in a chat input outside of a chat view', async () => {
87
+ focusService.setFocused({} as AIChatInputWidget);
88
+ await pressFind(commandId);
89
+ expect(monacoFindCalls).to.equal(0);
90
+ });
91
+
92
+ it('opens Find in Chat in a chat view with content to search', async () => {
93
+ contribution.chatViewWidget = createChatViewWidget(true);
94
+ await pressFind(commandId);
95
+ expect(showFindCalls).to.equal(1);
96
+ expect(monacoFindCalls).to.equal(0);
97
+ });
98
+
99
+ it('does nothing in a chat view without content to search', async () => {
100
+ contribution.chatViewWidget = createChatViewWidget(false);
101
+ await pressFind(commandId);
102
+ expect(showFindCalls).to.equal(0);
103
+ expect(monacoFindCalls).to.equal(0);
104
+ });
105
+
106
+ it("leaves Monaco's find alone outside of the chat", async () => {
107
+ await pressFind(commandId);
108
+ expect(monacoFindCalls).to.equal(1);
109
+ expect(showFindCalls).to.equal(0);
110
+ });
111
+ });
112
+ }
113
+ });
@@ -15,8 +15,9 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { Command, CommandContribution, CommandRegistry } from '@theia/core';
18
- import { ApplicationShell, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
18
+ import { ApplicationShell, CommonCommands, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
19
19
  import { inject, injectable } from '@theia/core/shared/inversify';
20
+ import { ChatInputFocusService } from '../chat-input-focus-service';
20
21
  import { ChatCommands } from '../chat-view-commands';
21
22
  import { ChatViewWidget } from '../chat-view-widget';
22
23
 
@@ -32,11 +33,18 @@ export const CHAT_FIND_HIDE_COMMAND = Command.toLocalizedCommand({
32
33
  label: 'Hide Find in Chat'
33
34
  }, 'theia/ai/chat-ui/findHide', ChatCommands.CHAT_CATEGORY_KEY);
34
35
 
36
+ /** Monaco's find action, bound to Ctrl+F while any editor is open and run on the focused or last active editor. */
37
+ const MONACO_FIND_ACTION_ID = 'actions.find';
38
+
35
39
  /**
36
- * Ctrl+F in the chat response tree opens the find bar over it; in the chat input, Ctrl+F keeps its default
37
- * behavior. The binding is only enabled while the session has content to search. It takes precedence over core's
38
- * `CommonCommands.FIND` and Monaco's `actions.find` because it is registered later within the default scope,
39
- * the same mechanism `ChatInputPasteContribution` relies on for Ctrl+V.
40
+ * Ctrl+F in the chat view opens the find bar over the response tree (or refocuses it) while the session has content
41
+ * to search; in a chat input it does nothing.
42
+ *
43
+ * Besides its own binding, the contribution registers handlers for core's `CommonCommands.FIND` and Monaco's
44
+ * `actions.find` that are enabled while the focus is in a chat view or a chat input, so that Ctrl+F never falls
45
+ * through to Monaco's find there: that would open the find widget inside the chat input or in the editor of the main
46
+ * area. Handlers are used rather than keybindings because the latter lose to Monaco's binding in the chat input
47
+ * (`KeybindingRegistry.selectBindingByLocalContext`), whereas the most recently registered enabled handler runs.
40
48
  */
41
49
  @injectable()
42
50
  export class ChatFindContribution implements CommandContribution, KeybindingContribution {
@@ -44,6 +52,9 @@ export class ChatFindContribution implements CommandContribution, KeybindingCont
44
52
  @inject(ApplicationShell)
45
53
  protected readonly shell: ApplicationShell;
46
54
 
55
+ @inject(ChatInputFocusService)
56
+ protected readonly chatInputFocusService: ChatInputFocusService;
57
+
47
58
  registerCommands(commands: CommandRegistry): void {
48
59
  commands.registerCommand(CHAT_FIND_COMMAND, {
49
60
  isEnabled: () => this.findActiveChatViewWidget()?.treeWidget.canFind === true,
@@ -53,13 +64,20 @@ export class ChatFindContribution implements CommandContribution, KeybindingCont
53
64
  isEnabled: () => this.findActiveChatViewWidget()?.treeWidget.isFindVisible === true,
54
65
  execute: () => this.findActiveChatViewWidget()?.treeWidget.hideFind()
55
66
  });
67
+ const findHandler = {
68
+ isEnabled: () => this.isChatInputFocused() || this.findActiveChatViewWidget() !== undefined,
69
+ execute: () => this.find()
70
+ };
71
+ commands.registerHandler(CommonCommands.FIND.id, findHandler);
72
+ commands.registerHandler(MONACO_FIND_ACTION_ID, findHandler);
56
73
  }
57
74
 
58
75
  registerKeybindings(keybindings: KeybindingRegistry): void {
59
76
  keybindings.registerKeybinding({
60
77
  command: CHAT_FIND_COMMAND.id,
61
78
  keybinding: 'ctrlcmd+f',
62
- when: 'chatResponseFocus'
79
+ // A request's edit box is a chat input inside the response tree.
80
+ when: 'chatResponseFocus && !chatInputFocus'
63
81
  });
64
82
  keybindings.registerKeybinding({
65
83
  command: CHAT_FIND_HIDE_COMMAND.id,
@@ -68,6 +86,21 @@ export class ChatFindContribution implements CommandContribution, KeybindingCont
68
86
  });
69
87
  }
70
88
 
89
+ /** Opens or refocuses the find bar of the focused chat view; does nothing in a chat input or without content to search. */
90
+ protected find(): void {
91
+ if (this.isChatInputFocused()) {
92
+ return;
93
+ }
94
+ const treeWidget = this.findActiveChatViewWidget()?.treeWidget;
95
+ if (treeWidget?.canFind) {
96
+ treeWidget.showFind();
97
+ }
98
+ }
99
+
100
+ protected isChatInputFocused(): boolean {
101
+ return this.chatInputFocusService.getFocused() !== undefined;
102
+ }
103
+
71
104
  protected findActiveChatViewWidget(): ChatViewWidget | undefined {
72
105
  return ChatViewWidget.findActive(this.shell);
73
106
  }