@theia/ai-chat 1.69.0-next.29 → 1.69.0-next.35
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/ai-chat-frontend-contribution.d.ts +13 -1
- package/lib/browser/ai-chat-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/ai-chat-frontend-contribution.js +50 -1
- package/lib/browser/ai-chat-frontend-contribution.js.map +1 -1
- package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-frontend-module.js +13 -1
- package/lib/browser/ai-chat-frontend-module.js.map +1 -1
- package/lib/browser/custom-agent-factory.d.ts +1 -1
- package/lib/browser/custom-agent-factory.d.ts.map +1 -1
- package/lib/browser/custom-agent-frontend-application-contribution.js +2 -2
- package/lib/browser/custom-agent-frontend-application-contribution.js.map +1 -1
- package/lib/browser/file-chat-variable-contribution.d.ts +8 -8
- package/lib/browser/file-chat-variable-contribution.d.ts.map +1 -1
- package/lib/browser/file-chat-variable-contribution.js +71 -61
- package/lib/browser/file-chat-variable-contribution.js.map +1 -1
- package/lib/browser/image-context-variable-contribution.d.ts +16 -3
- package/lib/browser/image-context-variable-contribution.d.ts.map +1 -1
- package/lib/browser/image-context-variable-contribution.js +181 -12
- package/lib/browser/image-context-variable-contribution.js.map +1 -1
- package/lib/browser/image-file-utils.d.ts +11 -0
- package/lib/browser/image-file-utils.d.ts.map +1 -0
- package/lib/browser/image-file-utils.js +54 -0
- package/lib/browser/image-file-utils.js.map +1 -0
- package/lib/browser/pending-image-registry.d.ts +116 -0
- package/lib/browser/pending-image-registry.d.ts.map +1 -0
- package/lib/browser/pending-image-registry.js +121 -0
- package/lib/browser/pending-image-registry.js.map +1 -0
- package/lib/common/chat-agent-service.d.ts +5 -1
- package/lib/common/chat-agent-service.d.ts.map +1 -1
- package/lib/common/chat-agent-service.js +35 -1
- package/lib/common/chat-agent-service.js.map +1 -1
- package/lib/common/chat-agent-service.spec.d.ts +2 -0
- package/lib/common/chat-agent-service.spec.d.ts.map +1 -0
- package/lib/common/chat-agent-service.spec.js +194 -0
- package/lib/common/chat-agent-service.spec.js.map +1 -0
- package/lib/common/chat-model.d.ts +3 -0
- package/lib/common/chat-model.d.ts.map +1 -1
- package/lib/common/chat-model.js.map +1 -1
- package/lib/common/image-context-variable.d.ts +27 -9
- package/lib/common/image-context-variable.d.ts.map +1 -1
- package/lib/common/image-context-variable.js +36 -29
- package/lib/common/image-context-variable.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/ai-chat-frontend-contribution.ts +48 -1
- package/src/browser/ai-chat-frontend-module.ts +18 -3
- package/src/browser/custom-agent-factory.ts +1 -1
- package/src/browser/custom-agent-frontend-application-contribution.ts +2 -2
- package/src/browser/file-chat-variable-contribution.ts +77 -64
- package/src/browser/image-context-variable-contribution.ts +204 -7
- package/src/browser/image-file-utils.ts +54 -0
- package/src/browser/pending-image-registry.ts +237 -0
- package/src/common/chat-agent-service.spec.ts +225 -0
- package/src/common/chat-agent-service.ts +33 -3
- package/src/common/chat-model.ts +2 -2
- package/src/common/image-context-variable.ts +50 -33
- package/lib/browser/file-chat-variable-contribution.spec.d.ts +0 -2
- package/lib/browser/file-chat-variable-contribution.spec.d.ts.map +0 -1
- package/lib/browser/file-chat-variable-contribution.spec.js +0 -99
- package/lib/browser/file-chat-variable-contribution.spec.js.map +0 -1
- package/lib/common/image-context-variable-origin.spec.d.ts +0 -2
- package/lib/common/image-context-variable-origin.spec.d.ts.map +0 -1
- package/lib/common/image-context-variable-origin.spec.js +0 -41
- package/lib/common/image-context-variable-origin.spec.js.map +0 -1
- package/lib/common/image-context-variable.spec.d.ts +0 -2
- package/lib/common/image-context-variable.spec.d.ts.map +0 -1
- package/lib/common/image-context-variable.spec.js +0 -66
- package/lib/common/image-context-variable.spec.js.map +0 -1
- package/src/browser/file-chat-variable-contribution.spec.ts +0 -125
- package/src/common/image-context-variable-origin.spec.ts +0 -46
- package/src/common/image-context-variable.spec.ts +0 -70
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
import { AIVariableService } from '@theia/ai-core';
|
|
2
|
-
import { Command, CommandContribution, CommandRegistry } from '@theia/core';
|
|
2
|
+
import { Command, CommandContribution, CommandRegistry, URI } from '@theia/core';
|
|
3
|
+
import { OpenerService } from '@theia/core/lib/browser';
|
|
4
|
+
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
5
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
3
6
|
import { ChatService } from '../common';
|
|
4
7
|
export declare const VARIABLE_ADD_CONTEXT_COMMAND: Command;
|
|
8
|
+
export declare const OPEN_FILE_BY_PATH_COMMAND: Command;
|
|
5
9
|
export declare class AIChatFrontendContribution implements CommandContribution {
|
|
6
10
|
protected readonly variableService: AIVariableService;
|
|
7
11
|
protected readonly chatService: ChatService;
|
|
12
|
+
protected readonly workspaceService: WorkspaceService;
|
|
13
|
+
protected readonly fileService: FileService;
|
|
14
|
+
protected readonly openerService: OpenerService;
|
|
8
15
|
registerCommands(registry: CommandRegistry): void;
|
|
9
16
|
addContextVariable(variableName: string, arg: string | undefined): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Open a file by its workspace-relative path.
|
|
19
|
+
*/
|
|
20
|
+
openFileByPath(wsRelativePath: string): Promise<void>;
|
|
21
|
+
protected resolveWorkspaceRelativePath(wsRelativePath: string): Promise<URI | undefined>;
|
|
10
22
|
}
|
|
11
23
|
//# sourceMappingURL=ai-chat-frontend-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAQ,GAAG,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAQ,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,eAAO,MAAM,4BAA4B,EAAE,OAGF,CAAC;AAE1C,eAAO,MAAM,yBAAyB,EAAE,OAEvC,CAAC;AAEF,qBACa,0BAA2B,YAAW,mBAAmB;IAElE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAE5C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAEhD,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAY3C,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAStF;;OAEG;IACG,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAO3C,4BAA4B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CAkBjG"}
|
|
@@ -15,22 +15,32 @@
|
|
|
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.AIChatFrontendContribution = exports.VARIABLE_ADD_CONTEXT_COMMAND = void 0;
|
|
18
|
+
exports.AIChatFrontendContribution = exports.OPEN_FILE_BY_PATH_COMMAND = exports.VARIABLE_ADD_CONTEXT_COMMAND = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const ai_core_1 = require("@theia/ai-core");
|
|
21
21
|
const core_1 = require("@theia/core");
|
|
22
|
+
const browser_1 = require("@theia/core/lib/browser");
|
|
22
23
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
+
const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
25
|
+
const browser_2 = require("@theia/workspace/lib/browser");
|
|
23
26
|
const common_1 = require("../common");
|
|
24
27
|
exports.VARIABLE_ADD_CONTEXT_COMMAND = core_1.Command.toLocalizedCommand({
|
|
25
28
|
id: 'add-context-variable',
|
|
26
29
|
label: 'Add context variable'
|
|
27
30
|
}, 'theia/ai/chat-ui/addContextVariable');
|
|
31
|
+
exports.OPEN_FILE_BY_PATH_COMMAND = {
|
|
32
|
+
id: 'ai-chat.open-file-by-path',
|
|
33
|
+
};
|
|
28
34
|
let AIChatFrontendContribution = class AIChatFrontendContribution {
|
|
29
35
|
registerCommands(registry) {
|
|
30
36
|
registry.registerCommand(exports.VARIABLE_ADD_CONTEXT_COMMAND, {
|
|
31
37
|
execute: (...args) => args.length > 1 && this.addContextVariable(args[0], args[1]),
|
|
32
38
|
isVisible: () => false,
|
|
33
39
|
});
|
|
40
|
+
registry.registerCommand(exports.OPEN_FILE_BY_PATH_COMMAND, {
|
|
41
|
+
execute: (wsRelativePath) => this.openFileByPath(wsRelativePath),
|
|
42
|
+
isVisible: () => false,
|
|
43
|
+
});
|
|
34
44
|
}
|
|
35
45
|
async addContextVariable(variableName, arg) {
|
|
36
46
|
const variable = this.variableService.getVariable(variableName);
|
|
@@ -39,6 +49,33 @@ let AIChatFrontendContribution = class AIChatFrontendContribution {
|
|
|
39
49
|
}
|
|
40
50
|
this.chatService.getActiveSession()?.model.context.addVariables({ variable, arg });
|
|
41
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Open a file by its workspace-relative path.
|
|
54
|
+
*/
|
|
55
|
+
async openFileByPath(wsRelativePath) {
|
|
56
|
+
const uri = await this.resolveWorkspaceRelativePath(wsRelativePath);
|
|
57
|
+
if (uri) {
|
|
58
|
+
await (0, browser_1.open)(this.openerService, uri);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async resolveWorkspaceRelativePath(wsRelativePath) {
|
|
62
|
+
const path = new core_1.Path(core_1.Path.normalizePathSeparator(wsRelativePath));
|
|
63
|
+
if (path.isAbsolute) {
|
|
64
|
+
const uri = new core_1.URI(wsRelativePath);
|
|
65
|
+
if (await this.fileService.exists(uri)) {
|
|
66
|
+
return uri;
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const workspaceRoots = this.workspaceService.tryGetRoots();
|
|
71
|
+
for (const root of workspaceRoots) {
|
|
72
|
+
const uri = root.resource.resolve(path);
|
|
73
|
+
if (await this.fileService.exists(uri)) {
|
|
74
|
+
return uri;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
42
79
|
};
|
|
43
80
|
exports.AIChatFrontendContribution = AIChatFrontendContribution;
|
|
44
81
|
tslib_1.__decorate([
|
|
@@ -49,6 +86,18 @@ tslib_1.__decorate([
|
|
|
49
86
|
(0, inversify_1.inject)(common_1.ChatService),
|
|
50
87
|
tslib_1.__metadata("design:type", Object)
|
|
51
88
|
], AIChatFrontendContribution.prototype, "chatService", void 0);
|
|
89
|
+
tslib_1.__decorate([
|
|
90
|
+
(0, inversify_1.inject)(browser_2.WorkspaceService),
|
|
91
|
+
tslib_1.__metadata("design:type", browser_2.WorkspaceService)
|
|
92
|
+
], AIChatFrontendContribution.prototype, "workspaceService", void 0);
|
|
93
|
+
tslib_1.__decorate([
|
|
94
|
+
(0, inversify_1.inject)(file_service_1.FileService),
|
|
95
|
+
tslib_1.__metadata("design:type", file_service_1.FileService)
|
|
96
|
+
], AIChatFrontendContribution.prototype, "fileService", void 0);
|
|
97
|
+
tslib_1.__decorate([
|
|
98
|
+
(0, inversify_1.inject)(browser_1.OpenerService),
|
|
99
|
+
tslib_1.__metadata("design:type", Object)
|
|
100
|
+
], AIChatFrontendContribution.prototype, "openerService", void 0);
|
|
52
101
|
exports.AIChatFrontendContribution = AIChatFrontendContribution = tslib_1.__decorate([
|
|
53
102
|
(0, inversify_1.injectable)()
|
|
54
103
|
], AIChatFrontendContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,4CAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-contribution.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA0D/D,wBA8HG"}
|
|
@@ -46,6 +46,7 @@ const task_context_service_1 = require("./task-context-service");
|
|
|
46
46
|
const task_context_storage_service_1 = require("./task-context-storage-service");
|
|
47
47
|
const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution");
|
|
48
48
|
const image_context_variable_contribution_1 = require("./image-context-variable-contribution");
|
|
49
|
+
const pending_image_registry_1 = require("./pending-image-registry");
|
|
49
50
|
const agent_delegation_tool_1 = require("./agent-delegation-tool");
|
|
50
51
|
const chat_tool_preference_bindings_1 = require("./chat-tool-preference-bindings");
|
|
51
52
|
const chat_tool_preferences_1 = require("../common/chat-tool-preferences");
|
|
@@ -90,7 +91,7 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
90
91
|
(0, chat_tool_preferences_1.bindChatToolPreferences)(bind);
|
|
91
92
|
bind(chat_tool_preference_bindings_1.ToolConfirmationManager).toSelf().inSingletonScope();
|
|
92
93
|
bind(custom_chat_agent_1.CustomChatAgent).toSelf();
|
|
93
|
-
bind(custom_agent_factory_1.CustomAgentFactory).toFactory(ctx => (id, name, description, prompt, defaultLLM) => {
|
|
94
|
+
bind(custom_agent_factory_1.CustomAgentFactory).toFactory(ctx => (id, name, description, prompt, defaultLLM, showInChat) => {
|
|
94
95
|
const agent = ctx.container.get(custom_chat_agent_1.CustomChatAgent);
|
|
95
96
|
agent.id = id;
|
|
96
97
|
agent.name = name;
|
|
@@ -102,6 +103,15 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
102
103
|
}];
|
|
103
104
|
ctx.container.get(common_2.ChatAgentService).registerChatAgent(agent);
|
|
104
105
|
ctx.container.get(common_1.AgentService).registerAgent(agent);
|
|
106
|
+
// Initialize showInChat preference from YAML if not already set
|
|
107
|
+
if (showInChat === false) {
|
|
108
|
+
const settingsService = ctx.container.get(common_1.AISettingsService);
|
|
109
|
+
settingsService.getAgentSettings(id).then(settings => {
|
|
110
|
+
if (settings?.showInChat === undefined) {
|
|
111
|
+
settingsService.updateAgentSettings(id, { showInChat: false });
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
105
115
|
return agent;
|
|
106
116
|
});
|
|
107
117
|
bind(browser_1.FrontendApplicationContribution).to(custom_agent_frontend_application_contribution_1.AICustomAgentsFrontendApplicationContribution).inSingletonScope();
|
|
@@ -133,6 +143,8 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
133
143
|
bind(image_context_variable_contribution_1.ImageContextVariableContribution).toSelf().inSingletonScope();
|
|
134
144
|
bind(common_1.AIVariableContribution).toService(image_context_variable_contribution_1.ImageContextVariableContribution);
|
|
135
145
|
bind(browser_1.LabelProviderContribution).toService(image_context_variable_contribution_1.ImageContextVariableContribution);
|
|
146
|
+
bind(pending_image_registry_1.DefaultPendingImageRegistry).toSelf().inSingletonScope();
|
|
147
|
+
bind(pending_image_registry_1.PendingImageRegistry).toService(pending_image_registry_1.DefaultPendingImageRegistry);
|
|
136
148
|
bind(task_context_service_1.TaskContextService).toSelf().inSingletonScope();
|
|
137
149
|
bind(task_context_storage_service_1.InMemoryTaskContextStorage).toSelf().inSingletonScope();
|
|
138
150
|
bind(task_context_service_1.TaskContextStorageService).toService(task_context_storage_service_1.InMemoryTaskContextStorage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.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,
|
|
1
|
+
{"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { CustomChatAgent } from '../common';
|
|
2
2
|
export declare const CustomAgentFactory: unique symbol;
|
|
3
|
-
export type CustomAgentFactory = (id: string, name: string, description: string, prompt: string, defaultLLM: string) => CustomChatAgent;
|
|
3
|
+
export type CustomAgentFactory = (id: string, name: string, description: string, prompt: string, defaultLLM: string, showInChat?: boolean) => CustomChatAgent;
|
|
4
4
|
//# sourceMappingURL=custom-agent-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-agent-factory.d.ts","sourceRoot":"","sources":["../../src/browser/custom-agent-factory.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"custom-agent-factory.d.ts","sourceRoot":"","sources":["../../src/browser/custom-agent-factory.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,eAAO,MAAM,kBAAkB,eAA+B,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,eAAe,CAAC"}
|
|
@@ -28,7 +28,7 @@ let AICustomAgentsFrontendApplicationContribution = class AICustomAgentsFrontend
|
|
|
28
28
|
onStart() {
|
|
29
29
|
this.customizationService?.getCustomAgents().then(customAgents => {
|
|
30
30
|
customAgents.forEach(agent => {
|
|
31
|
-
this.customAgentFactory(agent.id, agent.name, agent.description, agent.prompt, agent.defaultLLM);
|
|
31
|
+
this.customAgentFactory(agent.id, agent.name, agent.description, agent.prompt, agent.defaultLLM, agent.showInChat);
|
|
32
32
|
this.knownCustomAgents.set(agent.id, agent);
|
|
33
33
|
});
|
|
34
34
|
}).catch(e => {
|
|
@@ -46,7 +46,7 @@ let AICustomAgentsFrontendApplicationContribution = class AICustomAgentsFrontend
|
|
|
46
46
|
});
|
|
47
47
|
customAgentsToAdd
|
|
48
48
|
.forEach(agent => {
|
|
49
|
-
this.customAgentFactory(agent.id, agent.name, agent.description, agent.prompt, agent.defaultLLM);
|
|
49
|
+
this.customAgentFactory(agent.id, agent.name, agent.description, agent.prompt, agent.defaultLLM, agent.showInChat);
|
|
50
50
|
this.knownCustomAgents.set(agent.id, agent);
|
|
51
51
|
});
|
|
52
52
|
}).catch(e => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-agent-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/custom-agent-frontend-application-contribution.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,4CAA0G;AAE1G,4DAA4E;AAC5E,sCAA6C;AAC7C,iEAA4D;AAGrD,IAAM,6CAA6C,GAAnD,MAAM,6CAA6C;IAAnD;QAaK,sBAAiB,GAAwC,IAAI,GAAG,EAAE,CAAC;IAoC/E,CAAC;IAnCG,OAAO;QACH,IAAI,CAAC,oBAAoB,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC7D,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-agent-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/custom-agent-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AIVariableContext } from '@theia/ai-core';
|
|
2
2
|
import { AIVariableDropResult, FrontendVariableContribution, FrontendVariableService } from '@theia/ai-core/lib/browser';
|
|
3
|
-
import { ILogger, QuickInputService
|
|
3
|
+
import { ILogger, QuickInputService } from '@theia/core';
|
|
4
4
|
import * as monaco from '@theia/monaco-editor-core';
|
|
5
5
|
import { QuickFileSelectService } from '@theia/file-search/lib/browser/quick-file-select-service';
|
|
6
6
|
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
@@ -14,19 +14,19 @@ export declare class FileChatVariableContribution implements FrontendVariableCon
|
|
|
14
14
|
registerVariables(service: FrontendVariableService): void;
|
|
15
15
|
protected triggerArgumentPicker(): Promise<string | undefined>;
|
|
16
16
|
protected imageArgumentPicker(): Promise<string | undefined>;
|
|
17
|
-
protected provideArgumentCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position, matchString?: string): Promise<monaco.languages.CompletionItem[] | undefined>;
|
|
18
17
|
/**
|
|
19
|
-
*
|
|
18
|
+
* Read an image from the clipboard and return it as an ImageContextVariable argument string.
|
|
20
19
|
*/
|
|
21
|
-
protected
|
|
20
|
+
protected readImageFromClipboard(): Promise<string | undefined>;
|
|
22
21
|
/**
|
|
23
|
-
*
|
|
22
|
+
* Convert a Blob to base64 string.
|
|
24
23
|
*/
|
|
25
|
-
protected
|
|
24
|
+
protected blobToBase64(blob: Blob): Promise<string>;
|
|
25
|
+
protected provideArgumentCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position, matchString?: string): Promise<monaco.languages.CompletionItem[] | undefined>;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Checks if a file is an image based on its extension.
|
|
28
28
|
*/
|
|
29
|
-
protected
|
|
29
|
+
protected isImageFile(filePath: string): boolean;
|
|
30
30
|
protected handleDrop(event: DragEvent, _: AIVariableContext): Promise<AIVariableDropResult | undefined>;
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=file-chat-variable-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-chat-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/file-chat-variable-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAA2C,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAA+B,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEtJ,OAAO,EAAqB,OAAO,EAAO,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"file-chat-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/file-chat-variable-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAA2C,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAA+B,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEtJ,OAAO,EAAqB,OAAO,EAAO,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAqB,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAMzE,qBACa,4BAA6B,YAAW,4BAA4B;IAE7E,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAG5C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;cAOzC,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAuBpD,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwElE;;OAEG;cACa,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwBrE;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;cAcnC,8BAA8B,CAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;IAkCzD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;cAMhC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;CAsChH"}
|
|
@@ -28,6 +28,7 @@ const browser_2 = require("@theia/workspace/lib/browser");
|
|
|
28
28
|
const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
|
|
29
29
|
const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution");
|
|
30
30
|
const image_context_variable_1 = require("../common/image-context-variable");
|
|
31
|
+
const image_file_utils_1 = require("./image-file-utils");
|
|
31
32
|
const browser_3 = require("@theia/core/lib/browser");
|
|
32
33
|
let FileChatVariableContribution = class FileChatVariableContribution {
|
|
33
34
|
registerVariables(service) {
|
|
@@ -58,22 +59,32 @@ let FileChatVariableContribution = class FileChatVariableContribution {
|
|
|
58
59
|
async imageArgumentPicker() {
|
|
59
60
|
const quickPick = this.quickInputService.createQuickPick();
|
|
60
61
|
quickPick.title = core_1.nls.localize('theia/ai/chat/selectImageFile', 'Select an image file');
|
|
62
|
+
// Create "From Clipboard" option
|
|
63
|
+
const clipboardOption = {
|
|
64
|
+
label: core_1.nls.localize('theia/ai/chat/fromClipboard', '$(clippy) From Clipboard'),
|
|
65
|
+
description: core_1.nls.localize('theia/ai/chat/fromClipboardDescription', 'Paste image from clipboard'),
|
|
66
|
+
alwaysShow: true,
|
|
67
|
+
isClipboardOption: true
|
|
68
|
+
};
|
|
61
69
|
// Get all files and filter only image files
|
|
62
70
|
const allPicks = await this.quickFileSelectService.getPicks();
|
|
63
|
-
|
|
71
|
+
const filePicks = allPicks.filter(item => {
|
|
64
72
|
if (quick_file_select_service_1.FileQuickPickItem.is(item)) {
|
|
65
73
|
return this.isImageFile(item.uri.path.toString());
|
|
66
74
|
}
|
|
67
75
|
return false;
|
|
68
76
|
});
|
|
77
|
+
quickPick.items = [clipboardOption, ...filePicks];
|
|
69
78
|
const updateItems = async (value) => {
|
|
70
79
|
const filteredPicks = await this.quickFileSelectService.getPicks(value, core_1.CancellationToken.None);
|
|
71
|
-
|
|
80
|
+
const filteredFilePicks = filteredPicks.filter(item => {
|
|
72
81
|
if (quick_file_select_service_1.FileQuickPickItem.is(item)) {
|
|
73
82
|
return this.isImageFile(item.uri.path.toString());
|
|
74
83
|
}
|
|
75
84
|
return false;
|
|
76
85
|
});
|
|
86
|
+
// Keep clipboard option at top when filtering
|
|
87
|
+
quickPick.items = [clipboardOption, ...filteredFilePicks];
|
|
77
88
|
};
|
|
78
89
|
const onChangeListener = quickPick.onDidChangeValue(updateItems);
|
|
79
90
|
quickPick.show();
|
|
@@ -81,29 +92,74 @@ let FileChatVariableContribution = class FileChatVariableContribution {
|
|
|
81
92
|
quickPick.onDispose(onChangeListener.dispose);
|
|
82
93
|
quickPick.onDidAccept(async () => {
|
|
83
94
|
const selectedItem = quickPick.selectedItems[0];
|
|
95
|
+
// Handle clipboard option
|
|
96
|
+
if (selectedItem && 'isClipboardOption' in selectedItem) {
|
|
97
|
+
quickPick.dispose();
|
|
98
|
+
const clipboardResult = await this.readImageFromClipboard();
|
|
99
|
+
resolve(clipboardResult);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
84
102
|
if (selectedItem && quick_file_select_service_1.FileQuickPickItem.is(selectedItem)) {
|
|
85
103
|
quickPick.dispose();
|
|
86
104
|
const filePath = await this.wsService.getWorkspaceRelativePath(selectedItem.uri);
|
|
87
105
|
const fileName = selectedItem.uri.displayName;
|
|
88
|
-
const base64Data = await
|
|
89
|
-
|
|
90
|
-
resolve(undefined);
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const mimeType = this.getMimeTypeFromExtension(selectedItem.uri.path.toString());
|
|
106
|
+
const base64Data = await (0, image_file_utils_1.fileToBase64)(selectedItem.uri, this.fileService, this.logger);
|
|
107
|
+
const mimeType = (0, image_file_utils_1.getMimeTypeFromExtension)(selectedItem.uri.path.toString());
|
|
94
108
|
// Create the argument string in the required format
|
|
95
109
|
const imageVarArgs = {
|
|
96
110
|
name: fileName,
|
|
97
111
|
wsRelativePath: filePath,
|
|
98
112
|
data: base64Data,
|
|
99
|
-
mimeType: mimeType
|
|
100
|
-
origin: 'context'
|
|
113
|
+
mimeType: mimeType
|
|
101
114
|
};
|
|
102
115
|
resolve(image_context_variable_1.ImageContextVariable.createArgString(imageVarArgs));
|
|
103
116
|
}
|
|
104
117
|
});
|
|
105
118
|
});
|
|
106
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Read an image from the clipboard and return it as an ImageContextVariable argument string.
|
|
122
|
+
*/
|
|
123
|
+
async readImageFromClipboard() {
|
|
124
|
+
try {
|
|
125
|
+
const clipboardItems = await navigator.clipboard.read();
|
|
126
|
+
for (const item of clipboardItems) {
|
|
127
|
+
const imageType = item.types.find(type => type.startsWith('image/'));
|
|
128
|
+
if (imageType) {
|
|
129
|
+
const blob = await item.getType(imageType);
|
|
130
|
+
const base64Data = await this.blobToBase64(blob);
|
|
131
|
+
const imageVarArgs = {
|
|
132
|
+
name: `clipboard-image-${Date.now()}.${imageType.split('/')[1]}`,
|
|
133
|
+
data: base64Data,
|
|
134
|
+
mimeType: imageType
|
|
135
|
+
};
|
|
136
|
+
return image_context_variable_1.ImageContextVariable.createArgString(imageVarArgs);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
this.logger.warn('No image found in clipboard');
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
this.logger.error('Failed to read image from clipboard:', error);
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Convert a Blob to base64 string.
|
|
149
|
+
*/
|
|
150
|
+
blobToBase64(blob) {
|
|
151
|
+
return new Promise((resolve, reject) => {
|
|
152
|
+
const reader = new FileReader();
|
|
153
|
+
reader.onload = () => {
|
|
154
|
+
const dataUrl = reader.result;
|
|
155
|
+
// Extract base64 data by removing the data URL prefix
|
|
156
|
+
const base64Data = dataUrl.substring(dataUrl.indexOf(',') + 1);
|
|
157
|
+
resolve(base64Data);
|
|
158
|
+
};
|
|
159
|
+
reader.onerror = () => reject(reader.error);
|
|
160
|
+
reader.readAsDataURL(blob);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
107
163
|
async provideArgumentCompletionItems(model, position, matchString) {
|
|
108
164
|
const context = browser_1.AIVariableCompletionContext.get(file_variable_contribution_1.FILE_VARIABLE.name, model, position, matchString);
|
|
109
165
|
if (!context) {
|
|
@@ -143,40 +199,6 @@ let FileChatVariableContribution = class FileChatVariableContribution {
|
|
|
143
199
|
const extension = filePath.toLowerCase().substring(filePath.lastIndexOf('.'));
|
|
144
200
|
return imageExtensions.includes(extension);
|
|
145
201
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Determines the MIME type based on file extension.
|
|
148
|
-
*/
|
|
149
|
-
getMimeTypeFromExtension(filePath) {
|
|
150
|
-
const extension = filePath.toLowerCase().substring(filePath.lastIndexOf('.'));
|
|
151
|
-
const mimeTypes = {
|
|
152
|
-
'.jpg': 'image/jpeg',
|
|
153
|
-
'.jpeg': 'image/jpeg',
|
|
154
|
-
'.png': 'image/png',
|
|
155
|
-
'.gif': 'image/gif',
|
|
156
|
-
'.bmp': 'image/bmp',
|
|
157
|
-
'.svg': 'image/svg+xml',
|
|
158
|
-
'.webp': 'image/webp'
|
|
159
|
-
};
|
|
160
|
-
return mimeTypes[extension] || 'application/octet-stream';
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Converts a file to base64 data URL.
|
|
164
|
-
*/
|
|
165
|
-
async fileToBase64(uri) {
|
|
166
|
-
try {
|
|
167
|
-
const fileContent = await this.fileService.readFile(uri);
|
|
168
|
-
const uint8Array = new Uint8Array(fileContent.value.buffer);
|
|
169
|
-
let binary = '';
|
|
170
|
-
for (let i = 0; i < uint8Array.length; i++) {
|
|
171
|
-
binary += String.fromCharCode(uint8Array[i]);
|
|
172
|
-
}
|
|
173
|
-
return btoa(binary);
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
this.logger.error('Error reading file content:', error);
|
|
177
|
-
return '';
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
202
|
async handleDrop(event, _) {
|
|
181
203
|
if (!event.dataTransfer) {
|
|
182
204
|
return undefined;
|
|
@@ -192,25 +214,13 @@ let FileChatVariableContribution = class FileChatVariableContribution {
|
|
|
192
214
|
if (await this.fileService.exists(uri)) {
|
|
193
215
|
const wsRelativePath = await this.wsService.getWorkspaceRelativePath(uri);
|
|
194
216
|
const fileName = uri.displayName;
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
const base64Data = await this.fileToBase64(uri);
|
|
200
|
-
if (!base64Data) {
|
|
201
|
-
continue;
|
|
202
|
-
}
|
|
203
|
-
const mimeType = this.getMimeTypeFromExtension(wsRelativePath);
|
|
204
|
-
variables.push(image_context_variable_1.ImageContextVariable.createRequest({
|
|
205
|
-
name: fileName,
|
|
206
|
-
wsRelativePath,
|
|
207
|
-
data: base64Data,
|
|
208
|
-
mimeType,
|
|
209
|
-
origin: 'temporary'
|
|
210
|
-
}));
|
|
217
|
+
if (wsRelativePath && this.isImageFile(wsRelativePath)) {
|
|
218
|
+
// Create a path-based reference - the image will be resolved on-demand
|
|
219
|
+
// This avoids eagerly loading base64 data for file-based images
|
|
220
|
+
variables.push(image_context_variable_1.ImageContextVariable.createPathBasedRequest(wsRelativePath, fileName));
|
|
211
221
|
// we do not want to push a text for image variables
|
|
212
222
|
}
|
|
213
|
-
else {
|
|
223
|
+
else if (wsRelativePath) {
|
|
214
224
|
variables.push({
|
|
215
225
|
variable: file_variable_contribution_1.FILE_VARIABLE,
|
|
216
226
|
arg: wsRelativePath
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-chat-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/file-chat-variable-contribution.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,4CAA4F;AAC5F,wDAAsJ;AACtJ,sGAAsF;AACtF,
|
|
1
|
+
{"version":3,"file":"file-chat-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/file-chat-variable-contribution.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,4CAA4F;AAC5F,wDAAsJ;AACtJ,sGAAsF;AACtF,sCAAiF;AACjF,4DAAkE;AAClE,oDAAoD;AACpD,wGAAqH;AACrH,0DAAgE;AAChE,6EAAyE;AACzE,mFAA+E;AAC/E,6EAAgG;AAChG,yDAA4E;AAC5E,qDAA2D;AAGpD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IAgBrC,iBAAiB,CAAC,OAAgC;QAC9C,OAAO,CAAC,sBAAsB,CAAC,0CAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,sBAAsB,CAAC,+CAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,kCAAkC,CAAC,0CAAa,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1G,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAES,KAAK,CAAC,qBAAqB;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAC3D,SAAS,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QAE/D,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;YACxC,SAAS,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAiB,CAAC,IAAI,CAAC,CAAC;QAChG,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,EAAE,CAAC;QAEjB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC7B,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,YAAY,IAAI,6CAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,mBAAmB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAC3D,SAAS,CAAC,KAAK,GAAG,UAAG,CAAC,QAAQ,CAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC;QAExF,iCAAiC;QACjC,MAAM,eAAe,GAAG;YACpB,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,6BAA6B,EAAE,0BAA0B,CAAC;YAC9E,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EAAE,4BAA4B,CAAC;YACjG,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;SAC1B,CAAC;QAEF,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,6CAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,KAAK,GAAG,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;YACxC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAiB,CAAC,IAAI,CAAC,CAAC;YAChG,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAClD,IAAI,6CAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACtD,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,8CAA8C;YAC9C,SAAS,CAAC,KAAK,GAAG,CAAC,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC;QAC9D,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,EAAE,CAAC;QAEjB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;gBAC7B,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAEhD,0BAA0B;gBAC1B,IAAI,YAAY,IAAI,mBAAmB,IAAI,YAAY,EAAE,CAAC;oBACtD,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5D,OAAO,CAAC,eAAe,CAAC,CAAC;oBACzB,OAAO;gBACX,CAAC;gBAED,IAAI,YAAY,IAAI,6CAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrD,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBACjF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;oBAC9C,MAAM,UAAU,GAAG,MAAM,IAAA,+BAAY,EAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBACvF,MAAM,QAAQ,GAAG,IAAA,2CAAwB,EAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAE5E,oDAAoD;oBACpD,MAAM,YAAY,GAAyB;wBACvC,IAAI,EAAE,QAAQ;wBACd,cAAc,EAAE,QAAQ;wBACxB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,QAAQ;qBACrB,CAAC;oBAEF,OAAO,CAAC,6CAAoB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrE,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACjD,MAAM,YAAY,GAAyB;wBACvC,IAAI,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;wBAChE,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,SAAS;qBACtB,CAAC;oBACF,OAAO,6CAAoB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAChD,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;OAEG;IACO,YAAY,CAAC,IAAU;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;gBACjB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAgB,CAAC;gBACxC,sDAAsD;gBACtD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC1C,KAA+B,EAC/B,QAAyB,EACzB,WAAoB;QAEpB,MAAM,OAAO,GAAG,qCAA2B,CAAC,GAAG,CAAC,0CAAa,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,EAAE,wBAAiB,CAAC,IAAI,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,GAAG,CACd,KAAK;aACA,MAAM,CAAC,6CAAiB,CAAC,EAAE,CAAC;YAC7B,yFAAyF;aACxF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC;aAC9C,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7E,OAAO;gBACH,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI;gBAC9C,KAAK;gBACL,UAAU,EAAE,GAAG,MAAM,GAAG,YAAY,EAAE;gBACtC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtE,+EAA+E;gBAC/E,UAAU,EAAE,SAAS;gBACrB,oEAAoE;gBACpE,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;gBAChE,OAAO,EAAE;oBACL,KAAK,EAAE,4DAA4B,CAAC,KAAM;oBAC1C,EAAE,EAAE,4DAA4B,CAAC,EAAE;oBACnC,SAAS,EAAE,CAAC,0CAAa,CAAC,IAAI,EAAE,YAAY,CAAC;iBAChD;aACJ,CAAC;QACN,CAAC,CAAC,CACT,CAAC;IACN,CAAC;IAED;;OAEG;IACO,WAAW,CAAC,QAAgB;QAClC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,OAAO,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,KAAgB,EAAE,CAAoB;QAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,0BAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,SAAS,GAAkC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;oBAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;oBAEjC,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;wBACrD,uEAAuE;wBACvE,gEAAgE;wBAChE,SAAS,CAAC,IAAI,CAAC,6CAAoB,CAAC,sBAAsB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACtF,oDAAoD;oBACxD,CAAC;yBAAM,IAAI,cAAc,EAAE,CAAC;wBACxB,SAAS,CAAC,IAAI,CAAC;4BACX,QAAQ,EAAE,0CAAa;4BACvB,GAAG,EAAE,cAAc;yBACtB,CAAC,CAAC;wBACH,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAU,CAAC,aAAa,GAAG,0CAAa,CAAC,IAAI,GAAG,oBAAU,CAAC,uBAAuB,GAAG,cAAc,EAAE,CAAC,CAAC;oBACzH,CAAC;gBACL,CAAC;YACL,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;CACJ,CAAA;AAvPY,oEAA4B;AAElB;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;iEAAC;AAGzB;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACK,0BAAgB;+DAAC;AAG5B;IADlB,IAAA,kBAAM,EAAC,wBAAiB,CAAC;;uEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,kDAAsB,CAAC;sCACY,kDAAsB;4EAAC;AAG/C;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;;4DACmB;uCAd1B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAuPxC"}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import { AIVariableContext, AIVariableContribution, AIVariableOpener, AIVariableResolutionRequest, AIVariableResolver, ResolvedAIContextVariable } from '@theia/ai-core';
|
|
2
2
|
import { FrontendVariableService, AIVariablePasteResult } from '@theia/ai-core/lib/browser';
|
|
3
|
-
import
|
|
3
|
+
import * as monaco from '@theia/monaco-editor-core';
|
|
4
|
+
import { ILogger, URI } from '@theia/core';
|
|
4
5
|
import { LabelProvider, LabelProviderContribution, OpenerService } from '@theia/core/lib/browser';
|
|
5
6
|
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
6
7
|
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
7
|
-
import { ImageContextVariable, ImageContextVariableRequest } from '../common/image-context-variable';
|
|
8
|
+
import { ImageContextVariable, ImageContextVariableRequest, ResolvedImageContextVariable } from '../common/image-context-variable';
|
|
9
|
+
import { PendingImageRegistry } from './pending-image-registry';
|
|
8
10
|
export declare class ImageContextVariableContribution implements AIVariableContribution, AIVariableResolver, AIVariableOpener, LabelProviderContribution {
|
|
9
11
|
protected readonly fileService: FileService;
|
|
10
12
|
protected readonly wsService: WorkspaceService;
|
|
11
13
|
protected readonly openerService: OpenerService;
|
|
12
14
|
protected readonly labelProvider: LabelProvider;
|
|
15
|
+
protected readonly logger: ILogger;
|
|
16
|
+
protected readonly pendingImageRegistry: PendingImageRegistry;
|
|
13
17
|
registerVariables(service: FrontendVariableService): void;
|
|
14
18
|
canResolve(request: AIVariableResolutionRequest, _: AIVariableContext): Promise<number>;
|
|
15
|
-
resolve(request: AIVariableResolutionRequest,
|
|
19
|
+
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIContextVariable | undefined>;
|
|
20
|
+
protected resolveFromRegistry(shortId: string, context: AIVariableContext): Promise<ResolvedAIContextVariable | undefined>;
|
|
21
|
+
protected createResolvedVariable(request: ImageContextVariableRequest, resolved: ResolvedImageContextVariable): ResolvedAIContextVariable;
|
|
22
|
+
protected resolveFromPath(variable: ImageContextVariable): Promise<ResolvedImageContextVariable | undefined>;
|
|
16
23
|
canOpen(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number>;
|
|
17
24
|
open(request: ImageContextVariableRequest, context: AIVariableContext): Promise<void>;
|
|
18
25
|
protected toUri(request: ImageContextVariableRequest): Promise<URI | undefined>;
|
|
@@ -24,5 +31,11 @@ export declare class ImageContextVariableContribution implements AIVariableContr
|
|
|
24
31
|
getIcon(element: ImageContextVariableRequest): string | undefined;
|
|
25
32
|
getName(element: ImageContextVariableRequest): string | undefined;
|
|
26
33
|
getDetails(element: ImageContextVariableRequest): string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Provides completion items for pending images in the current chat session.
|
|
36
|
+
* This allows users to discover available `img_1`, `img_2`, etc. short IDs
|
|
37
|
+
* when typing `#imageContext:`.
|
|
38
|
+
*/
|
|
39
|
+
protected provideArgumentCompletionItems(model: monaco.editor.ITextModel, position: monaco.Position, matchString?: string): Promise<monaco.languages.CompletionItem[] | undefined>;
|
|
27
40
|
}
|
|
28
41
|
//# sourceMappingURL=image-context-variable-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-context-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/image-context-variable-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,iBAAiB,EAAE,sBAAsB,EACzC,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,yBAAyB,EAC/F,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"image-context-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/image-context-variable-contribution.ts"],"names":[],"mappings":"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"}
|