@theia/ai-chat 1.77.0-next.1 → 1.77.0-next.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA8D/D,wBAsIG"}
1
+ {"version":3,"file":"ai-chat-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AA+D/D,wBAuIG"}
@@ -50,6 +50,7 @@ const ai_chat_frontend_contribution_1 = require("./ai-chat-frontend-contribution
50
50
  const image_context_variable_contribution_1 = require("./image-context-variable-contribution");
51
51
  const pending_image_registry_1 = require("./pending-image-registry");
52
52
  const agent_delegation_tool_1 = require("./agent-delegation-tool");
53
+ const list_agents_tool_1 = require("./list-agents-tool");
53
54
  const chat_tool_preference_bindings_1 = require("./chat-tool-preference-bindings");
54
55
  const chat_tool_preferences_1 = require("../common/chat-tool-preferences");
55
56
  const pending_tool_confirmation_tracker_1 = require("./pending-tool-confirmation-tracker");
@@ -161,5 +162,6 @@ exports.default = new inversify_1.ContainerModule(bind => {
161
162
  bind(ai_chat_frontend_contribution_1.AIChatFrontendContribution).toSelf().inSingletonScope();
162
163
  bind(core_1.CommandContribution).toService(ai_chat_frontend_contribution_1.AIChatFrontendContribution);
163
164
  (0, common_1.bindToolProvider)(agent_delegation_tool_1.AgentDelegationTool, bind);
165
+ (0, common_1.bindToolProvider)(list_agents_tool_1.ListAgentsTool, bind);
164
166
  });
165
167
  //# sourceMappingURL=ai-chat-frontend-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-chat-frontend-module.js","sourceRoot":"","sources":["../../src/browser/ai-chat-frontend-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ToolProvider, ToolRequest } from '@theia/ai-core';
2
+ import { ChatAgentService } from '../common';
3
+ export declare class ListAgentsTool implements ToolProvider {
4
+ static ID: string;
5
+ protected readonly getChatAgentService: () => ChatAgentService;
6
+ getTool(): ToolRequest;
7
+ protected listAgents(arg_string: string): Promise<string>;
8
+ }
9
+ //# sourceMappingURL=list-agents-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-agents-tool.d.ts","sourceRoot":"","sources":["../../src/browser/list-agents-tool.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAyE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClI,OAAO,EAAE,gBAAgB,EAA2B,MAAM,WAAW,CAAC;AAEtE,qBACa,cAAe,YAAW,YAAY;IAC/C,MAAM,CAAC,EAAE,SAA2B;IAGpC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;IAE/D,OAAO,IAAI,WAAW;cAsBN,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQlE"}
@@ -0,0 +1,65 @@
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
+ var ListAgentsTool_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.ListAgentsTool = void 0;
20
+ const tslib_1 = require("tslib");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const ai_core_1 = require("@theia/ai-core");
23
+ const common_1 = require("../common");
24
+ let ListAgentsTool = class ListAgentsTool {
25
+ static { ListAgentsTool_1 = this; }
26
+ static { this.ID = ai_core_1.LIST_AGENTS_FUNCTION_ID; }
27
+ getTool() {
28
+ return {
29
+ id: ListAgentsTool_1.ID,
30
+ name: ListAgentsTool_1.ID,
31
+ description: `Lists the agents you can delegate to with ${ai_core_1.AGENT_DELEGATION_FUNCTION_ID}, one per line as '- <agentId>: <description>'. ` +
32
+ 'Call it before delegating to pick the agent whose description fits the task. ' +
33
+ 'Pass a query with a few keywords to get only the agents whose id or description matches any of them, best matches first. ' +
34
+ 'Omit the query to list all agents, which is the safer choice when comparing candidates.',
35
+ parameters: {
36
+ type: 'object',
37
+ properties: {
38
+ query: {
39
+ type: 'string',
40
+ description: 'Optional space-separated keywords, matched case-insensitively against agent ids and descriptions (e.g. \'review test\')'
41
+ }
42
+ },
43
+ required: []
44
+ },
45
+ handler: (arg_string) => this.listAgents(arg_string)
46
+ };
47
+ }
48
+ async listAgents(arg_string) {
49
+ const query = arg_string ? JSON.parse(arg_string).query : undefined;
50
+ const keywords = typeof query === 'string' ? query.trim() : '';
51
+ const entries = this.getChatAgentService().getAgents().map(agent => ({ name: agent.id, description: agent.description }));
52
+ return (0, ai_core_1.listByKeywords)(entries, keywords) ?? (keywords
53
+ ? `No agent matches '${keywords}'. Retry with other keywords or without a query to list all agents.`
54
+ : 'No agents available.');
55
+ }
56
+ };
57
+ exports.ListAgentsTool = ListAgentsTool;
58
+ tslib_1.__decorate([
59
+ (0, inversify_1.inject)(common_1.ChatAgentServiceFactory),
60
+ tslib_1.__metadata("design:type", Function)
61
+ ], ListAgentsTool.prototype, "getChatAgentService", void 0);
62
+ exports.ListAgentsTool = ListAgentsTool = ListAgentsTool_1 = tslib_1.__decorate([
63
+ (0, inversify_1.injectable)()
64
+ ], ListAgentsTool);
65
+ //# sourceMappingURL=list-agents-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-agents-tool.js","sourceRoot":"","sources":["../../src/browser/list-agents-tool.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;AAClE,4CAAkI;AAClI,sCAAsE;AAG/D,IAAM,cAAc,GAApB,MAAM,cAAc;;aAChB,OAAE,GAAG,iCAAuB,AAA1B,CAA2B;IAKpC,OAAO;QACH,OAAO;YACH,EAAE,EAAE,gBAAc,CAAC,EAAE;YACrB,IAAI,EAAE,gBAAc,CAAC,EAAE;YACvB,WAAW,EAAE,6CAA6C,sCAA4B,kDAAkD;gBACpI,+EAA+E;gBAC/E,2HAA2H;gBAC3H,yFAAyF;YAC7F,UAAU,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yHAAyH;qBACzI;iBACJ;gBACD,QAAQ,EAAE,EAAE;aACf;YACD,OAAO,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;SAC/D,CAAC;IACN,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,UAAkB;QACzC,MAAM,KAAK,GAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1H,OAAO,IAAA,wBAAc,EAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ;YACjD,CAAC,CAAC,qBAAqB,QAAQ,qEAAqE;YACpG,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAClC,CAAC;;AAnCQ,wCAAc;AAIJ;IADlB,IAAA,kBAAM,EAAC,gCAAuB,CAAC;;2DAC+B;yBAJtD,cAAc;IAD1B,IAAA,sBAAU,GAAE;GACA,cAAc,CAoC1B"}
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=list-agents-tool.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-agents-tool.spec.d.ts","sourceRoot":"","sources":["../../src/browser/list-agents-tool.spec.ts"],"names":[],"mappings":"AAgBA,OAAO,kBAAkB,CAAC"}
@@ -0,0 +1,51 @@
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
+ require("reflect-metadata");
19
+ const chai_1 = require("chai");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const common_1 = require("../common");
22
+ const list_agents_tool_1 = require("./list-agents-tool");
23
+ describe('ListAgentsTool', () => {
24
+ let agents;
25
+ let tool;
26
+ beforeEach(() => {
27
+ agents = [
28
+ { id: 'Coder', description: 'Writes code.' },
29
+ { id: 'code-reviewer', description: 'Reviews code\nchanges.' }
30
+ ];
31
+ const container = new inversify_1.Container();
32
+ container.bind(common_1.ChatAgentServiceFactory).toConstantValue(() => ({ getAgents: () => agents }));
33
+ container.bind(list_agents_tool_1.ListAgentsTool).toSelf();
34
+ tool = container.get(list_agents_tool_1.ListAgentsTool);
35
+ });
36
+ const call = async (args) => await tool.getTool().handler(args === undefined ? '' : JSON.stringify(args));
37
+ it('lists all agents by id without a query, and ignores a non-string query', async () => {
38
+ const expected = '- Coder: Writes code.\n- code-reviewer: Reviews code changes.';
39
+ (0, chai_1.expect)(await call(undefined)).to.equal(expected);
40
+ (0, chai_1.expect)(await call({ query: 42 })).to.equal(expected);
41
+ });
42
+ it('filters by keyword', async () => {
43
+ (0, chai_1.expect)(await call({ query: 'review' })).to.equal('- code-reviewer: Reviews code changes.');
44
+ });
45
+ it('reports no match and no agents distinctly', async () => {
46
+ (0, chai_1.expect)(await call({ query: 'calendar' })).to.contain('No agent matches \'calendar\'');
47
+ agents = [];
48
+ (0, chai_1.expect)(await call(undefined)).to.equal('No agents available.');
49
+ });
50
+ });
51
+ //# sourceMappingURL=list-agents-tool.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-agents-tool.spec.js","sourceRoot":"","sources":["../../src/browser/list-agents-tool.spec.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,4BAA0B;AAE1B,+BAA8B;AAC9B,4DAAyD;AACzD,sCAAiF;AACjF,yDAAoD;AAEpD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,IAAI,MAA4B,CAAC;IACjC,IAAI,IAAoB,CAAC;IAEzB,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,GAAG;YACL,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;YAC5C,EAAE,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,0BAA0B,EAAE;SACnE,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAClC,SAAS,CAAC,IAAI,CAAC,gCAAuB,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAgC,CAAC,CAAC;QAC5H,SAAS,CAAC,IAAI,CAAC,iCAAc,CAAC,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,iCAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,KAAK,EAAE,IAAwB,EAAmB,EAAE,CAC7D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAW,CAAC;IAE3F,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,QAAQ,GAAG,+DAA+D,CAAC;QACjF,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAChC,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACvD,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QACtF,MAAM,GAAG,EAAE,CAAC;QACZ,IAAA,aAAM,EAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@theia/ai-chat",
3
- "version": "1.77.0-next.1+8b94967c4",
3
+ "version": "1.77.0-next.14+b315294d3",
4
4
  "description": "Theia - AI Chat Extension",
5
5
  "dependencies": {
6
- "@theia/ai-core": "1.77.0-next.1+8b94967c4",
7
- "@theia/core": "1.77.0-next.1+8b94967c4",
8
- "@theia/editor": "1.77.0-next.1+8b94967c4",
9
- "@theia/file-search": "1.77.0-next.1+8b94967c4",
10
- "@theia/filesystem": "1.77.0-next.1+8b94967c4",
11
- "@theia/monaco": "1.77.0-next.1+8b94967c4",
6
+ "@theia/ai-core": "1.77.0-next.14+b315294d3",
7
+ "@theia/core": "1.77.0-next.14+b315294d3",
8
+ "@theia/editor": "1.77.0-next.14+b315294d3",
9
+ "@theia/file-search": "1.77.0-next.14+b315294d3",
10
+ "@theia/filesystem": "1.77.0-next.14+b315294d3",
11
+ "@theia/monaco": "1.77.0-next.14+b315294d3",
12
12
  "@theia/monaco-editor-core": "1.108.201",
13
- "@theia/workspace": "1.77.0-next.1+8b94967c4",
13
+ "@theia/workspace": "1.77.0-next.14+b315294d3",
14
14
  "js-yaml": "^4.3.2",
15
15
  "tslib": "^2.8.1"
16
16
  },
@@ -54,5 +54,5 @@
54
54
  "nyc": {
55
55
  "extends": "../../configs/nyc.json"
56
56
  },
57
- "gitHead": "8b94967c4cfa0dcf688a345d28b3ac2e0d7e298a"
57
+ "gitHead": "b315294d3c24f8480548d8769f7de024c4ad8efb"
58
58
  }
