@theia/ai-chat-ui 1.72.0-next.11 → 1.72.0-next.16
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-service.d.ts +4 -4
- package/lib/browser/generic-capabilities-service.d.ts.map +1 -1
- package/lib/browser/generic-capabilities-service.js +7 -23
- package/lib/browser/generic-capabilities-service.js.map +1 -1
- package/lib/browser/generic-capabilities-service.spec.d.ts +2 -0
- package/lib/browser/generic-capabilities-service.spec.d.ts.map +1 -0
- package/lib/browser/generic-capabilities-service.spec.js +209 -0
- package/lib/browser/generic-capabilities-service.spec.js.map +1 -0
- package/lib/browser/generic-capabilities-tree.js +2 -2
- package/lib/browser/generic-capabilities-tree.js.map +1 -1
- package/package.json +12 -12
- package/src/browser/generic-capabilities-service.spec.ts +259 -0
- package/src/browser/generic-capabilities-service.ts +8 -29
- package/src/browser/generic-capabilities-tree.tsx +2 -2
|
@@ -10,7 +10,7 @@ export { GenericCapabilityItem, GenericCapabilityGroup, GenericCapabilitiesContr
|
|
|
10
10
|
export interface AvailableGenericCapabilities {
|
|
11
11
|
skills: GenericCapabilityItem[];
|
|
12
12
|
mcpFunctions: GenericCapabilityGroup[];
|
|
13
|
-
functions:
|
|
13
|
+
functions: GenericCapabilityItem[];
|
|
14
14
|
promptFragments: GenericCapabilityItem[];
|
|
15
15
|
agentDelegation: GenericCapabilityItem[];
|
|
16
16
|
variables: GenericCapabilityItem[];
|
|
@@ -28,8 +28,8 @@ export interface GenericCapabilitiesService {
|
|
|
28
28
|
getAvailableSkills(): GenericCapabilityItem[];
|
|
29
29
|
/** Get all available MCP functions grouped by server */
|
|
30
30
|
getAvailableMCPFunctions(): Promise<GenericCapabilityGroup[]>;
|
|
31
|
-
/** Get all available functions (non-MCP)
|
|
32
|
-
getAvailableFunctions():
|
|
31
|
+
/** Get all available functions (non-MCP) */
|
|
32
|
+
getAvailableFunctions(): GenericCapabilityItem[];
|
|
33
33
|
/** Get all available prompt fragments */
|
|
34
34
|
getAvailablePromptFragments(): GenericCapabilityItem[];
|
|
35
35
|
/** Get all available agents for delegation, optionally excluding a specific agent */
|
|
@@ -53,7 +53,7 @@ export declare class GenericCapabilitiesServiceImpl implements GenericCapabiliti
|
|
|
53
53
|
getAvailableSkills(): GenericCapabilityItem[];
|
|
54
54
|
getAvailableMCPFunctions(): Promise<GenericCapabilityGroup[]>;
|
|
55
55
|
protected getContributedCapabilities(type: CapabilityType): Promise<GenericCapabilityGroup[]>;
|
|
56
|
-
getAvailableFunctions():
|
|
56
|
+
getAvailableFunctions(): GenericCapabilityItem[];
|
|
57
57
|
getAvailablePromptFragments(): GenericCapabilityItem[];
|
|
58
58
|
getAvailableAgents(excludeAgentId?: string): GenericCapabilityItem[];
|
|
59
59
|
getAvailableVariables(): GenericCapabilityItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/browser/generic-capabilities-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAEH,cAAc,EACd,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EAIrB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,CAAC;AAE1F;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IACzC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"generic-capabilities-service.d.ts","sourceRoot":"","sources":["../../src/browser/generic-capabilities-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAEH,cAAc,EACd,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EAIrB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,CAAC;AAE1F;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IACzC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,0BAA0B,eAAuC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACvC,kEAAkE;IAClE,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEvD,+BAA+B;IAC/B,kBAAkB,IAAI,qBAAqB,EAAE,CAAC;IAE9C,wDAAwD;IACxD,wBAAwB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAE9D,4CAA4C;IAC5C,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;IAEjD,yCAAyC;IACzC,2BAA2B,IAAI,qBAAqB,EAAE,CAAC;IAEvD,qFAAqF;IACrF,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAC;IAErE,kCAAkC;IAClC,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;CACpD;AAED,qBACa,8BAA+B,YAAW,0BAA0B,EAAE,UAAU;IAGzF,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAG9E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAG5D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,+BAA+B,CAAC,GAAG,SAAS,CAAC;IAEpG,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAC1D,SAAS,CAAC,QAAQ,CAAC,kBAAkB,gBAAuB;IAC5D,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAiC;IAEvF,SAAS,CAAC,QAAQ,CAAC,mBAAmB,6CAE/B;IAGP,SAAS,CAAC,IAAI,IAAI,IAAI;IAwBtB,OAAO,IAAI,IAAI;IAIf,kBAAkB,IAAI,qBAAqB,EAAE;IAYvC,wBAAwB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;cAInD,0BAA0B,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAcnG,qBAAqB,IAAI,qBAAqB,EAAE;IAchD,2BAA2B,IAAI,qBAAqB,EAAE;IAgBtD,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAcpE,qBAAqB,IAAI,qBAAqB,EAAE;CAanD"}
|
|
@@ -90,29 +90,13 @@ let GenericCapabilitiesServiceImpl = class GenericCapabilitiesServiceImpl {
|
|
|
90
90
|
if (!this.toolInvocationRegistry) {
|
|
91
91
|
return [];
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const groupName = fn.providerName || 'Other';
|
|
101
|
-
if (!groupMap.has(groupName)) {
|
|
102
|
-
groupMap.set(groupName, []);
|
|
103
|
-
}
|
|
104
|
-
groupMap.get(groupName).push({
|
|
105
|
-
id: fn.id,
|
|
106
|
-
name: fn.name || fn.id,
|
|
107
|
-
group: groupName,
|
|
108
|
-
description: fn.description
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
const groups = [];
|
|
112
|
-
for (const [name, items] of groupMap) {
|
|
113
|
-
groups.push({ name, items });
|
|
114
|
-
}
|
|
115
|
-
return groups;
|
|
93
|
+
return this.toolInvocationRegistry.getAllFunctions()
|
|
94
|
+
.filter(fn => !fn.providerName?.startsWith('mcp_'))
|
|
95
|
+
.map(fn => ({
|
|
96
|
+
id: fn.id,
|
|
97
|
+
name: fn.name || fn.id,
|
|
98
|
+
description: fn.description
|
|
99
|
+
}));
|
|
116
100
|
}
|
|
117
101
|
getAvailablePromptFragments() {
|
|
118
102
|
if (!this.promptService) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-capabilities-service.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-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,4DAAkG;AAClG,sCAAqG;AACrG,wDAA0D;AAC1D,4CAYwB;AAKgC,gHAdpD,yCAA+B,OAcoD;AAJvF,4CAAkD;AAClD,+DAAgE;AAkBnD,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AA+BxE,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAApC;QAoBgB,cAAS,GAAG,IAAI,2BAAoB,EAAE,CAAC;QACvC,uBAAkB,GAAG,IAAI,cAAO,EAAQ,CAAC;QACnD,qCAAgC,GAAgB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAEpE,wBAAmB,GAAG,QAAQ,CAAC,GAAG,EAAE;YACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generic-capabilities-service.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-capabilities-service.spec.d.ts","sourceRoot":"","sources":["../../src/browser/generic-capabilities-service.spec.ts"],"names":[],"mappings":"AAoBA,OAAO,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 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
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
let disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
require("reflect-metadata");
|
|
21
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
22
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
23
|
+
const chai_1 = require("chai");
|
|
24
|
+
const generic_capabilities_service_1 = require("./generic-capabilities-service");
|
|
25
|
+
disableJSDOM();
|
|
26
|
+
describe('GenericCapabilitiesServiceImpl', () => {
|
|
27
|
+
before(() => disableJSDOM = (0, jsdom_1.enableJSDOM)());
|
|
28
|
+
after(() => disableJSDOM());
|
|
29
|
+
let service;
|
|
30
|
+
beforeEach(() => {
|
|
31
|
+
// Instantiate directly to skip @postConstruct (which subscribes to service events)
|
|
32
|
+
service = new generic_capabilities_service_1.GenericCapabilitiesServiceImpl();
|
|
33
|
+
});
|
|
34
|
+
describe('getAvailableFunctions', () => {
|
|
35
|
+
it('returns empty array when toolInvocationRegistry is not available', () => {
|
|
36
|
+
(0, chai_1.expect)(service.getAvailableFunctions()).to.deep.equal([]);
|
|
37
|
+
});
|
|
38
|
+
it('returns non-MCP functions', () => {
|
|
39
|
+
const mockTools = [
|
|
40
|
+
{ id: 'myTool', name: 'My Tool', description: 'A tool', providerName: 'local' },
|
|
41
|
+
{ id: 'anotherTool', name: 'Another Tool', description: 'Another', providerName: 'builtin' }
|
|
42
|
+
];
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
+
service.toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
45
|
+
const result = service.getAvailableFunctions();
|
|
46
|
+
(0, chai_1.expect)(result).to.have.length(2);
|
|
47
|
+
(0, chai_1.expect)(result[0]).to.deep.equal({ id: 'myTool', name: 'My Tool', description: 'A tool' });
|
|
48
|
+
(0, chai_1.expect)(result[1]).to.deep.equal({ id: 'anotherTool', name: 'Another Tool', description: 'Another' });
|
|
49
|
+
});
|
|
50
|
+
it('filters out MCP-provided functions', () => {
|
|
51
|
+
const mockTools = [
|
|
52
|
+
{ id: 'localTool', name: 'Local Tool', description: 'A local tool', providerName: 'local' },
|
|
53
|
+
{ id: 'mcp_server1_tool1', name: 'MCP Tool 1', description: 'An MCP tool', providerName: 'mcp_server1' },
|
|
54
|
+
{ id: 'mcp_server2_tool2', name: 'MCP Tool 2', description: 'Another MCP tool', providerName: 'mcp_server2' }
|
|
55
|
+
];
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
57
|
+
service.toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
58
|
+
const result = service.getAvailableFunctions();
|
|
59
|
+
(0, chai_1.expect)(result).to.have.length(1);
|
|
60
|
+
(0, chai_1.expect)(result[0].id).to.equal('localTool');
|
|
61
|
+
});
|
|
62
|
+
it('includes functions without a providerName', () => {
|
|
63
|
+
const mockTools = [
|
|
64
|
+
{ id: 'noProvider', name: 'No Provider', description: 'No provider set' }
|
|
65
|
+
];
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
|
+
service.toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
68
|
+
const result = service.getAvailableFunctions();
|
|
69
|
+
(0, chai_1.expect)(result).to.have.length(1);
|
|
70
|
+
(0, chai_1.expect)(result[0].id).to.equal('noProvider');
|
|
71
|
+
});
|
|
72
|
+
it('uses id as name fallback when name is missing', () => {
|
|
73
|
+
const mockTools = [
|
|
74
|
+
{ id: 'tool-id', name: '', description: 'desc' }
|
|
75
|
+
];
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
+
service.toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
78
|
+
const result = service.getAvailableFunctions();
|
|
79
|
+
(0, chai_1.expect)(result[0].name).to.equal('tool-id');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
describe('getAvailablePromptFragments', () => {
|
|
83
|
+
it('returns empty array when promptService is not available', () => {
|
|
84
|
+
(0, chai_1.expect)(service.getAvailablePromptFragments()).to.deep.equal([]);
|
|
85
|
+
});
|
|
86
|
+
it('returns non-capability prompt fragments', () => {
|
|
87
|
+
const fragments = [
|
|
88
|
+
{ id: 'my-fragment', template: 'Hello world' },
|
|
89
|
+
{ id: 'another-fragment', template: 'Some content' }
|
|
90
|
+
];
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
+
service.promptService = { getActivePromptFragments: () => fragments };
|
|
93
|
+
const result = service.getAvailablePromptFragments();
|
|
94
|
+
(0, chai_1.expect)(result).to.have.length(2);
|
|
95
|
+
(0, chai_1.expect)(result[0].id).to.equal('my-fragment');
|
|
96
|
+
(0, chai_1.expect)(result[1].id).to.equal('another-fragment');
|
|
97
|
+
});
|
|
98
|
+
it('filters out generic-capabilities- prefixed fragments', () => {
|
|
99
|
+
const fragments = [
|
|
100
|
+
{ id: 'generic-capabilities-skills', template: 'auto-generated' },
|
|
101
|
+
{ id: 'generic-capabilities-functions', template: 'auto-generated' },
|
|
102
|
+
{ id: 'user-fragment', template: 'User content' }
|
|
103
|
+
];
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
105
|
+
service.promptService = { getActivePromptFragments: () => fragments };
|
|
106
|
+
const result = service.getAvailablePromptFragments();
|
|
107
|
+
(0, chai_1.expect)(result).to.have.length(1);
|
|
108
|
+
(0, chai_1.expect)(result[0].id).to.equal('user-fragment');
|
|
109
|
+
});
|
|
110
|
+
it('truncates long template descriptions', () => {
|
|
111
|
+
const longTemplate = 'A'.repeat(150);
|
|
112
|
+
const fragments = [
|
|
113
|
+
{ id: 'long-fragment', template: longTemplate }
|
|
114
|
+
];
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
|
+
service.promptService = { getActivePromptFragments: () => fragments };
|
|
117
|
+
const result = service.getAvailablePromptFragments();
|
|
118
|
+
(0, chai_1.expect)(result[0].description).to.have.length(103); // 100 chars + '...'
|
|
119
|
+
(0, chai_1.expect)(result[0].description.endsWith('...')).to.be.true;
|
|
120
|
+
});
|
|
121
|
+
it('does not truncate short template descriptions', () => {
|
|
122
|
+
const fragments = [
|
|
123
|
+
{ id: 'short-fragment', template: 'Short content' }
|
|
124
|
+
];
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
126
|
+
service.promptService = { getActivePromptFragments: () => fragments };
|
|
127
|
+
const result = service.getAvailablePromptFragments();
|
|
128
|
+
(0, chai_1.expect)(result[0].description).to.equal('Short content');
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
describe('getAvailableVariables', () => {
|
|
132
|
+
it('returns empty array when variableService is not available', () => {
|
|
133
|
+
(0, chai_1.expect)(service.getAvailableVariables()).to.deep.equal([]);
|
|
134
|
+
});
|
|
135
|
+
it('returns non-capability variables', () => {
|
|
136
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
137
|
+
service.variableService = {
|
|
138
|
+
getVariables: () => [
|
|
139
|
+
{ id: 'v1', name: 'today', description: 'Current date' },
|
|
140
|
+
{ id: 'v2', name: 'file', description: 'File content' }
|
|
141
|
+
]
|
|
142
|
+
};
|
|
143
|
+
const result = service.getAvailableVariables();
|
|
144
|
+
(0, chai_1.expect)(result).to.have.length(2);
|
|
145
|
+
(0, chai_1.expect)(result[0].name).to.equal('today');
|
|
146
|
+
(0, chai_1.expect)(result[1].name).to.equal('file');
|
|
147
|
+
});
|
|
148
|
+
it('filters out selected_ prefixed variables', () => {
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
150
|
+
service.variableService = {
|
|
151
|
+
getVariables: () => [
|
|
152
|
+
{ id: 'v1', name: 'selected_skills', description: 'Selected skills' },
|
|
153
|
+
{ id: 'v2', name: 'selected_functions', description: 'Selected functions' },
|
|
154
|
+
{ id: 'v3', name: 'today', description: 'Current date' }
|
|
155
|
+
]
|
|
156
|
+
};
|
|
157
|
+
const result = service.getAvailableVariables();
|
|
158
|
+
(0, chai_1.expect)(result).to.have.length(1);
|
|
159
|
+
(0, chai_1.expect)(result[0].name).to.equal('today');
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
describe('getAvailableAgents', () => {
|
|
163
|
+
it('returns empty array when chatAgentService is not available', () => {
|
|
164
|
+
(0, chai_1.expect)(service.getAvailableAgents()).to.deep.equal([]);
|
|
165
|
+
});
|
|
166
|
+
it('returns all agents when no excludeAgentId is provided', () => {
|
|
167
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
168
|
+
service.chatAgentService = {
|
|
169
|
+
getAgents: () => [
|
|
170
|
+
{ id: 'agent1', name: 'Agent 1', description: 'First agent' },
|
|
171
|
+
{ id: 'agent2', name: 'Agent 2', description: 'Second agent' }
|
|
172
|
+
]
|
|
173
|
+
};
|
|
174
|
+
const result = service.getAvailableAgents();
|
|
175
|
+
(0, chai_1.expect)(result).to.have.length(2);
|
|
176
|
+
});
|
|
177
|
+
it('excludes agent with matching excludeAgentId', () => {
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
179
|
+
service.chatAgentService = {
|
|
180
|
+
getAgents: () => [
|
|
181
|
+
{ id: 'agent1', name: 'Agent 1', description: 'First agent' },
|
|
182
|
+
{ id: 'agent2', name: 'Agent 2', description: 'Second agent' }
|
|
183
|
+
]
|
|
184
|
+
};
|
|
185
|
+
const result = service.getAvailableAgents('agent1');
|
|
186
|
+
(0, chai_1.expect)(result).to.have.length(1);
|
|
187
|
+
(0, chai_1.expect)(result[0].id).to.equal('agent2');
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
describe('getAvailableSkills', () => {
|
|
191
|
+
it('returns empty array when skillService is not available', () => {
|
|
192
|
+
(0, chai_1.expect)(service.getAvailableSkills()).to.deep.equal([]);
|
|
193
|
+
});
|
|
194
|
+
it('maps skills to capability items', () => {
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
196
|
+
service.skillService = {
|
|
197
|
+
getSkills: () => [
|
|
198
|
+
{ name: 'git-best-practices', description: 'Git tips', location: '/path' },
|
|
199
|
+
{ name: 'code-review', description: 'Code review', location: '/path2' }
|
|
200
|
+
]
|
|
201
|
+
};
|
|
202
|
+
const result = service.getAvailableSkills();
|
|
203
|
+
(0, chai_1.expect)(result).to.have.length(2);
|
|
204
|
+
(0, chai_1.expect)(result[0]).to.deep.equal({ id: 'git-best-practices', name: 'git-best-practices', description: 'Git tips' });
|
|
205
|
+
(0, chai_1.expect)(result[1]).to.deep.equal({ id: 'code-review', name: 'code-review', description: 'Code review' });
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
//# sourceMappingURL=generic-capabilities-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-capabilities-service.spec.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,7 +121,7 @@ const GenericCapabilitiesTree = ({ genericCapabilities, onGenericCapabilityChang
|
|
|
121
121
|
buildFlatRootNode('skills', core_1.nls.localizeByDefault('Skills'), 'skills', availableCapabilities.skills),
|
|
122
122
|
buildGroupedRootNode('mcp', core_1.nls.localizeByDefault('MCP'), 'mcpFunctions', availableCapabilities.mcpFunctions),
|
|
123
123
|
buildFlatRootNode('agents', core_1.nls.localizeByDefault('Agents'), 'agentDelegation', availableCapabilities.agentDelegation),
|
|
124
|
-
|
|
124
|
+
buildFlatRootNode('functions', core_1.nls.localize('theia/ai/chat-ui/functions', 'Functions'), 'functions', availableCapabilities.functions),
|
|
125
125
|
buildFlatRootNode('prompts', core_1.nls.localizeByDefault('Prompts'), 'promptFragments', availableCapabilities.promptFragments),
|
|
126
126
|
buildFlatRootNode('variables', core_1.nls.localizeByDefault('Variables'), 'variables', availableCapabilities.variables),
|
|
127
127
|
].filter((node) => node !== undefined);
|
|
@@ -308,7 +308,7 @@ const GenericCapabilitiesTree = ({ genericCapabilities, onGenericCapabilityChang
|
|
|
308
308
|
case 'skills': return getItems(availableCapabilities.skills);
|
|
309
309
|
case 'variables': return getItems(availableCapabilities.variables);
|
|
310
310
|
case 'mcpFunctions': return getGroupItems(availableCapabilities.mcpFunctions, groupName);
|
|
311
|
-
case 'functions': return
|
|
311
|
+
case 'functions': return getItems(availableCapabilities.functions);
|
|
312
312
|
case 'promptFragments': return getItems(availableCapabilities.promptFragments);
|
|
313
313
|
case 'agentDelegation': return getItems(availableCapabilities.agentDelegation);
|
|
314
314
|
default: return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-capabilities-tree.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-tree.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generic-capabilities-tree.js","sourceRoot":"","sources":["../../src/browser/generic-capabilities-tree.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-chat-ui",
|
|
3
|
-
"version": "1.72.0-next.
|
|
3
|
+
"version": "1.72.0-next.16+ce3a20e44",
|
|
4
4
|
"description": "Theia - AI Chat UI Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-chat": "1.72.0-next.
|
|
7
|
-
"@theia/ai-core": "1.72.0-next.
|
|
8
|
-
"@theia/core": "1.72.0-next.
|
|
9
|
-
"@theia/editor": "1.72.0-next.
|
|
10
|
-
"@theia/editor-preview": "1.72.0-next.
|
|
11
|
-
"@theia/filesystem": "1.72.0-next.
|
|
12
|
-
"@theia/monaco": "1.72.0-next.
|
|
6
|
+
"@theia/ai-chat": "1.72.0-next.16+ce3a20e44",
|
|
7
|
+
"@theia/ai-core": "1.72.0-next.16+ce3a20e44",
|
|
8
|
+
"@theia/core": "1.72.0-next.16+ce3a20e44",
|
|
9
|
+
"@theia/editor": "1.72.0-next.16+ce3a20e44",
|
|
10
|
+
"@theia/editor-preview": "1.72.0-next.16+ce3a20e44",
|
|
11
|
+
"@theia/filesystem": "1.72.0-next.16+ce3a20e44",
|
|
12
|
+
"@theia/monaco": "1.72.0-next.16+ce3a20e44",
|
|
13
13
|
"@theia/monaco-editor-core": "1.108.201",
|
|
14
|
-
"@theia/preferences": "1.72.0-next.
|
|
15
|
-
"@theia/workspace": "1.72.0-next.
|
|
14
|
+
"@theia/preferences": "1.72.0-next.16+ce3a20e44",
|
|
15
|
+
"@theia/workspace": "1.72.0-next.16+ce3a20e44",
|
|
16
16
|
"date-fns": "^4.1.0",
|
|
17
|
-
"tslib": "^2.
|
|
17
|
+
"tslib": "^2.8.1",
|
|
18
18
|
"uuid": "^9.0.1"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"nyc": {
|
|
57
57
|
"extends": "../../configs/nyc.json"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "ce3a20e445110abbe72361374bd4b786ba606049"
|
|
60
60
|
}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 EclipseSource GmbH.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
|
|
18
|
+
|
|
19
|
+
let disableJSDOM = enableJSDOM();
|
|
20
|
+
|
|
21
|
+
import 'reflect-metadata';
|
|
22
|
+
import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
|
|
23
|
+
FrontendApplicationConfigProvider.set({});
|
|
24
|
+
|
|
25
|
+
import { expect } from 'chai';
|
|
26
|
+
import { GenericCapabilitiesServiceImpl } from './generic-capabilities-service';
|
|
27
|
+
import { ToolRequest, PromptFragment, Skill } from '@theia/ai-core';
|
|
28
|
+
|
|
29
|
+
disableJSDOM();
|
|
30
|
+
|
|
31
|
+
describe('GenericCapabilitiesServiceImpl', () => {
|
|
32
|
+
before(() => disableJSDOM = enableJSDOM());
|
|
33
|
+
after(() => disableJSDOM());
|
|
34
|
+
|
|
35
|
+
let service: GenericCapabilitiesServiceImpl;
|
|
36
|
+
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
// Instantiate directly to skip @postConstruct (which subscribes to service events)
|
|
39
|
+
service = new GenericCapabilitiesServiceImpl();
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
describe('getAvailableFunctions', () => {
|
|
43
|
+
it('returns empty array when toolInvocationRegistry is not available', () => {
|
|
44
|
+
expect(service.getAvailableFunctions()).to.deep.equal([]);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('returns non-MCP functions', () => {
|
|
48
|
+
const mockTools: Partial<ToolRequest>[] = [
|
|
49
|
+
{ id: 'myTool', name: 'My Tool', description: 'A tool', providerName: 'local' },
|
|
50
|
+
{ id: 'anotherTool', name: 'Another Tool', description: 'Another', providerName: 'builtin' }
|
|
51
|
+
];
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
(service as any).toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
54
|
+
|
|
55
|
+
const result = service.getAvailableFunctions();
|
|
56
|
+
|
|
57
|
+
expect(result).to.have.length(2);
|
|
58
|
+
expect(result[0]).to.deep.equal({ id: 'myTool', name: 'My Tool', description: 'A tool' });
|
|
59
|
+
expect(result[1]).to.deep.equal({ id: 'anotherTool', name: 'Another Tool', description: 'Another' });
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('filters out MCP-provided functions', () => {
|
|
63
|
+
const mockTools: Partial<ToolRequest>[] = [
|
|
64
|
+
{ id: 'localTool', name: 'Local Tool', description: 'A local tool', providerName: 'local' },
|
|
65
|
+
{ id: 'mcp_server1_tool1', name: 'MCP Tool 1', description: 'An MCP tool', providerName: 'mcp_server1' },
|
|
66
|
+
{ id: 'mcp_server2_tool2', name: 'MCP Tool 2', description: 'Another MCP tool', providerName: 'mcp_server2' }
|
|
67
|
+
];
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
|
+
(service as any).toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
70
|
+
|
|
71
|
+
const result = service.getAvailableFunctions();
|
|
72
|
+
|
|
73
|
+
expect(result).to.have.length(1);
|
|
74
|
+
expect(result[0].id).to.equal('localTool');
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it('includes functions without a providerName', () => {
|
|
78
|
+
const mockTools: Partial<ToolRequest>[] = [
|
|
79
|
+
{ id: 'noProvider', name: 'No Provider', description: 'No provider set' }
|
|
80
|
+
];
|
|
81
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
+
(service as any).toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
83
|
+
|
|
84
|
+
const result = service.getAvailableFunctions();
|
|
85
|
+
|
|
86
|
+
expect(result).to.have.length(1);
|
|
87
|
+
expect(result[0].id).to.equal('noProvider');
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it('uses id as name fallback when name is missing', () => {
|
|
91
|
+
const mockTools: Partial<ToolRequest>[] = [
|
|
92
|
+
{ id: 'tool-id', name: '', description: 'desc' }
|
|
93
|
+
];
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
|
+
(service as any).toolInvocationRegistry = { getAllFunctions: () => mockTools };
|
|
96
|
+
|
|
97
|
+
const result = service.getAvailableFunctions();
|
|
98
|
+
|
|
99
|
+
expect(result[0].name).to.equal('tool-id');
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
describe('getAvailablePromptFragments', () => {
|
|
104
|
+
it('returns empty array when promptService is not available', () => {
|
|
105
|
+
expect(service.getAvailablePromptFragments()).to.deep.equal([]);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('returns non-capability prompt fragments', () => {
|
|
109
|
+
const fragments: PromptFragment[] = [
|
|
110
|
+
{ id: 'my-fragment', template: 'Hello world' },
|
|
111
|
+
{ id: 'another-fragment', template: 'Some content' }
|
|
112
|
+
];
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
114
|
+
(service as any).promptService = { getActivePromptFragments: () => fragments };
|
|
115
|
+
|
|
116
|
+
const result = service.getAvailablePromptFragments();
|
|
117
|
+
|
|
118
|
+
expect(result).to.have.length(2);
|
|
119
|
+
expect(result[0].id).to.equal('my-fragment');
|
|
120
|
+
expect(result[1].id).to.equal('another-fragment');
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('filters out generic-capabilities- prefixed fragments', () => {
|
|
124
|
+
const fragments: PromptFragment[] = [
|
|
125
|
+
{ id: 'generic-capabilities-skills', template: 'auto-generated' },
|
|
126
|
+
{ id: 'generic-capabilities-functions', template: 'auto-generated' },
|
|
127
|
+
{ id: 'user-fragment', template: 'User content' }
|
|
128
|
+
];
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
130
|
+
(service as any).promptService = { getActivePromptFragments: () => fragments };
|
|
131
|
+
|
|
132
|
+
const result = service.getAvailablePromptFragments();
|
|
133
|
+
|
|
134
|
+
expect(result).to.have.length(1);
|
|
135
|
+
expect(result[0].id).to.equal('user-fragment');
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it('truncates long template descriptions', () => {
|
|
139
|
+
const longTemplate = 'A'.repeat(150);
|
|
140
|
+
const fragments: PromptFragment[] = [
|
|
141
|
+
{ id: 'long-fragment', template: longTemplate }
|
|
142
|
+
];
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
144
|
+
(service as any).promptService = { getActivePromptFragments: () => fragments };
|
|
145
|
+
|
|
146
|
+
const result = service.getAvailablePromptFragments();
|
|
147
|
+
|
|
148
|
+
expect(result[0].description).to.have.length(103); // 100 chars + '...'
|
|
149
|
+
expect(result[0].description!.endsWith('...')).to.be.true;
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
it('does not truncate short template descriptions', () => {
|
|
153
|
+
const fragments: PromptFragment[] = [
|
|
154
|
+
{ id: 'short-fragment', template: 'Short content' }
|
|
155
|
+
];
|
|
156
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
157
|
+
(service as any).promptService = { getActivePromptFragments: () => fragments };
|
|
158
|
+
|
|
159
|
+
const result = service.getAvailablePromptFragments();
|
|
160
|
+
|
|
161
|
+
expect(result[0].description).to.equal('Short content');
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
describe('getAvailableVariables', () => {
|
|
166
|
+
it('returns empty array when variableService is not available', () => {
|
|
167
|
+
expect(service.getAvailableVariables()).to.deep.equal([]);
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
it('returns non-capability variables', () => {
|
|
171
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
172
|
+
(service as any).variableService = {
|
|
173
|
+
getVariables: () => [
|
|
174
|
+
{ id: 'v1', name: 'today', description: 'Current date' },
|
|
175
|
+
{ id: 'v2', name: 'file', description: 'File content' }
|
|
176
|
+
]
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
const result = service.getAvailableVariables();
|
|
180
|
+
|
|
181
|
+
expect(result).to.have.length(2);
|
|
182
|
+
expect(result[0].name).to.equal('today');
|
|
183
|
+
expect(result[1].name).to.equal('file');
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
it('filters out selected_ prefixed variables', () => {
|
|
187
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
188
|
+
(service as any).variableService = {
|
|
189
|
+
getVariables: () => [
|
|
190
|
+
{ id: 'v1', name: 'selected_skills', description: 'Selected skills' },
|
|
191
|
+
{ id: 'v2', name: 'selected_functions', description: 'Selected functions' },
|
|
192
|
+
{ id: 'v3', name: 'today', description: 'Current date' }
|
|
193
|
+
]
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
const result = service.getAvailableVariables();
|
|
197
|
+
|
|
198
|
+
expect(result).to.have.length(1);
|
|
199
|
+
expect(result[0].name).to.equal('today');
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
describe('getAvailableAgents', () => {
|
|
204
|
+
it('returns empty array when chatAgentService is not available', () => {
|
|
205
|
+
expect(service.getAvailableAgents()).to.deep.equal([]);
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
it('returns all agents when no excludeAgentId is provided', () => {
|
|
209
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
210
|
+
(service as any).chatAgentService = {
|
|
211
|
+
getAgents: () => [
|
|
212
|
+
{ id: 'agent1', name: 'Agent 1', description: 'First agent' },
|
|
213
|
+
{ id: 'agent2', name: 'Agent 2', description: 'Second agent' }
|
|
214
|
+
]
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
const result = service.getAvailableAgents();
|
|
218
|
+
|
|
219
|
+
expect(result).to.have.length(2);
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
it('excludes agent with matching excludeAgentId', () => {
|
|
223
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
224
|
+
(service as any).chatAgentService = {
|
|
225
|
+
getAgents: () => [
|
|
226
|
+
{ id: 'agent1', name: 'Agent 1', description: 'First agent' },
|
|
227
|
+
{ id: 'agent2', name: 'Agent 2', description: 'Second agent' }
|
|
228
|
+
]
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
const result = service.getAvailableAgents('agent1');
|
|
232
|
+
|
|
233
|
+
expect(result).to.have.length(1);
|
|
234
|
+
expect(result[0].id).to.equal('agent2');
|
|
235
|
+
});
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
describe('getAvailableSkills', () => {
|
|
239
|
+
it('returns empty array when skillService is not available', () => {
|
|
240
|
+
expect(service.getAvailableSkills()).to.deep.equal([]);
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
it('maps skills to capability items', () => {
|
|
244
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
245
|
+
(service as any).skillService = {
|
|
246
|
+
getSkills: () => [
|
|
247
|
+
{ name: 'git-best-practices', description: 'Git tips', location: '/path' },
|
|
248
|
+
{ name: 'code-review', description: 'Code review', location: '/path2' }
|
|
249
|
+
] as Skill[]
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
const result = service.getAvailableSkills();
|
|
253
|
+
|
|
254
|
+
expect(result).to.have.length(2);
|
|
255
|
+
expect(result[0]).to.deep.equal({ id: 'git-best-practices', name: 'git-best-practices', description: 'Git tips' });
|
|
256
|
+
expect(result[1]).to.deep.equal({ id: 'code-review', name: 'code-review', description: 'Code review' });
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
});
|
|
@@ -43,7 +43,7 @@ export { GenericCapabilityItem, GenericCapabilityGroup, GenericCapabilitiesContr
|
|
|
43
43
|
export interface AvailableGenericCapabilities {
|
|
44
44
|
skills: GenericCapabilityItem[];
|
|
45
45
|
mcpFunctions: GenericCapabilityGroup[];
|
|
46
|
-
functions:
|
|
46
|
+
functions: GenericCapabilityItem[];
|
|
47
47
|
promptFragments: GenericCapabilityItem[];
|
|
48
48
|
agentDelegation: GenericCapabilityItem[];
|
|
49
49
|
variables: GenericCapabilityItem[];
|
|
@@ -66,8 +66,8 @@ export interface GenericCapabilitiesService {
|
|
|
66
66
|
/** Get all available MCP functions grouped by server */
|
|
67
67
|
getAvailableMCPFunctions(): Promise<GenericCapabilityGroup[]>;
|
|
68
68
|
|
|
69
|
-
/** Get all available functions (non-MCP)
|
|
70
|
-
getAvailableFunctions():
|
|
69
|
+
/** Get all available functions (non-MCP) */
|
|
70
|
+
getAvailableFunctions(): GenericCapabilityItem[];
|
|
71
71
|
|
|
72
72
|
/** Get all available prompt fragments */
|
|
73
73
|
getAvailablePromptFragments(): GenericCapabilityItem[];
|
|
@@ -167,39 +167,18 @@ export class GenericCapabilitiesServiceImpl implements GenericCapabilitiesServic
|
|
|
167
167
|
return results;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
getAvailableFunctions():
|
|
170
|
+
getAvailableFunctions(): GenericCapabilityItem[] {
|
|
171
171
|
if (!this.toolInvocationRegistry) {
|
|
172
172
|
return [];
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
for (const fn of allFunctions) {
|
|
179
|
-
// Skip MCP functions - they are handled separately
|
|
180
|
-
if (fn.providerName?.startsWith('mcp_')) {
|
|
181
|
-
continue;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
const groupName = fn.providerName || 'Other';
|
|
185
|
-
if (!groupMap.has(groupName)) {
|
|
186
|
-
groupMap.set(groupName, []);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
groupMap.get(groupName)!.push({
|
|
175
|
+
return this.toolInvocationRegistry.getAllFunctions()
|
|
176
|
+
.filter(fn => !fn.providerName?.startsWith('mcp_'))
|
|
177
|
+
.map(fn => ({
|
|
190
178
|
id: fn.id,
|
|
191
179
|
name: fn.name || fn.id,
|
|
192
|
-
group: groupName,
|
|
193
180
|
description: fn.description
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
const groups: GenericCapabilityGroup[] = [];
|
|
198
|
-
for (const [name, items] of groupMap) {
|
|
199
|
-
groups.push({ name, items });
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
return groups;
|
|
181
|
+
}));
|
|
203
182
|
}
|
|
204
183
|
|
|
205
184
|
getAvailablePromptFragments(): GenericCapabilityItem[] {
|
|
@@ -204,7 +204,7 @@ export const GenericCapabilitiesTree: React.FunctionComponent<GenericCapabilitie
|
|
|
204
204
|
buildFlatRootNode('skills', nls.localizeByDefault('Skills'), 'skills', availableCapabilities.skills),
|
|
205
205
|
buildGroupedRootNode('mcp', nls.localizeByDefault('MCP'), 'mcpFunctions', availableCapabilities.mcpFunctions),
|
|
206
206
|
buildFlatRootNode('agents', nls.localizeByDefault('Agents'), 'agentDelegation', availableCapabilities.agentDelegation),
|
|
207
|
-
|
|
207
|
+
buildFlatRootNode('functions', nls.localize('theia/ai/chat-ui/functions', 'Functions'), 'functions', availableCapabilities.functions),
|
|
208
208
|
buildFlatRootNode('prompts', nls.localizeByDefault('Prompts'), 'promptFragments', availableCapabilities.promptFragments),
|
|
209
209
|
buildFlatRootNode('variables', nls.localizeByDefault('Variables'), 'variables', availableCapabilities.variables),
|
|
210
210
|
].filter((node): node is TreeNodeData => node !== undefined);
|
|
@@ -420,7 +420,7 @@ export const GenericCapabilitiesTree: React.FunctionComponent<GenericCapabilitie
|
|
|
420
420
|
case 'skills': return getItems(availableCapabilities.skills);
|
|
421
421
|
case 'variables': return getItems(availableCapabilities.variables);
|
|
422
422
|
case 'mcpFunctions': return getGroupItems(availableCapabilities.mcpFunctions, groupName);
|
|
423
|
-
case 'functions': return
|
|
423
|
+
case 'functions': return getItems(availableCapabilities.functions);
|
|
424
424
|
case 'promptFragments': return getItems(availableCapabilities.promptFragments);
|
|
425
425
|
case 'agentDelegation': return getItems(availableCapabilities.agentDelegation);
|
|
426
426
|
default: return [];
|