@theia/ai-terminal 1.63.0-next.52 → 1.63.0

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,5 +1,5 @@
1
1
  import { CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry } from '@theia/core';
2
- import { KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
2
+ import { ApplicationShell, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
3
3
  import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service';
4
4
  import { AiTerminalAgent } from './ai-terminal-agent';
5
5
  import { AICommandHandlerFactory } from '@theia/ai-core/lib/browser/ai-command-handler-factory';
@@ -8,6 +8,7 @@ export declare class AiTerminalCommandContribution implements CommandContributio
8
8
  protected terminalAgent: AiTerminalAgent;
9
9
  protected commandHandlerFactory: AICommandHandlerFactory;
10
10
  private readonly agentService;
11
+ protected readonly shell: ApplicationShell;
11
12
  registerKeybindings(keybindings: KeybindingRegistry): void;
12
13
  registerMenus(menus: MenuModelRegistry): void;
13
14
  registerCommands(commands: CommandRegistry): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-terminal-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-terminal-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAW,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAShG,qBACa,6BAA8B,YAAW,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB;IAG/G,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAG3C,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC;IAGzC,SAAS,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAO1D,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAM7C,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAYpD"}
1
+ {"version":3,"file":"ai-terminal-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-terminal-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAW,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAW,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEhH,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAUhG,qBACa,6BAA8B,YAAW,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB;IAG/G,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAG3C,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC;IAGzC,SAAS,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAG5C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAO1D,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAO7C,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAkBpD"}
@@ -19,6 +19,7 @@ exports.AiTerminalCommandContribution = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const browser_1 = require("@theia/ai-core/lib/browser");
21
21
  const core_1 = require("@theia/core");
22
+ const browser_2 = require("@theia/core/lib/browser");
22
23
  const inversify_1 = require("@theia/core/shared/inversify");
23
24
  const terminal_service_1 = require("@theia/terminal/lib/browser/base/terminal-service");
24
25
  const terminal_frontend_contribution_1 = require("@theia/terminal/lib/browser/terminal-frontend-contribution");
@@ -29,7 +30,8 @@ const ai_core_1 = require("@theia/ai-core");
29
30
  const nls_1 = require("@theia/core/lib/common/nls");
30
31
  const AI_TERMINAL_COMMAND = core_1.Command.toLocalizedCommand({
31
32
  id: 'ai-terminal:open',
32
- label: 'Ask the AI'
33
+ label: 'Ask AI',
34
+ iconClass: (0, browser_2.codicon)('sparkle')
33
35
  }, 'theia/ai/terminal/askAi');
34
36
  let AiTerminalCommandContribution = class AiTerminalCommandContribution {
35
37
  registerKeybindings(keybindings) {
@@ -42,16 +44,23 @@ let AiTerminalCommandContribution = class AiTerminalCommandContribution {
42
44
  registerMenus(menus) {
43
45
  menus.registerMenuAction([...terminal_frontend_contribution_1.TerminalMenus.TERMINAL_CONTEXT_MENU, '_5'], {
44
46
  when: browser_1.ENABLE_AI_CONTEXT_KEY,
45
- commandId: AI_TERMINAL_COMMAND.id
47
+ commandId: AI_TERMINAL_COMMAND.id,
48
+ icon: AI_TERMINAL_COMMAND.iconClass
46
49
  });
47
50
  }
48
51
  registerCommands(commands) {
49
52
  commands.registerCommand(AI_TERMINAL_COMMAND, this.commandHandlerFactory({
50
53
  execute: () => {
51
- if (this.terminalService.currentTerminal instanceof terminal_widget_impl_1.TerminalWidgetImpl && this.agentService.isEnabled(this.terminalAgent.id)) {
52
- new AiTerminalChatWidget(this.terminalService.currentTerminal, this.terminalAgent);
54
+ const currentTerminal = this.terminalService.currentTerminal;
55
+ if (currentTerminal instanceof terminal_widget_impl_1.TerminalWidgetImpl && currentTerminal.kind === 'user') {
56
+ new AiTerminalChatWidget(currentTerminal, this.terminalAgent);
53
57
  }
54
- }
58
+ },
59
+ isEnabled: () =>
60
+ // Ensure it is only enabled for terminals explicitly launched by the user, not to terminals created e.g. for running tasks
61
+ this.agentService.isEnabled(this.terminalAgent.id)
62
+ && this.shell.currentWidget instanceof terminal_widget_impl_1.TerminalWidgetImpl
63
+ && this.shell.currentWidget.kind === 'user'
55
64
  }));
56
65
  }
57
66
  };
@@ -72,6 +81,10 @@ tslib_1.__decorate([
72
81
  (0, inversify_1.inject)(ai_core_1.AgentService),
73
82
  tslib_1.__metadata("design:type", Object)
74
83
  ], AiTerminalCommandContribution.prototype, "agentService", void 0);
84
+ tslib_1.__decorate([
85
+ (0, inversify_1.inject)(browser_2.ApplicationShell),
86
+ tslib_1.__metadata("design:type", browser_2.ApplicationShell)
87
+ ], AiTerminalCommandContribution.prototype, "shell", void 0);
75
88
  exports.AiTerminalCommandContribution = AiTerminalCommandContribution = tslib_1.__decorate([
76
89
  (0, inversify_1.injectable)()
77
90
  ], AiTerminalCommandContribution);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-terminal-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-terminal-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-terminal-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-terminal-contribution.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@theia/ai-terminal",
3
- "version": "1.63.0-next.52+176018e53",
3
+ "version": "1.63.0",
4
4
  "description": "Theia - AI Terminal Extension",
5
5
  "dependencies": {
6
- "@theia/ai-chat": "1.63.0-next.52+176018e53",
7
- "@theia/ai-core": "1.63.0-next.52+176018e53",
8
- "@theia/core": "1.63.0-next.52+176018e53",
9
- "@theia/terminal": "1.63.0-next.52+176018e53",
6
+ "@theia/ai-chat": "1.63.0",
7
+ "@theia/ai-core": "1.63.0",
8
+ "@theia/core": "1.63.0",
9
+ "@theia/terminal": "1.63.0",
10
10
  "zod": "^3.23.8",
11
11
  "zod-to-json-schema": "^3.23.2"
12
12
  },
@@ -43,10 +43,10 @@
43
43
  "watch": "theiaext watch"
44
44
  },
45
45
  "devDependencies": {
46
- "@theia/ext-scripts": "1.62.0"
46
+ "@theia/ext-scripts": "1.63.0"
47
47
  },
48
48
  "nyc": {
49
49
  "extends": "../../configs/nyc.json"
50
50
  },
51
- "gitHead": "176018e53e62cafec9b25b23ac9f0b4826b6d0f7"
51
+ "gitHead": "facf442522991134333495a0b90cf56a56990280"
52
52
  }
@@ -16,7 +16,7 @@
16
16
 
17
17
  import { ENABLE_AI_CONTEXT_KEY } from '@theia/ai-core/lib/browser';
18
18
  import { Command, CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry } from '@theia/core';
19
- import { KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
19
+ import { ApplicationShell, codicon, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
20
20
  import { inject, injectable } from '@theia/core/shared/inversify';
21
21
  import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service';
22
22
  import { TerminalMenus } from '@theia/terminal/lib/browser/terminal-frontend-contribution';
@@ -28,7 +28,8 @@ import { nls } from '@theia/core/lib/common/nls';
28
28
 
29
29
  const AI_TERMINAL_COMMAND = Command.toLocalizedCommand({
30
30
  id: 'ai-terminal:open',
31
- label: 'Ask the AI'
31
+ label: 'Ask AI',
32
+ iconClass: codicon('sparkle')
32
33
  }, 'theia/ai/terminal/askAi');
33
34
 
34
35
  @injectable()
@@ -46,6 +47,9 @@ export class AiTerminalCommandContribution implements CommandContribution, MenuC
46
47
  @inject(AgentService)
47
48
  private readonly agentService: AgentService;
48
49
 
50
+ @inject(ApplicationShell)
51
+ protected readonly shell: ApplicationShell;
52
+
49
53
  registerKeybindings(keybindings: KeybindingRegistry): void {
50
54
  keybindings.registerKeybinding({
51
55
  command: AI_TERMINAL_COMMAND.id,
@@ -56,19 +60,26 @@ export class AiTerminalCommandContribution implements CommandContribution, MenuC
56
60
  registerMenus(menus: MenuModelRegistry): void {
57
61
  menus.registerMenuAction([...TerminalMenus.TERMINAL_CONTEXT_MENU, '_5'], {
58
62
  when: ENABLE_AI_CONTEXT_KEY,
59
- commandId: AI_TERMINAL_COMMAND.id
63
+ commandId: AI_TERMINAL_COMMAND.id,
64
+ icon: AI_TERMINAL_COMMAND.iconClass
60
65
  });
61
66
  }
62
67
  registerCommands(commands: CommandRegistry): void {
63
68
  commands.registerCommand(AI_TERMINAL_COMMAND, this.commandHandlerFactory({
64
69
  execute: () => {
65
- if (this.terminalService.currentTerminal instanceof TerminalWidgetImpl && this.agentService.isEnabled(this.terminalAgent.id)) {
70
+ const currentTerminal = this.terminalService.currentTerminal;
71
+ if (currentTerminal instanceof TerminalWidgetImpl && currentTerminal.kind === 'user') {
66
72
  new AiTerminalChatWidget(
67
- this.terminalService.currentTerminal,
73
+ currentTerminal,
68
74
  this.terminalAgent
69
75
  );
70
76
  }
71
- }
77
+ },
78
+ isEnabled: () =>
79
+ // Ensure it is only enabled for terminals explicitly launched by the user, not to terminals created e.g. for running tasks
80
+ this.agentService.isEnabled(this.terminalAgent.id)
81
+ && this.shell.currentWidget instanceof TerminalWidgetImpl
82
+ && (this.shell.currentWidget as TerminalWidgetImpl).kind === 'user'
72
83
  }));
73
84
  }
74
85
  }