@theia/ai-core 1.67.0-next.13 → 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,207 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PromptVariableContribution = exports.PROMPT_VARIABLE = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
// *****************************************************************************
|
|
6
|
-
// Copyright (C) 2025 EclipseSource GmbH.
|
|
7
|
-
//
|
|
8
|
-
// This program and the accompanying materials are made available under the
|
|
9
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
10
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
11
|
-
//
|
|
12
|
-
// This Source Code may also be made available under the following Secondary
|
|
13
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
14
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
15
|
-
// with the GNU Classpath Exception which is available at
|
|
16
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
17
|
-
//
|
|
18
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
19
|
-
// *****************************************************************************
|
|
20
|
-
const core_1 = require("@theia/core");
|
|
21
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
-
const monaco = require("@theia/monaco-editor-core");
|
|
23
|
-
const prompt_service_1 = require("./prompt-service");
|
|
24
|
-
const prompt_text_1 = require("./prompt-text");
|
|
25
|
-
exports.PROMPT_VARIABLE = {
|
|
26
|
-
id: 'prompt-provider',
|
|
27
|
-
description: core_1.nls.localize('theia/ai/core/promptVariable/description', 'Resolves prompt templates via the prompt service'),
|
|
28
|
-
name: 'prompt',
|
|
29
|
-
args: [
|
|
30
|
-
{ name: 'id', description: core_1.nls.localize('theia/ai/core/promptVariable/argDescription', 'The prompt template id to resolve') }
|
|
31
|
-
]
|
|
32
|
-
};
|
|
33
|
-
let PromptVariableContribution = class PromptVariableContribution {
|
|
34
|
-
registerVariables(service) {
|
|
35
|
-
service.registerResolver(exports.PROMPT_VARIABLE, this);
|
|
36
|
-
service.registerArgumentPicker(exports.PROMPT_VARIABLE, this.triggerArgumentPicker.bind(this));
|
|
37
|
-
service.registerArgumentCompletionProvider(exports.PROMPT_VARIABLE, this.provideArgumentCompletionItems.bind(this));
|
|
38
|
-
}
|
|
39
|
-
canResolve(request, context) {
|
|
40
|
-
if (request.variable.name === exports.PROMPT_VARIABLE.name) {
|
|
41
|
-
return 1;
|
|
42
|
-
}
|
|
43
|
-
return -1;
|
|
44
|
-
}
|
|
45
|
-
async resolve(request, context, resolveDependency) {
|
|
46
|
-
var _a;
|
|
47
|
-
if (request.variable.name === exports.PROMPT_VARIABLE.name) {
|
|
48
|
-
const arg = (_a = request.arg) === null || _a === void 0 ? void 0 : _a.trim();
|
|
49
|
-
if (arg) {
|
|
50
|
-
// Check if this is a command-style reference (contains | separator)
|
|
51
|
-
const pipeIndex = arg.indexOf('|');
|
|
52
|
-
const promptIdOrCommandName = pipeIndex >= 0 ? arg.substring(0, pipeIndex) : arg;
|
|
53
|
-
const commandArgs = pipeIndex >= 0 ? arg.substring(pipeIndex + 1) : '';
|
|
54
|
-
// Determine the actual fragment ID
|
|
55
|
-
// If this is a command invocation (has args), try to find by command name first
|
|
56
|
-
let fragment = commandArgs
|
|
57
|
-
? this.promptService.getPromptFragmentByCommandName(promptIdOrCommandName)
|
|
58
|
-
: undefined;
|
|
59
|
-
// Fall back to looking up by fragment ID if not found by command name
|
|
60
|
-
if (!fragment) {
|
|
61
|
-
fragment = this.promptService.getRawPromptFragment(promptIdOrCommandName);
|
|
62
|
-
}
|
|
63
|
-
// If we still don't have a fragment, we can't resolve
|
|
64
|
-
if (!fragment) {
|
|
65
|
-
this.logger.debug(`Could not find prompt fragment or command '${promptIdOrCommandName}'`);
|
|
66
|
-
return {
|
|
67
|
-
variable: request.variable,
|
|
68
|
-
value: '',
|
|
69
|
-
allResolvedDependencies: []
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
const fragmentId = fragment.id;
|
|
73
|
-
// Resolve the prompt fragment normally (this handles {{variables}} and ~{functions})
|
|
74
|
-
const resolvedPrompt = await this.promptService.getResolvedPromptFragmentWithoutFunctions(fragmentId, undefined, context, resolveDependency);
|
|
75
|
-
if (resolvedPrompt) {
|
|
76
|
-
// If command args were provided, substitute them in the resolved text
|
|
77
|
-
// This happens AFTER variable/function resolution, so $ARGUMENTS can be part of the template
|
|
78
|
-
// alongside {{variables}} which get resolved first
|
|
79
|
-
const isCommand = (fragment === null || fragment === void 0 ? void 0 : fragment.isCommand) === true;
|
|
80
|
-
const finalText = isCommand && commandArgs
|
|
81
|
-
? this.substituteCommandArguments(resolvedPrompt.text, promptIdOrCommandName, commandArgs)
|
|
82
|
-
: resolvedPrompt.text;
|
|
83
|
-
return {
|
|
84
|
-
variable: request.variable,
|
|
85
|
-
value: finalText,
|
|
86
|
-
allResolvedDependencies: resolvedPrompt.variables
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
this.logger.debug(`Could not resolve prompt variable '${request.variable.name}' with arg '${request.arg}'. Returning empty string.`);
|
|
92
|
-
return {
|
|
93
|
-
variable: request.variable,
|
|
94
|
-
value: '',
|
|
95
|
-
allResolvedDependencies: []
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
substituteCommandArguments(template, commandName, commandArgs) {
|
|
99
|
-
// Parse arguments (respecting quotes)
|
|
100
|
-
const args = this.parseCommandArguments(commandArgs);
|
|
101
|
-
// Substitute $ARGUMENTS with full arg string
|
|
102
|
-
let result = template.replace(/\$ARGUMENTS/g, commandArgs);
|
|
103
|
-
// Substitute $0 with command name
|
|
104
|
-
result = result.replace(/\$0/g, commandName);
|
|
105
|
-
// Substitute numbered arguments in reverse order to avoid collision
|
|
106
|
-
// (e.g., $10 before $1 to prevent $1 from matching the "1" in "$10")
|
|
107
|
-
for (let i = args.length; i > 0; i--) {
|
|
108
|
-
const regex = new RegExp(`\\$${i}\\b`, 'g');
|
|
109
|
-
result = result.replace(regex, args[i - 1]);
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
parseCommandArguments(commandArgs) {
|
|
114
|
-
const args = [];
|
|
115
|
-
let current = '';
|
|
116
|
-
let inQuotes = false;
|
|
117
|
-
let quoteChar = '';
|
|
118
|
-
for (let i = 0; i < commandArgs.length; i++) {
|
|
119
|
-
const char = commandArgs[i];
|
|
120
|
-
// Handle escape sequences within quotes
|
|
121
|
-
if (char === '\\' && i + 1 < commandArgs.length && inQuotes) {
|
|
122
|
-
const nextChar = commandArgs[i + 1];
|
|
123
|
-
if (nextChar === '"' || nextChar === "'" || nextChar === '\\') {
|
|
124
|
-
current += nextChar;
|
|
125
|
-
i++; // Skip the next character
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if ((char === '"' || char === "'") && !inQuotes) {
|
|
130
|
-
inQuotes = true;
|
|
131
|
-
quoteChar = char;
|
|
132
|
-
}
|
|
133
|
-
else if (char === quoteChar && inQuotes) {
|
|
134
|
-
inQuotes = false;
|
|
135
|
-
quoteChar = '';
|
|
136
|
-
}
|
|
137
|
-
else if (char === ' ' && !inQuotes) {
|
|
138
|
-
if (current.trim()) {
|
|
139
|
-
args.push(current.trim());
|
|
140
|
-
current = '';
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
current += char;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
if (current.trim()) {
|
|
148
|
-
args.push(current.trim());
|
|
149
|
-
}
|
|
150
|
-
return args;
|
|
151
|
-
}
|
|
152
|
-
async triggerArgumentPicker() {
|
|
153
|
-
// Trigger the suggestion command to show argument completions
|
|
154
|
-
this.commandService.executeCommand('editor.action.triggerSuggest');
|
|
155
|
-
// Return undefined because we don't actually pick the argument here.
|
|
156
|
-
// The argument is selected and inserted by the monaco editor's completion mechanism.
|
|
157
|
-
return undefined;
|
|
158
|
-
}
|
|
159
|
-
async provideArgumentCompletionItems(model, position) {
|
|
160
|
-
const lineContent = model.getLineContent(position.lineNumber);
|
|
161
|
-
// Only provide completions once the variable argument separator is typed
|
|
162
|
-
const triggerCharIndex = lineContent.lastIndexOf(prompt_text_1.PromptText.VARIABLE_SEPARATOR_CHAR, position.column - 1);
|
|
163
|
-
if (triggerCharIndex === -1) {
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
166
|
-
// Check if the text immediately before the trigger is the prompt variable, i.e #prompt
|
|
167
|
-
const requiredVariable = `${prompt_text_1.PromptText.VARIABLE_CHAR}${exports.PROMPT_VARIABLE.name}`;
|
|
168
|
-
if (triggerCharIndex < requiredVariable.length ||
|
|
169
|
-
lineContent.substring(triggerCharIndex - requiredVariable.length, triggerCharIndex) !== requiredVariable) {
|
|
170
|
-
return undefined;
|
|
171
|
-
}
|
|
172
|
-
const range = new monaco.Range(position.lineNumber, triggerCharIndex + 2, position.lineNumber, position.column);
|
|
173
|
-
const activePrompts = this.promptService.getActivePromptFragments();
|
|
174
|
-
let builtinPromptCompletions = undefined;
|
|
175
|
-
if (activePrompts.length > 0) {
|
|
176
|
-
builtinPromptCompletions = [];
|
|
177
|
-
activePrompts.forEach(prompt => (builtinPromptCompletions.push({
|
|
178
|
-
label: prompt.id,
|
|
179
|
-
kind: (0, prompt_service_1.isCustomizedPromptFragment)(prompt) ? monaco.languages.CompletionItemKind.Enum : monaco.languages.CompletionItemKind.Variable,
|
|
180
|
-
insertText: prompt.id,
|
|
181
|
-
range,
|
|
182
|
-
detail: (0, prompt_service_1.isCustomizedPromptFragment)(prompt) ?
|
|
183
|
-
core_1.nls.localize('theia/ai/core/promptVariable/completions/detail/custom', 'Customized prompt fragment') :
|
|
184
|
-
core_1.nls.localize('theia/ai/core/promptVariable/completions/detail/builtin', 'Built-in prompt fragment'),
|
|
185
|
-
sortText: `${prompt.id}`
|
|
186
|
-
})));
|
|
187
|
-
}
|
|
188
|
-
return builtinPromptCompletions;
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
exports.PromptVariableContribution = PromptVariableContribution;
|
|
192
|
-
tslib_1.__decorate([
|
|
193
|
-
(0, inversify_1.inject)(core_1.CommandService),
|
|
194
|
-
tslib_1.__metadata("design:type", Object)
|
|
195
|
-
], PromptVariableContribution.prototype, "commandService", void 0);
|
|
196
|
-
tslib_1.__decorate([
|
|
197
|
-
(0, inversify_1.inject)(prompt_service_1.PromptService),
|
|
198
|
-
tslib_1.__metadata("design:type", Object)
|
|
199
|
-
], PromptVariableContribution.prototype, "promptService", void 0);
|
|
200
|
-
tslib_1.__decorate([
|
|
201
|
-
(0, inversify_1.inject)(core_1.ILogger),
|
|
202
|
-
tslib_1.__metadata("design:type", Object)
|
|
203
|
-
], PromptVariableContribution.prototype, "logger", void 0);
|
|
204
|
-
exports.PromptVariableContribution = PromptVariableContribution = tslib_1.__decorate([
|
|
205
|
-
(0, inversify_1.injectable)()
|
|
206
|
-
], PromptVariableContribution);
|
|
207
|
-
//# sourceMappingURL=prompt-variable-contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-variable-contribution.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-variable-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.spec.ts"],"names":[],"mappings":"AAoBA,OAAO,kBAAkB,CAAC"}
|
|
@@ -1,163 +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
|
-
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
-
let disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
-
require("reflect-metadata");
|
|
21
|
-
const chai_1 = require("chai");
|
|
22
|
-
const sinon = require("sinon");
|
|
23
|
-
const inversify_1 = require("inversify");
|
|
24
|
-
const core_1 = require("@theia/core");
|
|
25
|
-
const prompt_variable_contribution_1 = require("./prompt-variable-contribution");
|
|
26
|
-
const prompt_service_1 = require("./prompt-service");
|
|
27
|
-
const variable_service_1 = require("./variable-service");
|
|
28
|
-
const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
|
|
29
|
-
disableJSDOM();
|
|
30
|
-
describe('PromptVariableContribution', () => {
|
|
31
|
-
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
32
|
-
after(() => disableJSDOM());
|
|
33
|
-
let contribution;
|
|
34
|
-
let promptService;
|
|
35
|
-
let container;
|
|
36
|
-
beforeEach(() => {
|
|
37
|
-
container = new inversify_1.Container();
|
|
38
|
-
// Set up PromptService
|
|
39
|
-
container.bind(prompt_service_1.PromptService).to(prompt_service_1.PromptServiceImpl).inSingletonScope();
|
|
40
|
-
const logger = sinon.createStubInstance(core_1.Logger);
|
|
41
|
-
const variableService = new variable_service_1.DefaultAIVariableService({ getContributions: () => [] }, logger);
|
|
42
|
-
container.bind(variable_service_1.AIVariableService).toConstantValue(variableService);
|
|
43
|
-
container.bind(core_1.ILogger).toConstantValue(new mock_logger_1.MockLogger);
|
|
44
|
-
// Set up CommandService stub (needed for PromptVariableContribution but not used in these tests)
|
|
45
|
-
const commandService = sinon.createStubInstance(core_1.Logger); // Using Logger as a simple mock
|
|
46
|
-
container.bind(core_1.CommandService).toConstantValue(commandService);
|
|
47
|
-
// Bind PromptVariableContribution with proper DI
|
|
48
|
-
container.bind(prompt_variable_contribution_1.PromptVariableContribution).toSelf().inSingletonScope();
|
|
49
|
-
// Get instances
|
|
50
|
-
promptService = container.get(prompt_service_1.PromptService);
|
|
51
|
-
contribution = container.get(prompt_variable_contribution_1.PromptVariableContribution);
|
|
52
|
-
});
|
|
53
|
-
describe('Command Argument Substitution', () => {
|
|
54
|
-
it('substitutes $ARGUMENTS with full argument string', async () => {
|
|
55
|
-
promptService.addBuiltInPromptFragment({
|
|
56
|
-
id: 'test-cmd',
|
|
57
|
-
template: 'Process: $ARGUMENTS',
|
|
58
|
-
isCommand: true,
|
|
59
|
-
commandName: 'test'
|
|
60
|
-
});
|
|
61
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|arg1 arg2 arg3' }, {});
|
|
62
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Process: arg1 arg2 arg3');
|
|
63
|
-
});
|
|
64
|
-
it('substitutes $0 with command name', async () => {
|
|
65
|
-
promptService.addBuiltInPromptFragment({
|
|
66
|
-
id: 'test-cmd',
|
|
67
|
-
template: 'Command $0 was called',
|
|
68
|
-
isCommand: true,
|
|
69
|
-
commandName: 'test'
|
|
70
|
-
});
|
|
71
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|args' }, {});
|
|
72
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Command test-cmd was called');
|
|
73
|
-
});
|
|
74
|
-
it('substitutes $1, $2, ... with individual arguments', async () => {
|
|
75
|
-
promptService.addBuiltInPromptFragment({
|
|
76
|
-
id: 'compare-cmd',
|
|
77
|
-
template: 'Compare $1 with $2',
|
|
78
|
-
isCommand: true,
|
|
79
|
-
commandName: 'compare'
|
|
80
|
-
});
|
|
81
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'compare-cmd|item1 item2' }, {});
|
|
82
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Compare item1 with item2');
|
|
83
|
-
});
|
|
84
|
-
it('handles quoted arguments in $1, $2', async () => {
|
|
85
|
-
promptService.addBuiltInPromptFragment({
|
|
86
|
-
id: 'test-cmd',
|
|
87
|
-
template: 'First: $1, Second: $2',
|
|
88
|
-
isCommand: true,
|
|
89
|
-
commandName: 'test'
|
|
90
|
-
});
|
|
91
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|"arg with spaces" other' }, {});
|
|
92
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('First: arg with spaces, Second: other');
|
|
93
|
-
});
|
|
94
|
-
it('handles escaped quotes in arguments', async () => {
|
|
95
|
-
promptService.addBuiltInPromptFragment({
|
|
96
|
-
id: 'test-cmd',
|
|
97
|
-
template: 'Arg: $1',
|
|
98
|
-
isCommand: true,
|
|
99
|
-
commandName: 'test'
|
|
100
|
-
});
|
|
101
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|"value with \\"quote\\""' }, {});
|
|
102
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Arg: value with "quote"');
|
|
103
|
-
});
|
|
104
|
-
it('handles 10+ arguments correctly', async () => {
|
|
105
|
-
promptService.addBuiltInPromptFragment({
|
|
106
|
-
id: 'test-cmd',
|
|
107
|
-
template: 'Args: $1 $10 $11',
|
|
108
|
-
isCommand: true,
|
|
109
|
-
commandName: 'test'
|
|
110
|
-
});
|
|
111
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|a b c d e f g h i j k' }, {});
|
|
112
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Args: a j k');
|
|
113
|
-
});
|
|
114
|
-
it('handles command without arguments', async () => {
|
|
115
|
-
promptService.addBuiltInPromptFragment({
|
|
116
|
-
id: 'hello-cmd',
|
|
117
|
-
template: 'Hello, world!',
|
|
118
|
-
isCommand: true,
|
|
119
|
-
commandName: 'hello'
|
|
120
|
-
});
|
|
121
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'hello-cmd' }, {});
|
|
122
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Hello, world!');
|
|
123
|
-
});
|
|
124
|
-
it('handles non-command prompts without substitution', async () => {
|
|
125
|
-
promptService.addBuiltInPromptFragment({
|
|
126
|
-
id: 'normal-prompt',
|
|
127
|
-
template: 'This has $1 and $ARGUMENTS but is not a command'
|
|
128
|
-
});
|
|
129
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'normal-prompt' }, {});
|
|
130
|
-
// No substitution should occur for non-commands
|
|
131
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('This has $1 and $ARGUMENTS but is not a command');
|
|
132
|
-
});
|
|
133
|
-
it('handles missing argument placeholders gracefully', async () => {
|
|
134
|
-
promptService.addBuiltInPromptFragment({
|
|
135
|
-
id: 'test-cmd',
|
|
136
|
-
template: 'Args: $1 $2 $3',
|
|
137
|
-
isCommand: true,
|
|
138
|
-
commandName: 'test'
|
|
139
|
-
});
|
|
140
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|only-one' }, {});
|
|
141
|
-
// Missing arguments should remain as placeholders
|
|
142
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Args: only-one $2 $3');
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
describe('Command Resolution', () => {
|
|
146
|
-
it('resolves command fragments correctly', async () => {
|
|
147
|
-
promptService.addBuiltInPromptFragment({
|
|
148
|
-
id: 'test-cmd',
|
|
149
|
-
template: 'Do something with $ARGUMENTS',
|
|
150
|
-
isCommand: true,
|
|
151
|
-
commandName: 'test'
|
|
152
|
-
});
|
|
153
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'test-cmd|input' }, {});
|
|
154
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('Do something with input');
|
|
155
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.variable).to.deep.equal(prompt_variable_contribution_1.PROMPT_VARIABLE);
|
|
156
|
-
});
|
|
157
|
-
it('returns empty string for non-existent prompts', async () => {
|
|
158
|
-
const result = await contribution.resolve({ variable: prompt_variable_contribution_1.PROMPT_VARIABLE, arg: 'non-existent|args' }, {});
|
|
159
|
-
(0, chai_1.expect)(result === null || result === void 0 ? void 0 : result.value).to.equal('');
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
//# sourceMappingURL=prompt-variable-contribution.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-variable-contribution.spec.js","sourceRoot":"","sources":["../../src/common/prompt-variable-contribution.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/common/protocol.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Event } from '@theia/core';
|
|
2
|
-
import { LanguageModelMetaData } from './language-model';
|
|
3
|
-
import { TokenUsage } from './token-usage-service';
|
|
4
|
-
export declare const LanguageModelRegistryClient: unique symbol;
|
|
5
|
-
export interface LanguageModelRegistryClient {
|
|
6
|
-
languageModelAdded(metadata: LanguageModelMetaData): void;
|
|
7
|
-
languageModelRemoved(id: string): void;
|
|
8
|
-
/**
|
|
9
|
-
* Notify the client that a language model was updated.
|
|
10
|
-
*/
|
|
11
|
-
onLanguageModelUpdated(id: string): void;
|
|
12
|
-
}
|
|
13
|
-
export declare const TOKEN_USAGE_SERVICE_PATH = "/services/token-usage";
|
|
14
|
-
export declare const TokenUsageServiceClient: unique symbol;
|
|
15
|
-
export interface TokenUsageServiceClient {
|
|
16
|
-
/**
|
|
17
|
-
* Notify the client about new token usage
|
|
18
|
-
*/
|
|
19
|
-
notifyTokenUsage(usage: TokenUsage): void;
|
|
20
|
-
/**
|
|
21
|
-
* An event that is fired when token usage data is updated.
|
|
22
|
-
*/
|
|
23
|
-
readonly onTokenUsageUpdated: Event<TokenUsage>;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/common/protocol.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AACjF,MAAM,WAAW,2BAA2B;IACxC,kBAAkB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1D,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;;OAEG;IACH,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CACnD"}
|
package/lib/common/protocol.js
DELETED
|
@@ -1,22 +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.TokenUsageServiceClient = exports.TOKEN_USAGE_SERVICE_PATH = exports.LanguageModelRegistryClient = void 0;
|
|
19
|
-
exports.LanguageModelRegistryClient = Symbol('LanguageModelRegistryClient');
|
|
20
|
-
exports.TOKEN_USAGE_SERVICE_PATH = '/services/token-usage';
|
|
21
|
-
exports.TokenUsageServiceClient = Symbol('TokenUsageServiceClient');
|
|
22
|
-
//# sourceMappingURL=protocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/common/protocol.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;;;AAMnE,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAUpE,QAAA,wBAAwB,GAAG,uBAAuB,CAAC;AAEnD,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Event } from '@theia/core';
|
|
2
|
-
import { LanguageModelRequirement } from './language-model';
|
|
3
|
-
import { NotificationType } from './notification-types';
|
|
4
|
-
export declare const AISettingsService: unique symbol;
|
|
5
|
-
/**
|
|
6
|
-
* Service to store and retrieve settings on a per-agent basis.
|
|
7
|
-
*/
|
|
8
|
-
export interface AISettingsService {
|
|
9
|
-
updateAgentSettings(agent: string, agentSettings: Partial<AgentSettings>): Promise<void>;
|
|
10
|
-
getAgentSettings(agent: string): Promise<AgentSettings | undefined>;
|
|
11
|
-
getSettings(): Promise<AISettings>;
|
|
12
|
-
onDidChange: Event<void>;
|
|
13
|
-
}
|
|
14
|
-
export type AISettings = Record<string, AgentSettings>;
|
|
15
|
-
export interface AgentSettings {
|
|
16
|
-
languageModelRequirements?: LanguageModelRequirement[];
|
|
17
|
-
enable?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* A mapping of main template IDs to their selected variant IDs.
|
|
20
|
-
* If a main template is not present in this mapping, it means the main template is used.
|
|
21
|
-
*/
|
|
22
|
-
selectedVariants?: Record<string, string>;
|
|
23
|
-
/**
|
|
24
|
-
* Configuration for completion notifications when the agent finishes a task.
|
|
25
|
-
* If undefined, defaults to 'off'.
|
|
26
|
-
*/
|
|
27
|
-
completionNotification?: NotificationType;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=settings-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings-service.d.ts","sourceRoot":"","sources":["../../src/common/settings-service.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACpE,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC5B;AACD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACvD,MAAM,WAAW,aAAa;IAC1B,yBAAyB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;CAC7C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings-service.js","sourceRoot":"","sources":["../../src/common/settings-service.ts"],"names":[],"mappings":";;;AAmBa,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { MaybePromise } from '@theia/core';
|
|
2
|
-
import { AIVariable, ResolvedAIVariable, AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext } from './variable-service';
|
|
3
|
-
export declare namespace TodayVariableArgs {
|
|
4
|
-
const IN_UNIX_SECONDS = "inUnixSeconds";
|
|
5
|
-
const IN_ISO_8601 = "inIso8601";
|
|
6
|
-
}
|
|
7
|
-
export declare const TODAY_VARIABLE: AIVariable;
|
|
8
|
-
export interface ResolvedTodayVariable extends ResolvedAIVariable {
|
|
9
|
-
date: Date;
|
|
10
|
-
}
|
|
11
|
-
export declare class TodayVariableContribution implements AIVariableContribution, AIVariableResolver {
|
|
12
|
-
registerVariables(service: AIVariableService): void;
|
|
13
|
-
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
14
|
-
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
15
|
-
private resolveTodayVariable;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=today-variable-contribution.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"today-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/common/today-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEnL,yBAAiB,iBAAiB,CAAC;IACxB,MAAM,eAAe,kBAAkB,CAAC;IACxC,MAAM,WAAW,cAAc,CAAC;CAC1C;AAED,eAAO,MAAM,cAAc,EAAE,UAY5B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,IAAI,CAAC;CACd;AAED,qBACa,yBAA0B,YAAW,sBAAsB,EAAE,kBAAkB;IACxF,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAInD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAI5F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAOxH,OAAO,CAAC,oBAAoB;CAU/B"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TodayVariableContribution = exports.TODAY_VARIABLE = exports.TodayVariableArgs = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
// *****************************************************************************
|
|
6
|
-
// Copyright (C) 2024 EclipseSource GmbH.
|
|
7
|
-
//
|
|
8
|
-
// This program and the accompanying materials are made available under the
|
|
9
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
10
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
11
|
-
//
|
|
12
|
-
// This Source Code may also be made available under the following Secondary
|
|
13
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
14
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
15
|
-
// with the GNU Classpath Exception which is available at
|
|
16
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
17
|
-
//
|
|
18
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
19
|
-
// *****************************************************************************
|
|
20
|
-
const core_1 = require("@theia/core");
|
|
21
|
-
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
-
var TodayVariableArgs;
|
|
23
|
-
(function (TodayVariableArgs) {
|
|
24
|
-
TodayVariableArgs.IN_UNIX_SECONDS = 'inUnixSeconds';
|
|
25
|
-
TodayVariableArgs.IN_ISO_8601 = 'inIso8601';
|
|
26
|
-
})(TodayVariableArgs || (exports.TodayVariableArgs = TodayVariableArgs = {}));
|
|
27
|
-
exports.TODAY_VARIABLE = {
|
|
28
|
-
id: 'today-provider',
|
|
29
|
-
description: core_1.nls.localize('theia/ai/core/todayVariable/description', 'Does something for today'),
|
|
30
|
-
name: 'today',
|
|
31
|
-
args: [
|
|
32
|
-
{
|
|
33
|
-
name: 'Format',
|
|
34
|
-
description: core_1.nls.localize('theia/ai/core/todayVariable/format/description', 'The format of the date'),
|
|
35
|
-
enum: [TodayVariableArgs.IN_ISO_8601, TodayVariableArgs.IN_UNIX_SECONDS],
|
|
36
|
-
isOptional: true
|
|
37
|
-
}
|
|
38
|
-
]
|
|
39
|
-
};
|
|
40
|
-
let TodayVariableContribution = class TodayVariableContribution {
|
|
41
|
-
registerVariables(service) {
|
|
42
|
-
service.registerResolver(exports.TODAY_VARIABLE, this);
|
|
43
|
-
}
|
|
44
|
-
canResolve(request, context) {
|
|
45
|
-
return 1;
|
|
46
|
-
}
|
|
47
|
-
async resolve(request, context) {
|
|
48
|
-
if (request.variable.name === exports.TODAY_VARIABLE.name) {
|
|
49
|
-
return this.resolveTodayVariable(request);
|
|
50
|
-
}
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
resolveTodayVariable(request) {
|
|
54
|
-
const date = new Date();
|
|
55
|
-
if (request.arg === TodayVariableArgs.IN_ISO_8601) {
|
|
56
|
-
return { variable: request.variable, value: date.toISOString(), date };
|
|
57
|
-
}
|
|
58
|
-
if (request.arg === TodayVariableArgs.IN_UNIX_SECONDS) {
|
|
59
|
-
return { variable: request.variable, value: Math.round(date.getTime() / 1000).toString(), date };
|
|
60
|
-
}
|
|
61
|
-
return { variable: request.variable, value: date.toDateString(), date };
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
exports.TodayVariableContribution = TodayVariableContribution;
|
|
65
|
-
exports.TodayVariableContribution = TodayVariableContribution = tslib_1.__decorate([
|
|
66
|
-
(0, inversify_1.injectable)()
|
|
67
|
-
], TodayVariableContribution);
|
|
68
|
-
//# sourceMappingURL=today-variable-contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"today-variable-contribution.js","sourceRoot":"","sources":["../../src/common/today-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;AAChF,sCAAgD;AAChD,4DAA0D;AAG1D,IAAiB,iBAAiB,CAGjC;AAHD,WAAiB,iBAAiB;IACjB,iCAAe,GAAG,eAAe,CAAC;IAClC,6BAAW,GAAG,WAAW,CAAC;AAC3C,CAAC,EAHgB,iBAAiB,iCAAjB,iBAAiB,QAGjC;AAEY,QAAA,cAAc,GAAe;IACtC,EAAE,EAAE,gBAAgB;IACpB,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,yCAAyC,EAAE,0BAA0B,CAAC;IAChG,IAAI,EAAE,OAAO;IACb,IAAI,EAAE;QACF;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,gDAAgD,EAAE,wBAAwB,CAAC;YACrG,IAAI,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAAC;YACxE,UAAU,EAAE,IAAI;SACnB;KACJ;CACJ,CAAC;AAOK,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAClC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,sBAAc,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,CAAC,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,IAAI,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,OAAoC;QAC7D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,GAAG,KAAK,iBAAiB,CAAC,WAAW,EAAE,CAAC;YAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,iBAAiB,CAAC,eAAe,EAAE,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC;QACrG,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;CACJ,CAAA;AA1BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,sBAAU,GAAE;GACA,yBAAyB,CA0BrC"}
|