@theia/ai-core 1.60.0-next.43 → 1.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/ai-core-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-core-frontend-module.js +4 -0
- package/lib/browser/ai-core-frontend-module.js.map +1 -1
- package/lib/browser/ai-core-preferences.d.ts +22 -8
- package/lib/browser/ai-core-preferences.d.ts.map +1 -1
- package/lib/browser/ai-core-preferences.js +90 -10
- package/lib/browser/ai-core-preferences.js.map +1 -1
- package/lib/browser/frontend-language-model-registry.d.ts.map +1 -1
- package/lib/browser/frontend-language-model-registry.js +1 -1
- package/lib/browser/frontend-language-model-registry.js.map +1 -1
- package/lib/browser/frontend-language-model-service.d.ts +10 -0
- package/lib/browser/frontend-language-model-service.d.ts.map +1 -0
- package/lib/browser/frontend-language-model-service.js +66 -0
- package/lib/browser/frontend-language-model-service.js.map +1 -0
- package/lib/browser/frontend-prompt-customization-service.d.ts +99 -2
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -1
- package/lib/browser/frontend-prompt-customization-service.js +245 -23
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -1
- package/lib/browser/index.d.ts +1 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/prompttemplate-contribution.d.ts +4 -0
- package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
- package/lib/browser/prompttemplate-contribution.js +61 -2
- package/lib/browser/prompttemplate-contribution.js.map +1 -1
- package/lib/browser/theia-variable-contribution.d.ts +9 -4
- package/lib/browser/theia-variable-contribution.d.ts.map +1 -1
- package/lib/browser/theia-variable-contribution.js +67 -38
- package/lib/browser/theia-variable-contribution.js.map +1 -1
- package/lib/common/communication-recording-service.d.ts +8 -7
- package/lib/common/communication-recording-service.d.ts.map +1 -1
- package/lib/common/communication-recording-service.js.map +1 -1
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/language-model-service.d.ts +15 -0
- package/lib/common/language-model-service.d.ts.map +1 -0
- package/lib/common/language-model-service.js +51 -0
- package/lib/common/language-model-service.js.map +1 -0
- package/lib/common/language-model-util.d.ts.map +1 -1
- package/lib/common/language-model-util.js +1 -2
- package/lib/common/language-model-util.js.map +1 -1
- package/lib/common/language-model.d.ts +56 -15
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +27 -2
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/tool-invocation-registry.d.ts +3 -0
- package/lib/common/tool-invocation-registry.d.ts.map +1 -1
- package/lib/common/tool-invocation-registry.js +7 -1
- package/lib/common/tool-invocation-registry.js.map +1 -1
- package/lib/common/variable-service.d.ts +1 -1
- package/lib/common/variable-service.d.ts.map +1 -1
- package/lib/common/variable-service.js.map +1 -1
- package/package.json +10 -10
- package/src/browser/ai-core-frontend-module.ts +4 -0
- package/src/browser/ai-core-preferences.ts +106 -15
- package/src/browser/frontend-language-model-registry.ts +2 -1
- package/src/browser/frontend-language-model-service.ts +67 -0
- package/src/browser/frontend-prompt-customization-service.ts +348 -27
- package/src/browser/index.ts +1 -0
- package/src/browser/prompttemplate-contribution.ts +80 -3
- package/src/browser/theia-variable-contribution.ts +81 -40
- package/src/common/communication-recording-service.ts +9 -7
- package/src/common/index.ts +1 -0
- package/src/common/language-model-service.ts +59 -0
- package/src/common/language-model-util.ts +9 -2
- package/src/common/language-model.ts +72 -15
- package/src/common/tool-invocation-registry.ts +7 -2
- package/src/common/variable-service.ts +2 -1
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
|
|
2
2
|
import { VariableRegistry, VariableResolverService } from '@theia/variable-resolver/lib/browser';
|
|
3
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
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Integrates the Theia VariableRegistry with the Theia AI VariableService
|
|
6
13
|
*/
|
|
@@ -9,13 +16,11 @@ export declare class TheiaVariableContribution implements AIVariableContribution
|
|
|
9
16
|
protected readonly variableResolverService: VariableResolverService;
|
|
10
17
|
protected readonly variableRegistry: VariableRegistry;
|
|
11
18
|
protected readonly stateService: FrontendApplicationStateService;
|
|
12
|
-
protected variableRenameMap: Map<string,
|
|
13
|
-
name?: string;
|
|
14
|
-
description?: string;
|
|
15
|
-
}>;
|
|
19
|
+
protected variableRenameMap: Map<string, VariableMapping[]>;
|
|
16
20
|
registerVariables(service: AIVariableService): void;
|
|
17
21
|
protected toTheiaVariable(request: AIVariableResolutionRequest): string;
|
|
18
22
|
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<number>;
|
|
19
23
|
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
20
24
|
}
|
|
25
|
+
export {};
|
|
21
26
|
//# sourceMappingURL=theia-variable-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,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
|
|
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"}
|
|
@@ -27,33 +27,52 @@ const browser_1 = require("@theia/variable-resolver/lib/browser");
|
|
|
27
27
|
*/
|
|
28
28
|
let TheiaVariableContribution = TheiaVariableContribution_1 = class TheiaVariableContribution {
|
|
29
29
|
constructor() {
|
|
30
|
-
// Map original variable name to
|
|
30
|
+
// Map original variable name to one or more mappings with new name and description.
|
|
31
31
|
// Only variables present in this map are registered.
|
|
32
32
|
this.variableRenameMap = new Map([
|
|
33
|
-
['file',
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
['
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
['
|
|
56
|
-
|
|
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', [{}]]
|
|
57
76
|
]);
|
|
58
77
|
}
|
|
59
78
|
registerVariables(service) {
|
|
@@ -64,23 +83,33 @@ let TheiaVariableContribution = TheiaVariableContribution_1 = class TheiaVariabl
|
|
|
64
83
|
if (!this.variableRenameMap.has(variable.name)) {
|
|
65
84
|
return; // Do not register variables not part of the map
|
|
66
85
|
}
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
+
});
|
|
77
102
|
});
|
|
78
103
|
});
|
|
79
104
|
}
|
|
80
105
|
toTheiaVariable(request) {
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
|
|
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
|
+
}
|
|
84
113
|
return `\${${variableId}${request.arg ? ':' + request.arg : ''}}`;
|
|
85
114
|
}
|
|
86
115
|
async canResolve(request, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-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,mGAAqG;AACrG,oDAAiD;AACjD,4DAAkE;AAClE,kEAAiG;
|
|
1
|
+
{"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { Event } from '@theia/core';
|
|
2
|
+
import { LanguageModelMessage } from './language-model';
|
|
2
3
|
export type CommunicationHistory = CommunicationHistoryEntry[];
|
|
3
|
-
export interface
|
|
4
|
+
export interface CommunicationHistoryEntryBase {
|
|
4
5
|
agentId: string;
|
|
5
6
|
sessionId: string;
|
|
6
7
|
timestamp: number;
|
|
7
8
|
requestId: string;
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
}
|
|
10
|
+
export interface CommunicationHistoryEntry extends CommunicationHistoryEntryBase {
|
|
11
|
+
request?: LanguageModelMessage[];
|
|
12
|
+
response?: LanguageModelMessage[];
|
|
10
13
|
responseTime?: number;
|
|
11
|
-
systemMessage?: string;
|
|
12
|
-
messages?: unknown[];
|
|
13
14
|
}
|
|
14
15
|
export type CommunicationRequestEntry = Omit<CommunicationHistoryEntry, 'response' | 'responseTime'>;
|
|
15
16
|
export type CommunicationResponseEntry = Omit<CommunicationHistoryEntry, 'request'>;
|
|
16
|
-
export type CommunicationRequestEntryParam = Omit<CommunicationRequestEntry, 'timestamp'> & Partial<Pick<
|
|
17
|
-
export type CommunicationResponseEntryParam = Omit<CommunicationResponseEntry, 'timestamp'> & Partial<Pick<
|
|
17
|
+
export type CommunicationRequestEntryParam = Omit<CommunicationRequestEntry, 'timestamp'> & Partial<Pick<CommunicationRequestEntry, 'timestamp'>>;
|
|
18
|
+
export type CommunicationResponseEntryParam = Omit<CommunicationResponseEntry, 'timestamp'> & Partial<Pick<CommunicationResponseEntry, 'timestamp'>>;
|
|
18
19
|
export declare const CommunicationRecordingService: unique symbol;
|
|
19
20
|
export interface CommunicationRecordingService {
|
|
20
21
|
recordRequest(requestEntry: CommunicationRequestEntryParam): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communication-recording-service.d.ts","sourceRoot":"","sources":["../../src/common/communication-recording-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"communication-recording-service.d.ts","sourceRoot":"","sources":["../../src/common/communication-recording-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,EAAE,CAAC;AAE/D,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC5E,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC;AACrG,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;AAEpF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC,CAAC;AAClJ,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC;AAErJ,eAAO,MAAM,6BAA6B,eAA0C,CAAC;AACrF,MAAM,WAAW,6BAA6B;IAC1C,aAAa,CAAC,YAAY,EAAE,8BAA8B,GAAG,IAAI,CAAC;IAClE,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAE9D,cAAc,CAAC,aAAa,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACrE,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEhE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAElD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAAC;IAE3D,YAAY,IAAI,IAAI,CAAC;IACrB,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;CAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communication-recording-service.js","sourceRoot":"","sources":["../../src/common/communication-recording-service.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;;;
|
|
1
|
+
{"version":3,"file":"communication-recording-service.js","sourceRoot":"","sources":["../../src/common/communication-recording-service.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;;;AA0BnE,QAAA,6BAA6B,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC"}
|
package/lib/common/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAeA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAeA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}
|
package/lib/common/index.js
CHANGED
|
@@ -31,4 +31,5 @@ tslib_1.__exportStar(require("./protocol"), exports);
|
|
|
31
31
|
tslib_1.__exportStar(require("./today-variable-contribution"), exports);
|
|
32
32
|
tslib_1.__exportStar(require("./variable-service"), exports);
|
|
33
33
|
tslib_1.__exportStar(require("./settings-service"), exports);
|
|
34
|
+
tslib_1.__exportStar(require("./language-model-service"), exports);
|
|
34
35
|
//# sourceMappingURL=index.js.map
|
package/lib/common/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.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,0DAAgC;AAChC,kDAAwB;AACxB,yEAA+C;AAC/C,4EAAkD;AAClD,qEAA2C;AAC3C,oEAA0C;AAC1C,gEAAsC;AACtC,2DAAiC;AACjC,2DAAiC;AACjC,gEAAsC;AACtC,wDAA8B;AAC9B,qDAA2B;AAC3B,wEAA8C;AAC9C,6DAAmC;AACnC,6DAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.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,0DAAgC;AAChC,kDAAwB;AACxB,yEAA+C;AAC/C,4EAAkD;AAClD,qEAA2C;AAC3C,oEAA0C;AAC1C,gEAAsC;AACtC,2DAAiC;AACjC,2DAAiC;AACjC,gEAAsC;AACtC,wDAA8B;AAC9B,qDAA2B;AAC3B,wEAA8C;AAC9C,6DAAmC;AACnC,6DAAmC;AACnC,mEAAyC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LanguageModel, LanguageModelRegistry, LanguageModelResponse, UserRequest } from './language-model';
|
|
2
|
+
import { CommunicationRecordingService } from './communication-recording-service';
|
|
3
|
+
export declare const LanguageModelService: unique symbol;
|
|
4
|
+
export interface LanguageModelService {
|
|
5
|
+
/**
|
|
6
|
+
* Submit a language model request in the context of the given `chatRequest`.
|
|
7
|
+
*/
|
|
8
|
+
sendRequest(languageModel: LanguageModel, languageModelRequest: UserRequest): Promise<LanguageModelResponse>;
|
|
9
|
+
}
|
|
10
|
+
export declare class LanguageModelServiceImpl implements LanguageModelService {
|
|
11
|
+
protected languageModelRegistry: LanguageModelRegistry;
|
|
12
|
+
protected recordingService: CommunicationRecordingService;
|
|
13
|
+
sendRequest(languageModel: LanguageModel, languageModelRequest: UserRequest): Promise<LanguageModelResponse>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=language-model-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-model-service.d.ts","sourceRoot":"","sources":["../../src/common/language-model-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,WAAW,CACP,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,WAAW,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrC;AACD,qBAAa,wBAAyB,YAAW,oBAAoB;IAGjE,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAGvD,SAAS,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IAEpD,WAAW,CACb,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,WAAW,GAClC,OAAO,CAAC,qBAAqB,CAAC;CAiBpC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.LanguageModelServiceImpl = exports.LanguageModelService = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const language_model_1 = require("./language-model");
|
|
22
|
+
const communication_recording_service_1 = require("./communication-recording-service");
|
|
23
|
+
exports.LanguageModelService = Symbol('LanguageModelService');
|
|
24
|
+
class LanguageModelServiceImpl {
|
|
25
|
+
async sendRequest(languageModel, languageModelRequest) {
|
|
26
|
+
// Filter messages based on client settings
|
|
27
|
+
languageModelRequest.messages = languageModelRequest.messages.filter(message => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
if (message.type === 'thinking' && ((_a = languageModelRequest.clientSettings) === null || _a === void 0 ? void 0 : _a.keepThinking) === false) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if ((message.type === 'tool_result' || message.type === 'tool_use') &&
|
|
33
|
+
((_b = languageModelRequest.clientSettings) === null || _b === void 0 ? void 0 : _b.keepToolCalls) === false) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
// Keep all other messages
|
|
37
|
+
return true;
|
|
38
|
+
});
|
|
39
|
+
return languageModel.request(languageModelRequest, languageModelRequest.cancellationToken);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.LanguageModelServiceImpl = LanguageModelServiceImpl;
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, inversify_1.inject)(language_model_1.LanguageModelRegistry),
|
|
45
|
+
tslib_1.__metadata("design:type", Object)
|
|
46
|
+
], LanguageModelServiceImpl.prototype, "languageModelRegistry", void 0);
|
|
47
|
+
tslib_1.__decorate([
|
|
48
|
+
(0, inversify_1.inject)(communication_recording_service_1.CommunicationRecordingService),
|
|
49
|
+
tslib_1.__metadata("design:type", Object)
|
|
50
|
+
], LanguageModelServiceImpl.prototype, "recordingService", void 0);
|
|
51
|
+
//# sourceMappingURL=language-model-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-model-service.js","sourceRoot":"","sources":["../../src/common/language-model-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAsD;AACtD,qDAA4G;AAC5G,uFAAkF;AAErE,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAUnE,MAAa,wBAAwB;IAQjC,KAAK,CAAC,WAAW,CACb,aAA4B,EAC5B,oBAAiC;QAEjC,2CAA2C;QAC3C,oBAAoB,CAAC,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;;YAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,CAAA,MAAA,oBAAoB,CAAC,cAAc,0CAAE,YAAY,MAAK,KAAK,EAAE,CAAC;gBAC7F,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;gBAC/D,CAAA,MAAA,oBAAoB,CAAC,cAAc,0CAAE,aAAa,MAAK,KAAK,EAAE,CAAC;gBAC/D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,0BAA0B;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC/F,CAAC;CAEJ;AA5BD,4DA4BC;AAzBa;IADT,IAAA,kBAAM,EAAC,sCAAqB,CAAC;;uEACyB;AAG7C;IADT,IAAA,kBAAM,EAAC,+DAA6B,CAAC;;kEACoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model-util.d.ts","sourceRoot":"","sources":["../../src/common/language-model-util.ts"],"names":[],"mappings":"AAgBA,OAAO,
|
|
1
|
+
{"version":3,"file":"language-model-util.d.ts","sourceRoot":"","sources":["../../src/common/language-model-util.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKH,qBAAqB,EACrB,WAAW,EACd,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,aAAoB,qBAAqB,KAAG,QAAQ,MAAM,CAavF,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAoB,qBAAqB,KAAG,QAAQ,OAAO,CAGxF,CAAC;AAEF,eAAO,MAAM,aAAa,SAAU,MAAM,KAAG,OAgB5C,CAAC;AAEF,eAAO,MAAM,uBAAuB,gBAAiB,WAAW,KAAG,MAA6B,CAAC"}
|
|
@@ -28,14 +28,13 @@ const language_model_1 = require("./language-model");
|
|
|
28
28
|
* @throws {Error} - Throws an error if the response type is not supported or does not contain valid text content.
|
|
29
29
|
*/
|
|
30
30
|
const getTextOfResponse = async (response) => {
|
|
31
|
-
var _a;
|
|
32
31
|
if ((0, language_model_1.isLanguageModelTextResponse)(response)) {
|
|
33
32
|
return response.text;
|
|
34
33
|
}
|
|
35
34
|
else if ((0, language_model_1.isLanguageModelStreamResponse)(response)) {
|
|
36
35
|
let result = '';
|
|
37
36
|
for await (const chunk of response.stream) {
|
|
38
|
-
result += (
|
|
37
|
+
result += ((0, language_model_1.isTextResponsePart)(chunk) && chunk.content) ? chunk.content : '';
|
|
39
38
|
}
|
|
40
39
|
return result;
|
|
41
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model-util.js","sourceRoot":"","sources":["../../src/common/language-model-util.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"language-model-util.js","sourceRoot":"","sources":["../../src/common/language-model-util.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,qDAO0B;AAE1B;;;;;;;;;GASG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAA+B,EAAmB,EAAE;IACxF,IAAI,IAAA,4CAA2B,EAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;SAAM,IAAI,IAAA,8CAA6B,EAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,IAAA,mCAAkB,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;SAAM,IAAI,IAAA,8CAA6B,EAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAEK,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAA+B,EAAoB,EAAE;IACzF,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAiB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE;IACnD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,6BAA6B,CAAC;QAC5C,IAAI,KAAK,CAAC;QACV,2CAA2C;QAC3C,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC/C,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB;AAEK,MAAM,uBAAuB,GAAG,CAAC,WAAwB,EAAU,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC;AAApF,QAAA,uBAAuB,2BAA6D"}
|
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
import { ContributionProvider, ILogger, Event, Emitter, CancellationToken } from '@theia/core';
|
|
2
2
|
export type MessageActor = 'user' | 'ai' | 'system';
|
|
3
|
-
export
|
|
3
|
+
export type LanguageModelMessage = TextMessage | ThinkingMessage | ToolUseMessage | ToolResultMessage;
|
|
4
|
+
export declare namespace LanguageModelMessage {
|
|
5
|
+
function isTextMessage(obj: LanguageModelMessage): obj is TextMessage;
|
|
6
|
+
function isThinkingMessage(obj: LanguageModelMessage): obj is ThinkingMessage;
|
|
7
|
+
function isToolUseMessage(obj: LanguageModelMessage): obj is ToolUseMessage;
|
|
8
|
+
function isToolResultMessage(obj: LanguageModelMessage): obj is ToolResultMessage;
|
|
9
|
+
}
|
|
10
|
+
export interface TextMessage {
|
|
4
11
|
actor: MessageActor;
|
|
5
12
|
type: 'text';
|
|
6
|
-
|
|
13
|
+
text: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ThinkingMessage {
|
|
16
|
+
actor: 'ai';
|
|
17
|
+
type: 'thinking';
|
|
18
|
+
thinking: string;
|
|
19
|
+
signature: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ToolResultMessage {
|
|
22
|
+
actor: 'user';
|
|
23
|
+
tool_use_id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
type: 'tool_result';
|
|
26
|
+
content?: string;
|
|
27
|
+
is_error?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface ToolUseMessage {
|
|
30
|
+
actor: 'ai';
|
|
31
|
+
type: 'tool_use';
|
|
32
|
+
id: string;
|
|
33
|
+
input: unknown;
|
|
34
|
+
name: string;
|
|
7
35
|
}
|
|
8
|
-
export declare const isLanguageModelRequestMessage: (obj: unknown) => obj is
|
|
36
|
+
export declare const isLanguageModelRequestMessage: (obj: unknown) => obj is LanguageModelMessage;
|
|
9
37
|
export interface ToolRequestParameterProperty {
|
|
10
38
|
type?: string;
|
|
11
39
|
anyOf?: ToolRequestParameterProperty[];
|
|
@@ -20,7 +48,7 @@ export interface ToolRequestParameters {
|
|
|
20
48
|
export interface ToolRequest {
|
|
21
49
|
id: string;
|
|
22
50
|
name: string;
|
|
23
|
-
parameters
|
|
51
|
+
parameters: ToolRequestParameters;
|
|
24
52
|
description?: string;
|
|
25
53
|
handler: (arg_string: string, ctx?: unknown) => Promise<unknown>;
|
|
26
54
|
providerName?: string;
|
|
@@ -30,7 +58,7 @@ export declare namespace ToolRequest {
|
|
|
30
58
|
function isToolRequestParameters(obj: unknown): obj is ToolRequestParameters;
|
|
31
59
|
}
|
|
32
60
|
export interface LanguageModelRequest {
|
|
33
|
-
messages:
|
|
61
|
+
messages: LanguageModelMessage[];
|
|
34
62
|
tools?: ToolRequest[];
|
|
35
63
|
response_format?: {
|
|
36
64
|
type: 'text';
|
|
@@ -40,6 +68,10 @@ export interface LanguageModelRequest {
|
|
|
40
68
|
settings?: {
|
|
41
69
|
[key: string]: unknown;
|
|
42
70
|
};
|
|
71
|
+
clientSettings?: {
|
|
72
|
+
keepToolCalls: boolean;
|
|
73
|
+
keepThinking: boolean;
|
|
74
|
+
};
|
|
43
75
|
}
|
|
44
76
|
export interface ResponseFormatJsonSchema {
|
|
45
77
|
type: 'json_schema';
|
|
@@ -50,14 +82,30 @@ export interface ResponseFormatJsonSchema {
|
|
|
50
82
|
strict?: boolean | null;
|
|
51
83
|
};
|
|
52
84
|
}
|
|
85
|
+
export interface UserRequest extends LanguageModelRequest {
|
|
86
|
+
sessionId: string;
|
|
87
|
+
requestId: string;
|
|
88
|
+
agentId: string;
|
|
89
|
+
cancellationToken?: CancellationToken;
|
|
90
|
+
}
|
|
53
91
|
export interface LanguageModelTextResponse {
|
|
54
92
|
text: string;
|
|
55
93
|
}
|
|
56
94
|
export declare const isLanguageModelTextResponse: (obj: unknown) => obj is LanguageModelTextResponse;
|
|
57
|
-
export
|
|
58
|
-
|
|
59
|
-
|
|
95
|
+
export type LanguageModelStreamResponsePart = TextResponsePart | ToolCallResponsePart | ThinkingResponsePart;
|
|
96
|
+
export interface TextResponsePart {
|
|
97
|
+
content: string;
|
|
98
|
+
}
|
|
99
|
+
export declare const isTextResponsePart: (part: unknown) => part is TextResponsePart;
|
|
100
|
+
export interface ToolCallResponsePart {
|
|
101
|
+
tool_calls: ToolCall[];
|
|
60
102
|
}
|
|
103
|
+
export declare const isToolCallResponsePart: (part: unknown) => part is ToolCallResponsePart;
|
|
104
|
+
export interface ThinkingResponsePart {
|
|
105
|
+
thought: string;
|
|
106
|
+
signature: string;
|
|
107
|
+
}
|
|
108
|
+
export declare const isThinkingResponsePart: (part: unknown) => part is ThinkingResponsePart;
|
|
61
109
|
export interface ToolCall {
|
|
62
110
|
id?: string;
|
|
63
111
|
function?: {
|
|
@@ -87,13 +135,6 @@ export interface LanguageModelMetaData {
|
|
|
87
135
|
readonly family?: string;
|
|
88
136
|
readonly maxInputTokens?: number;
|
|
89
137
|
readonly maxOutputTokens?: number;
|
|
90
|
-
/**
|
|
91
|
-
* Default request settings for the language model. These settings can be set by a user preferences.
|
|
92
|
-
* Settings in a request will override these default settings.
|
|
93
|
-
*/
|
|
94
|
-
readonly defaultRequestSettings?: {
|
|
95
|
-
[key: string]: unknown;
|
|
96
|
-
};
|
|
97
138
|
}
|
|
98
139
|
export declare namespace LanguageModelMetaData {
|
|
99
140
|
function is(arg: unknown): arg is LanguageModelMetaData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAwB,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2024 EclipseSource GmbH.
|
|
3
|
+
// Copyright (C) 2024-2025 EclipseSource GmbH.
|
|
4
4
|
//
|
|
5
5
|
// This program and the accompanying materials are made available under the
|
|
6
6
|
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -15,10 +15,29 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.isModelMatching = exports.DefaultLanguageModelRegistryImpl = exports.LanguageModelRegistry = exports.LanguageModel = exports.LanguageModelMetaData = exports.LanguageModelProvider = exports.isLanguageModelParsedResponse = exports.isLanguageModelStreamResponse = exports.isLanguageModelTextResponse = exports.ToolRequest = exports.isLanguageModelRequestMessage = void 0;
|
|
18
|
+
exports.isModelMatching = exports.DefaultLanguageModelRegistryImpl = exports.LanguageModelRegistry = exports.LanguageModel = exports.LanguageModelMetaData = exports.LanguageModelProvider = exports.isLanguageModelParsedResponse = exports.isLanguageModelStreamResponse = exports.isThinkingResponsePart = exports.isToolCallResponsePart = exports.isTextResponsePart = exports.isLanguageModelTextResponse = exports.ToolRequest = exports.isLanguageModelRequestMessage = exports.LanguageModelMessage = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const core_1 = require("@theia/core");
|
|
21
21
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
22
|
+
var LanguageModelMessage;
|
|
23
|
+
(function (LanguageModelMessage) {
|
|
24
|
+
function isTextMessage(obj) {
|
|
25
|
+
return obj.type === 'text';
|
|
26
|
+
}
|
|
27
|
+
LanguageModelMessage.isTextMessage = isTextMessage;
|
|
28
|
+
function isThinkingMessage(obj) {
|
|
29
|
+
return obj.type === 'thinking';
|
|
30
|
+
}
|
|
31
|
+
LanguageModelMessage.isThinkingMessage = isThinkingMessage;
|
|
32
|
+
function isToolUseMessage(obj) {
|
|
33
|
+
return obj.type === 'tool_use';
|
|
34
|
+
}
|
|
35
|
+
LanguageModelMessage.isToolUseMessage = isToolUseMessage;
|
|
36
|
+
function isToolResultMessage(obj) {
|
|
37
|
+
return obj.type === 'tool_result';
|
|
38
|
+
}
|
|
39
|
+
LanguageModelMessage.isToolResultMessage = isToolResultMessage;
|
|
40
|
+
})(LanguageModelMessage || (exports.LanguageModelMessage = LanguageModelMessage = {}));
|
|
22
41
|
const isLanguageModelRequestMessage = (obj) => !!(obj && typeof obj === 'object' &&
|
|
23
42
|
'type' in obj &&
|
|
24
43
|
typeof obj.type === 'string' &&
|
|
@@ -76,6 +95,12 @@ var ToolRequest;
|
|
|
76
95
|
})(ToolRequest || (exports.ToolRequest = ToolRequest = {}));
|
|
77
96
|
const isLanguageModelTextResponse = (obj) => !!(obj && typeof obj === 'object' && 'text' in obj && typeof obj.text === 'string');
|
|
78
97
|
exports.isLanguageModelTextResponse = isLanguageModelTextResponse;
|
|
98
|
+
const isTextResponsePart = (part) => !!(part && typeof part === 'object' && 'content' in part && typeof part.content === 'string');
|
|
99
|
+
exports.isTextResponsePart = isTextResponsePart;
|
|
100
|
+
const isToolCallResponsePart = (part) => !!(part && typeof part === 'object' && 'tool_calls' in part && Array.isArray(part.tool_calls));
|
|
101
|
+
exports.isToolCallResponsePart = isToolCallResponsePart;
|
|
102
|
+
const isThinkingResponsePart = (part) => !!(part && typeof part === 'object' && 'thought' in part && typeof part.thought === 'string');
|
|
103
|
+
exports.isThinkingResponsePart = isThinkingResponsePart;
|
|
79
104
|
const isLanguageModelStreamResponse = (obj) => !!(obj && typeof obj === 'object' && 'stream' in obj);
|
|
80
105
|
exports.isLanguageModelStreamResponse = isLanguageModelStreamResponse;
|
|
81
106
|
const isLanguageModelParsedResponse = (obj) => !!(obj && typeof obj === 'object' && 'parsed' in obj && 'content' in obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model.js","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"language-model.js","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
|