@theia/ai-core 1.57.0-next.7 → 1.57.1
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 +2 -1
- package/lib/browser/prompttemplate-contribution.d.ts +2 -2
- package/lib/browser/prompttemplate-contribution.d.ts.map +1 -1
- package/lib/browser/prompttemplate-contribution.js +3 -4
- package/lib/browser/prompttemplate-contribution.js.map +1 -1
- package/lib/common/language-model.d.ts +14 -7
- package/lib/common/language-model.d.ts.map +1 -1
- package/lib/common/language-model.js +23 -1
- package/lib/common/language-model.js.map +1 -1
- package/lib/common/tool-invocation-registry.d.ts +33 -0
- package/lib/common/tool-invocation-registry.d.ts.map +1 -1
- package/lib/common/tool-invocation-registry.js +12 -0
- package/lib/common/tool-invocation-registry.js.map +1 -1
- package/package.json +10 -10
- package/src/browser/prompttemplate-contribution.ts +6 -7
- package/src/common/language-model.ts +28 -1
- package/src/common/tool-invocation-registry.ts +46 -0
package/README.md
CHANGED
|
@@ -26,5 +26,6 @@ It manages the integration of language models and provides core concepts like ag
|
|
|
26
26
|
- [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
|
|
27
27
|
|
|
28
28
|
## Trademark
|
|
29
|
+
|
|
29
30
|
"Theia" is a trademark of the Eclipse Foundation
|
|
30
|
-
https://www.eclipse.org/theia
|
|
31
|
+
<https://www.eclipse.org/theia>
|
|
@@ -4,7 +4,7 @@ import { Command, CommandContribution, CommandRegistry } from '@theia/core';
|
|
|
4
4
|
import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
5
5
|
import { Widget } from '@theia/core/lib/browser';
|
|
6
6
|
import { EditorWidget } from '@theia/editor/lib/browser';
|
|
7
|
-
import { PromptCustomizationService } from '../common';
|
|
7
|
+
import { PromptCustomizationService, ToolInvocationRegistry } from '../common';
|
|
8
8
|
import { ProviderResult } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
|
|
9
9
|
export declare const PROMPT_TEMPLATE_EXTENSION = ".prompttemplate";
|
|
10
10
|
export declare const DISCARD_PROMPT_TEMPLATE_CUSTOMIZATIONS: Command;
|
|
@@ -13,7 +13,7 @@ export declare class PromptTemplateContribution implements LanguageGrammarDefini
|
|
|
13
13
|
private readonly promptService;
|
|
14
14
|
private readonly messageService;
|
|
15
15
|
protected readonly customizationService: PromptCustomizationService;
|
|
16
|
-
|
|
16
|
+
protected readonly toolInvocationRegistry: ToolInvocationRegistry;
|
|
17
17
|
readonly config: monaco.languages.LanguageConfiguration;
|
|
18
18
|
registerTextmateLanguage(registry: TextmateRegistry): void;
|
|
19
19
|
provideFunctionCompletions(model: monaco.editor.ITextModel, position: monaco.Position): ProviderResult<monaco.languages.CompletionList>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompttemplate-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAgD,qCAAqC,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3J,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"prompttemplate-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAgD,qCAAqC,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3J,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAEjH,OAAO,EAAW,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAoB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAiB,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAK1F,eAAO,MAAM,yBAAyB,oBAAoB,CAAC;AAE3D,eAAO,MAAM,sCAAsC,EAAE,OAIpD,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,OAKtC,CAAC;AAEF,qBACa,0BAA2B,YAAW,qCAAqC,EAAE,mBAAmB,EAAE,yBAAyB;IAGpI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAG9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAcjD;IAEN,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAkC1D,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;IAavI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,SAAS;IAwBnI,OAAO,CAAC,cAAc;IAwBtB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAYjD,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOzD,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;cAWnC,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5D,OAAO,CAAC,cAAc;IAOtB,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;CAO9D"}
|
|
@@ -85,7 +85,7 @@ let PromptTemplateContribution = class PromptTemplateContribution {
|
|
|
85
85
|
registry.mapLanguageIdToTextmateGrammar(PROMPT_TEMPLATE_LANGUAGE_ID, PROMPT_TEMPLATE_TEXTMATE_SCOPE);
|
|
86
86
|
}
|
|
87
87
|
provideFunctionCompletions(model, position) {
|
|
88
|
-
return this.getSuggestions(model, position, '~{', this.
|
|
88
|
+
return this.getSuggestions(model, position, '~{', this.toolInvocationRegistry.getAllFunctions(), monaco.languages.CompletionItemKind.Function, tool => tool.id, tool => tool.name, tool => { var _a; return (_a = tool.description) !== null && _a !== void 0 ? _a : ''; });
|
|
89
89
|
}
|
|
90
90
|
getCompletionRange(model, position, triggerCharacters) {
|
|
91
91
|
// Check if the characters before the current position are the trigger characters
|
|
@@ -198,10 +198,9 @@ tslib_1.__decorate([
|
|
|
198
198
|
tslib_1.__metadata("design:type", Object)
|
|
199
199
|
], PromptTemplateContribution.prototype, "customizationService", void 0);
|
|
200
200
|
tslib_1.__decorate([
|
|
201
|
-
(0, inversify_1.inject)(
|
|
202
|
-
(0, inversify_1.named)(common_1.ToolProvider),
|
|
201
|
+
(0, inversify_1.inject)(common_1.ToolInvocationRegistry),
|
|
203
202
|
tslib_1.__metadata("design:type", Object)
|
|
204
|
-
], PromptTemplateContribution.prototype, "
|
|
203
|
+
], PromptTemplateContribution.prototype, "toolInvocationRegistry", void 0);
|
|
205
204
|
exports.PromptTemplateContribution = PromptTemplateContribution = tslib_1.__decorate([
|
|
206
205
|
(0, inversify_1.injectable)()
|
|
207
206
|
], PromptTemplateContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompttemplate-contribution.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,
|
|
1
|
+
{"version":3,"file":"prompttemplate-contribution.js","sourceRoot":"","sources":["../../src/browser/prompttemplate-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAElE,oDAAoD;AACpD,sCAA4F;AAG5F,qDAA0D;AAC1D,uDAA2E;AAC3E,sCAA8F;AAG9F,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAC/D,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AAElD,QAAA,yBAAyB,GAAG,iBAAiB,CAAC;AAE9C,QAAA,sCAAsC,GAAY;IAC3D,EAAE,EAAE,kCAAkC;IACtC,SAAS,EAAE,IAAA,iBAAO,EAAC,SAAS,CAAC;IAC7B,QAAQ,EAAE,2BAA2B;CACxC,CAAC;AAEF,mDAAmD;AACtC,QAAA,wBAAwB,GAAY;IAC7C,EAAE,EAAE,+CAA+C;IACnD,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,IAAA,iBAAO,EAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,2BAA2B;CACxC,CAAC;AAGK,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QAcM,WAAM,GACX;YACI,UAAU,EAAE;gBACR,CAAC,IAAI,EAAE,GAAG,CAAC;gBACX,CAAC,IAAI,EAAE,GAAG,CAAC;aACd;YACD,kBAAkB,EAAE;gBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC9B,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;aACjC;YACD,kBAAkB,EAAE;gBAChB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC9B,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;aACjC;SACJ,CAAC;IA+KV,CAAC;IA7KG,wBAAwB,CAAC,QAA0B;QAC/C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;YACtB,EAAE,EAAE,2BAA2B;YAC/B,SAAS,EAAE;gBACP,2BAA2B;aAC9B;YACD,YAAY,EAAE;gBACV,iCAAyB;aAC5B;YACD,WAAW,EAAE,EAAE;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,2BAA2B,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEpF,MAAM,CAAC,SAAS,CAAC,8BAA8B,CAAC,2BAA2B,EAAE;YACzE,2DAA2D;YAC3D,iBAAiB,EAAE,CAAC,GAAG,CAAC;YACxB,sBAAsB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAmD,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,QAAQ,CAAC;SACnK,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAC;QAC7E,MAAM,yBAAyB,GAA8B;YACzD,oBAAoB,EAAE;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC;oBACnB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACP,CAAC;SACJ,CAAC;QACF,QAAQ,CAAC,4BAA4B,CAAC,8BAA8B,EAAE,yBAAyB,CAAC,CAAC;QAEjG,QAAQ,CAAC,8BAA8B,CAAC,2BAA2B,EAAE,8BAA8B,CAAC,CAAC;IACzG,CAAC;IAED,0BAA0B,CAAC,KAA+B,EAAE,QAAyB;QACjF,OAAO,IAAI,CAAC,cAAc,CACtB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,EAC7C,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAC5C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EACf,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EACjB,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAA,EAAA,CACjC,CAAC;IACN,CAAC;IAED,kBAAkB,CAAC,KAA+B,EAAE,QAAyB,EAAE,iBAAyB;QACpG,iFAAiF;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC/C,MAAM,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAC1C,QAAQ,CAAC,MAAM,GAAG,aAAa,GAAG,CAAC,EACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACtB,CAAC;QAEF,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;YACzC,sFAAsF;YACtF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,kEAAkE;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACtD,OAAO,IAAI,MAAM,CAAC,KAAK,CACnB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,MAAM,CAClB,CAAC;IACN,CAAC;IAEO,cAAc,CAClB,KAA+B,EAC/B,QAAyB,EACzB,YAAoB,EACpB,KAAU,EACV,IAAyC,EACzC,KAA0B,EAC1B,OAA4B,EAC5B,cAAmC;QAEnC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/E,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,8CAAsC,EAAE;YAC7D,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;YAClE,SAAS,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5D,OAAO,EAAE,CAAC,MAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1D,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,gCAAwB,EAAE;YAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;SACvC,CAAC,CAAC;IACP,CAAC;IAES,sBAAsB,CAAC,MAAc;QAC3C,IAAI,MAAM,YAAY,sBAAY,EAAE,CAAC;YACjC,OAAO,2BAA2B,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,UAAU,CAAC,MAAoB;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,OAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAA,CAAC;IAC3D,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,MAAoB;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzF,MAAM,gBAAgB,GAAqB;YACvC,KAAK,EAAE;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,CAAC;iBACf;gBACD,GAAG,EAAE;oBACD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS;oBACtC,SAAS,EAAE,QAAQ,CAAC,MAAM;iBAC7B;aACJ;YACD,IAAI,EAAE,aAAa,CAAC,QAAQ;SAC/B,CAAC;QAEF,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5B,MAAM;YACN,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;SACxC,CAAC,CAAC;IACP,CAAC;IAEO,cAAc;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAuB,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAAC,QAA+B;QAChD,QAAQ,CAAC,YAAY,CAAC;YAClB,EAAE,EAAE,8CAAsC,CAAC,EAAE;YAC7C,OAAO,EAAE,8CAAsC,CAAC,EAAE;YAClD,OAAO,EAAE,wBAAwB;SACpC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA3MY,gEAA0B;AAGlB;IADhB,IAAA,kBAAM,EAAC,sBAAa,CAAC;;iEACwB;AAG7B;IADhB,IAAA,kBAAM,EAAC,qBAAc,CAAC;sCACU,qBAAc;kEAAC;AAG7B;IADlB,IAAA,kBAAM,EAAC,mCAA0B,CAAC;;wEACiC;AAGjD;IADlB,IAAA,kBAAM,EAAC,+BAAsB,CAAC;;0EACmC;qCAZzD,0BAA0B;IADtC,IAAA,sBAAU,GAAE;GACA,0BAA0B,CA2MtC"}
|
|
@@ -6,18 +6,25 @@ export interface LanguageModelRequestMessage {
|
|
|
6
6
|
query: string;
|
|
7
7
|
}
|
|
8
8
|
export declare const isLanguageModelRequestMessage: (obj: unknown) => obj is LanguageModelRequestMessage;
|
|
9
|
+
export type ToolRequestParametersProperties = Record<string, {
|
|
10
|
+
type: string;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}>;
|
|
13
|
+
export interface ToolRequestParameters {
|
|
14
|
+
type?: 'object';
|
|
15
|
+
properties: ToolRequestParametersProperties;
|
|
16
|
+
}
|
|
9
17
|
export interface ToolRequest {
|
|
10
18
|
id: string;
|
|
11
19
|
name: string;
|
|
12
|
-
parameters?:
|
|
13
|
-
type?: 'object';
|
|
14
|
-
properties: Record<string, {
|
|
15
|
-
type: string;
|
|
16
|
-
[key: string]: unknown;
|
|
17
|
-
}>;
|
|
18
|
-
};
|
|
20
|
+
parameters?: ToolRequestParameters;
|
|
19
21
|
description?: string;
|
|
20
22
|
handler: (arg_string: string) => Promise<unknown>;
|
|
23
|
+
providerName?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare namespace ToolRequest {
|
|
26
|
+
function isToolRequestParametersProperties(obj: unknown): obj is ToolRequestParametersProperties;
|
|
27
|
+
function isToolRequestParameters(obj: unknown): obj is ToolRequestParameters;
|
|
21
28
|
}
|
|
22
29
|
export interface LanguageModelRequest {
|
|
23
30
|
messages: LanguageModelRequestMessage[];
|
|
@@ -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,2BAA2B;IACxC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,eAAO,MAAM,6BAA6B,QAAS,OAAO,uCAOrD,CAAC;AACN,MAAM,
|
|
1
|
+
{"version":3,"file":"language-model.d.ts","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
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.isLanguageModelRequestMessage = void 0;
|
|
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;
|
|
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");
|
|
@@ -26,6 +26,28 @@ const isLanguageModelRequestMessage = (obj) => !!(obj && typeof obj === 'object'
|
|
|
26
26
|
'query' in obj &&
|
|
27
27
|
typeof obj.query === 'string');
|
|
28
28
|
exports.isLanguageModelRequestMessage = isLanguageModelRequestMessage;
|
|
29
|
+
var ToolRequest;
|
|
30
|
+
(function (ToolRequest) {
|
|
31
|
+
function isToolRequestParametersProperties(obj) {
|
|
32
|
+
if (!obj || typeof obj !== 'object') {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
;
|
|
36
|
+
return Object.entries(obj).every(([key, value]) => typeof key === 'string' &&
|
|
37
|
+
value &&
|
|
38
|
+
typeof value === 'object' &&
|
|
39
|
+
'type' in value &&
|
|
40
|
+
typeof value.type === 'string' &&
|
|
41
|
+
Object.keys(value).every(k => typeof k === 'string'));
|
|
42
|
+
}
|
|
43
|
+
ToolRequest.isToolRequestParametersProperties = isToolRequestParametersProperties;
|
|
44
|
+
function isToolRequestParameters(obj) {
|
|
45
|
+
return !!obj && typeof obj === 'object' &&
|
|
46
|
+
(!('type' in obj) || obj.type === 'object') &&
|
|
47
|
+
'properties' in obj && isToolRequestParametersProperties(obj.properties);
|
|
48
|
+
}
|
|
49
|
+
ToolRequest.isToolRequestParameters = isToolRequestParameters;
|
|
50
|
+
})(ToolRequest || (exports.ToolRequest = ToolRequest = {}));
|
|
29
51
|
const isLanguageModelTextResponse = (obj) => !!(obj && typeof obj === 'object' && 'text' in obj && typeof obj.text === 'string');
|
|
30
52
|
exports.isLanguageModelTextResponse = isLanguageModelTextResponse;
|
|
31
53
|
const isLanguageModelStreamResponse = (obj) => !!(obj && typeof obj === 'object' && 'stream' in obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-model.js","sourceRoot":"","sources":["../../src/common/language-model.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,sCAAqH;AACrH,4DAAwF;AASjF,MAAM,6BAA6B,GAAG,CAAC,GAAY,EAAsC,EAAE,CAC9F,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;IAC7B,MAAM,IAAI,GAAG;IACb,OAAQ,GAAyB,CAAC,IAAI,KAAK,QAAQ;IAClD,GAAyB,CAAC,IAAI,KAAK,MAAM;IAC1C,OAAO,IAAI,GAAG;IACd,OAAQ,GAA0B,CAAC,KAAK,KAAK,QAAQ,CACxD,CAAC;AAPO,QAAA,6BAA6B,iCAOpC;
|
|
1
|
+
{"version":3,"file":"language-model.js","sourceRoot":"","sources":["../../src/common/language-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,40 @@ export declare const ToolInvocationRegistry: unique symbol;
|
|
|
4
4
|
* Registry for all the function calls available to Agents.
|
|
5
5
|
*/
|
|
6
6
|
export interface ToolInvocationRegistry {
|
|
7
|
+
/**
|
|
8
|
+
* Registers a tool into the registry.
|
|
9
|
+
*
|
|
10
|
+
* @param tool - The `ToolRequest` object representing the tool to be registered.
|
|
11
|
+
*/
|
|
7
12
|
registerTool(tool: ToolRequest): void;
|
|
13
|
+
/**
|
|
14
|
+
* Retrieves a specific `ToolRequest` from the registry.
|
|
15
|
+
*
|
|
16
|
+
* @param toolId - The unique identifier of the tool to retrieve.
|
|
17
|
+
* @returns The `ToolRequest` object corresponding to the provided tool ID,
|
|
18
|
+
* or `undefined` if the tool is not found in the registry.
|
|
19
|
+
*/
|
|
8
20
|
getFunction(toolId: string): ToolRequest | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Retrieves multiple `ToolRequest`s from the registry.
|
|
23
|
+
*
|
|
24
|
+
* @param toolIds - A list of tool IDs to retrieve.
|
|
25
|
+
* @returns An array of `ToolRequest` objects for the specified tool IDs.
|
|
26
|
+
* If a tool ID is not found, it is skipped in the returned array.
|
|
27
|
+
*/
|
|
9
28
|
getFunctions(...toolIds: string[]): ToolRequest[];
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves all `ToolRequest`s currently registered in the registry.
|
|
31
|
+
*
|
|
32
|
+
* @returns An array of all `ToolRequest` objects in the registry.
|
|
33
|
+
*/
|
|
34
|
+
getAllFunctions(): ToolRequest[];
|
|
35
|
+
/**
|
|
36
|
+
* Unregisters all tools provided by a specific tool provider.
|
|
37
|
+
*
|
|
38
|
+
* @param providerName - The name of the tool provider whose tools should be removed (as specificed in the `ToolRequest`).
|
|
39
|
+
*/
|
|
40
|
+
unregisterAllTools(providerName: string): void;
|
|
10
41
|
}
|
|
11
42
|
export declare const ToolProvider: unique symbol;
|
|
12
43
|
export interface ToolProvider {
|
|
@@ -16,6 +47,8 @@ export declare class ToolInvocationRegistryImpl implements ToolInvocationRegistr
|
|
|
16
47
|
private tools;
|
|
17
48
|
private providers;
|
|
18
49
|
init(): void;
|
|
50
|
+
unregisterAllTools(providerName: string): void;
|
|
51
|
+
getAllFunctions(): ToolRequest[];
|
|
19
52
|
registerTool(tool: ToolRequest): void;
|
|
20
53
|
getFunction(toolId: string): ToolRequest | undefined;
|
|
21
54
|
getFunctions(...toolIds: string[]): ToolRequest[];
|
|
@@ -1 +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;
|
|
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;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IAEtC;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;IAErD;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IAElD;;;;OAIG;IACH,eAAe,IAAI,WAAW,EAAE,CAAC;IAEjC;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD;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,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAS9C,eAAe,IAAI,WAAW,EAAE;IAIhC,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"}
|
|
@@ -30,6 +30,18 @@ let ToolInvocationRegistryImpl = class ToolInvocationRegistryImpl {
|
|
|
30
30
|
this.registerTool(provider.getTool());
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
+
unregisterAllTools(providerName) {
|
|
34
|
+
const toolsToRemove = [];
|
|
35
|
+
for (const [id, tool] of this.tools.entries()) {
|
|
36
|
+
if (tool.providerName === providerName) {
|
|
37
|
+
toolsToRemove.push(id);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
toolsToRemove.forEach(id => this.tools.delete(id));
|
|
41
|
+
}
|
|
42
|
+
getAllFunctions() {
|
|
43
|
+
return Array.from(this.tools.values());
|
|
44
|
+
}
|
|
33
45
|
registerTool(tool) {
|
|
34
46
|
if (this.tools.has(tool.id)) {
|
|
35
47
|
console.warn(`Function with id ${tool.id} is already registered.`);
|
|
@@ -1 +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;
|
|
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;AA8C1D,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAM5C,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QAEK,UAAK,GAA6B,IAAI,GAAG,EAAuB,CAAC;IAiD7E,CAAC;IA1CG,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,kBAAkB,CAAC,YAAoB;QACnC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBACrC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,eAAe;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,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;AAnDY,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,CAmDtC"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-core",
|
|
3
|
-
"version": "1.57.
|
|
3
|
+
"version": "1.57.1",
|
|
4
4
|
"description": "Theia - AI Core",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.57.
|
|
7
|
-
"@theia/editor": "1.57.
|
|
8
|
-
"@theia/filesystem": "1.57.
|
|
9
|
-
"@theia/monaco": "1.57.
|
|
6
|
+
"@theia/core": "1.57.1",
|
|
7
|
+
"@theia/editor": "1.57.1",
|
|
8
|
+
"@theia/filesystem": "1.57.1",
|
|
9
|
+
"@theia/monaco": "1.57.1",
|
|
10
10
|
"@theia/monaco-editor-core": "1.83.101",
|
|
11
|
-
"@theia/output": "1.57.
|
|
12
|
-
"@theia/variable-resolver": "1.57.
|
|
13
|
-
"@theia/workspace": "1.57.
|
|
11
|
+
"@theia/output": "1.57.1",
|
|
12
|
+
"@theia/variable-resolver": "1.57.1",
|
|
13
|
+
"@theia/workspace": "1.57.1",
|
|
14
14
|
"@types/js-yaml": "^4.0.9",
|
|
15
15
|
"js-yaml": "^4.1.0",
|
|
16
16
|
"minimatch": "^5.1.0",
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"watch": "theiaext watch"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@theia/ext-scripts": "1.
|
|
55
|
+
"@theia/ext-scripts": "1.57.1"
|
|
56
56
|
},
|
|
57
57
|
"nyc": {
|
|
58
58
|
"extends": "../../configs/nyc.json"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "6e84ac8d37bbeb45f999894e80cb92a761c1ee1e"
|
|
61
61
|
}
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
import { inject, injectable
|
|
17
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
18
|
import { GrammarDefinition, GrammarDefinitionProvider, LanguageGrammarDefinitionContribution, TextmateRegistry } from '@theia/monaco/lib/browser/textmate';
|
|
19
19
|
import * as monaco from '@theia/monaco-editor-core';
|
|
20
|
-
import { Command, CommandContribution, CommandRegistry,
|
|
20
|
+
import { Command, CommandContribution, CommandRegistry, MessageService } from '@theia/core';
|
|
21
21
|
import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
22
22
|
|
|
23
23
|
import { codicon, Widget } from '@theia/core/lib/browser';
|
|
24
24
|
import { EditorWidget, ReplaceOperation } from '@theia/editor/lib/browser';
|
|
25
|
-
import { PromptCustomizationService, PromptService,
|
|
25
|
+
import { PromptCustomizationService, PromptService, ToolInvocationRegistry } from '../common';
|
|
26
26
|
import { ProviderResult } from '@theia/monaco-editor-core/esm/vs/editor/common/languages';
|
|
27
27
|
|
|
28
28
|
const PROMPT_TEMPLATE_LANGUAGE_ID = 'theia-ai-prompt-template';
|
|
@@ -56,9 +56,8 @@ export class PromptTemplateContribution implements LanguageGrammarDefinitionCont
|
|
|
56
56
|
@inject(PromptCustomizationService)
|
|
57
57
|
protected readonly customizationService: PromptCustomizationService;
|
|
58
58
|
|
|
59
|
-
@inject(
|
|
60
|
-
|
|
61
|
-
private toolProviders: ContributionProvider<ToolProvider>;
|
|
59
|
+
@inject(ToolInvocationRegistry)
|
|
60
|
+
protected readonly toolInvocationRegistry: ToolInvocationRegistry;
|
|
62
61
|
|
|
63
62
|
readonly config: monaco.languages.LanguageConfiguration =
|
|
64
63
|
{
|
|
@@ -115,7 +114,7 @@ export class PromptTemplateContribution implements LanguageGrammarDefinitionCont
|
|
|
115
114
|
model,
|
|
116
115
|
position,
|
|
117
116
|
'~{',
|
|
118
|
-
this.
|
|
117
|
+
this.toolInvocationRegistry.getAllFunctions(),
|
|
119
118
|
monaco.languages.CompletionItemKind.Function,
|
|
120
119
|
tool => tool.id,
|
|
121
120
|
tool => tool.name,
|
|
@@ -32,13 +32,40 @@ export const isLanguageModelRequestMessage = (obj: unknown): obj is LanguageMode
|
|
|
32
32
|
'query' in obj &&
|
|
33
33
|
typeof (obj as { query: unknown }).query === 'string'
|
|
34
34
|
);
|
|
35
|
+
export type ToolRequestParametersProperties = Record<string, { type: string, [key: string]: unknown }>;
|
|
36
|
+
export interface ToolRequestParameters {
|
|
37
|
+
type?: 'object';
|
|
38
|
+
properties: ToolRequestParametersProperties
|
|
39
|
+
}
|
|
35
40
|
export interface ToolRequest {
|
|
36
41
|
id: string;
|
|
37
42
|
name: string;
|
|
38
|
-
parameters?:
|
|
43
|
+
parameters?: ToolRequestParameters
|
|
39
44
|
description?: string;
|
|
40
45
|
handler: (arg_string: string) => Promise<unknown>;
|
|
46
|
+
providerName?: string;
|
|
41
47
|
}
|
|
48
|
+
|
|
49
|
+
export namespace ToolRequest {
|
|
50
|
+
export function isToolRequestParametersProperties(obj: unknown): obj is ToolRequestParametersProperties {
|
|
51
|
+
if (!obj || typeof obj !== 'object') { return false; };
|
|
52
|
+
|
|
53
|
+
return Object.entries(obj).every(([key, value]) =>
|
|
54
|
+
typeof key === 'string' &&
|
|
55
|
+
value &&
|
|
56
|
+
typeof value === 'object' &&
|
|
57
|
+
'type' in value &&
|
|
58
|
+
typeof value.type === 'string' &&
|
|
59
|
+
Object.keys(value).every(k => typeof k === 'string')
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
export function isToolRequestParameters(obj: unknown): obj is ToolRequestParameters {
|
|
63
|
+
return !!obj && typeof obj === 'object' &&
|
|
64
|
+
(!('type' in obj) || obj.type === 'object') &&
|
|
65
|
+
'properties' in obj && isToolRequestParametersProperties(obj.properties);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
42
69
|
export interface LanguageModelRequest {
|
|
43
70
|
messages: LanguageModelRequestMessage[],
|
|
44
71
|
tools?: ToolRequest[];
|
|
@@ -24,11 +24,44 @@ export const ToolInvocationRegistry = Symbol('ToolInvocationRegistry');
|
|
|
24
24
|
* Registry for all the function calls available to Agents.
|
|
25
25
|
*/
|
|
26
26
|
export interface ToolInvocationRegistry {
|
|
27
|
+
/**
|
|
28
|
+
* Registers a tool into the registry.
|
|
29
|
+
*
|
|
30
|
+
* @param tool - The `ToolRequest` object representing the tool to be registered.
|
|
31
|
+
*/
|
|
27
32
|
registerTool(tool: ToolRequest): void;
|
|
28
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Retrieves a specific `ToolRequest` from the registry.
|
|
36
|
+
*
|
|
37
|
+
* @param toolId - The unique identifier of the tool to retrieve.
|
|
38
|
+
* @returns The `ToolRequest` object corresponding to the provided tool ID,
|
|
39
|
+
* or `undefined` if the tool is not found in the registry.
|
|
40
|
+
*/
|
|
29
41
|
getFunction(toolId: string): ToolRequest | undefined;
|
|
30
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Retrieves multiple `ToolRequest`s from the registry.
|
|
45
|
+
*
|
|
46
|
+
* @param toolIds - A list of tool IDs to retrieve.
|
|
47
|
+
* @returns An array of `ToolRequest` objects for the specified tool IDs.
|
|
48
|
+
* If a tool ID is not found, it is skipped in the returned array.
|
|
49
|
+
*/
|
|
31
50
|
getFunctions(...toolIds: string[]): ToolRequest[];
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Retrieves all `ToolRequest`s currently registered in the registry.
|
|
54
|
+
*
|
|
55
|
+
* @returns An array of all `ToolRequest` objects in the registry.
|
|
56
|
+
*/
|
|
57
|
+
getAllFunctions(): ToolRequest[];
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Unregisters all tools provided by a specific tool provider.
|
|
61
|
+
*
|
|
62
|
+
* @param providerName - The name of the tool provider whose tools should be removed (as specificed in the `ToolRequest`).
|
|
63
|
+
*/
|
|
64
|
+
unregisterAllTools(providerName: string): void;
|
|
32
65
|
}
|
|
33
66
|
|
|
34
67
|
export const ToolProvider = Symbol('ToolProvider');
|
|
@@ -52,6 +85,19 @@ export class ToolInvocationRegistryImpl implements ToolInvocationRegistry {
|
|
|
52
85
|
});
|
|
53
86
|
}
|
|
54
87
|
|
|
88
|
+
unregisterAllTools(providerName: string): void {
|
|
89
|
+
const toolsToRemove: string[] = [];
|
|
90
|
+
for (const [id, tool] of this.tools.entries()) {
|
|
91
|
+
if (tool.providerName === providerName) {
|
|
92
|
+
toolsToRemove.push(id);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
toolsToRemove.forEach(id => this.tools.delete(id));
|
|
96
|
+
}
|
|
97
|
+
getAllFunctions(): ToolRequest[] {
|
|
98
|
+
return Array.from(this.tools.values());
|
|
99
|
+
}
|
|
100
|
+
|
|
55
101
|
registerTool(tool: ToolRequest): void {
|
|
56
102
|
if (this.tools.has(tool.id)) {
|
|
57
103
|
console.warn(`Function with id ${tool.id} is already registered.`);
|