@theia/ai-core 1.67.0-next.3 → 1.67.0-next.56
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/README.md +1 -0
- package/data/prompttemplate.tmLanguage.json +3 -0
- package/package.json +9 -9
- package/src/browser/frontend-language-model-alias-registry.ts +11 -11
- package/src/common/agent-service.ts +6 -6
- package/src/common/prompt-service.ts +6 -2
- package/lib/browser/agent-completion-notification-service.d.ts +0 -69
- package/lib/browser/agent-completion-notification-service.d.ts.map +0 -1
- package/lib/browser/agent-completion-notification-service.js +0 -187
- package/lib/browser/agent-completion-notification-service.js.map +0 -1
- package/lib/browser/ai-activation-service.d.ts +0 -31
- package/lib/browser/ai-activation-service.d.ts.map +0 -1
- package/lib/browser/ai-activation-service.js +0 -56
- package/lib/browser/ai-activation-service.js.map +0 -1
- package/lib/browser/ai-command-handler-factory.d.ts +0 -4
- package/lib/browser/ai-command-handler-factory.d.ts.map +0 -1
- package/lib/browser/ai-command-handler-factory.js +0 -20
- package/lib/browser/ai-command-handler-factory.js.map +0 -1
- package/lib/browser/ai-core-command-contribution.d.ts +0 -8
- package/lib/browser/ai-core-command-contribution.d.ts.map +0 -1
- package/lib/browser/ai-core-command-contribution.js +0 -44
- package/lib/browser/ai-core-command-contribution.js.map +0 -1
- package/lib/browser/ai-core-frontend-application-contribution.d.ts +0 -10
- package/lib/browser/ai-core-frontend-application-contribution.d.ts.map +0 -1
- package/lib/browser/ai-core-frontend-application-contribution.js +0 -46
- package/lib/browser/ai-core-frontend-application-contribution.js.map +0 -1
- package/lib/browser/ai-core-frontend-module.d.ts +0 -4
- package/lib/browser/ai-core-frontend-module.d.ts.map +0 -1
- package/lib/browser/ai-core-frontend-module.js +0 -137
- package/lib/browser/ai-core-frontend-module.js.map +0 -1
- package/lib/browser/ai-settings-service.d.ts +0 -16
- package/lib/browser/ai-settings-service.d.ts.map +0 -1
- package/lib/browser/ai-settings-service.js +0 -78
- package/lib/browser/ai-settings-service.js.map +0 -1
- package/lib/browser/ai-variable-uri-label-provider.d.ts +0 -17
- package/lib/browser/ai-variable-uri-label-provider.d.ts.map +0 -1
- package/lib/browser/ai-variable-uri-label-provider.js +0 -85
- package/lib/browser/ai-variable-uri-label-provider.js.map +0 -1
- package/lib/browser/ai-view-contribution.d.ts +0 -14
- package/lib/browser/ai-view-contribution.d.ts.map +0 -1
- package/lib/browser/ai-view-contribution.js +0 -87
- package/lib/browser/ai-view-contribution.js.map +0 -1
- package/lib/browser/file-variable-contribution.d.ts +0 -23
- package/lib/browser/file-variable-contribution.d.ts.map +0 -1
- package/lib/browser/file-variable-contribution.js +0 -114
- package/lib/browser/file-variable-contribution.js.map +0 -1
- package/lib/browser/frontend-language-model-alias-registry.d.ts +0 -31
- package/lib/browser/frontend-language-model-alias-registry.d.ts.map +0 -1
- package/lib/browser/frontend-language-model-alias-registry.js +0 -170
- package/lib/browser/frontend-language-model-alias-registry.js.map +0 -1
- package/lib/browser/frontend-language-model-registry.d.ts +0 -49
- package/lib/browser/frontend-language-model-registry.d.ts.map +0 -1
- package/lib/browser/frontend-language-model-registry.js +0 -387
- package/lib/browser/frontend-language-model-registry.js.map +0 -1
- package/lib/browser/frontend-language-model-registry.spec.d.ts +0 -2
- package/lib/browser/frontend-language-model-registry.spec.d.ts.map +0 -1
- package/lib/browser/frontend-language-model-registry.spec.js +0 -248
- package/lib/browser/frontend-language-model-registry.spec.js.map +0 -1
- package/lib/browser/frontend-language-model-service.d.ts +0 -10
- package/lib/browser/frontend-language-model-service.d.ts.map +0 -1
- package/lib/browser/frontend-language-model-service.js +0 -66
- package/lib/browser/frontend-language-model-service.js.map +0 -1
- package/lib/browser/frontend-prompt-customization-service.d.ts +0 -271
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +0 -1
- package/lib/browser/frontend-prompt-customization-service.js +0 -869
- package/lib/browser/frontend-prompt-customization-service.js.map +0 -1
- package/lib/browser/frontend-prompt-customization-service.spec.d.ts +0 -2
- package/lib/browser/frontend-prompt-customization-service.spec.d.ts.map +0 -1
- package/lib/browser/frontend-prompt-customization-service.spec.js +0 -127
- package/lib/browser/frontend-prompt-customization-service.spec.js.map +0 -1
- package/lib/browser/frontend-variable-service.d.ts +0 -61
- package/lib/browser/frontend-variable-service.d.ts.map +0 -1
- package/lib/browser/frontend-variable-service.js +0 -165
- package/lib/browser/frontend-variable-service.js.map +0 -1
- package/lib/browser/index.d.ts +0 -20
- package/lib/browser/index.d.ts.map +0 -1
- package/lib/browser/index.js +0 -38
- package/lib/browser/index.js.map +0 -1
- package/lib/browser/open-editors-variable-contribution.d.ts +0 -17
- package/lib/browser/open-editors-variable-contribution.d.ts.map +0 -1
- package/lib/browser/open-editors-variable-contribution.js +0 -84
- package/lib/browser/open-editors-variable-contribution.js.map +0 -1
- package/lib/browser/os-notification-service.d.ts +0 -96
- package/lib/browser/os-notification-service.d.ts.map +0 -1
- package/lib/browser/os-notification-service.js +0 -222
- package/lib/browser/os-notification-service.js.map +0 -1
- package/lib/browser/prompttemplate-contribution.d.ts +0 -29
- package/lib/browser/prompttemplate-contribution.d.ts.map +0 -1
- package/lib/browser/prompttemplate-contribution.js +0 -243
- package/lib/browser/prompttemplate-contribution.js.map +0 -1
- package/lib/browser/prompttemplate-parser.d.ts +0 -36
- package/lib/browser/prompttemplate-parser.d.ts.map +0 -1
- package/lib/browser/prompttemplate-parser.js +0 -94
- package/lib/browser/prompttemplate-parser.js.map +0 -1
- package/lib/browser/theia-variable-contribution.d.ts +0 -26
- package/lib/browser/theia-variable-contribution.d.ts.map +0 -1
- package/lib/browser/theia-variable-contribution.js +0 -146
- package/lib/browser/theia-variable-contribution.js.map +0 -1
- package/lib/browser/token-usage-frontend-service-impl.d.ts +0 -25
- package/lib/browser/token-usage-frontend-service-impl.d.ts.map +0 -1
- package/lib/browser/token-usage-frontend-service-impl.js +0 -138
- package/lib/browser/token-usage-frontend-service-impl.js.map +0 -1
- package/lib/browser/token-usage-frontend-service.d.ts +0 -33
- package/lib/browser/token-usage-frontend-service.d.ts.map +0 -1
- package/lib/browser/token-usage-frontend-service.js +0 -23
- package/lib/browser/token-usage-frontend-service.js.map +0 -1
- package/lib/browser/window-blink-service.d.ts +0 -41
- package/lib/browser/window-blink-service.d.ts.map +0 -1
- package/lib/browser/window-blink-service.js +0 -174
- package/lib/browser/window-blink-service.js.map +0 -1
- package/lib/common/agent-preferences.d.ts +0 -4
- package/lib/common/agent-preferences.d.ts.map +0 -1
- package/lib/common/agent-preferences.js +0 -84
- package/lib/common/agent-preferences.js.map +0 -1
- package/lib/common/agent-service.d.ts +0 -66
- package/lib/common/agent-service.d.ts.map +0 -1
- package/lib/common/agent-service.js +0 -104
- package/lib/common/agent-service.js.map +0 -1
- package/lib/common/agent.d.ts +0 -72
- package/lib/common/agent.d.ts.map +0 -1
- package/lib/common/agent.js +0 -20
- package/lib/common/agent.js.map +0 -1
- package/lib/common/agents-variable-contribution.d.ts +0 -19
- package/lib/common/agents-variable-contribution.d.ts.map +0 -1
- package/lib/common/agents-variable-contribution.js +0 -57
- package/lib/common/agents-variable-contribution.js.map +0 -1
- package/lib/common/ai-core-preferences.d.ts +0 -48
- package/lib/common/ai-core-preferences.d.ts.map +0 -1
- package/lib/common/ai-core-preferences.js +0 -204
- package/lib/common/ai-core-preferences.js.map +0 -1
- package/lib/common/ai-variable-resource.d.ts +0 -18
- package/lib/common/ai-variable-resource.d.ts.map +0 -1
- package/lib/common/ai-variable-resource.js +0 -103
- package/lib/common/ai-variable-resource.js.map +0 -1
- package/lib/common/configurable-in-memory-resources.d.ts +0 -47
- package/lib/common/configurable-in-memory-resources.d.ts.map +0 -1
- package/lib/common/configurable-in-memory-resources.js +0 -154
- package/lib/common/configurable-in-memory-resources.js.map +0 -1
- package/lib/common/index.d.ts +0 -22
- package/lib/common/index.d.ts.map +0 -1
- package/lib/common/index.js +0 -40
- package/lib/common/index.js.map +0 -1
- package/lib/common/language-model-alias.d.ts +0 -58
- package/lib/common/language-model-alias.d.ts.map +0 -1
- package/lib/common/language-model-alias.js +0 -20
- package/lib/common/language-model-alias.js.map +0 -1
- package/lib/common/language-model-delegate.d.ts +0 -25
- package/lib/common/language-model-delegate.d.ts.map +0 -1
- package/lib/common/language-model-delegate.js +0 -26
- package/lib/common/language-model-delegate.js.map +0 -1
- package/lib/common/language-model-interaction-model.d.ts +0 -74
- package/lib/common/language-model-interaction-model.d.ts.map +0 -1
- package/lib/common/language-model-interaction-model.js +0 -3
- package/lib/common/language-model-interaction-model.js.map +0 -1
- package/lib/common/language-model-service.d.ts +0 -38
- package/lib/common/language-model-service.d.ts.map +0 -1
- package/lib/common/language-model-service.js +0 -128
- package/lib/common/language-model-service.js.map +0 -1
- package/lib/common/language-model-util.d.ts +0 -17
- package/lib/common/language-model-util.d.ts.map +0 -1
- package/lib/common/language-model-util.js +0 -82
- package/lib/common/language-model-util.js.map +0 -1
- package/lib/common/language-model.d.ts +0 -285
- package/lib/common/language-model.d.ts.map +0 -1
- package/lib/common/language-model.js +0 -248
- package/lib/common/language-model.js.map +0 -1
- package/lib/common/language-model.spec.d.ts +0 -2
- package/lib/common/language-model.spec.d.ts.map +0 -1
- package/lib/common/language-model.spec.js +0 -62
- package/lib/common/language-model.spec.js.map +0 -1
- package/lib/common/notification-types.d.ts +0 -7
- package/lib/common/notification-types.d.ts.map +0 -1
- package/lib/common/notification-types.js +0 -29
- package/lib/common/notification-types.js.map +0 -1
- package/lib/common/prompt-service-util.d.ts +0 -8
- package/lib/common/prompt-service-util.d.ts.map +0 -1
- package/lib/common/prompt-service-util.js +0 -34
- package/lib/common/prompt-service-util.js.map +0 -1
- package/lib/common/prompt-service.d.ts +0 -466
- package/lib/common/prompt-service.d.ts.map +0 -1
- package/lib/common/prompt-service.js +0 -653
- package/lib/common/prompt-service.js.map +0 -1
- package/lib/common/prompt-service.spec.d.ts +0 -2
- package/lib/common/prompt-service.spec.d.ts.map +0 -1
- package/lib/common/prompt-service.spec.js +0 -431
- package/lib/common/prompt-service.spec.js.map +0 -1
- package/lib/common/prompt-text.d.ts +0 -8
- package/lib/common/prompt-text.d.ts.map +0 -1
- package/lib/common/prompt-text.js +0 -27
- package/lib/common/prompt-text.js.map +0 -1
- package/lib/common/prompt-variable-contribution.d.ts +0 -18
- package/lib/common/prompt-variable-contribution.d.ts.map +0 -1
- package/lib/common/prompt-variable-contribution.js +0 -207
- package/lib/common/prompt-variable-contribution.js.map +0 -1
- package/lib/common/prompt-variable-contribution.spec.d.ts +0 -2
- package/lib/common/prompt-variable-contribution.spec.d.ts.map +0 -1
- package/lib/common/prompt-variable-contribution.spec.js +0 -163
- package/lib/common/prompt-variable-contribution.spec.js.map +0 -1
- package/lib/common/protocol.d.ts +0 -25
- package/lib/common/protocol.d.ts.map +0 -1
- package/lib/common/protocol.js +0 -22
- package/lib/common/protocol.js.map +0 -1
- package/lib/common/settings-service.d.ts +0 -29
- package/lib/common/settings-service.d.ts.map +0 -1
- package/lib/common/settings-service.js +0 -5
- package/lib/common/settings-service.js.map +0 -1
- package/lib/common/today-variable-contribution.d.ts +0 -17
- package/lib/common/today-variable-contribution.d.ts.map +0 -1
- package/lib/common/today-variable-contribution.js +0 -68
- package/lib/common/today-variable-contribution.js.map +0 -1
- package/lib/common/token-usage-service.d.ts +0 -43
- package/lib/common/token-usage-service.d.ts.map +0 -1
- package/lib/common/token-usage-service.js +0 -20
- package/lib/common/token-usage-service.js.map +0 -1
- package/lib/common/tool-invocation-registry.d.ts +0 -66
- package/lib/common/tool-invocation-registry.d.ts.map +0 -1
- package/lib/common/tool-invocation-registry.js +0 -101
- package/lib/common/tool-invocation-registry.js.map +0 -1
- package/lib/common/variable-service.d.ts +0 -172
- package/lib/common/variable-service.d.ts.map +0 -1
- package/lib/common/variable-service.js +0 -287
- package/lib/common/variable-service.js.map +0 -1
- package/lib/common/variable-service.spec.d.ts +0 -2
- package/lib/common/variable-service.spec.d.ts.map +0 -1
- package/lib/common/variable-service.spec.js +0 -237
- package/lib/common/variable-service.spec.js.map +0 -1
- package/lib/node/ai-core-backend-module.d.ts +0 -4
- package/lib/node/ai-core-backend-module.d.ts.map +0 -1
- package/lib/node/ai-core-backend-module.js +0 -65
- package/lib/node/ai-core-backend-module.js.map +0 -1
- package/lib/node/backend-language-model-registry.d.ts +0 -13
- package/lib/node/backend-language-model-registry.d.ts.map +0 -1
- package/lib/node/backend-language-model-registry.js +0 -68
- package/lib/node/backend-language-model-registry.js.map +0 -1
- package/lib/node/language-model-frontend-delegate.d.ts +0 -18
- package/lib/node/language-model-frontend-delegate.d.ts.map +0 -1
- package/lib/node/language-model-frontend-delegate.js +0 -109
- package/lib/node/language-model-frontend-delegate.js.map +0 -1
- package/lib/node/token-usage-service-impl.d.ts +0 -23
- package/lib/node/token-usage-service-impl.d.ts.map +0 -1
- package/lib/node/token-usage-service-impl.js +0 -78
- package/lib/node/token-usage-service-impl.js.map +0 -1
- package/lib/node/tool-request-parameters.spec.d.ts +0 -2
- package/lib/node/tool-request-parameters.spec.d.ts.map +0 -1
- package/lib/node/tool-request-parameters.spec.js +0 -116
- package/lib/node/tool-request-parameters.spec.js.map +0 -1
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2024 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.PromptTemplateContribution = exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = exports.PROMPT_TEMPLATE_EXTENSION = void 0;
|
|
19
|
-
const tslib_1 = require("tslib");
|
|
20
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
-
const monaco = require("@theia/monaco-editor-core");
|
|
22
|
-
const core_1 = require("@theia/core");
|
|
23
|
-
const browser_1 = require("@theia/core/lib/browser");
|
|
24
|
-
const browser_2 = require("@theia/editor/lib/browser");
|
|
25
|
-
const common_1 = require("../common");
|
|
26
|
-
const variable_service_1 = require("../common/variable-service");
|
|
27
|
-
const PROMPT_TEMPLATE_LANGUAGE_ID = 'theia-ai-prompt-template';
|
|
28
|
-
const PROMPT_TEMPLATE_TEXTMATE_SCOPE = 'source.prompttemplate';
|
|
29
|
-
exports.PROMPT_TEMPLATE_EXTENSION = '.prompttemplate';
|
|
30
|
-
exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS = core_1.Command.toLocalizedCommand({
|
|
31
|
-
id: 'theia-ai-prompt-template:discard',
|
|
32
|
-
label: 'Discard AI Prompt Template',
|
|
33
|
-
iconClass: (0, browser_1.codicon)('discard'),
|
|
34
|
-
category: 'AI Prompt Templates'
|
|
35
|
-
}, 'theia/ai/core/discard/label', 'theia/ai/core/prompts/category');
|
|
36
|
-
let PromptTemplateContribution = class PromptTemplateContribution {
|
|
37
|
-
constructor() {
|
|
38
|
-
this.config = {
|
|
39
|
-
'brackets': [
|
|
40
|
-
['${', '}'],
|
|
41
|
-
['~{', '}'],
|
|
42
|
-
['{{', '}}'],
|
|
43
|
-
['{{{', '}}}']
|
|
44
|
-
],
|
|
45
|
-
'autoClosingPairs': [
|
|
46
|
-
{ 'open': '${', 'close': '}' },
|
|
47
|
-
{ 'open': '~{', 'close': '}' },
|
|
48
|
-
{ 'open': '{{', 'close': '}}' },
|
|
49
|
-
{ 'open': '{{{', 'close': '}}}' }
|
|
50
|
-
],
|
|
51
|
-
'surroundingPairs': [
|
|
52
|
-
{ 'open': '${', 'close': '}' },
|
|
53
|
-
{ 'open': '~{', 'close': '}' },
|
|
54
|
-
{ 'open': '{{', 'close': '}}' },
|
|
55
|
-
{ 'open': '{{{', 'close': '}}}' }
|
|
56
|
-
]
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
registerTextmateLanguage(registry) {
|
|
60
|
-
monaco.languages.register({
|
|
61
|
-
id: PROMPT_TEMPLATE_LANGUAGE_ID,
|
|
62
|
-
'aliases': [
|
|
63
|
-
'AI Prompt Template'
|
|
64
|
-
],
|
|
65
|
-
'extensions': [
|
|
66
|
-
exports.PROMPT_TEMPLATE_EXTENSION,
|
|
67
|
-
],
|
|
68
|
-
'filenames': []
|
|
69
|
-
});
|
|
70
|
-
monaco.languages.setLanguageConfiguration(PROMPT_TEMPLATE_LANGUAGE_ID, this.config);
|
|
71
|
-
monaco.languages.registerCompletionItemProvider(PROMPT_TEMPLATE_LANGUAGE_ID, {
|
|
72
|
-
// Monaco only supports single character trigger characters
|
|
73
|
-
triggerCharacters: ['{'],
|
|
74
|
-
provideCompletionItems: (model, position, _context, _token) => this.provideFunctionCompletions(model, position),
|
|
75
|
-
});
|
|
76
|
-
monaco.languages.registerCompletionItemProvider(PROMPT_TEMPLATE_LANGUAGE_ID, {
|
|
77
|
-
// Monaco only supports single character trigger characters
|
|
78
|
-
triggerCharacters: ['{'],
|
|
79
|
-
provideCompletionItems: (model, position, _context, _token) => this.provideVariableCompletions(model, position),
|
|
80
|
-
});
|
|
81
|
-
monaco.languages.registerCompletionItemProvider(PROMPT_TEMPLATE_LANGUAGE_ID, {
|
|
82
|
-
// Monaco only supports single character trigger characters
|
|
83
|
-
triggerCharacters: ['{', ':'],
|
|
84
|
-
provideCompletionItems: (model, position, _context, _token) => this.provideVariableWithArgCompletions(model, position),
|
|
85
|
-
});
|
|
86
|
-
const textmateGrammar = require('../../data/prompttemplate.tmLanguage.json');
|
|
87
|
-
const grammarDefinitionProvider = {
|
|
88
|
-
getGrammarDefinition: function () {
|
|
89
|
-
return Promise.resolve({
|
|
90
|
-
format: 'json',
|
|
91
|
-
content: textmateGrammar
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
registry.registerTextmateGrammarScope(PROMPT_TEMPLATE_TEXTMATE_SCOPE, grammarDefinitionProvider);
|
|
96
|
-
registry.mapLanguageIdToTextmateGrammar(PROMPT_TEMPLATE_LANGUAGE_ID, PROMPT_TEMPLATE_TEXTMATE_SCOPE);
|
|
97
|
-
}
|
|
98
|
-
provideFunctionCompletions(model, position) {
|
|
99
|
-
return this.getSuggestions(model, position, '~{', this.toolInvocationRegistry.getAllFunctions(), monaco.languages.CompletionItemKind.Function, tool => tool.id, tool => tool.name, tool => { var _a; return (_a = tool.description) !== null && _a !== void 0 ? _a : ''; });
|
|
100
|
-
}
|
|
101
|
-
provideVariableCompletions(model, position) {
|
|
102
|
-
return this.getSuggestions(model, position, '{{', this.variableService.getVariables(), monaco.languages.CompletionItemKind.Variable, variable => { var _a; return ((_a = variable.args) === null || _a === void 0 ? void 0 : _a.some(arg => !arg.isOptional)) ? variable.name + common_1.PromptText.VARIABLE_SEPARATOR_CHAR : variable.name; }, variable => variable.name, variable => { var _a; return (_a = variable.description) !== null && _a !== void 0 ? _a : ''; });
|
|
103
|
-
}
|
|
104
|
-
async provideVariableWithArgCompletions(model, position) {
|
|
105
|
-
// Get the text of the current line up to the cursor position
|
|
106
|
-
const textUntilPosition = model.getValueInRange({
|
|
107
|
-
startLineNumber: position.lineNumber,
|
|
108
|
-
startColumn: 1,
|
|
109
|
-
endLineNumber: position.lineNumber,
|
|
110
|
-
endColumn: position.column,
|
|
111
|
-
});
|
|
112
|
-
// Regex that captures the variable name in contexts like {{, {{{, {{varname, {{{varname, {{varname:, or {{{varname:
|
|
113
|
-
const variableRegex = /(?:\{\{\{|\{\{)([\w-]+)?(?::)?/;
|
|
114
|
-
const match = textUntilPosition.match(variableRegex);
|
|
115
|
-
if (!match) {
|
|
116
|
-
return { suggestions: [] };
|
|
117
|
-
}
|
|
118
|
-
const currentVariableName = match[1];
|
|
119
|
-
const hasColonSeparator = textUntilPosition.includes(`${currentVariableName}:`);
|
|
120
|
-
const variables = this.variableService.getVariables();
|
|
121
|
-
const suggestions = [];
|
|
122
|
-
for (const variable of variables) {
|
|
123
|
-
// If we have a variable:arg pattern, only process the matching variable
|
|
124
|
-
if (hasColonSeparator && variable.name !== currentVariableName) {
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
|
-
const provider = await this.variableService.getArgumentCompletionProvider(variable.name);
|
|
128
|
-
if (provider) {
|
|
129
|
-
const items = await provider(model, position, '{');
|
|
130
|
-
if (items) {
|
|
131
|
-
suggestions.push(...items.map(item => ({
|
|
132
|
-
...item
|
|
133
|
-
})));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return { suggestions };
|
|
138
|
-
}
|
|
139
|
-
getCompletionRange(model, position, triggerCharacters) {
|
|
140
|
-
// Check if the characters before the current position are the trigger characters
|
|
141
|
-
const lineContent = model.getLineContent(position.lineNumber);
|
|
142
|
-
const triggerLength = triggerCharacters.length;
|
|
143
|
-
const charactersBefore = lineContent.substring(position.column - triggerLength - 1, position.column - 1);
|
|
144
|
-
if (charactersBefore !== triggerCharacters) {
|
|
145
|
-
// Do not return agent suggestions if the user didn't just type the trigger characters
|
|
146
|
-
return undefined;
|
|
147
|
-
}
|
|
148
|
-
// Calculate the range from the position of the trigger characters
|
|
149
|
-
const wordInfo = model.getWordUntilPosition(position);
|
|
150
|
-
return new monaco.Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, position.column);
|
|
151
|
-
}
|
|
152
|
-
getSuggestions(model, position, triggerChars, items, kind, getId, getName, getDescription) {
|
|
153
|
-
const completionRange = this.getCompletionRange(model, position, triggerChars);
|
|
154
|
-
if (completionRange === undefined) {
|
|
155
|
-
return { suggestions: [] };
|
|
156
|
-
}
|
|
157
|
-
const suggestions = items.map(item => ({
|
|
158
|
-
insertText: getId(item),
|
|
159
|
-
kind: kind,
|
|
160
|
-
label: getName(item),
|
|
161
|
-
range: completionRange,
|
|
162
|
-
detail: getDescription(item),
|
|
163
|
-
}));
|
|
164
|
-
return { suggestions };
|
|
165
|
-
}
|
|
166
|
-
registerCommands(commands) {
|
|
167
|
-
commands.registerCommand(exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS, {
|
|
168
|
-
isVisible: (widget) => this.isPromptTemplateWidget(widget),
|
|
169
|
-
isEnabled: (widget) => this.canDiscard(widget),
|
|
170
|
-
execute: (widget) => this.discard(widget)
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
isPromptTemplateWidget(widget) {
|
|
174
|
-
if (widget instanceof browser_2.EditorWidget) {
|
|
175
|
-
return PROMPT_TEMPLATE_LANGUAGE_ID === widget.editor.document.languageId;
|
|
176
|
-
}
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
canDiscard(widget) {
|
|
180
|
-
const resourceUri = widget.editor.uri;
|
|
181
|
-
const id = this.promptService.getTemplateIDFromResource(resourceUri);
|
|
182
|
-
if (id === undefined) {
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
185
|
-
const rawPrompt = this.promptService.getRawPromptFragment(id);
|
|
186
|
-
const defaultPrompt = this.promptService.getBuiltInRawPrompt(id);
|
|
187
|
-
return (rawPrompt === null || rawPrompt === void 0 ? void 0 : rawPrompt.template) !== (defaultPrompt === null || defaultPrompt === void 0 ? void 0 : defaultPrompt.template);
|
|
188
|
-
}
|
|
189
|
-
async discard(widget) {
|
|
190
|
-
const resourceUri = widget.editor.uri;
|
|
191
|
-
const id = this.promptService.getTemplateIDFromResource(resourceUri);
|
|
192
|
-
if (id === undefined) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
const defaultPrompt = this.promptService.getBuiltInRawPrompt(id);
|
|
196
|
-
if (defaultPrompt === undefined) {
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
const source = widget.editor.document.getText();
|
|
200
|
-
const lastLine = widget.editor.document.getLineContent(widget.editor.document.lineCount);
|
|
201
|
-
const replaceOperation = {
|
|
202
|
-
range: {
|
|
203
|
-
start: {
|
|
204
|
-
line: 0,
|
|
205
|
-
character: 0
|
|
206
|
-
},
|
|
207
|
-
end: {
|
|
208
|
-
line: widget.editor.document.lineCount,
|
|
209
|
-
character: lastLine.length
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
text: defaultPrompt.template
|
|
213
|
-
};
|
|
214
|
-
await widget.editor.replaceText({
|
|
215
|
-
source,
|
|
216
|
-
replaceOperations: [replaceOperation]
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
registerToolbarItems(registry) {
|
|
220
|
-
registry.registerItem({
|
|
221
|
-
id: exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS.id,
|
|
222
|
-
command: exports.DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS.id,
|
|
223
|
-
tooltip: core_1.nls.localize('theia/ai/core/discardCustomPrompt/tooltip', 'Discard Customizations')
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
exports.PromptTemplateContribution = PromptTemplateContribution;
|
|
228
|
-
tslib_1.__decorate([
|
|
229
|
-
(0, inversify_1.inject)(common_1.PromptService),
|
|
230
|
-
tslib_1.__metadata("design:type", Object)
|
|
231
|
-
], PromptTemplateContribution.prototype, "promptService", void 0);
|
|
232
|
-
tslib_1.__decorate([
|
|
233
|
-
(0, inversify_1.inject)(common_1.ToolInvocationRegistry),
|
|
234
|
-
tslib_1.__metadata("design:type", Object)
|
|
235
|
-
], PromptTemplateContribution.prototype, "toolInvocationRegistry", void 0);
|
|
236
|
-
tslib_1.__decorate([
|
|
237
|
-
(0, inversify_1.inject)(variable_service_1.AIVariableService),
|
|
238
|
-
tslib_1.__metadata("design:type", Object)
|
|
239
|
-
], PromptTemplateContribution.prototype, "variableService", void 0);
|
|
240
|
-
exports.PromptTemplateContribution = PromptTemplateContribution = tslib_1.__decorate([
|
|
241
|
-
(0, inversify_1.injectable)()
|
|
242
|
-
], PromptTemplateContribution);
|
|
243
|
-
//# sourceMappingURL=prompttemplate-contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompttemplate-contribution.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { CommandPromptFragmentMetadata } from '../common';
|
|
2
|
-
/**
|
|
3
|
-
* Result of parsing a template file that may contain YAML front matter
|
|
4
|
-
*/
|
|
5
|
-
export interface ParsedTemplate {
|
|
6
|
-
/** The template content (without front matter) */
|
|
7
|
-
template: string;
|
|
8
|
-
/** Parsed metadata from YAML front matter, if present */
|
|
9
|
-
metadata?: CommandPromptFragmentMetadata;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Type guard to check if an object is valid TemplateMetadata
|
|
13
|
-
*/
|
|
14
|
-
export declare function isTemplateMetadata(obj: unknown): obj is CommandPromptFragmentMetadata;
|
|
15
|
-
/**
|
|
16
|
-
* Parses a template file that may contain YAML front matter.
|
|
17
|
-
*
|
|
18
|
-
* Front matter format:
|
|
19
|
-
* ```
|
|
20
|
-
* ---
|
|
21
|
-
* isCommand: true
|
|
22
|
-
* commandName: mycommand
|
|
23
|
-
* commandDescription: My command description
|
|
24
|
-
* commandArgumentHint: <arg1> <arg2>
|
|
25
|
-
* commandAgents:
|
|
26
|
-
* - Agent1
|
|
27
|
-
* - Agent2
|
|
28
|
-
* ---
|
|
29
|
-
* Template content here
|
|
30
|
-
* ```
|
|
31
|
-
*
|
|
32
|
-
* @param fileContent The raw file content to parse
|
|
33
|
-
* @returns ParsedTemplate containing the template content and optional metadata
|
|
34
|
-
*/
|
|
35
|
-
export declare function parseTemplateWithMetadata(fileContent: string): ParsedTemplate;
|
|
36
|
-
//# sourceMappingURL=prompttemplate-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompttemplate-parser.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-parser.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,6BAA6B,CAarF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CA0C7E"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2025 EclipseSource and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.parseTemplateWithMetadata = exports.isTemplateMetadata = void 0;
|
|
19
|
-
const js_yaml_1 = require("js-yaml");
|
|
20
|
-
/**
|
|
21
|
-
* Type guard to check if an object is valid TemplateMetadata
|
|
22
|
-
*/
|
|
23
|
-
function isTemplateMetadata(obj) {
|
|
24
|
-
if (!obj || typeof obj !== 'object') {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
const metadata = obj;
|
|
28
|
-
return ((metadata.isCommand === undefined || typeof metadata.isCommand === 'boolean') &&
|
|
29
|
-
(metadata.commandName === undefined || typeof metadata.commandName === 'string') &&
|
|
30
|
-
(metadata.commandDescription === undefined || typeof metadata.commandDescription === 'string') &&
|
|
31
|
-
(metadata.commandArgumentHint === undefined || typeof metadata.commandArgumentHint === 'string') &&
|
|
32
|
-
(metadata.commandAgents === undefined || (Array.isArray(metadata.commandAgents) &&
|
|
33
|
-
metadata.commandAgents.every(agent => typeof agent === 'string'))));
|
|
34
|
-
}
|
|
35
|
-
exports.isTemplateMetadata = isTemplateMetadata;
|
|
36
|
-
/**
|
|
37
|
-
* Parses a template file that may contain YAML front matter.
|
|
38
|
-
*
|
|
39
|
-
* Front matter format:
|
|
40
|
-
* ```
|
|
41
|
-
* ---
|
|
42
|
-
* isCommand: true
|
|
43
|
-
* commandName: mycommand
|
|
44
|
-
* commandDescription: My command description
|
|
45
|
-
* commandArgumentHint: <arg1> <arg2>
|
|
46
|
-
* commandAgents:
|
|
47
|
-
* - Agent1
|
|
48
|
-
* - Agent2
|
|
49
|
-
* ---
|
|
50
|
-
* Template content here
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* @param fileContent The raw file content to parse
|
|
54
|
-
* @returns ParsedTemplate containing the template content and optional metadata
|
|
55
|
-
*/
|
|
56
|
-
function parseTemplateWithMetadata(fileContent) {
|
|
57
|
-
const frontMatterRegex = /^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/;
|
|
58
|
-
const match = fileContent.match(frontMatterRegex);
|
|
59
|
-
if (!match) {
|
|
60
|
-
// No front matter, return content as-is
|
|
61
|
-
return { template: fileContent };
|
|
62
|
-
}
|
|
63
|
-
try {
|
|
64
|
-
const yamlContent = match[1];
|
|
65
|
-
const template = match[2];
|
|
66
|
-
const parsedYaml = (0, js_yaml_1.load)(yamlContent);
|
|
67
|
-
// Validate the parsed YAML is an object
|
|
68
|
-
if (!parsedYaml || typeof parsedYaml !== 'object') {
|
|
69
|
-
return { template: fileContent };
|
|
70
|
-
}
|
|
71
|
-
const metadata = parsedYaml;
|
|
72
|
-
// Extract and validate command metadata
|
|
73
|
-
const templateMetadata = {
|
|
74
|
-
isCommand: typeof metadata.isCommand === 'boolean' ? metadata.isCommand : undefined,
|
|
75
|
-
commandName: typeof metadata.commandName === 'string' ? metadata.commandName : undefined,
|
|
76
|
-
commandDescription: typeof metadata.commandDescription === 'string' ? metadata.commandDescription : undefined,
|
|
77
|
-
commandArgumentHint: typeof metadata.commandArgumentHint === 'string' ? metadata.commandArgumentHint : undefined,
|
|
78
|
-
commandAgents: Array.isArray(metadata.commandAgents) ? metadata.commandAgents.filter(a => typeof a === 'string') : undefined,
|
|
79
|
-
};
|
|
80
|
-
// Only include metadata if it's valid
|
|
81
|
-
if (isTemplateMetadata(templateMetadata)) {
|
|
82
|
-
return { template, metadata: templateMetadata };
|
|
83
|
-
}
|
|
84
|
-
// Metadata validation failed, return just the template
|
|
85
|
-
return { template };
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
console.error('Failed to parse front matter:', error);
|
|
89
|
-
// Return entire content if YAML parsing fails
|
|
90
|
-
return { template: fileContent };
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
exports.parseTemplateWithMetadata = parseTemplateWithMetadata;
|
|
94
|
-
//# sourceMappingURL=prompttemplate-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompttemplate-parser.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
|
|
2
|
-
import { VariableRegistry, VariableResolverService } from '@theia/variable-resolver/lib/browser';
|
|
3
|
-
import { AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext, ResolvedAIVariable } from '../common';
|
|
4
|
-
/**
|
|
5
|
-
* Mapping configuration for a Theia variable to one or more AI variables
|
|
6
|
-
*/
|
|
7
|
-
interface VariableMapping {
|
|
8
|
-
name?: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Integrates the Theia VariableRegistry with the Theia AI VariableService
|
|
13
|
-
*/
|
|
14
|
-
export declare class TheiaVariableContribution implements AIVariableContribution, AIVariableResolver {
|
|
15
|
-
private static readonly THEIA_PREFIX;
|
|
16
|
-
protected readonly variableResolverService: VariableResolverService;
|
|
17
|
-
protected readonly variableRegistry: VariableRegistry;
|
|
18
|
-
protected readonly stateService: FrontendApplicationStateService;
|
|
19
|
-
protected variableRenameMap: Map<string, VariableMapping[]>;
|
|
20
|
-
registerVariables(service: AIVariableService): void;
|
|
21
|
-
protected toTheiaVariable(request: AIVariableResolutionRequest): string;
|
|
22
|
-
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number>;
|
|
23
|
-
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
26
|
-
//# sourceMappingURL=theia-variable-contribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theia-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAGrG,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9J;;GAEG;AACH,UAAU,eAAe;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBACa,yBAA0B,YAAW,sBAAsB,EAAE,kBAAkB;IAExF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAY;IAGhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B,CAAC;IAIjE,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CA4CxD;IAEH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAgCnD,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM;IAYjE,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAI3H"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var TheiaVariableContribution_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.TheiaVariableContribution = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
// *****************************************************************************
|
|
7
|
-
// Copyright (C) 2024 EclipseSource GmbH.
|
|
8
|
-
//
|
|
9
|
-
// This program and the accompanying materials are made available under the
|
|
10
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
11
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
12
|
-
//
|
|
13
|
-
// This Source Code may also be made available under the following Secondary
|
|
14
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
15
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
16
|
-
// with the GNU Classpath Exception which is available at
|
|
17
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
18
|
-
//
|
|
19
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
20
|
-
// *****************************************************************************
|
|
21
|
-
const frontend_application_state_1 = require("@theia/core/lib/browser/frontend-application-state");
|
|
22
|
-
const nls_1 = require("@theia/core/lib/common/nls");
|
|
23
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
|
-
const browser_1 = require("@theia/variable-resolver/lib/browser");
|
|
25
|
-
/**
|
|
26
|
-
* Integrates the Theia VariableRegistry with the Theia AI VariableService
|
|
27
|
-
*/
|
|
28
|
-
let TheiaVariableContribution = TheiaVariableContribution_1 = class TheiaVariableContribution {
|
|
29
|
-
constructor() {
|
|
30
|
-
// Map original variable name to one or more mappings with new name and description.
|
|
31
|
-
// Only variables present in this map are registered.
|
|
32
|
-
this.variableRenameMap = new Map([
|
|
33
|
-
['file', [
|
|
34
|
-
{
|
|
35
|
-
name: 'currentAbsoluteFilePath',
|
|
36
|
-
description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentAbsoluteFilePath', 'The absolute path of the \
|
|
37
|
-
currently opened file. Please note that most agents will expect a relative file path (relative to the current workspace).')
|
|
38
|
-
}
|
|
39
|
-
]],
|
|
40
|
-
['selectedText', [
|
|
41
|
-
{
|
|
42
|
-
description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentSelectedText', 'The plain text that is currently selected in the \
|
|
43
|
-
opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
|
|
44
|
-
(relative to the current workspace).')
|
|
45
|
-
}
|
|
46
|
-
]],
|
|
47
|
-
['currentText', [
|
|
48
|
-
{
|
|
49
|
-
name: 'currentFileContent',
|
|
50
|
-
description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentFileContent', 'The plain content of the \
|
|
51
|
-
currently opened file. This excludes the information where the content is coming from. Please note that most agents will work better with a relative file path \
|
|
52
|
-
(relative to the current workspace).')
|
|
53
|
-
}
|
|
54
|
-
]],
|
|
55
|
-
['relativeFile', [
|
|
56
|
-
{
|
|
57
|
-
name: 'currentRelativeFilePath',
|
|
58
|
-
description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentRelativeFilePath', 'The relative path of the \
|
|
59
|
-
currently opened file.')
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: '_f',
|
|
63
|
-
description: nls_1.nls.localize('theia/ai/core/variable-contribution/dotRelativePath', 'Short reference to the relative path of the \
|
|
64
|
-
currently opened file (\'currentRelativeFilePath\').')
|
|
65
|
-
}
|
|
66
|
-
]],
|
|
67
|
-
['relativeFileDirname', [
|
|
68
|
-
{
|
|
69
|
-
name: 'currentRelativeDirPath',
|
|
70
|
-
description: nls_1.nls.localize('theia/ai/core/variable-contribution/currentRelativeDirPath', 'The relative path of the directory \
|
|
71
|
-
containing the currently opened file.')
|
|
72
|
-
}
|
|
73
|
-
]],
|
|
74
|
-
['lineNumber', [{}]],
|
|
75
|
-
['workspaceFolder', [{}]]
|
|
76
|
-
]);
|
|
77
|
-
}
|
|
78
|
-
registerVariables(service) {
|
|
79
|
-
this.stateService.reachedState('initialized_layout').then(() => {
|
|
80
|
-
// some variable contributions in Theia are done as part of the onStart, same as our AI variable contributions
|
|
81
|
-
// we therefore wait for all of them to be registered before we register we map them to our own
|
|
82
|
-
this.variableRegistry.getVariables().forEach(variable => {
|
|
83
|
-
if (!this.variableRenameMap.has(variable.name)) {
|
|
84
|
-
return; // Do not register variables not part of the map
|
|
85
|
-
}
|
|
86
|
-
const mappings = this.variableRenameMap.get(variable.name);
|
|
87
|
-
// Register each mapping for this variable
|
|
88
|
-
mappings.forEach((mapping, index) => {
|
|
89
|
-
const newName = (mapping.name && mapping.name.trim() !== '') ? mapping.name : variable.name;
|
|
90
|
-
const newDescription = (mapping.description && mapping.description.trim() !== '') ? mapping.description
|
|
91
|
-
: (variable.description && variable.description.trim() !== '' ? variable.description
|
|
92
|
-
: nls_1.nls.localize('theia/ai/core/variable-contribution/builtInVariable', 'Theia Built-in Variable'));
|
|
93
|
-
// For multiple mappings of the same variable, add a suffix to the ID to make it unique
|
|
94
|
-
const idSuffix = mappings.length > 1 ? `-${index}` : '';
|
|
95
|
-
const id = `${TheiaVariableContribution_1.THEIA_PREFIX}${variable.name}${idSuffix}`;
|
|
96
|
-
service.registerResolver({
|
|
97
|
-
id,
|
|
98
|
-
name: newName,
|
|
99
|
-
description: newDescription
|
|
100
|
-
}, this);
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
toTheiaVariable(request) {
|
|
106
|
-
// Extract the base variable name by removing the THEIA_PREFIX and any potential index suffix
|
|
107
|
-
let variableId = request.variable.id;
|
|
108
|
-
if (variableId.startsWith(TheiaVariableContribution_1.THEIA_PREFIX)) {
|
|
109
|
-
variableId = variableId.slice(TheiaVariableContribution_1.THEIA_PREFIX.length);
|
|
110
|
-
// Remove any potential index suffix (e.g., -0, -1)
|
|
111
|
-
variableId = variableId.replace(/-\d+$/, '');
|
|
112
|
-
}
|
|
113
|
-
return `\${${variableId}${request.arg ? ':' + request.arg : ''}}`;
|
|
114
|
-
}
|
|
115
|
-
async canResolve(request, context) {
|
|
116
|
-
if (!request.variable.id.startsWith(TheiaVariableContribution_1.THEIA_PREFIX)) {
|
|
117
|
-
return 0;
|
|
118
|
-
}
|
|
119
|
-
// some variables are not resolvable without providing a specific context
|
|
120
|
-
// this may be expensive but was not a problem for Theia's built-in variables
|
|
121
|
-
const resolved = await this.variableResolverService.resolve(this.toTheiaVariable(request), context);
|
|
122
|
-
return !resolved ? 0 : 1;
|
|
123
|
-
}
|
|
124
|
-
async resolve(request, context) {
|
|
125
|
-
const resolved = await this.variableResolverService.resolve(this.toTheiaVariable(request), context);
|
|
126
|
-
return resolved ? { value: resolved, variable: request.variable } : undefined;
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
exports.TheiaVariableContribution = TheiaVariableContribution;
|
|
130
|
-
TheiaVariableContribution.THEIA_PREFIX = 'theia-';
|
|
131
|
-
tslib_1.__decorate([
|
|
132
|
-
(0, inversify_1.inject)(browser_1.VariableResolverService),
|
|
133
|
-
tslib_1.__metadata("design:type", browser_1.VariableResolverService)
|
|
134
|
-
], TheiaVariableContribution.prototype, "variableResolverService", void 0);
|
|
135
|
-
tslib_1.__decorate([
|
|
136
|
-
(0, inversify_1.inject)(browser_1.VariableRegistry),
|
|
137
|
-
tslib_1.__metadata("design:type", browser_1.VariableRegistry)
|
|
138
|
-
], TheiaVariableContribution.prototype, "variableRegistry", void 0);
|
|
139
|
-
tslib_1.__decorate([
|
|
140
|
-
(0, inversify_1.inject)(frontend_application_state_1.FrontendApplicationStateService),
|
|
141
|
-
tslib_1.__metadata("design:type", frontend_application_state_1.FrontendApplicationStateService)
|
|
142
|
-
], TheiaVariableContribution.prototype, "stateService", void 0);
|
|
143
|
-
exports.TheiaVariableContribution = TheiaVariableContribution = TheiaVariableContribution_1 = tslib_1.__decorate([
|
|
144
|
-
(0, inversify_1.injectable)()
|
|
145
|
-
], TheiaVariableContribution);
|
|
146
|
-
//# sourceMappingURL=theia-variable-contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ModelTokenUsageData, TokenUsageFrontendService } from './token-usage-frontend-service';
|
|
2
|
-
import { TokenUsage, TokenUsageService } from '../common/token-usage-service';
|
|
3
|
-
import { TokenUsageServiceClient } from '../common/protocol';
|
|
4
|
-
export declare class TokenUsageServiceClientImpl implements TokenUsageServiceClient {
|
|
5
|
-
private readonly _onTokenUsageUpdated;
|
|
6
|
-
readonly onTokenUsageUpdated: import("@theia/core").Event<TokenUsage>;
|
|
7
|
-
notifyTokenUsage(usage: TokenUsage): void;
|
|
8
|
-
}
|
|
9
|
-
export declare class TokenUsageFrontendServiceImpl implements TokenUsageFrontendService {
|
|
10
|
-
protected readonly tokenUsageServiceClient: TokenUsageServiceClient;
|
|
11
|
-
protected readonly tokenUsageService: TokenUsageService;
|
|
12
|
-
private readonly _onTokenUsageUpdated;
|
|
13
|
-
readonly onTokenUsageUpdated: import("@theia/core").Event<ModelTokenUsageData[]>;
|
|
14
|
-
private cachedUsageData;
|
|
15
|
-
protected init(): void;
|
|
16
|
-
/**
|
|
17
|
-
* Gets the current token usage data for all models
|
|
18
|
-
*/
|
|
19
|
-
getTokenUsageData(): Promise<ModelTokenUsageData[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Aggregates token usages by model
|
|
22
|
-
*/
|
|
23
|
-
private aggregateTokenUsages;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=token-usage-frontend-service-impl.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-usage-frontend-service-impl.d.ts","sourceRoot":"","sources":["../../src/browser/token-usage-frontend-service-impl.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qBACa,2BAA4B,YAAW,uBAAuB;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,mBAAmB,0CAAmC;IAE/D,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAI5C;AAED,qBACa,6BAA8B,YAAW,yBAAyB;IAG3E,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwC;IAC7E,QAAQ,CAAC,mBAAmB,qDAAmC;IAE/D,OAAO,CAAC,eAAe,CAA6B;IAGpD,SAAS,CAAC,IAAI,IAAI,IAAI;IAQtB;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAWzD;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAoE/B"}
|