@theia/ai-core 1.63.0-next.24 → 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.
- package/lib/browser/agent-completion-notification-service.d.ts +69 -0
- package/lib/browser/agent-completion-notification-service.d.ts.map +1 -0
- package/lib/browser/agent-completion-notification-service.js +187 -0
- package/lib/browser/agent-completion-notification-service.js.map +1 -0
- package/lib/browser/agent-preferences.d.ts.map +1 -1
- package/lib/browser/agent-preferences.js +11 -0
- package/lib/browser/agent-preferences.js.map +1 -1
- package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-core-frontend-module.js +9 -1
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/ai-core-preferences.d.ts +5 -0
- package/lib/browser/ai-core-preferences.d.ts.map +1 -1
- package/lib/browser/ai-core-preferences.js +22 -1
- package/lib/browser/ai-core-preferences.js.map +1 -1
- package/lib/browser/frontend-language-model-registry.d.ts +5 -5
- package/lib/browser/frontend-language-model-registry.d.ts.map +1 -1
- package/lib/browser/frontend-language-model-registry.js +12 -5
- package/lib/browser/frontend-language-model-registry.js.map +1 -1
- package/lib/browser/frontend-language-model-registry.spec.d.ts +2 -0
- package/lib/browser/frontend-language-model-registry.spec.d.ts.map +1 -0
- package/lib/browser/frontend-language-model-registry.spec.js +248 -0
- package/lib/browser/frontend-language-model-registry.spec.js.map +1 -0
- package/lib/browser/frontend-variable-service.d.ts +12 -0
- package/lib/browser/frontend-variable-service.d.ts.map +1 -1
- package/lib/browser/frontend-variable-service.js +23 -0
- package/lib/browser/frontend-variable-service.js.map +1 -1
- package/lib/browser/index.d.ts +5 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +5 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/open-editors-variable-contribution.d.ts +17 -0
- package/lib/browser/open-editors-variable-contribution.d.ts.map +1 -0
- package/lib/browser/open-editors-variable-contribution.js +84 -0
- package/lib/browser/open-editors-variable-contribution.js.map +1 -0
- package/lib/browser/os-notification-service.d.ts +96 -0
- package/lib/browser/os-notification-service.d.ts.map +1 -0
- package/lib/browser/os-notification-service.js +222 -0
- package/lib/browser/os-notification-service.js.map +1 -0
- package/lib/browser/window-blink-service.d.ts +41 -0
- package/lib/browser/window-blink-service.d.ts.map +1 -0
- package/lib/browser/window-blink-service.js +174 -0
- package/lib/browser/window-blink-service.js.map +1 -0
- package/lib/common/configurable-in-memory-resources.d.ts +2 -0
- package/lib/common/configurable-in-memory-resources.d.ts.map +1 -1
- package/lib/common/configurable-in-memory-resources.js +7 -0
- package/lib/common/configurable-in-memory-resources.js.map +1 -1
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/language-model-delegate.d.ts +2 -2
- package/lib/common/language-model-delegate.d.ts.map +1 -1
- package/lib/common/language-model-delegate.js.map +1 -1
- package/lib/common/language-model.d.ts +44 -4
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +16 -1
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/notification-types.d.ts +7 -0
- package/lib/common/notification-types.d.ts.map +1 -0
- package/lib/common/notification-types.js +29 -0
- package/lib/common/notification-types.js.map +1 -0
- package/lib/common/prompt-service.d.ts +14 -4
- package/lib/common/prompt-service.d.ts.map +1 -1
- package/lib/common/prompt-service.js +78 -9
- package/lib/common/prompt-service.js.map +1 -1
- package/lib/common/prompt-service.spec.js +3 -0
- package/lib/common/prompt-service.spec.js.map +1 -1
- package/lib/common/settings-service.d.ts +6 -0
- package/lib/common/settings-service.d.ts.map +1 -1
- package/lib/common/settings-service.js.map +1 -1
- package/lib/common/variable-service.d.ts +2 -0
- package/lib/common/variable-service.d.ts.map +1 -1
- package/lib/common/variable-service.js +10 -2
- package/lib/common/variable-service.js.map +1 -1
- package/package.json +10 -10
- package/src/browser/agent-completion-notification-service.ts +242 -0
- package/src/browser/agent-preferences.ts +14 -0
- package/src/browser/ai-core-frontend-module.ts +10 -0
- package/src/browser/ai-core-preferences.ts +30 -0
- package/src/browser/frontend-language-model-registry.spec.ts +298 -0
- package/src/browser/frontend-language-model-registry.ts +14 -8
- package/src/browser/frontend-variable-service.ts +36 -0
- package/src/browser/index.ts +5 -0
- package/src/browser/open-editors-variable-contribution.ts +88 -0
- package/src/browser/os-notification-service.ts +271 -0
- package/src/browser/window-blink-service.ts +195 -0
- package/src/common/configurable-in-memory-resources.ts +8 -0
- package/src/common/index.ts +1 -0
- package/src/common/language-model-delegate.ts +5 -2
- package/src/common/language-model.ts +32 -4
- package/src/common/notification-types.ts +31 -0
- package/src/common/prompt-service.spec.ts +4 -1
- package/src/common/prompt-service.ts +101 -12
- package/src/common/settings-service.ts +6 -0
- package/src/common/variable-service.ts +11 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { PreferenceService } from '@theia/core/lib/browser/preferences';
|
|
2
|
+
import { MessageService } from '@theia/core/lib/common/message-service';
|
|
3
|
+
import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell';
|
|
4
|
+
import { AgentService } from '../common/agent-service';
|
|
5
|
+
import { AISettingsService } from '../common/settings-service';
|
|
6
|
+
import { OSNotificationService } from './os-notification-service';
|
|
7
|
+
import { WindowBlinkService } from './window-blink-service';
|
|
8
|
+
import { NotificationType } from '../common/notification-types';
|
|
9
|
+
export declare class AgentCompletionNotificationService {
|
|
10
|
+
protected readonly preferenceService: PreferenceService;
|
|
11
|
+
protected readonly agentService: AgentService;
|
|
12
|
+
protected readonly settingsService: AISettingsService;
|
|
13
|
+
protected readonly osNotificationService: OSNotificationService;
|
|
14
|
+
protected readonly messageService: MessageService;
|
|
15
|
+
protected readonly windowBlinkService: WindowBlinkService;
|
|
16
|
+
protected readonly shell: ApplicationShell;
|
|
17
|
+
/**
|
|
18
|
+
* Show a completion notification for the specified agent if enabled in preferences.
|
|
19
|
+
*
|
|
20
|
+
* @param agentId The unique identifier of the agent
|
|
21
|
+
* @param taskDescription Optional description of the completed task
|
|
22
|
+
*/
|
|
23
|
+
showCompletionNotification(agentId: string, taskDescription?: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the display name for an agent by its ID.
|
|
26
|
+
*
|
|
27
|
+
* @param agentId The unique identifier of the agent
|
|
28
|
+
* @returns The agent's display name or the agent ID if not found
|
|
29
|
+
*/
|
|
30
|
+
protected resolveAgentName(agentId: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Get the preferred notification type for a specific agent.
|
|
33
|
+
* If no agent-specific preference is set, returns the global default notification type.
|
|
34
|
+
*/
|
|
35
|
+
protected getNotificationTypeForAgent(agentId: string): Promise<NotificationType>;
|
|
36
|
+
/**
|
|
37
|
+
* Execute the specified notification type.
|
|
38
|
+
*/
|
|
39
|
+
private executeNotificationType;
|
|
40
|
+
/**
|
|
41
|
+
* Show OS notification directly.
|
|
42
|
+
*/
|
|
43
|
+
protected showOSNotification(agentName: string, taskDescription?: string): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Show MessageService notification.
|
|
46
|
+
*/
|
|
47
|
+
protected showMessageServiceNotification(agentName: string, taskDescription?: string): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Show window blink notification.
|
|
50
|
+
*/
|
|
51
|
+
protected showBlinkNotification(agentName: string): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Check if OS notifications are supported and enabled.
|
|
54
|
+
*/
|
|
55
|
+
isOSNotificationSupported(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get the current OS notification permission status.
|
|
58
|
+
*/
|
|
59
|
+
getOSNotificationPermission(): NotificationPermission;
|
|
60
|
+
/**
|
|
61
|
+
* Request OS notification permission from the user.
|
|
62
|
+
*/
|
|
63
|
+
requestOSNotificationPermission(): Promise<NotificationPermission>;
|
|
64
|
+
/**
|
|
65
|
+
* Check if any chat widget currently has focus.
|
|
66
|
+
*/
|
|
67
|
+
protected isChatWidgetFocused(): boolean;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=agent-completion-notification-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-completion-notification-service.d.ts","sourceRoot":"","sources":["../../src/browser/agent-completion-notification-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACH,gBAAgB,EAKnB,MAAM,8BAA8B,CAAC;AAEtC,qBACa,kCAAkC;IAE3C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAG9C,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGhE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAE3C;;;;;OAKG;IACG,0BAA0B,CAC5B,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAcnD;;;OAGG;cACa,2BAA2B,CACvC,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC;IAgB5B;;OAEG;YACW,uBAAuB;IAuBrC;;OAEG;cACa,kBAAkB,CAC9B,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;IAWhB;;OAEG;cACa,8BAA8B,CAC1C,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC;IAgBhB;;OAEG;cACa,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvE;;OAEG;IACH,yBAAyB,IAAI,OAAO;IAIpC;;OAEG;IACH,2BAA2B,IAAI,sBAAsB;IAIrD;;OAEG;IACG,+BAA+B,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAIxE;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,OAAO;CAO3C"}
|
|
@@ -0,0 +1,187 @@
|
|
|
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.AgentCompletionNotificationService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const preferences_1 = require("@theia/core/lib/browser/preferences");
|
|
22
|
+
const message_service_1 = require("@theia/core/lib/common/message-service");
|
|
23
|
+
const application_shell_1 = require("@theia/core/lib/browser/shell/application-shell");
|
|
24
|
+
const nls_1 = require("@theia/core/lib/common/nls");
|
|
25
|
+
const ai_core_preferences_1 = require("./ai-core-preferences");
|
|
26
|
+
const agent_service_1 = require("../common/agent-service");
|
|
27
|
+
const settings_service_1 = require("../common/settings-service");
|
|
28
|
+
const os_notification_service_1 = require("./os-notification-service");
|
|
29
|
+
const window_blink_service_1 = require("./window-blink-service");
|
|
30
|
+
const notification_types_1 = require("../common/notification-types");
|
|
31
|
+
let AgentCompletionNotificationService = class AgentCompletionNotificationService {
|
|
32
|
+
/**
|
|
33
|
+
* Show a completion notification for the specified agent if enabled in preferences.
|
|
34
|
+
*
|
|
35
|
+
* @param agentId The unique identifier of the agent
|
|
36
|
+
* @param taskDescription Optional description of the completed task
|
|
37
|
+
*/
|
|
38
|
+
async showCompletionNotification(agentId, taskDescription) {
|
|
39
|
+
const notificationType = await this.getNotificationTypeForAgent(agentId);
|
|
40
|
+
if (notificationType === notification_types_1.NOTIFICATION_TYPE_OFF || this.isChatWidgetFocused()) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const agentName = this.resolveAgentName(agentId);
|
|
45
|
+
await this.executeNotificationType(agentName, taskDescription, notificationType);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('Failed to show agent completion notification:', error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Resolve the display name for an agent by its ID.
|
|
53
|
+
*
|
|
54
|
+
* @param agentId The unique identifier of the agent
|
|
55
|
+
* @returns The agent's display name or the agent ID if not found
|
|
56
|
+
*/
|
|
57
|
+
resolveAgentName(agentId) {
|
|
58
|
+
try {
|
|
59
|
+
const agents = this.agentService.getAllAgents();
|
|
60
|
+
const agent = agents.find(a => a.id === agentId);
|
|
61
|
+
return (agent === null || agent === void 0 ? void 0 : agent.name) || agentId;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.warn(`Failed to resolve agent name for ID '${agentId}':`, error);
|
|
65
|
+
return agentId;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get the preferred notification type for a specific agent.
|
|
70
|
+
* If no agent-specific preference is set, returns the global default notification type.
|
|
71
|
+
*/
|
|
72
|
+
async getNotificationTypeForAgent(agentId) {
|
|
73
|
+
const agentSettings = await this.settingsService.getAgentSettings(agentId);
|
|
74
|
+
const agentNotificationType = agentSettings === null || agentSettings === void 0 ? void 0 : agentSettings.completionNotification;
|
|
75
|
+
// If agent has no specific setting, use the global default
|
|
76
|
+
if (!agentNotificationType) {
|
|
77
|
+
return this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_DEFAULT_NOTIFICATION_TYPE, notification_types_1.NOTIFICATION_TYPE_OFF);
|
|
78
|
+
}
|
|
79
|
+
return agentNotificationType;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Execute the specified notification type.
|
|
83
|
+
*/
|
|
84
|
+
async executeNotificationType(agentName, taskDescription, type) {
|
|
85
|
+
switch (type) {
|
|
86
|
+
case notification_types_1.NOTIFICATION_TYPE_OS_NOTIFICATION:
|
|
87
|
+
await this.showOSNotification(agentName, taskDescription);
|
|
88
|
+
break;
|
|
89
|
+
case notification_types_1.NOTIFICATION_TYPE_MESSAGE:
|
|
90
|
+
await this.showMessageServiceNotification(agentName, taskDescription);
|
|
91
|
+
break;
|
|
92
|
+
case notification_types_1.NOTIFICATION_TYPE_BLINK:
|
|
93
|
+
await this.showBlinkNotification(agentName);
|
|
94
|
+
break;
|
|
95
|
+
default:
|
|
96
|
+
throw new Error(`Unknown notification type: ${type}`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Show OS notification directly.
|
|
101
|
+
*/
|
|
102
|
+
async showOSNotification(agentName, taskDescription) {
|
|
103
|
+
const result = await this.osNotificationService.showAgentCompletionNotification(agentName, taskDescription);
|
|
104
|
+
if (!result.success) {
|
|
105
|
+
throw new Error(`OS notification failed: ${result.error}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Show MessageService notification.
|
|
110
|
+
*/
|
|
111
|
+
async showMessageServiceNotification(agentName, taskDescription) {
|
|
112
|
+
const message = taskDescription
|
|
113
|
+
? nls_1.nls.localize('theia/ai-core/agentCompletionWithTask', 'Agent "{0}" has completed the task: {1}', agentName, taskDescription)
|
|
114
|
+
: nls_1.nls.localize('theia/ai-core/agentCompletionMessage', 'Agent "{0}" has completed its task.', agentName);
|
|
115
|
+
this.messageService.info(message);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Show window blink notification.
|
|
119
|
+
*/
|
|
120
|
+
async showBlinkNotification(agentName) {
|
|
121
|
+
const result = await this.windowBlinkService.blinkWindow(agentName);
|
|
122
|
+
if (!result.success) {
|
|
123
|
+
throw new Error(`Window blink notification failed: ${result.error}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Check if OS notifications are supported and enabled.
|
|
128
|
+
*/
|
|
129
|
+
isOSNotificationSupported() {
|
|
130
|
+
return this.osNotificationService.isNotificationSupported();
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get the current OS notification permission status.
|
|
134
|
+
*/
|
|
135
|
+
getOSNotificationPermission() {
|
|
136
|
+
return this.osNotificationService.getPermissionStatus();
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Request OS notification permission from the user.
|
|
140
|
+
*/
|
|
141
|
+
async requestOSNotificationPermission() {
|
|
142
|
+
return this.osNotificationService.requestPermission();
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Check if any chat widget currently has focus.
|
|
146
|
+
*/
|
|
147
|
+
isChatWidgetFocused() {
|
|
148
|
+
const activeWidget = this.shell.activeWidget;
|
|
149
|
+
if (!activeWidget) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
return activeWidget.id === 'chat-view-widget';
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
exports.AgentCompletionNotificationService = AgentCompletionNotificationService;
|
|
156
|
+
tslib_1.__decorate([
|
|
157
|
+
(0, inversify_1.inject)(preferences_1.PreferenceService),
|
|
158
|
+
tslib_1.__metadata("design:type", Object)
|
|
159
|
+
], AgentCompletionNotificationService.prototype, "preferenceService", void 0);
|
|
160
|
+
tslib_1.__decorate([
|
|
161
|
+
(0, inversify_1.inject)(agent_service_1.AgentService),
|
|
162
|
+
tslib_1.__metadata("design:type", Object)
|
|
163
|
+
], AgentCompletionNotificationService.prototype, "agentService", void 0);
|
|
164
|
+
tslib_1.__decorate([
|
|
165
|
+
(0, inversify_1.inject)(settings_service_1.AISettingsService),
|
|
166
|
+
tslib_1.__metadata("design:type", Object)
|
|
167
|
+
], AgentCompletionNotificationService.prototype, "settingsService", void 0);
|
|
168
|
+
tslib_1.__decorate([
|
|
169
|
+
(0, inversify_1.inject)(os_notification_service_1.OSNotificationService),
|
|
170
|
+
tslib_1.__metadata("design:type", os_notification_service_1.OSNotificationService)
|
|
171
|
+
], AgentCompletionNotificationService.prototype, "osNotificationService", void 0);
|
|
172
|
+
tslib_1.__decorate([
|
|
173
|
+
(0, inversify_1.inject)(message_service_1.MessageService),
|
|
174
|
+
tslib_1.__metadata("design:type", message_service_1.MessageService)
|
|
175
|
+
], AgentCompletionNotificationService.prototype, "messageService", void 0);
|
|
176
|
+
tslib_1.__decorate([
|
|
177
|
+
(0, inversify_1.inject)(window_blink_service_1.WindowBlinkService),
|
|
178
|
+
tslib_1.__metadata("design:type", window_blink_service_1.WindowBlinkService)
|
|
179
|
+
], AgentCompletionNotificationService.prototype, "windowBlinkService", void 0);
|
|
180
|
+
tslib_1.__decorate([
|
|
181
|
+
(0, inversify_1.inject)(application_shell_1.ApplicationShell),
|
|
182
|
+
tslib_1.__metadata("design:type", application_shell_1.ApplicationShell)
|
|
183
|
+
], AgentCompletionNotificationService.prototype, "shell", void 0);
|
|
184
|
+
exports.AgentCompletionNotificationService = AgentCompletionNotificationService = tslib_1.__decorate([
|
|
185
|
+
(0, inversify_1.injectable)()
|
|
186
|
+
], AgentCompletionNotificationService);
|
|
187
|
+
//# sourceMappingURL=agent-completion-notification-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-completion-notification-service.js","sourceRoot":"","sources":["../../src/browser/agent-completion-notification-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/agent-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/agent-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAK/F,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAE/D,eAAO,MAAM,6BAA6B,EAAE,gBA+D3C,CAAC"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.AgentSettingsPreferenceSchema = exports.AGENT_SETTINGS_PREF = void 0;
|
|
19
19
|
const core_1 = require("@theia/core");
|
|
20
|
+
const notification_types_1 = require("../common/notification-types");
|
|
20
21
|
exports.AGENT_SETTINGS_PREF = 'ai-features.agentSettings';
|
|
21
22
|
exports.AgentSettingsPreferenceSchema = {
|
|
22
23
|
type: 'object',
|
|
@@ -64,6 +65,16 @@ exports.AgentSettingsPreferenceSchema = {
|
|
|
64
65
|
additionalProperties: {
|
|
65
66
|
type: 'string'
|
|
66
67
|
}
|
|
68
|
+
},
|
|
69
|
+
completionNotification: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
enum: [...notification_types_1.NOTIFICATION_TYPES],
|
|
72
|
+
title: core_1.nls.localize('theia/ai/agents/completionNotification/title', 'Completion Notification'),
|
|
73
|
+
markdownDescription: core_1.nls.localize('theia/ai/agents/completionNotification/mdDescription', 'Notification behavior when this agent completes a task. If not set, the global default notification setting will be used.\n\
|
|
74
|
+
- `os-notification`: Show OS/system notifications\n\
|
|
75
|
+
- `message`: Show notifications in the status bar/message area\n\
|
|
76
|
+
- `blink`: Blink or highlight the UI\n\
|
|
77
|
+
- `off`: Disable notifications for this agent')
|
|
67
78
|
}
|
|
68
79
|
},
|
|
69
80
|
required: ['languageModelRequirements']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-preferences.js","sourceRoot":"","sources":["../../src/browser/agent-preferences.ts"],"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,sCAAkC;
|
|
1
|
+
{"version":3,"file":"agent-preferences.js","sourceRoot":"","sources":["../../src/browser/agent-preferences.ts"],"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,sCAAkC;AAElC,qEAEsC;AAEzB,QAAA,mBAAmB,GAAG,2BAA2B,CAAC;AAElD,QAAA,6BAA6B,GAAqB;IAC7D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,CAAC,2BAAmB,CAAC,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;YAC9D,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE;wBACjD,CAAC;YACnB,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,8BAA8B,EAAE,cAAc,CAAC;wBACnE,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,2EAA2E,CAAC;wBACtJ,OAAO,EAAE,IAAI;qBACd;oBACD,yBAAyB,EAAE;wBACzB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,iDAAiD,EAAE,6BAA6B,CAAC;wBACrG,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,yDAAyD,EAAE,oDAAoD,CAAC;wBAClJ,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,OAAO,EAAE;oCACP,IAAI,EAAE,QAAQ;oCACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,yDAAyD,EAAE,SAAS,CAAC;oCACzF,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,iEAAiE,EAAE,oDAAoD,CAAC;iCAC3J;gCACD,UAAU,EAAE;oCACV,IAAI,EAAE,QAAQ;oCACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4DAA4D,EAAE,YAAY,CAAC;oCAC/F,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,oEAAoE,EAAE,kDAAkD,CAAC;iCAC5J;6BACF;4BACD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;yBACpC;qBACF;oBACD,gBAAgB,EAAE;wBAChB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EAAE,mBAAmB,CAAC;wBAClF,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,kEAAkE,CAAC;wBACvJ,oBAAoB,EAAE;4BACpB,IAAI,EAAE,QAAQ;yBACf;qBACF;oBACD,sBAAsB,EAAE;wBACtB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,GAAG,uCAAkB,CAAC;wBAC7B,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAAE,yBAAyB,CAAC;wBAC9F,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,sDAAsD,EACtF;;;;8DAIgD,CAAC;qBACpD;iBACF;gBACD,QAAQ,EAAE,CAAC,2BAA2B,CAAC;aACxC;SACF;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-core-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA0D/D,wBAkGG"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
2
|
// *****************************************************************************
|
|
4
3
|
// Copyright (C) 2024 EclipseSource GmbH.
|
|
5
4
|
//
|
|
@@ -15,6 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
14
|
//
|
|
16
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
17
16
|
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const core_1 = require("@theia/core");
|
|
19
19
|
const service_connection_provider_1 = require("@theia/core/lib/browser/messaging/service-connection-provider");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
@@ -34,6 +34,7 @@ const file_variable_contribution_1 = require("./file-variable-contribution");
|
|
|
34
34
|
const theia_variable_contribution_1 = require("./theia-variable-contribution");
|
|
35
35
|
const today_variable_contribution_1 = require("../common/today-variable-contribution");
|
|
36
36
|
const agents_variable_contribution_1 = require("../common/agents-variable-contribution");
|
|
37
|
+
const open_editors_variable_contribution_1 = require("./open-editors-variable-contribution");
|
|
37
38
|
const ai_activation_service_1 = require("./ai-activation-service");
|
|
38
39
|
const agent_service_1 = require("../common/agent-service");
|
|
39
40
|
const ai_command_handler_factory_1 = require("./ai-command-handler-factory");
|
|
@@ -45,6 +46,9 @@ const frontend_language_model_service_1 = require("./frontend-language-model-ser
|
|
|
45
46
|
const token_usage_frontend_service_1 = require("./token-usage-frontend-service");
|
|
46
47
|
const token_usage_frontend_service_impl_1 = require("./token-usage-frontend-service-impl");
|
|
47
48
|
const ai_variable_uri_label_provider_1 = require("./ai-variable-uri-label-provider");
|
|
49
|
+
const agent_completion_notification_service_1 = require("./agent-completion-notification-service");
|
|
50
|
+
const os_notification_service_1 = require("./os-notification-service");
|
|
51
|
+
const window_blink_service_1 = require("./window-blink-service");
|
|
48
52
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
49
53
|
(0, core_1.bindContributionProvider)(bind, common_1.LanguageModelProvider);
|
|
50
54
|
bind(frontend_language_model_registry_1.FrontendLanguageModelRegistryImpl).toSelf().inSingletonScope();
|
|
@@ -86,6 +90,7 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
86
90
|
bind(common_1.AIVariableContribution).to(today_variable_contribution_1.TodayVariableContribution).inSingletonScope();
|
|
87
91
|
bind(common_1.AIVariableContribution).to(file_variable_contribution_1.FileVariableContribution).inSingletonScope();
|
|
88
92
|
bind(common_1.AIVariableContribution).to(agents_variable_contribution_1.AgentsVariableContribution).inSingletonScope();
|
|
93
|
+
bind(common_1.AIVariableContribution).to(open_editors_variable_contribution_1.OpenEditorsVariableContribution).inSingletonScope();
|
|
89
94
|
bind(browser_1.FrontendApplicationContribution).to(ai_core_frontend_application_contribution_1.AICoreFrontendApplicationContribution).inSingletonScope();
|
|
90
95
|
bind(common_1.ToolInvocationRegistry).to(common_1.ToolInvocationRegistryImpl).inSingletonScope();
|
|
91
96
|
(0, core_1.bindContributionProvider)(bind, common_1.ToolProvider);
|
|
@@ -117,6 +122,9 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
117
122
|
bind(core_1.ResourceResolver).toService(common_1.AIVariableResourceResolver);
|
|
118
123
|
bind(ai_variable_uri_label_provider_1.AIVariableUriLabelProvider).toSelf().inSingletonScope();
|
|
119
124
|
bind(browser_1.LabelProviderContribution).toService(ai_variable_uri_label_provider_1.AIVariableUriLabelProvider);
|
|
125
|
+
bind(agent_completion_notification_service_1.AgentCompletionNotificationService).toSelf().inSingletonScope();
|
|
126
|
+
bind(os_notification_service_1.OSNotificationService).toSelf().inSingletonScope();
|
|
127
|
+
bind(window_blink_service_1.WindowBlinkService).toSelf().inSingletonScope();
|
|
120
128
|
bind(common_1.ConfigurableInMemoryResources).toSelf().inSingletonScope();
|
|
121
129
|
bind(core_1.ResourceResolver).toService(common_1.ConfigurableInMemoryResources);
|
|
122
130
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-core-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-core-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { PreferenceProxy, PreferenceSchema } from '@theia/core/lib/browser';
|
|
2
2
|
import { interfaces } from '@theia/core/shared/inversify';
|
|
3
|
+
import { NotificationType } from '../common/notification-types';
|
|
3
4
|
export declare const AI_CORE_PREFERENCES_TITLE: string;
|
|
4
5
|
export declare const PREFERENCE_NAME_ENABLE_AI = "ai-features.AiEnable.enableAI";
|
|
5
6
|
export declare const PREFERENCE_NAME_PROMPT_TEMPLATES = "ai-features.promptTemplates.promptTemplatesFolder";
|
|
6
7
|
export declare const PREFERENCE_NAME_REQUEST_SETTINGS = "ai-features.modelSettings.requestSettings";
|
|
8
|
+
export declare const PREFERENCE_NAME_MAX_RETRIES = "ai-features.modelSettings.maxRetries";
|
|
9
|
+
export declare const PREFERENCE_NAME_DEFAULT_NOTIFICATION_TYPE = "ai-features.notifications.default";
|
|
7
10
|
export declare const aiCorePreferenceSchema: PreferenceSchema;
|
|
8
11
|
export interface AICoreConfiguration {
|
|
9
12
|
[PREFERENCE_NAME_ENABLE_AI]: boolean | undefined;
|
|
10
13
|
[PREFERENCE_NAME_PROMPT_TEMPLATES]: string | undefined;
|
|
11
14
|
[PREFERENCE_NAME_REQUEST_SETTINGS]: Array<RequestSetting> | undefined;
|
|
15
|
+
[PREFERENCE_NAME_MAX_RETRIES]: number | undefined;
|
|
16
|
+
[PREFERENCE_NAME_DEFAULT_NOTIFICATION_TYPE]: NotificationType | undefined;
|
|
12
17
|
}
|
|
13
18
|
export interface RequestSetting {
|
|
14
19
|
scope?: Scope;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-core-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAA0B,eAAe,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAGH,gBAAgB,EACnB,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,yBAAyB,QAAqE,CAAC;AAC5G,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AACzE,eAAO,MAAM,gCAAgC,sDAAsD,CAAC;AACpG,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,2BAA2B,yCAAyC,CAAC;AAClF,eAAO,MAAM,yCAAyC,sCAAsC,CAAC;AAE7F,eAAO,MAAM,sBAAsB,EAAE,gBAuHpC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAChC,CAAC,yBAAyB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjD,CAAC,gCAAgC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvD,CAAC,gCAAgC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IACtE,CAAC,2BAA2B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClD,CAAC,yCAAyC,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC7E;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC;IACnE,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAMjE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,YAAa,cAAc,UAAU,KAAK,KAAG,MA0CrF,CAAC"}
|
|
@@ -15,14 +15,17 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.getRequestSettingSpecificity = exports.bindAICorePreferences = exports.AICorePreferences = exports.aiCorePreferenceSchema = exports.PREFERENCE_NAME_REQUEST_SETTINGS = exports.PREFERENCE_NAME_PROMPT_TEMPLATES = exports.PREFERENCE_NAME_ENABLE_AI = exports.AI_CORE_PREFERENCES_TITLE = void 0;
|
|
18
|
+
exports.getRequestSettingSpecificity = exports.bindAICorePreferences = exports.AICorePreferences = exports.aiCorePreferenceSchema = exports.PREFERENCE_NAME_DEFAULT_NOTIFICATION_TYPE = exports.PREFERENCE_NAME_MAX_RETRIES = exports.PREFERENCE_NAME_REQUEST_SETTINGS = exports.PREFERENCE_NAME_PROMPT_TEMPLATES = exports.PREFERENCE_NAME_ENABLE_AI = exports.AI_CORE_PREFERENCES_TITLE = void 0;
|
|
19
19
|
const core_1 = require("@theia/core");
|
|
20
20
|
const browser_1 = require("@theia/core/lib/browser");
|
|
21
21
|
const injectable_preference_proxy_1 = require("@theia/core/lib/browser/preferences/injectable-preference-proxy");
|
|
22
|
+
const notification_types_1 = require("../common/notification-types");
|
|
22
23
|
exports.AI_CORE_PREFERENCES_TITLE = core_1.nls.localize('theia/ai/core/prefs/title', '✨ AI Features [Alpha]');
|
|
23
24
|
exports.PREFERENCE_NAME_ENABLE_AI = 'ai-features.AiEnable.enableAI';
|
|
24
25
|
exports.PREFERENCE_NAME_PROMPT_TEMPLATES = 'ai-features.promptTemplates.promptTemplatesFolder';
|
|
25
26
|
exports.PREFERENCE_NAME_REQUEST_SETTINGS = 'ai-features.modelSettings.requestSettings';
|
|
27
|
+
exports.PREFERENCE_NAME_MAX_RETRIES = 'ai-features.modelSettings.maxRetries';
|
|
28
|
+
exports.PREFERENCE_NAME_DEFAULT_NOTIFICATION_TYPE = 'ai-features.notifications.default';
|
|
26
29
|
exports.aiCorePreferenceSchema = {
|
|
27
30
|
type: 'object',
|
|
28
31
|
properties: {
|
|
@@ -118,6 +121,24 @@ exports.aiCorePreferenceSchema = {
|
|
|
118
121
|
additionalProperties: false
|
|
119
122
|
},
|
|
120
123
|
default: [],
|
|
124
|
+
},
|
|
125
|
+
[exports.PREFERENCE_NAME_MAX_RETRIES]: {
|
|
126
|
+
title: core_1.nls.localize('theia/ai/core/maxRetries/title', 'Maximum Retries'),
|
|
127
|
+
markdownDescription: core_1.nls.localize('theia/ai/core/maxRetries/mdDescription', 'The maximum number of retry attempts when a request to an AI provider fails. A value of 0 means no retries.'),
|
|
128
|
+
type: 'number',
|
|
129
|
+
minimum: 0,
|
|
130
|
+
default: 3
|
|
131
|
+
},
|
|
132
|
+
[exports.PREFERENCE_NAME_DEFAULT_NOTIFICATION_TYPE]: {
|
|
133
|
+
title: core_1.nls.localize('theia/ai/core/defaultNotification/title', 'Default Notification Type'),
|
|
134
|
+
markdownDescription: core_1.nls.localize('theia/ai/core/defaultNotification/mdDescription', 'The default notification method used when an AI agent completes a task. Individual agents can override this setting.\n\
|
|
135
|
+
- `os-notification`: Show OS/system notifications\n\
|
|
136
|
+
- `message`: Show notifications in the status bar/message area\n\
|
|
137
|
+
- `blink`: Blink or highlight the UI\n\
|
|
138
|
+
- `off`: Disable all notifications'),
|
|
139
|
+
type: 'string',
|
|
140
|
+
enum: [...notification_types_1.NOTIFICATION_TYPES],
|
|
141
|
+
default: notification_types_1.NOTIFICATION_TYPE_OFF
|
|
121
142
|
}
|
|
122
143
|
}
|
|
123
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core-preferences.js","sourceRoot":"","sources":["../../src/browser/ai-core-preferences.ts"],"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,sCAAkC;AAClC,qDAAoG;AACpG,iHAAyG;
|
|
1
|
+
{"version":3,"file":"ai-core-preferences.js","sourceRoot":"","sources":["../../src/browser/ai-core-preferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ILogger } from '@theia/core';
|
|
2
2
|
import { OutputChannelManager } from '@theia/output/lib/browser/output-channel';
|
|
3
|
-
import { AISettingsService, DefaultLanguageModelRegistryImpl, LanguageModel, LanguageModelDelegateClient, LanguageModelFrontendDelegate, LanguageModelMetaData, LanguageModelRegistryClient, LanguageModelRegistryFrontendDelegate, LanguageModelSelector, LanguageModelStreamResponsePart } from '../common';
|
|
3
|
+
import { AISettingsService, DefaultLanguageModelRegistryImpl, LanguageModel, LanguageModelDelegateClient, LanguageModelFrontendDelegate, LanguageModelMetaData, LanguageModelRegistryClient, LanguageModelRegistryFrontendDelegate, LanguageModelRequest, LanguageModelSelector, LanguageModelStreamResponsePart, ToolCallResult } from '../common';
|
|
4
4
|
export declare class LanguageModelDelegateClientImpl implements LanguageModelDelegateClient, LanguageModelRegistryClient {
|
|
5
5
|
protected receiver: FrontendLanguageModelRegistryImpl;
|
|
6
6
|
setReceiver(receiver: FrontendLanguageModelRegistryImpl): void;
|
|
7
7
|
send(id: string, token: LanguageModelStreamResponsePart | undefined): void;
|
|
8
|
-
toolCall(requestId: string, toolId: string, args_string: string): Promise<
|
|
8
|
+
toolCall(requestId: string, toolId: string, args_string: string): Promise<ToolCallResult>;
|
|
9
9
|
error(id: string, error: Error): void;
|
|
10
10
|
languageModelAdded(metadata: LanguageModelMetaData): void;
|
|
11
11
|
languageModelRemoved(id: string): void;
|
|
@@ -29,11 +29,11 @@ export declare class FrontendLanguageModelRegistryImpl extends DefaultLanguageMo
|
|
|
29
29
|
addLanguageModels(models: LanguageModelMetaData[] | LanguageModel[]): void;
|
|
30
30
|
protected init(): void;
|
|
31
31
|
createFrontendLanguageModel(description: LanguageModelMetaData): LanguageModel;
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
protected streams: Map<string, StreamState>;
|
|
33
|
+
protected requests: Map<string, LanguageModelRequest>;
|
|
34
34
|
getIterable(state: StreamState): AsyncIterable<LanguageModelStreamResponsePart>;
|
|
35
35
|
send(id: string, token: LanguageModelStreamResponsePart | undefined): void;
|
|
36
|
-
toolCall(id: string, toolId: string, arg_string: string): Promise<
|
|
36
|
+
toolCall(id: string, toolId: string, arg_string: string): Promise<ToolCallResult>;
|
|
37
37
|
error(id: string, error: Error): void;
|
|
38
38
|
selectLanguageModels(request: LanguageModelSelector): Promise<LanguageModel[]>;
|
|
39
39
|
selectLanguageModel(request: LanguageModelSelector): Promise<LanguageModel | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-language-model-registry.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-language-model-registry.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqB,OAAO,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,EAEH,oBAAoB,EAEvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,iBAAiB,EACjB,gCAAgC,EAOhC,aAAa,EACb,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,2BAA2B,EAC3B,qCAAqC,
|
|
1
|
+
{"version":3,"file":"frontend-language-model-registry.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-language-model-registry.ts"],"names":[],"mappings":"AAeA,OAAO,EAAqB,OAAO,EAAE,MAAM,aAAa,CAAC;AAMzD,OAAO,EAEH,oBAAoB,EAEvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACH,iBAAiB,EACjB,gCAAgC,EAOhC,aAAa,EACb,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,2BAA2B,EAC3B,qCAAqC,EACrC,oBAAoB,EAEpB,qBAAqB,EACrB,+BAA+B,EAC/B,cAAc,EACjB,MAAM,WAAW,CAAC;AAEnB,qBACa,+BACT,YAAW,2BAA2B,EAAE,2BAA2B;IACnE,SAAS,CAAC,QAAQ,EAAE,iCAAiC,CAAC;IAEtD,WAAW,CAAC,QAAQ,EAAE,iCAAiC,GAAG,IAAI;IAI9D,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,GAAG,SAAS,GAAG,IAAI;IAI1E,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIzF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIzD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAGzC;AAED,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,CAAC,+BAA+B,GAAG,SAAS,CAAC,EAAE,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACjC;AAED,qBACa,iCACT,SAAQ,gCAAgC;IAGxC,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIzD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAItC,SAAS,CAAC,gBAAgB,EAAE,qCAAqC,CAAC;IAGlE,SAAS,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IAG1D,SAAS,CAAC,MAAM,EAAE,+BAA+B,CAAC;IAElD,UACmB,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAGrD,SAAS,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAE7C,OAAO,CAAC,MAAM,CAAC,cAAc,CAAa;IAEjC,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,aAAa,EAAE,GAAG,IAAI;cAyChE,IAAI,IAAI,IAAI;IAuC/B,2BAA2B,CACvB,WAAW,EAAE,qBAAqB,GACnC,aAAa;IAwChB,SAAS,CAAC,OAAO,2BAAkC;IACnD,SAAS,CAAC,QAAQ,oCAA2C;IAEtD,WAAW,CACd,KAAK,EAAE,WAAW,GACnB,aAAa,CAAC,+BAA+B,CAAC;IAwBjD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,GAAG,SAAS,GAAG,IAAI;IAgBpE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkBvF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAYtB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAY9E,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAGzG"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.FrontendLanguageModelRegistryImpl = exports.LanguageModelDelegateClientImpl = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
// *****************************************************************************
|
|
7
|
-
// Copyright (C)
|
|
7
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
8
8
|
//
|
|
9
9
|
// This program and the accompanying materials are made available under the
|
|
10
10
|
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -176,17 +176,24 @@ let FrontendLanguageModelRegistryImpl = FrontendLanguageModelRegistryImpl_1 = cl
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
// called by backend once tool is invoked
|
|
179
|
-
toolCall(id, toolId, arg_string) {
|
|
179
|
+
async toolCall(id, toolId, arg_string) {
|
|
180
180
|
var _a;
|
|
181
181
|
if (!this.requests.has(id)) {
|
|
182
|
-
|
|
182
|
+
return { error: true, message: `No request found for ID '${id}'. The request may have been cancelled or completed.` };
|
|
183
183
|
}
|
|
184
184
|
const request = this.requests.get(id);
|
|
185
185
|
const tool = (_a = request.tools) === null || _a === void 0 ? void 0 : _a.find(t => t.id === toolId);
|
|
186
186
|
if (tool) {
|
|
187
|
-
|
|
187
|
+
try {
|
|
188
|
+
return await tool.handler(arg_string);
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
192
|
+
return { error: true, message: `Error executing tool '${toolId}': ${errorMessage}` };
|
|
193
|
+
}
|
|
194
|
+
;
|
|
188
195
|
}
|
|
189
|
-
|
|
196
|
+
return { error: true, message: `Tool '${toolId}' not found in the available tools for this request.` };
|
|
190
197
|
}
|
|
191
198
|
// called by backend via the "delegate client" with the error to use for rejection
|
|
192
199
|
error(id, error) {
|