@theia/ai-chat-ui 1.71.0-next.1 → 1.71.0-next.3
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/chat-response-renderer/delegation-tool-renderer.d.ts +2 -0
- package/lib/browser/chat-response-renderer/delegation-tool-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/delegation-tool-renderer.js +10 -5
- package/lib/browser/chat-response-renderer/delegation-tool-renderer.js.map +1 -1
- package/package.json +11 -11
- package/src/browser/chat-response-renderer/delegation-tool-renderer.tsx +10 -6
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ChatResponseContent, ToolCallChatResponseContent } from '@theia/ai-chat';
|
|
2
|
+
import { ChatAgentService } from '@theia/ai-chat/lib/common/chat-agent-service';
|
|
2
3
|
import { AgentDelegationTool } from '@theia/ai-chat/lib/browser/agent-delegation-tool';
|
|
3
4
|
import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
|
|
4
5
|
import { ResponseNode } from '../chat-tree-view';
|
|
@@ -6,6 +7,7 @@ import { SubChatWidgetFactory } from '../chat-tree-view/sub-chat-widget';
|
|
|
6
7
|
import * as React from '@theia/core/shared/react';
|
|
7
8
|
export declare class DelegationToolRenderer implements ChatResponsePartRenderer<ToolCallChatResponseContent> {
|
|
8
9
|
protected agentDelegationTool: AgentDelegationTool;
|
|
10
|
+
protected readonly chatAgentService: ChatAgentService;
|
|
9
11
|
protected subChatWidgetFactory: SubChatWidgetFactory;
|
|
10
12
|
canHandle(response: ChatResponseContent): number;
|
|
11
13
|
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/delegation-tool-renderer.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAyB,mBAAmB,EAAqB,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"delegation-tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/delegation-tool-renderer.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAyB,mBAAmB,EAAqB,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC5H,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAGzE,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,qBACa,sBAAuB,YAAW,wBAAwB,CAAC,2BAA2B,CAAC;IAGhG,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAErD,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAOhD,MAAM,CAAC,QAAQ,EAAE,2BAA2B,EAAE,UAAU,EAAE,YAAY,GAAG,KAAK,CAAC,SAAS;CA4B3F"}
|
|
@@ -19,6 +19,7 @@ exports.DelegationToolRenderer = void 0;
|
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
21
|
const ai_chat_1 = require("@theia/ai-chat");
|
|
22
|
+
const chat_agent_service_1 = require("@theia/ai-chat/lib/common/chat-agent-service");
|
|
22
23
|
const tool_constants_1 = require("@theia/ai-core/lib/common/tool-constants");
|
|
23
24
|
const agent_delegation_tool_1 = require("@theia/ai-chat/lib/browser/agent-delegation-tool");
|
|
24
25
|
const sub_chat_widget_1 = require("../chat-tree-view/sub-chat-widget");
|
|
@@ -33,13 +34,13 @@ let DelegationToolRenderer = class DelegationToolRenderer {
|
|
|
33
34
|
}
|
|
34
35
|
render(response, parentNode) {
|
|
35
36
|
const delegation = response.id ? this.agentDelegationTool.getDelegation(response.id) : undefined;
|
|
36
|
-
let
|
|
37
|
+
let agentName = response.name ?? tool_constants_1.AGENT_DELEGATION_FUNCTION_ID;
|
|
37
38
|
let prompt = '';
|
|
38
39
|
if (response.arguments) {
|
|
39
40
|
try {
|
|
40
41
|
const args = JSON.parse(response.arguments);
|
|
41
42
|
if (typeof args.agentId === 'string') {
|
|
42
|
-
|
|
43
|
+
agentName = this.chatAgentService.getAgent(args.agentId)?.name ?? args.agentId;
|
|
43
44
|
}
|
|
44
45
|
if (typeof args.prompt === 'string') {
|
|
45
46
|
prompt = args.prompt;
|
|
@@ -49,7 +50,7 @@ let DelegationToolRenderer = class DelegationToolRenderer {
|
|
|
49
50
|
// ignore parse errors
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
return React.createElement(DelegatedChat, { invocation: delegation?.invocation,
|
|
53
|
+
return React.createElement(DelegatedChat, { invocation: delegation?.invocation, agentName: agentName, prompt: delegation?.prompt ?? prompt, finished: response.finished, parentNode: parentNode, subChatWidgetFactory: this.subChatWidgetFactory });
|
|
53
54
|
}
|
|
54
55
|
};
|
|
55
56
|
exports.DelegationToolRenderer = DelegationToolRenderer;
|
|
@@ -57,6 +58,10 @@ tslib_1.__decorate([
|
|
|
57
58
|
(0, inversify_1.inject)(agent_delegation_tool_1.AgentDelegationTool),
|
|
58
59
|
tslib_1.__metadata("design:type", agent_delegation_tool_1.AgentDelegationTool)
|
|
59
60
|
], DelegationToolRenderer.prototype, "agentDelegationTool", void 0);
|
|
61
|
+
tslib_1.__decorate([
|
|
62
|
+
(0, inversify_1.inject)(chat_agent_service_1.ChatAgentService),
|
|
63
|
+
tslib_1.__metadata("design:type", Object)
|
|
64
|
+
], DelegationToolRenderer.prototype, "chatAgentService", void 0);
|
|
60
65
|
tslib_1.__decorate([
|
|
61
66
|
(0, inversify_1.inject)(sub_chat_widget_1.SubChatWidgetFactory),
|
|
62
67
|
tslib_1.__metadata("design:type", Function)
|
|
@@ -106,7 +111,7 @@ class DelegatedChat extends React.Component {
|
|
|
106
111
|
this.toDispose.dispose();
|
|
107
112
|
}
|
|
108
113
|
render() {
|
|
109
|
-
const {
|
|
114
|
+
const { agentName, prompt } = this.props;
|
|
110
115
|
const hasNode = !!this.state.node;
|
|
111
116
|
const isComplete = this.state.node?.response.isComplete ?? false;
|
|
112
117
|
const isCanceled = this.state.node?.response.isCanceled ?? false;
|
|
@@ -146,7 +151,7 @@ class DelegatedChat extends React.Component {
|
|
|
146
151
|
React.createElement("span", { className: 'delegation-agent' },
|
|
147
152
|
React.createElement("span", { className: 'codicon codicon-copilot-large' }),
|
|
148
153
|
" ",
|
|
149
|
-
|
|
154
|
+
agentName),
|
|
150
155
|
React.createElement("span", { className: 'delegation-status' },
|
|
151
156
|
React.createElement("span", { className: `codicon ${statusIcon} delegation-status-icon` }),
|
|
152
157
|
React.createElement("span", { className: 'delegation-status-text' }, statusText)))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/delegation-tool-renderer.tsx"],"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,4CAA4H;AAC5H,6EAAwF;AACxF,4FAAuF;AAGvF,uEAAyE;AAEzE,sCAAwD;AACxD,kDAAkD;AAG3C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;
|
|
1
|
+
{"version":3,"file":"delegation-tool-renderer.js","sourceRoot":"","sources":["../../../src/browser/chat-response-renderer/delegation-tool-renderer.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-chat-ui",
|
|
3
|
-
"version": "1.71.0-next.
|
|
3
|
+
"version": "1.71.0-next.3+cb0e8d974",
|
|
4
4
|
"description": "Theia - AI Chat UI Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-chat": "1.71.0-next.
|
|
7
|
-
"@theia/ai-core": "1.71.0-next.
|
|
8
|
-
"@theia/core": "1.71.0-next.
|
|
9
|
-
"@theia/editor": "1.71.0-next.
|
|
10
|
-
"@theia/editor-preview": "1.71.0-next.
|
|
11
|
-
"@theia/filesystem": "1.71.0-next.
|
|
12
|
-
"@theia/monaco": "1.71.0-next.
|
|
6
|
+
"@theia/ai-chat": "1.71.0-next.3+cb0e8d974",
|
|
7
|
+
"@theia/ai-core": "1.71.0-next.3+cb0e8d974",
|
|
8
|
+
"@theia/core": "1.71.0-next.3+cb0e8d974",
|
|
9
|
+
"@theia/editor": "1.71.0-next.3+cb0e8d974",
|
|
10
|
+
"@theia/editor-preview": "1.71.0-next.3+cb0e8d974",
|
|
11
|
+
"@theia/filesystem": "1.71.0-next.3+cb0e8d974",
|
|
12
|
+
"@theia/monaco": "1.71.0-next.3+cb0e8d974",
|
|
13
13
|
"@theia/monaco-editor-core": "1.108.201",
|
|
14
|
-
"@theia/preferences": "1.71.0-next.
|
|
15
|
-
"@theia/workspace": "1.71.0-next.
|
|
14
|
+
"@theia/preferences": "1.71.0-next.3+cb0e8d974",
|
|
15
|
+
"@theia/workspace": "1.71.0-next.3+cb0e8d974",
|
|
16
16
|
"date-fns": "^4.1.0",
|
|
17
17
|
"tslib": "^2.6.2",
|
|
18
18
|
"uuid": "^9.0.1"
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"nyc": {
|
|
57
57
|
"extends": "../../configs/nyc.json"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "cb0e8d9740aa731745fb970cdf77a25597afbe85"
|
|
60
60
|
}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
18
|
import { ChatRequestInvocation, ChatResponseContent, ChatResponseModel, ToolCallChatResponseContent } from '@theia/ai-chat';
|
|
19
|
+
import { ChatAgentService } from '@theia/ai-chat/lib/common/chat-agent-service';
|
|
19
20
|
import { AGENT_DELEGATION_FUNCTION_ID } from '@theia/ai-core/lib/common/tool-constants';
|
|
20
21
|
import { AgentDelegationTool } from '@theia/ai-chat/lib/browser/agent-delegation-tool';
|
|
21
22
|
import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
|
|
@@ -31,6 +32,9 @@ export class DelegationToolRenderer implements ChatResponsePartRenderer<ToolCall
|
|
|
31
32
|
@inject(AgentDelegationTool)
|
|
32
33
|
protected agentDelegationTool: AgentDelegationTool;
|
|
33
34
|
|
|
35
|
+
@inject(ChatAgentService)
|
|
36
|
+
protected readonly chatAgentService: ChatAgentService;
|
|
37
|
+
|
|
34
38
|
@inject(SubChatWidgetFactory)
|
|
35
39
|
protected subChatWidgetFactory: SubChatWidgetFactory;
|
|
36
40
|
|
|
@@ -44,13 +48,13 @@ export class DelegationToolRenderer implements ChatResponsePartRenderer<ToolCall
|
|
|
44
48
|
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): React.ReactNode {
|
|
45
49
|
const delegation = response.id ? this.agentDelegationTool.getDelegation(response.id) : undefined;
|
|
46
50
|
|
|
47
|
-
let
|
|
51
|
+
let agentName = response.name ?? AGENT_DELEGATION_FUNCTION_ID;
|
|
48
52
|
let prompt = '';
|
|
49
53
|
if (response.arguments) {
|
|
50
54
|
try {
|
|
51
55
|
const args = JSON.parse(response.arguments);
|
|
52
56
|
if (typeof args.agentId === 'string') {
|
|
53
|
-
|
|
57
|
+
agentName = this.chatAgentService.getAgent(args.agentId)?.name ?? args.agentId;
|
|
54
58
|
}
|
|
55
59
|
if (typeof args.prompt === 'string') {
|
|
56
60
|
prompt = args.prompt;
|
|
@@ -62,7 +66,7 @@ export class DelegationToolRenderer implements ChatResponsePartRenderer<ToolCall
|
|
|
62
66
|
|
|
63
67
|
return <DelegatedChat
|
|
64
68
|
invocation={delegation?.invocation}
|
|
65
|
-
|
|
69
|
+
agentName={agentName}
|
|
66
70
|
prompt={delegation?.prompt ?? prompt}
|
|
67
71
|
finished={response.finished}
|
|
68
72
|
parentNode={parentNode}
|
|
@@ -73,7 +77,7 @@ export class DelegationToolRenderer implements ChatResponsePartRenderer<ToolCall
|
|
|
73
77
|
|
|
74
78
|
interface DelegatedChatProps {
|
|
75
79
|
invocation?: ChatRequestInvocation;
|
|
76
|
-
|
|
80
|
+
agentName: string;
|
|
77
81
|
prompt: string;
|
|
78
82
|
finished?: boolean;
|
|
79
83
|
parentNode: ResponseNode;
|
|
@@ -136,7 +140,7 @@ class DelegatedChat extends React.Component<DelegatedChatProps, DelegatedChatSta
|
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
override render(): React.ReactNode {
|
|
139
|
-
const {
|
|
143
|
+
const { agentName, prompt } = this.props;
|
|
140
144
|
const hasNode = !!this.state.node;
|
|
141
145
|
const isComplete = this.state.node?.response.isComplete ?? false;
|
|
142
146
|
const isCanceled = this.state.node?.response.isCanceled ?? false;
|
|
@@ -172,7 +176,7 @@ class DelegatedChat extends React.Component<DelegatedChatProps, DelegatedChatSta
|
|
|
172
176
|
<summary className='delegation-summary'>
|
|
173
177
|
<div className='delegation-header'>
|
|
174
178
|
<span className='delegation-agent'>
|
|
175
|
-
<span className='codicon codicon-copilot-large' /> {
|
|
179
|
+
<span className='codicon codicon-copilot-large' /> {agentName}
|
|
176
180
|
</span>
|
|
177
181
|
<span className='delegation-status'>
|
|
178
182
|
<span className={`codicon ${statusIcon} delegation-status-icon`}></span>
|