@@ -61,6 +61,7 @@ import { AIChatFrontendContribution } from './ai-chat-frontend-contribution';
61
61
  import { ImageContextVariableContribution } from './image-context-variable-contribution';
62
62
  import { DefaultPendingImageRegistry, PendingImageRegistry } from './pending-image-registry';
63
63
  import { AgentDelegationTool } from './agent-delegation-tool';
64
+ import { ListAgentsTool } from './list-agents-tool';
64
65
  import { ToolConfirmationManager } from './chat-tool-preference-bindings';
65
66
  import { bindChatToolPreferences } from '../common/chat-tool-preferences';
66
67
  import { PendingToolConfirmationTracker } from './pending-tool-confirmation-tracker';
@@ -213,4 +214,5 @@ export default new ContainerModule(bind => {
213
214
  bind(CommandContribution).toService(AIChatFrontendContribution);
214
215
 
215
216
  bindToolProvider(AgentDelegationTool, bind);
217
+ bindToolProvider(ListAgentsTool, bind);
216
218
  });
@@ -0,0 +1,57 @@
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 'reflect-metadata';
18
+
19
+ import { expect } from 'chai';
20
+ import { Container } from '@theia/core/shared/inversify';
21
+ import { ChatAgent, ChatAgentService, ChatAgentServiceFactory } from '../common';
22
+ import { ListAgentsTool } from './list-agents-tool';
23
+
24
+ describe('ListAgentsTool', () => {
25
+ let agents: Partial<ChatAgent>[];
26
+ let tool: ListAgentsTool;
27
+
28
+ beforeEach(() => {
29
+ agents = [
30
+ { id: 'Coder', description: 'Writes code.' },
31
+ { id: 'code-reviewer', description: 'Reviews code\nchanges.' }
32
+ ];
33
+ const container = new Container();
34
+ container.bind(ChatAgentServiceFactory).toConstantValue(() => ({ getAgents: () => agents }) as unknown as ChatAgentService);
35
+ container.bind(ListAgentsTool).toSelf();
36
+ tool = container.get(ListAgentsTool);
37
+ });
38
+
39
+ const call = async (args: object | undefined): Promise<string> =>
40
+ await tool.getTool().handler(args === undefined ? '' : JSON.stringify(args)) as string;
41
+
42
+ it('lists all agents by id without a query, and ignores a non-string query', async () => {
43
+ const expected = '- Coder: Writes code.\n- code-reviewer: Reviews code changes.';
44
+ expect(await call(undefined)).to.equal(expected);
45
+ expect(await call({ query: 42 })).to.equal(expected);
46
+ });
47
+
48
+ it('filters by keyword', async () => {
49
+ expect(await call({ query: 'review' })).to.equal('- code-reviewer: Reviews code changes.');
50
+ });
51
+
52
+ it('reports no match and no agents distinctly', async () => {
53
+ expect(await call({ query: 'calendar' })).to.contain('No agent matches \'calendar\'');
54
+ agents = [];
55
+ expect(await call(undefined)).to.equal('No agents available.');
56
+ });
57
+ });
@@ -0,0 +1,58 @@
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 { inject, injectable } from '@theia/core/shared/inversify';
18
+ import { AGENT_DELEGATION_FUNCTION_ID, LIST_AGENTS_FUNCTION_ID, listByKeywords, ToolProvider, ToolRequest } from '@theia/ai-core';
19
+ import { ChatAgentService, ChatAgentServiceFactory } from '../common';
20
+
21
+ @injectable()
22
+ export class ListAgentsTool implements ToolProvider {
23
+ static ID = LIST_AGENTS_FUNCTION_ID;
24
+
25
+ @inject(ChatAgentServiceFactory)
26
+ protected readonly getChatAgentService: () => ChatAgentService;
27
+
28
+ getTool(): ToolRequest {
29
+ return {
30
+ id: ListAgentsTool.ID,
31
+ name: ListAgentsTool.ID,
32
+ description: `Lists the agents you can delegate to with ${AGENT_DELEGATION_FUNCTION_ID}, one per line as '- <agentId>: <description>'. ` +
33
+ 'Call it before delegating to pick the agent whose description fits the task. ' +
34
+ 'Pass a query with a few keywords to get only the agents whose id or description matches any of them, best matches first. ' +
35
+ 'Omit the query to list all agents, which is the safer choice when comparing candidates.',
36
+ parameters: {
37
+ type: 'object',
38
+ properties: {
39
+ query: {
40
+ type: 'string',
41
+ description: 'Optional space-separated keywords, matched case-insensitively against agent ids and descriptions (e.g. \'review test\')'
42
+ }
43
+ },
44
+ required: []
45
+ },
46
+ handler: (arg_string: string) => this.listAgents(arg_string)
47
+ };
48
+ }
49
+
50
+ protected async listAgents(arg_string: string): Promise<string> {
51
+ const query: unknown = arg_string ? JSON.parse(arg_string).query : undefined;
52
+ const keywords = typeof query === 'string' ? query.trim() : '';
53
+ const entries = this.getChatAgentService().getAgents().map(agent => ({ name: agent.id, description: agent.description }));
54
+ return listByKeywords(entries, keywords) ?? (keywords
55
+ ? `No agent matches '${keywords}'. Retry with other keywords or without a query to list all agents.`
56
+ : 'No agents available.');
57
+ }
58
+ }