@theia/ai-core 1.72.0-next.5 → 1.72.0-next.50
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/generic-capabilities-variable-contribution.d.ts +2 -1
- package/lib/browser/generic-capabilities-variable-contribution.d.ts.map +1 -1
- package/lib/browser/generic-capabilities-variable-contribution.js +13 -2
- package/lib/browser/generic-capabilities-variable-contribution.js.map +1 -1
- package/lib/browser/generic-capabilities-variable-contribution.spec.js +70 -0
- package/lib/browser/generic-capabilities-variable-contribution.spec.js.map +1 -1
- package/lib/browser/theia-variable-contribution.d.ts.map +1 -1
- package/lib/browser/theia-variable-contribution.js +2 -1
- package/lib/browser/theia-variable-contribution.js.map +1 -1
- package/lib/browser/window-blink-service.d.ts.map +1 -1
- package/lib/browser/window-blink-service.js +4 -2
- package/lib/browser/window-blink-service.js.map +1 -1
- package/lib/common/capability-utils.d.ts +0 -2
- package/lib/common/capability-utils.d.ts.map +1 -1
- package/lib/common/capability-utils.js.map +1 -1
- package/package.json +11 -11
- package/src/browser/generic-capabilities-variable-contribution.spec.ts +108 -0
- package/src/browser/generic-capabilities-variable-contribution.ts +15 -3
- package/src/browser/theia-variable-contribution.ts +4 -1
- package/src/browser/window-blink-service.ts +4 -2
- package/src/common/capability-utils.ts +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MaybePromise } from '@theia/core';
|
|
2
|
-
import { AIVariable, AIVariableArg, AIVariableContext, AIVariableContribution, AIVariableResolutionRequest, AIVariableResolverWithVariableDependencies, AIVariableService, ResolvedAIVariable, AgentService, AgentsVariableContribution } from '../common';
|
|
2
|
+
import { AIVariable, AIVariableArg, AIVariableContext, AIVariableContribution, AIVariableResolutionRequest, AIVariableResolverWithVariableDependencies, AIVariableService, ResolvedAIVariable, AgentService, AgentsVariableContribution, ToolInvocationRegistry } from '../common';
|
|
3
3
|
import { PromptVariableContribution } from './prompt-variable-contribution';
|
|
4
4
|
import { SkillService } from './skill-service';
|
|
5
5
|
import { SkillsVariableContribution } from './skills-variable-contribution';
|
|
@@ -24,6 +24,7 @@ export declare class GenericCapabilitiesVariableContribution implements AIVariab
|
|
|
24
24
|
protected readonly variableService: AIVariableService | undefined;
|
|
25
25
|
protected readonly agentService: AgentService | undefined;
|
|
26
26
|
protected readonly agentsContribution: AgentsVariableContribution | undefined;
|
|
27
|
+
protected readonly toolInvocationRegistry: ToolInvocationRegistry | undefined;
|
|
27
28
|
protected readonly promptContribution: PromptVariableContribution | undefined;
|
|
28
29
|
registerVariables(service: AIVariableService): void;
|
|
29
30
|
canResolve(request: AIVariableResolutionRequest, _context: AIVariableContext): MaybePromise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-capabilities-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/generic-capabilities-variable-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACH,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAC3B,0CAA0C,EAC1C,iBAAiB,EACjB,kBAAkB,EAElB,YAAY,EACZ,0BAA0B,
|
|
1
|
+
{"version":3,"file":"generic-capabilities-variable-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/generic-capabilities-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,11 +120,17 @@ let GenericCapabilitiesVariableContribution = class GenericCapabilitiesVariableC
|
|
|
120
120
|
* The chat request parser will pick these up and add them to the toolRequests map.
|
|
121
121
|
*/
|
|
122
122
|
resolveSelectedFunctions(variable, functionIds) {
|
|
123
|
-
if (!functionIds || functionIds.length === 0) {
|
|
123
|
+
if (!functionIds || functionIds.length === 0 || !this.toolInvocationRegistry) {
|
|
124
|
+
return { variable, value: '' };
|
|
125
|
+
}
|
|
126
|
+
// Filter out stale/orphaned tool IDs that no longer exist in the registry
|
|
127
|
+
const validIds = functionIds
|
|
128
|
+
.filter(id => this.toolInvocationRegistry.getFunction(id) !== undefined);
|
|
129
|
+
if (validIds.length === 0) {
|
|
124
130
|
return { variable, value: '' };
|
|
125
131
|
}
|
|
126
132
|
// Output function references in ~{id} format so the chat parser picks them up
|
|
127
|
-
const functionRefs =
|
|
133
|
+
const functionRefs = validIds.map(id => `~{${id}}`).join('\n');
|
|
128
134
|
return { variable, value: functionRefs };
|
|
129
135
|
}
|
|
130
136
|
/**
|
|
@@ -207,6 +213,11 @@ tslib_1.__decorate([
|
|
|
207
213
|
(0, inversify_1.optional)(),
|
|
208
214
|
tslib_1.__metadata("design:type", Object)
|
|
209
215
|
], GenericCapabilitiesVariableContribution.prototype, "agentsContribution", void 0);
|
|
216
|
+
tslib_1.__decorate([
|
|
217
|
+
(0, inversify_1.inject)(common_1.ToolInvocationRegistry),
|
|
218
|
+
(0, inversify_1.optional)(),
|
|
219
|
+
tslib_1.__metadata("design:type", Object)
|
|
220
|
+
], GenericCapabilitiesVariableContribution.prototype, "toolInvocationRegistry", void 0);
|
|
210
221
|
tslib_1.__decorate([
|
|
211
222
|
(0, inversify_1.inject)(prompt_variable_contribution_1.PromptVariableContribution),
|
|
212
223
|
(0, inversify_1.optional)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-capabilities-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-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;;;;AAEhF,4DAA4E;AAE5E,
|
|
1
|
+
{"version":3,"file":"generic-capabilities-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,21 @@ describe('GenericCapabilitiesVariableContribution', () => {
|
|
|
29
29
|
after(() => disableJSDOM());
|
|
30
30
|
let contribution;
|
|
31
31
|
let container;
|
|
32
|
+
function createMockToolInvocationRegistry(registeredToolIds) {
|
|
33
|
+
const tools = new Map();
|
|
34
|
+
for (const id of registeredToolIds) {
|
|
35
|
+
tools.set(id, { id, providerName: 'test', parameters: {}, handler: async () => '' });
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
getFunction: (toolId) => tools.get(toolId),
|
|
39
|
+
getFunctions: (...toolIds) => toolIds.map(id => tools.get(id)).filter((t) => t !== undefined),
|
|
40
|
+
registerTool: () => { },
|
|
41
|
+
unregisterTool: () => { },
|
|
42
|
+
unregisterAllTools: () => { },
|
|
43
|
+
getAllFunctions: () => Array.from(tools.values()),
|
|
44
|
+
onDidChange: () => ({ dispose: () => { } }),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
32
47
|
beforeEach(() => {
|
|
33
48
|
container = new inversify_1.Container();
|
|
34
49
|
container.bind(generic_capabilities_variable_contribution_1.GenericCapabilitiesVariableContribution).toSelf().inSingletonScope();
|
|
@@ -53,6 +68,61 @@ describe('GenericCapabilitiesVariableContribution', () => {
|
|
|
53
68
|
});
|
|
54
69
|
});
|
|
55
70
|
describe('resolve', () => {
|
|
71
|
+
describe('resolveSelectedFunctions filtering', () => {
|
|
72
|
+
it('returns empty string when toolInvocationRegistry is not available', async () => {
|
|
73
|
+
const context = {
|
|
74
|
+
genericCapabilitySelections: {
|
|
75
|
+
functions: ['tool1', 'tool2']
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const result = await contribution.resolve({ variable: generic_capabilities_variable_contribution_1.SELECTED_FUNCTIONS_VARIABLE }, context);
|
|
79
|
+
(0, chai_1.expect)(result?.value).to.equal('');
|
|
80
|
+
});
|
|
81
|
+
it('filters out stale tool IDs that are not in the registry', async () => {
|
|
82
|
+
const mockRegistry = createMockToolInvocationRegistry(['tool1', 'tool3']);
|
|
83
|
+
contribution.toolInvocationRegistry = mockRegistry;
|
|
84
|
+
const context = {
|
|
85
|
+
genericCapabilitySelections: {
|
|
86
|
+
functions: ['tool1', 'tool2_stale', 'tool3']
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const result = await contribution.resolve({ variable: generic_capabilities_variable_contribution_1.SELECTED_FUNCTIONS_VARIABLE }, context);
|
|
90
|
+
(0, chai_1.expect)(result?.value).to.equal('~{tool1}\n~{tool3}');
|
|
91
|
+
});
|
|
92
|
+
it('returns empty string when all tool IDs are stale', async () => {
|
|
93
|
+
const mockRegistry = createMockToolInvocationRegistry([]);
|
|
94
|
+
contribution.toolInvocationRegistry = mockRegistry;
|
|
95
|
+
const context = {
|
|
96
|
+
genericCapabilitySelections: {
|
|
97
|
+
functions: ['stale1', 'stale2']
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const result = await contribution.resolve({ variable: generic_capabilities_variable_contribution_1.SELECTED_FUNCTIONS_VARIABLE }, context);
|
|
101
|
+
(0, chai_1.expect)(result?.value).to.equal('');
|
|
102
|
+
});
|
|
103
|
+
it('returns all tool references when all IDs are valid', async () => {
|
|
104
|
+
const mockRegistry = createMockToolInvocationRegistry(['tool1', 'tool2']);
|
|
105
|
+
contribution.toolInvocationRegistry = mockRegistry;
|
|
106
|
+
const context = {
|
|
107
|
+
genericCapabilitySelections: {
|
|
108
|
+
functions: ['tool1', 'tool2']
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const result = await contribution.resolve({ variable: generic_capabilities_variable_contribution_1.SELECTED_FUNCTIONS_VARIABLE }, context);
|
|
112
|
+
(0, chai_1.expect)(result?.value).to.equal('~{tool1}\n~{tool2}');
|
|
113
|
+
});
|
|
114
|
+
it('filters stale MCP function IDs the same way', async () => {
|
|
115
|
+
const mockRegistry = createMockToolInvocationRegistry(['mcp_fetch_fetch']);
|
|
116
|
+
contribution.toolInvocationRegistry = mockRegistry;
|
|
117
|
+
const context = {
|
|
118
|
+
genericCapabilitySelections: {
|
|
119
|
+
mcpFunctions: ['mcp_fetch_fetch', 'mcp_removed_server_tool']
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
const result = await contribution.resolve({ variable: generic_capabilities_variable_contribution_1.SELECTED_MCP_FUNCTIONS_VARIABLE }, context);
|
|
123
|
+
(0, chai_1.expect)(result?.value).to.equal('~{mcp_fetch_fetch}');
|
|
124
|
+
});
|
|
125
|
+
});
|
|
56
126
|
it('returns empty string when no selections exist', async () => {
|
|
57
127
|
const context = {};
|
|
58
128
|
const result = await contribution.resolve({ variable: generic_capabilities_variable_contribution_1.SELECTED_SKILLS_VARIABLE }, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-capabilities-variable-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-variable-contribution.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,8DAAiE;AACjE,IAAI,YAAY,GAAG,IAAA,mBAAW,GAAE,CAAC;AACjC,uHAAiH;AACjH,wEAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE1C,4BAA0B;AAE1B,+BAA8B;AAC9B,yCAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"generic-capabilities-variable-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-variable-contribution.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAIrG,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;IAkCnD,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"}
|
|
@@ -19,6 +19,7 @@ const tslib_1 = require("tslib");
|
|
|
19
19
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
20
20
|
// *****************************************************************************
|
|
21
21
|
const frontend_application_state_1 = require("@theia/core/lib/browser/frontend-application-state");
|
|
22
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
22
23
|
const nls_1 = require("@theia/core/lib/common/nls");
|
|
23
24
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
24
25
|
const browser_1 = require("@theia/variable-resolver/lib/browser");
|
|
@@ -91,7 +92,7 @@ let TheiaVariableContribution = class TheiaVariableContribution {
|
|
|
91
92
|
const newName = (mapping.name && mapping.name.trim() !== '') ? mapping.name : variable.name;
|
|
92
93
|
const newDescription = (mapping.description && mapping.description.trim() !== '') ? mapping.description
|
|
93
94
|
: (variable.description && variable.description.trim() !== '' ? variable.description
|
|
94
|
-
: nls_1.nls.localize('theia/ai/core/variable-contribution/builtInVariable', '
|
|
95
|
+
: nls_1.nls.localize('theia/ai/core/variable-contribution/builtInVariable', '{0} Built-in Variable', frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().applicationName));
|
|
95
96
|
// For multiple mappings of the same variable, add a suffix to the ID to make it unique
|
|
96
97
|
const idSuffix = mappings.length > 1 ? `-${index}` : '';
|
|
97
98
|
const id = `${TheiaVariableContribution_1.THEIA_PREFIX}${variable.name}${idSuffix}`;
|
|
@@ -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;AAWjG;;GAEG;AAEI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAA/B;QAaH,oFAAoF;QACpF,qDAAqD;QAC3C,sBAAiB,GAAmC,IAAI,GAAG,CAAC;YAClE,CAAC,MAAM,EAAE;oBACL;wBACI,IAAI,EAAE,yBAAyB;wBAC/B,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,6DAA6D,EAAE;0IACiC,CAAC;qBAC9H;iBACJ,CAAC;YACF,CAAC,cAAc,EAAE;oBACb;wBACI,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,yDAAyD,EAAE;;qDAEhD,CAAC;qBACzC;iBACJ,CAAC;YACF,CAAC,aAAa,EAAE;oBACZ;wBACI,IAAI,EAAE,oBAAoB;wBAC1B,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,wDAAwD,EAAE;;qDAE/C,CAAC;qBACzC;iBACJ,CAAC;YACF,CAAC,cAAc,EAAE;oBACb;wBACI,IAAI,EAAE,yBAAyB;wBAC/B,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,6DAA6D,EAAE;uCAClE,CAAC;qBAC3B;oBACD;wBACI,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,qDAAqD,EAAE;qEAC5B,CAAC;qBACzD;iBACJ,CAAC;YACF,CAAC,qBAAqB,EAAE;oBACpB;wBACI,IAAI,EAAE,wBAAwB;wBAC9B,WAAW,EAAE,SAAG,CAAC,QAAQ,CAAC,4DAA4D,EAAE;sDAClD,CAAC;qBAC1C;iBACJ,CAAC;YACF,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"theia-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/theia-variable-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-blink-service.d.ts","sourceRoot":"","sources":["../../src/browser/window-blink-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;
|
|
1
|
+
{"version":3,"file":"window-blink-service.d.ts","sourceRoot":"","sources":["../../src/browser/window-blink-service.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AAGjG;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD;;GAEG;AACH,qBACa,kBAAkB;IAG3B,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAG3D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAEnE,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAiC;IAC7D,OAAO,CAAC,uBAAuB,CAAkC;;IAMjE;;;;;OAKG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAwBnD,mBAAmB;YAInB,kBAAkB;YAQlB,kBAAkB;IAyChC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,WAAW;CAiBtB"}
|
|
@@ -21,6 +21,7 @@ const inversify_1 = require("@theia/core/shared/inversify");
|
|
|
21
21
|
const core_1 = require("@theia/core");
|
|
22
22
|
const window_title_service_1 = require("@theia/core/lib/browser/window/window-title-service");
|
|
23
23
|
const secondary_window_service_1 = require("@theia/core/lib/browser/window/secondary-window-service");
|
|
24
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
24
25
|
/** Element ID used for the custom titlebar in Electron. Matches the ID set in electron-menu-contribution.ts. */
|
|
25
26
|
const CUSTOM_TITLE_ELEMENT_ID = 'theia-custom-title';
|
|
26
27
|
/**
|
|
@@ -80,9 +81,10 @@ let WindowBlinkService = class WindowBlinkService {
|
|
|
80
81
|
this.activeBlinkInterval = undefined;
|
|
81
82
|
}
|
|
82
83
|
const originalTitle = this.windowTitleService?.title ?? document.title;
|
|
84
|
+
const appName = frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().applicationName;
|
|
83
85
|
const alertTitle = '🔔 ' + (agentName
|
|
84
|
-
? core_1.nls.localize('theia/ai/core/blinkTitle/namedAgentCompleted', '
|
|
85
|
-
: core_1.nls.localize('theia/ai/core/blinkTitle/agentCompleted', '
|
|
86
|
+
? core_1.nls.localize('theia/ai/core/blinkTitle/namedAgentCompleted', '{0} - Agent "{1}" Completed', appName, agentName)
|
|
87
|
+
: core_1.nls.localize('theia/ai/core/blinkTitle/agentCompleted', '{0} - Agent Completed', appName));
|
|
86
88
|
// Save original titles of secondary windows
|
|
87
89
|
this.originalSecondaryTitles.clear();
|
|
88
90
|
const secondaryWindows = this.secondaryWindowService?.getWindows() ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window-blink-service.js","sourceRoot":"","sources":["../../src/browser/window-blink-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,4DAA4E;AAC5E,sCAA+C;AAC/C,8FAAyF;AACzF,sGAAiG;
|
|
1
|
+
{"version":3,"file":"window-blink-service.js","sourceRoot":"","sources":["../../src/browser/window-blink-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-utils.d.ts","sourceRoot":"","sources":["../../src/common/capability-utils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,2DAA2D;AAC3D,eAAO,MAAM,qCAAqC,gCAAgC,CAAC;AACnF,eAAO,MAAM,4CAA4C,uCAAuC,CAAC;AACjG,eAAO,MAAM,wCAAwC,mCAAmC,CAAC;AACzF,eAAO,MAAM,+CAA+C,0CAA0C,CAAC;AACvG,eAAO,MAAM,+CAA+C,0CAA0C,CAAC;AACvG,eAAO,MAAM,wCAAwC,mCAAmC,CAAC;AAEzF,MAAM,MAAM,cAAc,GAAG,MAAM,2BAA2B,CAAC;AAE/D,wEAAwE;AACxE,eAAO,MAAM,kCAAkC,0BAA0B,CAAC;AAE1E,0EAA0E;AAC1E,eAAO,MAAM,oCAAoC,cAAc,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"capability-utils.d.ts","sourceRoot":"","sources":["../../src/common/capability-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-utils.js","sourceRoot":"","sources":["../../src/common/capability-utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"capability-utils.js","sourceRoot":"","sources":["../../src/common/capability-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-core",
|
|
3
|
-
"version": "1.72.0-next.
|
|
3
|
+
"version": "1.72.0-next.50+f26609f54",
|
|
4
4
|
"description": "Theia - AI Core",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.72.0-next.
|
|
7
|
-
"@theia/editor": "1.72.0-next.
|
|
8
|
-
"@theia/filesystem": "1.72.0-next.
|
|
9
|
-
"@theia/monaco": "1.72.0-next.
|
|
6
|
+
"@theia/core": "1.72.0-next.50+f26609f54",
|
|
7
|
+
"@theia/editor": "1.72.0-next.50+f26609f54",
|
|
8
|
+
"@theia/filesystem": "1.72.0-next.50+f26609f54",
|
|
9
|
+
"@theia/monaco": "1.72.0-next.50+f26609f54",
|
|
10
10
|
"@theia/monaco-editor-core": "1.108.201",
|
|
11
|
-
"@theia/output": "1.72.0-next.
|
|
12
|
-
"@theia/variable-resolver": "1.72.0-next.
|
|
13
|
-
"@theia/workspace": "1.72.0-next.
|
|
11
|
+
"@theia/output": "1.72.0-next.50+f26609f54",
|
|
12
|
+
"@theia/variable-resolver": "1.72.0-next.50+f26609f54",
|
|
13
|
+
"@theia/workspace": "1.72.0-next.50+f26609f54",
|
|
14
14
|
"@types/js-yaml": "^4.0.9",
|
|
15
15
|
"fast-deep-equal": "^3.1.3",
|
|
16
16
|
"js-yaml": "^4.1.1",
|
|
17
|
-
"tslib": "^2.
|
|
18
|
-
"undici": "^7.
|
|
17
|
+
"tslib": "^2.8.1",
|
|
18
|
+
"undici": "^7.25.0"
|
|
19
19
|
},
|
|
20
20
|
"main": "lib/common",
|
|
21
21
|
"publishConfig": {
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"nyc": {
|
|
59
59
|
"extends": "../../configs/nyc.json"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "f26609f5411c7101a4b2f540584b8163a6036131"
|
|
62
62
|
}
|
|
@@ -27,9 +27,12 @@ import {
|
|
|
27
27
|
GenericCapabilitiesVariableContribution,
|
|
28
28
|
SELECTED_SKILLS_VARIABLE,
|
|
29
29
|
SELECTED_FUNCTIONS_VARIABLE,
|
|
30
|
+
SELECTED_MCP_FUNCTIONS_VARIABLE,
|
|
30
31
|
SELECTED_VARIABLES_VARIABLE
|
|
31
32
|
} from './generic-capabilities-variable-contribution';
|
|
32
33
|
import { CapabilityAwareContext } from '../common/capability-utils';
|
|
34
|
+
import { ToolInvocationRegistry } from '../common/tool-invocation-registry';
|
|
35
|
+
import { ToolRequest } from '../common/language-model';
|
|
33
36
|
|
|
34
37
|
disableJSDOM();
|
|
35
38
|
|
|
@@ -39,6 +42,22 @@ describe('GenericCapabilitiesVariableContribution', () => {
|
|
|
39
42
|
let contribution: GenericCapabilitiesVariableContribution;
|
|
40
43
|
let container: Container;
|
|
41
44
|
|
|
45
|
+
function createMockToolInvocationRegistry(registeredToolIds: string[]): ToolInvocationRegistry {
|
|
46
|
+
const tools = new Map<string, ToolRequest>();
|
|
47
|
+
for (const id of registeredToolIds) {
|
|
48
|
+
tools.set(id, { id, providerName: 'test', parameters: {}, handler: async () => '' } as unknown as ToolRequest);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
getFunction: (toolId: string) => tools.get(toolId),
|
|
52
|
+
getFunctions: (...toolIds: string[]) => toolIds.map(id => tools.get(id)).filter((t): t is ToolRequest => t !== undefined),
|
|
53
|
+
registerTool: () => { },
|
|
54
|
+
unregisterTool: () => { },
|
|
55
|
+
unregisterAllTools: () => { },
|
|
56
|
+
getAllFunctions: () => Array.from(tools.values()),
|
|
57
|
+
onDidChange: () => ({ dispose: () => { } }),
|
|
58
|
+
} as unknown as ToolInvocationRegistry;
|
|
59
|
+
}
|
|
60
|
+
|
|
42
61
|
beforeEach(() => {
|
|
43
62
|
container = new Container();
|
|
44
63
|
container.bind<GenericCapabilitiesVariableContribution>(GenericCapabilitiesVariableContribution).toSelf().inSingletonScope();
|
|
@@ -80,6 +99,95 @@ describe('GenericCapabilitiesVariableContribution', () => {
|
|
|
80
99
|
});
|
|
81
100
|
|
|
82
101
|
describe('resolve', () => {
|
|
102
|
+
describe('resolveSelectedFunctions filtering', () => {
|
|
103
|
+
it('returns empty string when toolInvocationRegistry is not available', async () => {
|
|
104
|
+
const context: CapabilityAwareContext = {
|
|
105
|
+
genericCapabilitySelections: {
|
|
106
|
+
functions: ['tool1', 'tool2']
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const result = await contribution.resolve(
|
|
111
|
+
{ variable: SELECTED_FUNCTIONS_VARIABLE },
|
|
112
|
+
context
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
expect(result?.value).to.equal('');
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('filters out stale tool IDs that are not in the registry', async () => {
|
|
119
|
+
const mockRegistry = createMockToolInvocationRegistry(['tool1', 'tool3']);
|
|
120
|
+
(contribution as unknown as { toolInvocationRegistry: ToolInvocationRegistry }).toolInvocationRegistry = mockRegistry;
|
|
121
|
+
|
|
122
|
+
const context: CapabilityAwareContext = {
|
|
123
|
+
genericCapabilitySelections: {
|
|
124
|
+
functions: ['tool1', 'tool2_stale', 'tool3']
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
const result = await contribution.resolve(
|
|
129
|
+
{ variable: SELECTED_FUNCTIONS_VARIABLE },
|
|
130
|
+
context
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
expect(result?.value).to.equal('~{tool1}\n~{tool3}');
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
it('returns empty string when all tool IDs are stale', async () => {
|
|
137
|
+
const mockRegistry = createMockToolInvocationRegistry([]);
|
|
138
|
+
(contribution as unknown as { toolInvocationRegistry: ToolInvocationRegistry }).toolInvocationRegistry = mockRegistry;
|
|
139
|
+
|
|
140
|
+
const context: CapabilityAwareContext = {
|
|
141
|
+
genericCapabilitySelections: {
|
|
142
|
+
functions: ['stale1', 'stale2']
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
const result = await contribution.resolve(
|
|
147
|
+
{ variable: SELECTED_FUNCTIONS_VARIABLE },
|
|
148
|
+
context
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
expect(result?.value).to.equal('');
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it('returns all tool references when all IDs are valid', async () => {
|
|
155
|
+
const mockRegistry = createMockToolInvocationRegistry(['tool1', 'tool2']);
|
|
156
|
+
(contribution as unknown as { toolInvocationRegistry: ToolInvocationRegistry }).toolInvocationRegistry = mockRegistry;
|
|
157
|
+
|
|
158
|
+
const context: CapabilityAwareContext = {
|
|
159
|
+
genericCapabilitySelections: {
|
|
160
|
+
functions: ['tool1', 'tool2']
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
const result = await contribution.resolve(
|
|
165
|
+
{ variable: SELECTED_FUNCTIONS_VARIABLE },
|
|
166
|
+
context
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
expect(result?.value).to.equal('~{tool1}\n~{tool2}');
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
it('filters stale MCP function IDs the same way', async () => {
|
|
173
|
+
const mockRegistry = createMockToolInvocationRegistry(['mcp_fetch_fetch']);
|
|
174
|
+
(contribution as unknown as { toolInvocationRegistry: ToolInvocationRegistry }).toolInvocationRegistry = mockRegistry;
|
|
175
|
+
|
|
176
|
+
const context: CapabilityAwareContext = {
|
|
177
|
+
genericCapabilitySelections: {
|
|
178
|
+
mcpFunctions: ['mcp_fetch_fetch', 'mcp_removed_server_tool']
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
const result = await contribution.resolve(
|
|
183
|
+
{ variable: SELECTED_MCP_FUNCTIONS_VARIABLE },
|
|
184
|
+
context
|
|
185
|
+
);
|
|
186
|
+
|
|
187
|
+
expect(result?.value).to.equal('~{mcp_fetch_fetch}');
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
|
|
83
191
|
it('returns empty string when no selections exist', async () => {
|
|
84
192
|
const context: CapabilityAwareContext = {};
|
|
85
193
|
|
|
@@ -27,7 +27,8 @@ import {
|
|
|
27
27
|
ResolvedAIVariable,
|
|
28
28
|
CapabilityAwareContext,
|
|
29
29
|
AgentService,
|
|
30
|
-
AgentsVariableContribution
|
|
30
|
+
AgentsVariableContribution,
|
|
31
|
+
ToolInvocationRegistry
|
|
31
32
|
} from '../common';
|
|
32
33
|
import { PromptVariableContribution } from './prompt-variable-contribution';
|
|
33
34
|
import { SkillService } from './skill-service';
|
|
@@ -105,6 +106,9 @@ export class GenericCapabilitiesVariableContribution implements AIVariableContri
|
|
|
105
106
|
@inject(AgentsVariableContribution) @optional()
|
|
106
107
|
protected readonly agentsContribution: AgentsVariableContribution | undefined;
|
|
107
108
|
|
|
109
|
+
@inject(ToolInvocationRegistry) @optional()
|
|
110
|
+
protected readonly toolInvocationRegistry: ToolInvocationRegistry | undefined;
|
|
111
|
+
|
|
108
112
|
@inject(PromptVariableContribution) @optional()
|
|
109
113
|
protected readonly promptContribution: PromptVariableContribution | undefined;
|
|
110
114
|
|
|
@@ -170,12 +174,20 @@ export class GenericCapabilitiesVariableContribution implements AIVariableContri
|
|
|
170
174
|
* The chat request parser will pick these up and add them to the toolRequests map.
|
|
171
175
|
*/
|
|
172
176
|
protected resolveSelectedFunctions(variable: AIVariable, functionIds: string[] | undefined): ResolvedAIVariable {
|
|
173
|
-
if (!functionIds || functionIds.length === 0) {
|
|
177
|
+
if (!functionIds || functionIds.length === 0 || !this.toolInvocationRegistry) {
|
|
178
|
+
return { variable, value: '' };
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// Filter out stale/orphaned tool IDs that no longer exist in the registry
|
|
182
|
+
const validIds = functionIds
|
|
183
|
+
.filter(id => this.toolInvocationRegistry!.getFunction(id) !== undefined);
|
|
184
|
+
|
|
185
|
+
if (validIds.length === 0) {
|
|
174
186
|
return { variable, value: '' };
|
|
175
187
|
}
|
|
176
188
|
|
|
177
189
|
// Output function references in ~{id} format so the chat parser picks them up
|
|
178
|
-
const functionRefs =
|
|
190
|
+
const functionRefs = validIds.map(id => `~{${id}}`).join('\n');
|
|
179
191
|
return { variable, value: functionRefs };
|
|
180
192
|
}
|
|
181
193
|
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
|
|
17
|
+
import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
|
|
17
18
|
import { nls } from '@theia/core/lib/common/nls';
|
|
18
19
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
20
|
import { VariableRegistry, VariableResolverService } from '@theia/variable-resolver/lib/browser';
|
|
@@ -108,7 +109,9 @@ export class TheiaVariableContribution implements AIVariableContribution, AIVari
|
|
|
108
109
|
const newName = (mapping.name && mapping.name.trim() !== '') ? mapping.name : variable.name;
|
|
109
110
|
const newDescription = (mapping.description && mapping.description.trim() !== '') ? mapping.description
|
|
110
111
|
: (variable.description && variable.description.trim() !== '' ? variable.description
|
|
111
|
-
: nls.localize('theia/ai/core/variable-contribution/builtInVariable',
|
|
112
|
+
: nls.localize('theia/ai/core/variable-contribution/builtInVariable',
|
|
113
|
+
'{0} Built-in Variable',
|
|
114
|
+
FrontendApplicationConfigProvider.get().applicationName));
|
|
112
115
|
|
|
113
116
|
// For multiple mappings of the same variable, add a suffix to the ID to make it unique
|
|
114
117
|
const idSuffix = mappings.length > 1 ? `-${index}` : '';
|
|
@@ -18,6 +18,7 @@ import { inject, injectable, optional } from '@theia/core/shared/inversify';
|
|
|
18
18
|
import { environment, nls } from '@theia/core';
|
|
19
19
|
import { WindowTitleService } from '@theia/core/lib/browser/window/window-title-service';
|
|
20
20
|
import { SecondaryWindowService } from '@theia/core/lib/browser/window/secondary-window-service';
|
|
21
|
+
import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
24
|
* Result of a window blink attempt
|
|
@@ -102,9 +103,10 @@ export class WindowBlinkService {
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
const originalTitle = this.windowTitleService?.title ?? document.title;
|
|
106
|
+
const appName = FrontendApplicationConfigProvider.get().applicationName;
|
|
105
107
|
const alertTitle = '🔔 ' + (agentName
|
|
106
|
-
? nls.localize('theia/ai/core/blinkTitle/namedAgentCompleted', '
|
|
107
|
-
: nls.localize('theia/ai/core/blinkTitle/agentCompleted', '
|
|
108
|
+
? nls.localize('theia/ai/core/blinkTitle/namedAgentCompleted', '{0} - Agent "{1}" Completed', appName, agentName)
|
|
109
|
+
: nls.localize('theia/ai/core/blinkTitle/agentCompleted', '{0} - Agent Completed', appName));
|
|
108
110
|
|
|
109
111
|
// Save original titles of secondary windows
|
|
110
112
|
this.originalSecondaryTitles.clear();
|