@theia/ai-core 1.54.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/README.md +30 -0
- package/data/prompttemplate.tmLanguage.json +52 -0
- package/lib/browser/ai-activation-service.d.ts +17 -0
- package/lib/browser/ai-activation-service.d.ts.map +1 -0
- package/lib/browser/ai-activation-service.js +63 -0
- package/lib/browser/ai-activation-service.js.map +1 -0
- package/lib/browser/ai-command-handler-factory.d.ts +4 -0
- package/lib/browser/ai-command-handler-factory.d.ts.map +1 -0
- package/lib/browser/ai-command-handler-factory.js +20 -0
- package/lib/browser/ai-command-handler-factory.js.map +1 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts +27 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.js +231 -0
- package/lib/browser/ai-configuration/agent-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-service.d.ts +13 -0
- package/lib/browser/ai-configuration/ai-configuration-service.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-service.js +44 -0
- package/lib/browser/ai-configuration/ai-configuration-service.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts +12 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js +41 -0
- package/lib/browser/ai-configuration/ai-configuration-view-contribution.js.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts +20 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.js +88 -0
- package/lib/browser/ai-configuration/ai-configuration-widget.js.map +1 -0
- package/lib/browser/ai-configuration/language-model-renderer.d.ts +13 -0
- package/lib/browser/ai-configuration/language-model-renderer.d.ts.map +1 -0
- package/lib/browser/ai-configuration/language-model-renderer.js +104 -0
- package/lib/browser/ai-configuration/language-model-renderer.js.map +1 -0
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts +11 -0
- package/lib/browser/ai-configuration/template-settings-renderer.d.ts.map +1 -0
- package/lib/browser/ai-configuration/template-settings-renderer.js +33 -0
- package/lib/browser/ai-configuration/template-settings-renderer.js.map +1 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts +20 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.d.ts.map +1 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.js +99 -0
- package/lib/browser/ai-configuration/variable-configuration-widget.js.map +1 -0
- package/lib/browser/ai-core-frontend-application-contribution.d.ts +8 -0
- package/lib/browser/ai-core-frontend-application-contribution.d.ts.map +1 -0
- package/lib/browser/ai-core-frontend-application-contribution.js +46 -0
- package/lib/browser/ai-core-frontend-application-contribution.js.map +1 -0
- package/lib/browser/ai-core-frontend-module.d.ts +4 -0
- package/lib/browser/ai-core-frontend-module.d.ts.map +1 -0
- package/lib/browser/ai-core-frontend-module.js +122 -0
- package/lib/browser/ai-core-frontend-module.js.map +1 -0
- package/lib/browser/ai-core-preferences.d.ts +14 -0
- package/lib/browser/ai-core-preferences.d.ts.map +1 -0
- package/lib/browser/ai-core-preferences.js +69 -0
- package/lib/browser/ai-core-preferences.js.map +1 -0
- package/lib/browser/ai-settings-service.d.ts +14 -0
- package/lib/browser/ai-settings-service.d.ts.map +1 -0
- package/lib/browser/ai-settings-service.js +56 -0
- package/lib/browser/ai-settings-service.js.map +1 -0
- package/lib/browser/ai-view-contribution.d.ts +14 -0
- package/lib/browser/ai-view-contribution.d.ts.map +1 -0
- package/lib/browser/ai-view-contribution.js +71 -0
- package/lib/browser/ai-view-contribution.js.map +1 -0
- package/lib/browser/frontend-language-model-registry.d.ts +39 -0
- package/lib/browser/frontend-language-model-registry.d.ts.map +1 -0
- package/lib/browser/frontend-language-model-registry.js +321 -0
- package/lib/browser/frontend-language-model-registry.js.map +1 -0
- package/lib/browser/frontend-prompt-customization-service.d.ts +31 -0
- package/lib/browser/frontend-prompt-customization-service.d.ts.map +1 -0
- package/lib/browser/frontend-prompt-customization-service.js +194 -0
- package/lib/browser/frontend-prompt-customization-service.js.map +1 -0
- package/lib/browser/frontend-variable-service.d.ts +6 -0
- package/lib/browser/frontend-variable-service.d.ts.map +1 -0
- package/lib/browser/frontend-variable-service.js +31 -0
- package/lib/browser/frontend-variable-service.js.map +1 -0
- package/lib/browser/index.d.ts +11 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +29 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/prompttemplate-contribution.d.ts +28 -0
- package/lib/browser/prompttemplate-contribution.d.ts.map +1 -0
- package/lib/browser/prompttemplate-contribution.js +207 -0
- package/lib/browser/prompttemplate-contribution.js.map +1 -0
- package/lib/browser/theia-variable-contribution.d.ts +13 -0
- package/lib/browser/theia-variable-contribution.d.ts.map +1 -0
- package/lib/browser/theia-variable-contribution.js +64 -0
- package/lib/browser/theia-variable-contribution.js.map +1 -0
- package/lib/common/agent-service.d.ts +48 -0
- package/lib/common/agent-service.d.ts.map +1 -0
- package/lib/common/agent-service.js +88 -0
- package/lib/common/agent-service.js.map +1 -0
- package/lib/common/agent.d.ts +45 -0
- package/lib/common/agent.d.ts.map +1 -0
- package/lib/common/agent.js +20 -0
- package/lib/common/agent.js.map +1 -0
- package/lib/common/agents-variable-contribution.d.ts +19 -0
- package/lib/common/agents-variable-contribution.d.ts.map +1 -0
- package/lib/common/agents-variable-contribution.js +56 -0
- package/lib/common/agents-variable-contribution.js.map +1 -0
- package/lib/common/communication-recording-service.d.ts +23 -0
- package/lib/common/communication-recording-service.d.ts.map +1 -0
- package/lib/common/communication-recording-service.js +20 -0
- package/lib/common/communication-recording-service.js.map +1 -0
- package/lib/common/index.d.ts +16 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +34 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/language-model-delegate.d.ts +24 -0
- package/lib/common/language-model-delegate.d.ts.map +1 -0
- package/lib/common/language-model-delegate.js +26 -0
- package/lib/common/language-model-delegate.js.map +1 -0
- package/lib/common/language-model-util.d.ts +5 -0
- package/lib/common/language-model-util.d.ts.map +1 -0
- package/lib/common/language-model-util.js +75 -0
- package/lib/common/language-model-util.js.map +1 -0
- package/lib/common/language-model.d.ts +137 -0
- package/lib/common/language-model.d.ts.map +1 -0
- package/lib/common/language-model.js +142 -0
- package/lib/common/language-model.js.map +1 -0
- package/lib/common/language-model.spec.d.ts +2 -0
- package/lib/common/language-model.spec.d.ts.map +1 -0
- package/lib/common/language-model.spec.js +62 -0
- package/lib/common/language-model.spec.js.map +1 -0
- package/lib/common/prompt-service-util.d.ts +5 -0
- package/lib/common/prompt-service-util.d.ts.map +1 -0
- package/lib/common/prompt-service-util.js +23 -0
- package/lib/common/prompt-service-util.js.map +1 -0
- package/lib/common/prompt-service.d.ts +101 -0
- package/lib/common/prompt-service.d.ts.map +1 -0
- package/lib/common/prompt-service.js +139 -0
- package/lib/common/prompt-service.js.map +1 -0
- package/lib/common/prompt-service.spec.d.ts +2 -0
- package/lib/common/prompt-service.spec.d.ts.map +1 -0
- package/lib/common/prompt-service.spec.js +86 -0
- package/lib/common/prompt-service.spec.js.map +1 -0
- package/lib/common/protocol.d.ts +7 -0
- package/lib/common/protocol.d.ts.map +1 -0
- package/lib/common/protocol.js +20 -0
- package/lib/common/protocol.js.map +1 -0
- package/lib/common/settings-service.d.ts +18 -0
- package/lib/common/settings-service.d.ts.map +1 -0
- package/lib/common/settings-service.js +5 -0
- package/lib/common/settings-service.js.map +1 -0
- package/lib/common/today-variable-contribution.d.ts +17 -0
- package/lib/common/today-variable-contribution.d.ts.map +1 -0
- package/lib/common/today-variable-contribution.js +48 -0
- package/lib/common/today-variable-contribution.js.map +1 -0
- package/lib/common/tomorrow-variable-contribution.d.ts +17 -0
- package/lib/common/tomorrow-variable-contribution.d.ts.map +1 -0
- package/lib/common/tomorrow-variable-contribution.js +48 -0
- package/lib/common/tomorrow-variable-contribution.js.map +1 -0
- package/lib/common/tool-invocation-registry.d.ts +23 -0
- package/lib/common/tool-invocation-registry.d.ts.map +1 -0
- package/lib/common/tool-invocation-registry.js +72 -0
- package/lib/common/tool-invocation-registry.js.map +1 -0
- package/lib/common/variable-service.d.ts +70 -0
- package/lib/common/variable-service.d.ts.map +1 -0
- package/lib/common/variable-service.js +122 -0
- package/lib/common/variable-service.js.map +1 -0
- package/lib/node/ai-core-backend-module.d.ts +4 -0
- package/lib/node/ai-core-backend-module.d.ts.map +1 -0
- package/lib/node/ai-core-backend-module.js +47 -0
- package/lib/node/ai-core-backend-module.js.map +1 -0
- package/lib/node/backend-language-model-registry.d.ts +12 -0
- package/lib/node/backend-language-model-registry.d.ts.map +1 -0
- package/lib/node/backend-language-model-registry.js +61 -0
- package/lib/node/backend-language-model-registry.js.map +1 -0
- package/lib/node/language-model-frontend-delegate.d.ts +18 -0
- package/lib/node/language-model-frontend-delegate.d.ts.map +1 -0
- package/lib/node/language-model-frontend-delegate.js +100 -0
- package/lib/node/language-model-frontend-delegate.js.map +1 -0
- package/package.json +59 -0
- package/src/browser/ai-activation-service.ts +56 -0
- package/src/browser/ai-command-handler-factory.ts +20 -0
- package/src/browser/ai-configuration/agent-configuration-widget.tsx +299 -0
- package/src/browser/ai-configuration/ai-configuration-service.ts +43 -0
- package/src/browser/ai-configuration/ai-configuration-view-contribution.ts +54 -0
- package/src/browser/ai-configuration/ai-configuration-widget.tsx +80 -0
- package/src/browser/ai-configuration/language-model-renderer.tsx +113 -0
- package/src/browser/ai-configuration/template-settings-renderer.tsx +39 -0
- package/src/browser/ai-configuration/variable-configuration-widget.tsx +110 -0
- package/src/browser/ai-core-frontend-application-contribution.ts +40 -0
- package/src/browser/ai-core-frontend-module.ts +161 -0
- package/src/browser/ai-core-preferences.ts +76 -0
- package/src/browser/ai-settings-service.ts +50 -0
- package/src/browser/ai-view-contribution.ts +77 -0
- package/src/browser/frontend-language-model-registry.ts +405 -0
- package/src/browser/frontend-prompt-customization-service.ts +197 -0
- package/src/browser/frontend-variable-service.ts +26 -0
- package/src/browser/index.ts +26 -0
- package/src/browser/prompttemplate-contribution.ts +250 -0
- package/src/browser/style/index.css +90 -0
- package/src/browser/theia-variable-contribution.ts +58 -0
- package/src/common/agent-service.ts +108 -0
- package/src/common/agent.ts +70 -0
- package/src/common/agents-variable-contribution.ts +64 -0
- package/src/common/communication-recording-service.ts +44 -0
- package/src/common/index.ts +30 -0
- package/src/common/language-model-delegate.ts +45 -0
- package/src/common/language-model-util.ts +67 -0
- package/src/common/language-model.spec.ts +86 -0
- package/src/common/language-model.ts +237 -0
- package/src/common/prompt-service-util.ts +21 -0
- package/src/common/prompt-service.spec.ts +98 -0
- package/src/common/prompt-service.ts +213 -0
- package/src/common/protocol.ts +23 -0
- package/src/common/settings-service.ts +33 -0
- package/src/common/today-variable-contribution.ts +67 -0
- package/src/common/tomorrow-variable-contribution.ts +66 -0
- package/src/common/tool-invocation-registry.ts +79 -0
- package/src/common/variable-service.ts +177 -0
- package/src/node/ai-core-backend-module.ts +83 -0
- package/src/node/backend-language-model-registry.ts +59 -0
- package/src/node/language-model-frontend-delegate.ts +116 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MaybePromise } from '@theia/core';
|
|
2
|
+
import { AIVariable, AIVariableContext, AIVariableContribution, AIVariableResolutionRequest, AIVariableResolver, AIVariableService, ResolvedAIVariable } from './variable-service';
|
|
3
|
+
export declare namespace TomorrowVariableArgs {
|
|
4
|
+
const IN_UNIX_SECONDS = "inUnixSeconds";
|
|
5
|
+
const IN_ISO_8601 = "inIso8601";
|
|
6
|
+
}
|
|
7
|
+
export declare const TOMORROW_VARIABLE: AIVariable;
|
|
8
|
+
export interface ResolvedTomorrowVariable extends ResolvedAIVariable {
|
|
9
|
+
date: Date;
|
|
10
|
+
}
|
|
11
|
+
export declare class TomorrowVariableContribution 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 resolveTomorrowVariable;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=tomorrow-variable-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tomorrow-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/common/tomorrow-variable-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEnL,yBAAiB,oBAAoB,CAAC;IAC3B,MAAM,eAAe,kBAAkB,CAAC;IACxC,MAAM,WAAW,cAAc,CAAC;CAC1C;AAED,eAAO,MAAM,iBAAiB,EAAE,UAQ/B,CAAC;AAEF,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAChE,IAAI,EAAE,IAAI,CAAC;CACd;AAED,qBACa,4BAA6B,YAAW,sBAAsB,EAAE,kBAAkB;IAC3F,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,uBAAuB;CAUlC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TomorrowVariableContribution = exports.TOMORROW_VARIABLE = exports.TomorrowVariableArgs = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
6
|
+
var TomorrowVariableArgs;
|
|
7
|
+
(function (TomorrowVariableArgs) {
|
|
8
|
+
TomorrowVariableArgs.IN_UNIX_SECONDS = 'inUnixSeconds';
|
|
9
|
+
TomorrowVariableArgs.IN_ISO_8601 = 'inIso8601';
|
|
10
|
+
})(TomorrowVariableArgs || (exports.TomorrowVariableArgs = TomorrowVariableArgs = {}));
|
|
11
|
+
exports.TOMORROW_VARIABLE = {
|
|
12
|
+
id: 'tomorrow-provider',
|
|
13
|
+
description: 'Does something for tomorrow',
|
|
14
|
+
name: 'tomorrow',
|
|
15
|
+
args: [
|
|
16
|
+
{ name: TomorrowVariableArgs.IN_ISO_8601, description: 'Returns the current date in ISO 8601 format' },
|
|
17
|
+
{ name: TomorrowVariableArgs.IN_UNIX_SECONDS, description: 'Returns the current date in unix seconds format' }
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
let TomorrowVariableContribution = class TomorrowVariableContribution {
|
|
21
|
+
registerVariables(service) {
|
|
22
|
+
service.registerResolver(exports.TOMORROW_VARIABLE, this);
|
|
23
|
+
}
|
|
24
|
+
canResolve(request, context) {
|
|
25
|
+
return 1;
|
|
26
|
+
}
|
|
27
|
+
async resolve(request, context) {
|
|
28
|
+
if (request.variable.name === exports.TOMORROW_VARIABLE.name) {
|
|
29
|
+
return this.resolveTomorrowVariable(request);
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
resolveTomorrowVariable(request) {
|
|
34
|
+
const date = new Date(+new Date() + 86400000);
|
|
35
|
+
if (request.arg === TomorrowVariableArgs.IN_ISO_8601) {
|
|
36
|
+
return { variable: request.variable, value: date.toISOString(), date };
|
|
37
|
+
}
|
|
38
|
+
if (request.arg === TomorrowVariableArgs.IN_UNIX_SECONDS) {
|
|
39
|
+
return { variable: request.variable, value: Math.round(date.getTime() / 1000).toString(), date };
|
|
40
|
+
}
|
|
41
|
+
return { variable: request.variable, value: date.toDateString(), date };
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.TomorrowVariableContribution = TomorrowVariableContribution;
|
|
45
|
+
exports.TomorrowVariableContribution = TomorrowVariableContribution = tslib_1.__decorate([
|
|
46
|
+
(0, inversify_1.injectable)()
|
|
47
|
+
], TomorrowVariableContribution);
|
|
48
|
+
//# sourceMappingURL=tomorrow-variable-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tomorrow-variable-contribution.js","sourceRoot":"","sources":["../../src/common/tomorrow-variable-contribution.ts"],"names":[],"mappings":";;;;AAgBA,4DAA0D;AAG1D,IAAiB,oBAAoB,CAGpC;AAHD,WAAiB,oBAAoB;IACpB,oCAAe,GAAG,eAAe,CAAC;IAClC,gCAAW,GAAG,WAAW,CAAC;AAC3C,CAAC,EAHgB,oBAAoB,oCAApB,oBAAoB,QAGpC;AAEY,QAAA,iBAAiB,GAAe;IACzC,EAAE,EAAE,mBAAmB;IACvB,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE;QACF,EAAE,IAAI,EAAE,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,6CAA6C,EAAE;QACtG,EAAE,IAAI,EAAE,oBAAoB,CAAC,eAAe,EAAE,WAAW,EAAE,iDAAiD,EAAE;KACjH;CACJ,CAAC;AAOK,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACrC,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,yBAAiB,EAAE,IAAI,CAAC,CAAC;IACtD,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,yBAAiB,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,uBAAuB,CAAC,OAAoC;QAChE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,GAAG,KAAK,oBAAoB,CAAC,WAAW,EAAE,CAAC;YACnD,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,oBAAoB,CAAC,eAAe,EAAE,CAAC;YACvD,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,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CA0BxC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ToolRequest } from './language-model';
|
|
2
|
+
export declare const ToolInvocationRegistry: unique symbol;
|
|
3
|
+
/**
|
|
4
|
+
* Registry for all the function calls available to Agents.
|
|
5
|
+
*/
|
|
6
|
+
export interface ToolInvocationRegistry {
|
|
7
|
+
registerTool(tool: ToolRequest): void;
|
|
8
|
+
getFunction(toolId: string): ToolRequest | undefined;
|
|
9
|
+
getFunctions(...toolIds: string[]): ToolRequest[];
|
|
10
|
+
}
|
|
11
|
+
export declare const ToolProvider: unique symbol;
|
|
12
|
+
export interface ToolProvider {
|
|
13
|
+
getTool(): ToolRequest;
|
|
14
|
+
}
|
|
15
|
+
export declare class ToolInvocationRegistryImpl implements ToolInvocationRegistry {
|
|
16
|
+
private tools;
|
|
17
|
+
private providers;
|
|
18
|
+
init(): void;
|
|
19
|
+
registerTool(tool: ToolRequest): void;
|
|
20
|
+
getFunction(toolId: string): ToolRequest | undefined;
|
|
21
|
+
getFunctions(...toolIds: string[]): ToolRequest[];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=tool-invocation-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-invocation-registry.d.ts","sourceRoot":"","sources":["../../src/common/tool-invocation-registry.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAEtC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAErD,YAAY,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;CACrD;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,WAAW,YAAY;IACzB,OAAO,IAAI,WAAW,CAAC;CAC1B;AAED,qBACa,0BAA2B,YAAW,sBAAsB;IAErE,OAAO,CAAC,KAAK,CAA4D;IAIzE,OAAO,CAAC,SAAS,CAAqC;IAGtD,IAAI,IAAI,IAAI;IAMZ,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAQrC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIpD,YAAY,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;CAWpD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
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.ToolInvocationRegistryImpl = exports.ToolProvider = exports.ToolInvocationRegistry = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const core_1 = require("@theia/core");
|
|
22
|
+
exports.ToolInvocationRegistry = Symbol('ToolInvocationRegistry');
|
|
23
|
+
exports.ToolProvider = Symbol('ToolProvider');
|
|
24
|
+
let ToolInvocationRegistryImpl = class ToolInvocationRegistryImpl {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.tools = new Map();
|
|
27
|
+
}
|
|
28
|
+
init() {
|
|
29
|
+
this.providers.getContributions().forEach(provider => {
|
|
30
|
+
this.registerTool(provider.getTool());
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
registerTool(tool) {
|
|
34
|
+
if (this.tools.has(tool.id)) {
|
|
35
|
+
console.warn(`Function with id ${tool.id} is already registered.`);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.tools.set(tool.id, tool);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
getFunction(toolId) {
|
|
42
|
+
return this.tools.get(toolId);
|
|
43
|
+
}
|
|
44
|
+
getFunctions(...toolIds) {
|
|
45
|
+
const tools = toolIds.map(toolId => {
|
|
46
|
+
const tool = this.tools.get(toolId);
|
|
47
|
+
if (tool) {
|
|
48
|
+
return tool;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
throw new Error(`Function with id ${toolId} does not exist.`);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return tools;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.ToolInvocationRegistryImpl = ToolInvocationRegistryImpl;
|
|
58
|
+
tslib_1.__decorate([
|
|
59
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
60
|
+
(0, inversify_1.named)(exports.ToolProvider),
|
|
61
|
+
tslib_1.__metadata("design:type", Object)
|
|
62
|
+
], ToolInvocationRegistryImpl.prototype, "providers", void 0);
|
|
63
|
+
tslib_1.__decorate([
|
|
64
|
+
(0, inversify_1.postConstruct)(),
|
|
65
|
+
tslib_1.__metadata("design:type", Function),
|
|
66
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
67
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
68
|
+
], ToolInvocationRegistryImpl.prototype, "init", null);
|
|
69
|
+
exports.ToolInvocationRegistryImpl = ToolInvocationRegistryImpl = tslib_1.__decorate([
|
|
70
|
+
(0, inversify_1.injectable)()
|
|
71
|
+
], ToolInvocationRegistryImpl);
|
|
72
|
+
//# sourceMappingURL=tool-invocation-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-invocation-registry.js","sourceRoot":"","sources":["../../src/common/tool-invocation-registry.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,4DAAwF;AAExF,sCAAmD;AAEtC,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAa1D,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAM5C,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QAEK,UAAK,GAA6B,IAAI,GAAG,EAAuB,CAAC;IAoC7E,CAAC;IA7BG,IAAI;QACA,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAiB;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,GAAG,OAAiB;QAC7B,MAAM,KAAK,GAAkB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,kBAAkB,CAAC,CAAC;YAClE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAtCY,gEAA0B;AAM3B;IAFP,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAC5B,IAAA,iBAAK,EAAC,oBAAY,CAAC;;6DACkC;AAGtD;IADC,IAAA,yBAAa,GAAE;;;;sDAKf;qCAbQ,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CAsCtC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ContributionProvider, Disposable, Emitter, ILogger, MaybePromise, Event } from '@theia/core';
|
|
2
|
+
export interface AIVariable {
|
|
3
|
+
/** provider id */
|
|
4
|
+
id: string;
|
|
5
|
+
/** variable name */
|
|
6
|
+
name: string;
|
|
7
|
+
/** variable description */
|
|
8
|
+
description: string;
|
|
9
|
+
args?: AIVariableDescription[];
|
|
10
|
+
}
|
|
11
|
+
export interface AIVariableDescription {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ResolvedAIVariable {
|
|
16
|
+
variable: AIVariable;
|
|
17
|
+
value: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AIVariableResolutionRequest {
|
|
20
|
+
variable: AIVariable;
|
|
21
|
+
arg?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AIVariableContext {
|
|
24
|
+
}
|
|
25
|
+
export type AIVariableArg = string | {
|
|
26
|
+
variable: string;
|
|
27
|
+
arg?: string;
|
|
28
|
+
} | AIVariableResolutionRequest;
|
|
29
|
+
export interface AIVariableResolver {
|
|
30
|
+
canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
|
|
31
|
+
resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
32
|
+
}
|
|
33
|
+
export declare const AIVariableService: unique symbol;
|
|
34
|
+
export interface AIVariableService {
|
|
35
|
+
hasVariable(name: string): boolean;
|
|
36
|
+
getVariable(name: string): Readonly<AIVariable> | undefined;
|
|
37
|
+
getVariables(): Readonly<AIVariable>[];
|
|
38
|
+
unregisterVariable(name: string): void;
|
|
39
|
+
readonly onDidChangeVariables: Event<void>;
|
|
40
|
+
registerResolver(variable: AIVariable, resolver: AIVariableResolver): Disposable;
|
|
41
|
+
unregisterResolver(variable: AIVariable, resolver: AIVariableResolver): void;
|
|
42
|
+
getResolver(name: string, arg: string | undefined, context: AIVariableContext): Promise<AIVariableResolver | undefined>;
|
|
43
|
+
resolveVariable(variable: AIVariableArg, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
44
|
+
}
|
|
45
|
+
export declare const AIVariableContribution: unique symbol;
|
|
46
|
+
export interface AIVariableContribution {
|
|
47
|
+
registerVariables(service: AIVariableService): void;
|
|
48
|
+
}
|
|
49
|
+
export declare class DefaultAIVariableService implements AIVariableService {
|
|
50
|
+
protected readonly contributionProvider: ContributionProvider<AIVariableContribution>;
|
|
51
|
+
protected variables: Map<string, AIVariable>;
|
|
52
|
+
protected resolvers: Map<string, AIVariableResolver[]>;
|
|
53
|
+
protected readonly onDidChangeVariablesEmitter: Emitter<void>;
|
|
54
|
+
readonly onDidChangeVariables: Event<void>;
|
|
55
|
+
protected logger: ILogger;
|
|
56
|
+
constructor(contributionProvider: ContributionProvider<AIVariableContribution>);
|
|
57
|
+
protected initContributions(): void;
|
|
58
|
+
protected getKey(name: string): string;
|
|
59
|
+
getResolver(name: string, arg: string | undefined, context: AIVariableContext): Promise<AIVariableResolver | undefined>;
|
|
60
|
+
protected getResolvers(name: string): AIVariableResolver[];
|
|
61
|
+
protected prioritize(name: string, arg: string | undefined, context: AIVariableContext): Promise<AIVariableResolver[]>;
|
|
62
|
+
hasVariable(name: string): boolean;
|
|
63
|
+
getVariable(name: string): Readonly<AIVariable> | undefined;
|
|
64
|
+
getVariables(): Readonly<AIVariable>[];
|
|
65
|
+
registerResolver(variable: AIVariable, resolver: AIVariableResolver): Disposable;
|
|
66
|
+
unregisterResolver(variable: AIVariable, resolver: AIVariableResolver): void;
|
|
67
|
+
unregisterVariable(name: string): void;
|
|
68
|
+
resolveVariable(request: AIVariableArg, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=variable-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-service.d.ts","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
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
|
+
/*---------------------------------------------------------------------------------------------
|
|
18
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
+
*--------------------------------------------------------------------------------------------*/
|
|
21
|
+
// Partially copied from https://github.com/microsoft/vscode/blob/a2cab7255c0df424027be05d58e1b7b941f4ea60/src/vs/workbench/contrib/chat/common/chatVariables.ts
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.DefaultAIVariableService = exports.AIVariableContribution = exports.AIVariableService = void 0;
|
|
24
|
+
const tslib_1 = require("tslib");
|
|
25
|
+
const core_1 = require("@theia/core");
|
|
26
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
27
|
+
exports.AIVariableService = Symbol('AIVariableService');
|
|
28
|
+
exports.AIVariableContribution = Symbol('AIVariableContribution');
|
|
29
|
+
let DefaultAIVariableService = class DefaultAIVariableService {
|
|
30
|
+
constructor(contributionProvider) {
|
|
31
|
+
this.contributionProvider = contributionProvider;
|
|
32
|
+
this.variables = new Map();
|
|
33
|
+
this.resolvers = new Map();
|
|
34
|
+
this.onDidChangeVariablesEmitter = new core_1.Emitter();
|
|
35
|
+
this.onDidChangeVariables = this.onDidChangeVariablesEmitter.event;
|
|
36
|
+
}
|
|
37
|
+
initContributions() {
|
|
38
|
+
this.contributionProvider.getContributions().forEach(contribution => contribution.registerVariables(this));
|
|
39
|
+
}
|
|
40
|
+
getKey(name) {
|
|
41
|
+
return `${name.toLowerCase()}`;
|
|
42
|
+
}
|
|
43
|
+
async getResolver(name, arg, context) {
|
|
44
|
+
const resolvers = await this.prioritize(name, arg, context);
|
|
45
|
+
return resolvers[0];
|
|
46
|
+
}
|
|
47
|
+
getResolvers(name) {
|
|
48
|
+
var _a;
|
|
49
|
+
return (_a = this.resolvers.get(this.getKey(name))) !== null && _a !== void 0 ? _a : [];
|
|
50
|
+
}
|
|
51
|
+
async prioritize(name, arg, context) {
|
|
52
|
+
const variable = this.getVariable(name);
|
|
53
|
+
if (!variable) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
const prioritized = await core_1.Prioritizeable.prioritizeAll(this.getResolvers(name), async (resolver) => {
|
|
57
|
+
try {
|
|
58
|
+
return await resolver.canResolve({ variable, arg }, context);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return prioritized.map(p => p.value);
|
|
65
|
+
}
|
|
66
|
+
hasVariable(name) {
|
|
67
|
+
return !!this.getVariable(name);
|
|
68
|
+
}
|
|
69
|
+
getVariable(name) {
|
|
70
|
+
return this.variables.get(this.getKey(name));
|
|
71
|
+
}
|
|
72
|
+
getVariables() {
|
|
73
|
+
return [...this.variables.values()];
|
|
74
|
+
}
|
|
75
|
+
registerResolver(variable, resolver) {
|
|
76
|
+
var _a;
|
|
77
|
+
const key = this.getKey(variable.name);
|
|
78
|
+
if (!this.variables.get(key)) {
|
|
79
|
+
this.variables.set(key, variable);
|
|
80
|
+
this.onDidChangeVariablesEmitter.fire();
|
|
81
|
+
}
|
|
82
|
+
const resolvers = (_a = this.resolvers.get(key)) !== null && _a !== void 0 ? _a : [];
|
|
83
|
+
resolvers.push(resolver);
|
|
84
|
+
this.resolvers.set(key, resolvers);
|
|
85
|
+
return core_1.Disposable.create(() => this.unregisterResolver(variable, resolver));
|
|
86
|
+
}
|
|
87
|
+
unregisterResolver(variable, resolver) {
|
|
88
|
+
const key = this.getKey(variable.name);
|
|
89
|
+
const registeredResolvers = this.resolvers.get(key);
|
|
90
|
+
registeredResolvers === null || registeredResolvers === void 0 ? void 0 : registeredResolvers.splice(registeredResolvers.indexOf(resolver), 1);
|
|
91
|
+
if ((registeredResolvers === null || registeredResolvers === void 0 ? void 0 : registeredResolvers.length) === 0) {
|
|
92
|
+
this.unregisterVariable(variable.name);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
unregisterVariable(name) {
|
|
96
|
+
this.variables.delete(this.getKey(name));
|
|
97
|
+
this.resolvers.delete(this.getKey(name));
|
|
98
|
+
this.onDidChangeVariablesEmitter.fire();
|
|
99
|
+
}
|
|
100
|
+
async resolveVariable(request, context) {
|
|
101
|
+
const variableName = typeof request === 'string' ? request : typeof request.variable === 'string' ? request.variable : request.variable.name;
|
|
102
|
+
const variable = this.getVariable(variableName);
|
|
103
|
+
if (!variable) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
const arg = typeof request === 'string' ? undefined : request.arg;
|
|
107
|
+
const resolver = await this.getResolver(variableName, arg, context);
|
|
108
|
+
return resolver === null || resolver === void 0 ? void 0 : resolver.resolve({ variable, arg }, context);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
exports.DefaultAIVariableService = DefaultAIVariableService;
|
|
112
|
+
tslib_1.__decorate([
|
|
113
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
114
|
+
tslib_1.__metadata("design:type", Object)
|
|
115
|
+
], DefaultAIVariableService.prototype, "logger", void 0);
|
|
116
|
+
exports.DefaultAIVariableService = DefaultAIVariableService = tslib_1.__decorate([
|
|
117
|
+
(0, inversify_1.injectable)(),
|
|
118
|
+
tslib_1.__param(0, (0, inversify_1.inject)(core_1.ContributionProvider)),
|
|
119
|
+
tslib_1.__param(0, (0, inversify_1.named)(exports.AIVariableContribution)),
|
|
120
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
121
|
+
], DefaultAIVariableService);
|
|
122
|
+
//# sourceMappingURL=variable-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-service.js","sourceRoot":"","sources":["../../src/common/variable-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-core-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAwB/D,wBA2CG"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// *****************************************************************************
|
|
4
|
+
// Copyright (C) 2024 EclipseSource GmbH.
|
|
5
|
+
//
|
|
6
|
+
// This program and the accompanying materials are made available under the
|
|
7
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
8
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
9
|
+
//
|
|
10
|
+
// This Source Code may also be made available under the following Secondary
|
|
11
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
12
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
13
|
+
// with the GNU Classpath Exception which is available at
|
|
14
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
15
|
+
//
|
|
16
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
17
|
+
// *****************************************************************************
|
|
18
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
19
|
+
const language_model_frontend_delegate_1 = require("./language-model-frontend-delegate");
|
|
20
|
+
const core_1 = require("@theia/core");
|
|
21
|
+
const common_1 = require("../common");
|
|
22
|
+
const backend_language_model_registry_1 = require("./backend-language-model-registry");
|
|
23
|
+
exports.default = new inversify_1.ContainerModule(bind => {
|
|
24
|
+
(0, core_1.bindContributionProvider)(bind, common_1.LanguageModelProvider);
|
|
25
|
+
bind(backend_language_model_registry_1.BackendLanguageModelRegistry).toSelf().inSingletonScope();
|
|
26
|
+
bind(common_1.LanguageModelRegistry).toService(backend_language_model_registry_1.BackendLanguageModelRegistry);
|
|
27
|
+
bind(common_1.LanguageModelRegistryFrontendDelegate).to(language_model_frontend_delegate_1.LanguageModelRegistryFrontendDelegateImpl).inSingletonScope();
|
|
28
|
+
bind(core_1.ConnectionHandler)
|
|
29
|
+
.toDynamicValue(ctx => new core_1.RpcConnectionHandler(common_1.languageModelRegistryDelegatePath, client => {
|
|
30
|
+
const registryDelegate = ctx.container.get(common_1.LanguageModelRegistryFrontendDelegate);
|
|
31
|
+
registryDelegate.setClient(client);
|
|
32
|
+
return registryDelegate;
|
|
33
|
+
}))
|
|
34
|
+
.inSingletonScope();
|
|
35
|
+
bind(language_model_frontend_delegate_1.LanguageModelFrontendDelegateImpl).toSelf().inSingletonScope();
|
|
36
|
+
bind(common_1.LanguageModelFrontendDelegate).toService(language_model_frontend_delegate_1.LanguageModelFrontendDelegateImpl);
|
|
37
|
+
bind(core_1.ConnectionHandler)
|
|
38
|
+
.toDynamicValue(({ container }) => new core_1.RpcConnectionHandler(common_1.languageModelDelegatePath, client => {
|
|
39
|
+
const service = container.get(language_model_frontend_delegate_1.LanguageModelFrontendDelegateImpl);
|
|
40
|
+
service.setClient(client);
|
|
41
|
+
return service;
|
|
42
|
+
}))
|
|
43
|
+
.inSingletonScope();
|
|
44
|
+
bind(common_1.PromptServiceImpl).toSelf().inSingletonScope();
|
|
45
|
+
bind(common_1.PromptService).toService(common_1.PromptServiceImpl);
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=ai-core-backend-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-core-backend-module.js","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAA+D;AAC/D,yFAG4C;AAC5C,sCAIqB;AACrB,sCAWmB;AACnB,uFAAiF;AAEjF,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAA,+BAAwB,EAAC,IAAI,EAAE,8BAAqB,CAAC,CAAC;IACtD,IAAI,CAAC,8DAA4B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,8BAAqB,CAAC,CAAC,SAAS,CAAC,8DAA4B,CAAC,CAAC;IAEpE,IAAI,CAAC,8CAAqC,CAAC,CAAC,EAAE,CAAC,4EAAyC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC7G,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,GAAG,CAAC,EAAE,CACF,IAAI,2BAAoB,CACpB,0CAAiC,EACjC,MAAM,CAAC,EAAE;QACL,MAAM,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CACtC,8CAAqC,CACxC,CAAC;QACF,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC5B,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,oEAAiC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,sCAA6B,CAAC,CAAC,SAAS,CAAC,oEAAiC,CAAC,CAAC;IACjF,IAAI,CAAC,wBAAiB,CAAC;SAClB,cAAc,CACX,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACd,IAAI,2BAAoB,CACpB,kCAAyB,EACzB,MAAM,CAAC,EAAE;QACL,MAAM,OAAO,GACT,SAAS,CAAC,GAAG,CACT,oEAAiC,CACpC,CAAC;QACN,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC,CACJ,CACR;SACA,gBAAgB,EAAE,CAAC;IAExB,IAAI,CAAC,0BAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,0BAAiB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DefaultLanguageModelRegistryImpl, LanguageModel, LanguageModelMetaData, LanguageModelRegistryClient } from '../common';
|
|
2
|
+
/**
|
|
3
|
+
* Notifies a client whenever a model is added or removed
|
|
4
|
+
*/
|
|
5
|
+
export declare class BackendLanguageModelRegistry extends DefaultLanguageModelRegistryImpl {
|
|
6
|
+
private client;
|
|
7
|
+
setClient(client: LanguageModelRegistryClient): void;
|
|
8
|
+
addLanguageModels(models: LanguageModel[]): void;
|
|
9
|
+
removeLanguageModels(ids: string[]): void;
|
|
10
|
+
mapToMetaData(model: LanguageModel): LanguageModelMetaData;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=backend-language-model-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-language-model-registry.d.ts","sourceRoot":"","sources":["../../src/node/backend-language-model-registry.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gCAAgC,EAAE,aAAa,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAEhI;;GAEG;AACH,qBACa,4BAA6B,SAAQ,gCAAgC;IAE9E,OAAO,CAAC,MAAM,CAA0C;IAExD,SAAS,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAI3C,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAShD,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAOlD,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,qBAAqB;CAW7D"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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.BackendLanguageModelRegistry = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const common_1 = require("../common");
|
|
22
|
+
/**
|
|
23
|
+
* Notifies a client whenever a model is added or removed
|
|
24
|
+
*/
|
|
25
|
+
let BackendLanguageModelRegistry = class BackendLanguageModelRegistry extends common_1.DefaultLanguageModelRegistryImpl {
|
|
26
|
+
setClient(client) {
|
|
27
|
+
this.client = client;
|
|
28
|
+
}
|
|
29
|
+
addLanguageModels(models) {
|
|
30
|
+
var _a;
|
|
31
|
+
const modelsLength = this.languageModels.length;
|
|
32
|
+
super.addLanguageModels(models);
|
|
33
|
+
// only notify for models which were really added
|
|
34
|
+
for (let i = modelsLength; i < this.languageModels.length; i++) {
|
|
35
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.languageModelAdded(this.mapToMetaData(this.languageModels[i]));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
removeLanguageModels(ids) {
|
|
39
|
+
var _a;
|
|
40
|
+
super.removeLanguageModels(ids);
|
|
41
|
+
for (const id of ids) {
|
|
42
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.languageModelRemoved(id);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
mapToMetaData(model) {
|
|
46
|
+
return {
|
|
47
|
+
id: model.id,
|
|
48
|
+
name: model.name,
|
|
49
|
+
vendor: model.vendor,
|
|
50
|
+
version: model.version,
|
|
51
|
+
family: model.family,
|
|
52
|
+
maxInputTokens: model.maxInputTokens,
|
|
53
|
+
maxOutputTokens: model.maxOutputTokens,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.BackendLanguageModelRegistry = BackendLanguageModelRegistry;
|
|
58
|
+
exports.BackendLanguageModelRegistry = BackendLanguageModelRegistry = tslib_1.__decorate([
|
|
59
|
+
(0, inversify_1.injectable)()
|
|
60
|
+
], BackendLanguageModelRegistry);
|
|
61
|
+
//# sourceMappingURL=backend-language-model-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-language-model-registry.js","sourceRoot":"","sources":["../../src/node/backend-language-model-registry.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,4DAA0D;AAC1D,sCAAgI;AAEhI;;GAEG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,yCAAgC;IAI9E,SAAS,CAAC,MAAmC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEQ,iBAAiB,CAAC,MAAuB;;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAChD,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChC,iDAAiD;QACjD,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7D,MAAA,IAAI,CAAC,MAAM,0CAAE,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAEQ,oBAAoB,CAAC,GAAa;;QACvC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAA,IAAI,CAAC,MAAM,0CAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,aAAa,CAAC,KAAoB;QAC9B,OAAO;YACH,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,eAAe,EAAE,KAAK,CAAC,eAAe;SACzC,CAAC;IACN,CAAC;CACJ,CAAA;AAnCY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAmCxC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CancellationToken } from '@theia/core';
|
|
2
|
+
import { LanguageModelMetaData, LanguageModelRequest, LanguageModelStreamResponsePart, LanguageModelDelegateClient, LanguageModelFrontendDelegate, LanguageModelRegistryFrontendDelegate, LanguageModelResponseDelegate, LanguageModelRegistryClient } from '../common';
|
|
3
|
+
export declare class LanguageModelRegistryFrontendDelegateImpl implements LanguageModelRegistryFrontendDelegate {
|
|
4
|
+
private registry;
|
|
5
|
+
setClient(client: LanguageModelRegistryClient): void;
|
|
6
|
+
getLanguageModelDescriptions(): Promise<LanguageModelMetaData[]>;
|
|
7
|
+
}
|
|
8
|
+
export declare class LanguageModelFrontendDelegateImpl implements LanguageModelFrontendDelegate {
|
|
9
|
+
private registry;
|
|
10
|
+
private logger;
|
|
11
|
+
private frontendDelegateClient;
|
|
12
|
+
private requestCancellationTokenMap;
|
|
13
|
+
setClient(client: LanguageModelDelegateClient): void;
|
|
14
|
+
cancel(requestId: string): void;
|
|
15
|
+
request(modelId: string, request: LanguageModelRequest, requestId: string, cancellationToken?: CancellationToken): Promise<LanguageModelResponseDelegate>;
|
|
16
|
+
protected sendTokens(id: string, stream: AsyncIterable<LanguageModelStreamResponsePart>): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=language-model-frontend-delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-model-frontend-delegate.d.ts","sourceRoot":"","sources":["../../src/node/language-model-frontend-delegate.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAkD,MAAM,aAAa,CAAC;AAChG,OAAO,EACH,qBAAqB,EAErB,oBAAoB,EAGpB,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,qCAAqC,EACrC,6BAA6B,EAC7B,2BAA2B,EAE9B,MAAM,WAAW,CAAC;AAGnB,qBACa,yCAA0C,YAAW,qCAAqC;IAGnG,OAAO,CAAC,QAAQ,CAA+B;IAE/C,SAAS,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAI9C,4BAA4B,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAGzE;AAED,qBACa,iCAAkC,YAAW,6BAA6B;IAGnF,OAAO,CAAC,QAAQ,CAAwB;IAGxC,OAAO,CAAC,MAAM,CAAU;IAExB,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,OAAO,CAAC,2BAA2B,CAAmD;IAEtF,SAAS,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAIpD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzB,OAAO,CACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,6BAA6B,CAAC;IAiCzC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,+BAA+B,CAAC,GAAG,IAAI;CAQjG"}
|