@theia/ai-chat-ui 1.55.0 → 1.56.0
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/ai-chat-ui-contribution.js +1 -1
- package/lib/browser/ai-chat-ui-contribution.js.map +1 -1
- package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
- package/lib/browser/ai-chat-ui-frontend-module.js +2 -0
- package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
- package/lib/browser/chat-input-widget.js +34 -22
- package/lib/browser/chat-input-widget.js.map +1 -1
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +3 -2
- package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js +5 -3
- package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -1
- package/lib/browser/chat-response-renderer/question-part-renderer.d.ts +10 -0
- package/lib/browser/chat-response-renderer/question-part-renderer.d.ts.map +1 -0
- package/lib/browser/chat-response-renderer/question-part-renderer.js +43 -0
- package/lib/browser/chat-response-renderer/question-part-renderer.js.map +1 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts +2 -0
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.d.ts.map +1 -1
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js +30 -10
- package/lib/browser/chat-response-renderer/toolcall-part-renderer.js.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +4 -0
- package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js +80 -13
- package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
- package/package.json +11 -11
- package/src/browser/ai-chat-ui-contribution.ts +1 -1
- package/src/browser/ai-chat-ui-frontend-module.ts +2 -0
- package/src/browser/chat-input-widget.tsx +35 -20
- package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +5 -3
- package/src/browser/chat-response-renderer/question-part-renderer.tsx +59 -0
- package/src/browser/chat-response-renderer/toolcall-part-renderer.tsx +38 -9
- package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +134 -11
- package/src/browser/style/index.css +58 -1
|
@@ -26,6 +26,7 @@ const React = require("@theia/core/shared/react");
|
|
|
26
26
|
const chat_node_toolbar_action_contribution_1 = require("../chat-node-toolbar-action-contribution");
|
|
27
27
|
const chat_response_part_renderer_1 = require("../chat-response-part-renderer");
|
|
28
28
|
const markdown_part_renderer_1 = require("../chat-response-renderer/markdown-part-renderer");
|
|
29
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
29
30
|
const isRequestNode = (node) => 'request' in node;
|
|
30
31
|
exports.isRequestNode = isRequestNode;
|
|
31
32
|
const isResponseNode = (node) => 'response' in node;
|
|
@@ -184,21 +185,34 @@ let ChatViewTreeWidget = ChatViewTreeWidget_1 = class ChatViewTreeWidget extends
|
|
|
184
185
|
this.renderDetail(node)));
|
|
185
186
|
}
|
|
186
187
|
renderAgent(node) {
|
|
188
|
+
var _a;
|
|
187
189
|
const inProgress = (0, exports.isResponseNode)(node) && !node.response.isComplete && !node.response.isCanceled && !node.response.isError;
|
|
190
|
+
const waitingForInput = (0, exports.isResponseNode)(node) && node.response.isWaitingForInput;
|
|
188
191
|
const toolbarContributions = !inProgress
|
|
189
192
|
? this.chatNodeToolbarActionContributions.getContributions()
|
|
190
193
|
.flatMap(c => c.getToolbarActions(node))
|
|
191
194
|
.filter(action => this.commandRegistry.isEnabled(action.commandId, node))
|
|
192
195
|
.sort((a, b) => { var _a, _b; return ((_a = a.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = b.priority) !== null && _b !== void 0 ? _b : 0); })
|
|
193
196
|
: [];
|
|
197
|
+
const agentLabel = React.createRef();
|
|
198
|
+
const agentDescription = (_a = this.getAgent(node)) === null || _a === void 0 ? void 0 : _a.description;
|
|
194
199
|
return React.createElement(React.Fragment, null,
|
|
195
200
|
React.createElement("div", { className: 'theia-ChatNodeHeader' },
|
|
196
201
|
React.createElement("div", { className: `theia-AgentAvatar ${this.getAgentIconClassName(node)}` }),
|
|
197
|
-
React.createElement("h3", { className: 'theia-AgentLabel'
|
|
202
|
+
React.createElement("h3", { ref: agentLabel, className: 'theia-AgentLabel', onMouseEnter: () => {
|
|
203
|
+
if (agentDescription) {
|
|
204
|
+
this.hoverService.requestHover({
|
|
205
|
+
content: agentDescription,
|
|
206
|
+
target: agentLabel.current,
|
|
207
|
+
position: 'right'
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
} }, this.getAgentLabel(node)),
|
|
198
211
|
inProgress && React.createElement("span", { className: 'theia-ChatContentInProgress' }, "Generating"),
|
|
212
|
+
inProgress && waitingForInput && React.createElement("span", { className: 'theia-ChatContentInProgress' }, "Waiting for input"),
|
|
199
213
|
React.createElement("div", { className: 'theia-ChatNodeToolbar' }, !inProgress &&
|
|
200
214
|
toolbarContributions.length > 0 &&
|
|
201
|
-
toolbarContributions.map(action => React.createElement("span", { className: `theia-ChatNodeToolbarAction ${action.icon}`, title: action.tooltip, onClick: e => {
|
|
215
|
+
toolbarContributions.map(action => React.createElement("span", { key: action.commandId, className: `theia-ChatNodeToolbarAction ${action.icon}`, title: action.tooltip, onClick: e => {
|
|
202
216
|
e.stopPropagation();
|
|
203
217
|
this.commandRegistry.executeCommand(action.commandId, node);
|
|
204
218
|
}, onKeyDown: e => {
|
|
@@ -209,13 +223,18 @@ let ChatViewTreeWidget = ChatViewTreeWidget_1 = class ChatViewTreeWidget extends
|
|
|
209
223
|
}, role: 'button' })))));
|
|
210
224
|
}
|
|
211
225
|
getAgentLabel(node) {
|
|
212
|
-
var _a;
|
|
226
|
+
var _a, _b;
|
|
213
227
|
if ((0, exports.isRequestNode)(node)) {
|
|
214
228
|
// TODO find user name
|
|
215
229
|
return 'You';
|
|
216
230
|
}
|
|
217
|
-
|
|
218
|
-
|
|
231
|
+
return (_b = (_a = this.getAgent(node)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'AI';
|
|
232
|
+
}
|
|
233
|
+
getAgent(node) {
|
|
234
|
+
if ((0, exports.isRequestNode)(node)) {
|
|
235
|
+
return undefined;
|
|
236
|
+
}
|
|
237
|
+
return node.response.agentId ? this.chatAgentService.getAgent(node.response.agentId) : undefined;
|
|
219
238
|
}
|
|
220
239
|
getAgentIconClassName(node) {
|
|
221
240
|
var _a;
|
|
@@ -235,14 +254,23 @@ let ChatViewTreeWidget = ChatViewTreeWidget_1 = class ChatViewTreeWidget extends
|
|
|
235
254
|
;
|
|
236
255
|
}
|
|
237
256
|
renderChatRequest(node) {
|
|
238
|
-
return React.createElement(ChatRequestRender, { node: node });
|
|
257
|
+
return React.createElement(ChatRequestRender, { node: node, hoverService: this.hoverService, chatAgentService: this.chatAgentService, variableService: this.variableService });
|
|
239
258
|
}
|
|
240
259
|
renderChatResponse(node) {
|
|
241
260
|
return (React.createElement("div", { className: 'theia-ResponseNode' },
|
|
242
261
|
!node.response.isComplete
|
|
243
262
|
&& node.response.response.content.length === 0
|
|
244
|
-
&& node.response.progressMessages
|
|
245
|
-
|
|
263
|
+
&& node.response.progressMessages
|
|
264
|
+
.filter(c => c.show === 'untilFirstContent')
|
|
265
|
+
.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-untilFirstContent-${i}` })),
|
|
266
|
+
node.response.response.content.map((c, i) => React.createElement("div", { className: 'theia-ResponseNode-Content', key: `${node.id}-content-${i}` }, this.getChatResponsePartRenderer(c, node))),
|
|
267
|
+
!node.response.isComplete
|
|
268
|
+
&& node.response.progressMessages
|
|
269
|
+
.filter(c => c.show === 'whileIncomplete')
|
|
270
|
+
.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-whileIncomplete-${i}` })),
|
|
271
|
+
node.response.progressMessages
|
|
272
|
+
.filter(c => c.show === 'forever')
|
|
273
|
+
.map((c, i) => React.createElement(ProgressMessage, { ...c, key: `${node.id}-progress-afterComplete-${i}` }))));
|
|
246
274
|
}
|
|
247
275
|
getChatResponsePartRenderer(content, node) {
|
|
248
276
|
const renderer = this.chatResponsePartRenderers.getContributions().reduce((prev, current) => {
|
|
@@ -284,10 +312,18 @@ tslib_1.__decorate([
|
|
|
284
312
|
(0, inversify_1.inject)(ai_chat_1.ChatAgentService),
|
|
285
313
|
tslib_1.__metadata("design:type", Object)
|
|
286
314
|
], ChatViewTreeWidget.prototype, "chatAgentService", void 0);
|
|
315
|
+
tslib_1.__decorate([
|
|
316
|
+
(0, inversify_1.inject)(ai_core_1.AIVariableService),
|
|
317
|
+
tslib_1.__metadata("design:type", Object)
|
|
318
|
+
], ChatViewTreeWidget.prototype, "variableService", void 0);
|
|
287
319
|
tslib_1.__decorate([
|
|
288
320
|
(0, inversify_1.inject)(core_1.CommandRegistry),
|
|
289
321
|
tslib_1.__metadata("design:type", core_1.CommandRegistry)
|
|
290
322
|
], ChatViewTreeWidget.prototype, "commandRegistry", void 0);
|
|
323
|
+
tslib_1.__decorate([
|
|
324
|
+
(0, inversify_1.inject)(browser_1.HoverService),
|
|
325
|
+
tslib_1.__metadata("design:type", browser_1.HoverService)
|
|
326
|
+
], ChatViewTreeWidget.prototype, "hoverService", void 0);
|
|
291
327
|
tslib_1.__decorate([
|
|
292
328
|
(0, inversify_1.postConstruct)(),
|
|
293
329
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -301,11 +337,42 @@ exports.ChatViewTreeWidget = ChatViewTreeWidget = ChatViewTreeWidget_1 = tslib_1
|
|
|
301
337
|
tslib_1.__param(2, (0, inversify_1.inject)(browser_1.ContextMenuRenderer)),
|
|
302
338
|
tslib_1.__metadata("design:paramtypes", [Object, Object, browser_1.ContextMenuRenderer])
|
|
303
339
|
], ChatViewTreeWidget);
|
|
304
|
-
const ChatRequestRender = ({ node }) => {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
340
|
+
const ChatRequestRender = ({ node, hoverService, chatAgentService, variableService }) => {
|
|
341
|
+
const parts = node.request.message.parts;
|
|
342
|
+
return (React.createElement("div", { className: "theia-RequestNode" },
|
|
343
|
+
React.createElement("p", null, parts.map((part, index) => {
|
|
344
|
+
var _a, _b;
|
|
345
|
+
if (part instanceof ai_chat_1.ParsedChatRequestAgentPart || part instanceof ai_chat_1.ParsedChatRequestVariablePart) {
|
|
346
|
+
let description = undefined;
|
|
347
|
+
let className = '';
|
|
348
|
+
if (part instanceof ai_chat_1.ParsedChatRequestAgentPart) {
|
|
349
|
+
description = (_a = chatAgentService.getAgent(part.agentId)) === null || _a === void 0 ? void 0 : _a.description;
|
|
350
|
+
className = 'theia-RequestNode-AgentLabel';
|
|
351
|
+
}
|
|
352
|
+
else if (part instanceof ai_chat_1.ParsedChatRequestVariablePart) {
|
|
353
|
+
description = (_b = variableService.getVariable(part.variableName)) === null || _b === void 0 ? void 0 : _b.description;
|
|
354
|
+
className = 'theia-RequestNode-VariableLabel';
|
|
355
|
+
}
|
|
356
|
+
return (React.createElement(HoverableLabel, { key: index, text: part.text, description: description, hoverService: hoverService, className: className }));
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
// maintain the leading and trailing spaces with explicit ` `, otherwise they would get trimmed by the markdown renderer
|
|
360
|
+
const ref = (0, markdown_part_renderer_1.useMarkdownRendering)(part.text.replace(/^\s|\s$/g, ' '), true);
|
|
361
|
+
return (React.createElement("span", { key: index, ref: ref }));
|
|
362
|
+
}
|
|
363
|
+
}))));
|
|
364
|
+
};
|
|
365
|
+
const HoverableLabel = ({ text, description, hoverService, className }) => {
|
|
366
|
+
const spanRef = React.createRef();
|
|
367
|
+
return (React.createElement("span", { className: className, ref: spanRef, onMouseEnter: () => {
|
|
368
|
+
if (description) {
|
|
369
|
+
hoverService.requestHover({
|
|
370
|
+
content: description,
|
|
371
|
+
target: spanRef.current,
|
|
372
|
+
position: 'right'
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
} }, text));
|
|
309
376
|
};
|
|
310
377
|
const ProgressMessage = (c) => (React.createElement("div", { className: 'theia-ResponseNode-ProgressMessage' },
|
|
311
378
|
React.createElement(Indicator, { ...c }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.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;AAChF,4CAOwB;AACxB,sCAAoE;AACpE,qDAYiC;AACjC,4DAKsC;AACtC,kDAAkD;AAElD,oGAA6F;AAC7F,gFAA0E;AAC1E,6FAAwF;AAMjF,MAAM,aAAa,GAAG,CAAC,IAAc,EAAuB,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC;AAA3E,QAAA,aAAa,iBAA8D;AAMjF,MAAM,cAAc,GAAG,CAAC,IAAc,EAAwB,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;AAA9E,QAAA,cAAc,kBAAgE;AAE3F,SAAS,UAAU,CAAC,CAAsB;;IACtC,OAAO,aAAG,CAAC,KAAK,CAAC,OAAO,MAAK,MAAA,iBAAO,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,0CAAE,OAAO,CAAA,CAAC;AACnF,CAAC;AAGM,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,oBAAU;IAoB9C,IAAI,iBAAiB,CAAC,iBAA0B;QAC5C,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,YACuB,KAAgB,EAChB,KAAgB,EACN,mBAAwC;QAErE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAlBnC,uBAAkB,GAAG,IAAI,CAAC;QAE1B,cAAS,GAAG,KAAK,CAAC;QAkBxB,IAAI,CAAC,EAAE,GAAG,oBAAkB,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE5B,KAAK,CAAC,IAAI,GAAG;YACT,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,EAAE;SACM,CAAC;IAC3B,CAAC;IAGkB,IAAI;QACnB,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,EAAE,GAAG,oBAAkB,CAAC,EAAE,GAAG,gBAAgB,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,OAAgB;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAEkB,UAAU,CAAC,KAAgB;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACxC,CAAC;IAEO,qBAAqB;QACzB,OAAO,6BAAK,SAAS,EAAE,oBAAoB;YACvC,6BAAK,SAAS,EAAC,4BAA4B,EAAC,GAAG,EAAE,kBAAkB;gBAC/D,6BAAK,SAAS,EAAC,iBAAiB;oBAC5B,8BAAM,SAAS,EAAC,gBAAgB,uDAA8C;oBAC9E,6BAAK,SAAS,EAAC,eAAe;wBAC1B;4BAAG,6EAAqD,CAAI,CAC1D;oBACN,6BAAK,SAAS,EAAC,eAAe;wBAC1B,yEAA8C,CAC5C;oBACN,6BAAK,SAAS,EAAC,iBAAiB;wBAC5B;;4BACK,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;;4BAC1D,kDAA4B;wCAAa;wBAClE;4BACI;;gCAA0B,4DAAsC;oCAAM;4BACtE;;gCAA8D,2BAAG,IAAI,EAAC,qCAAqC,EAAC,MAAM,EAAC,QAAQ,wBAAsB;wDACnH,CAC7B;wBACL,kMAA6J,CAC3J;oBAEN,6BAAK,SAAS,EAAC,eAAe;wBAC1B,yEAA8C,CAC5C;oBACN,6BAAK,SAAS,EAAC,iBAAiB;wBAC5B,iIAAsG;wBACtG;4BACI,kDAAwB;4BACxB,iFAAuD;4BACvD;;gCACI;oCACI,uDAA6B;oCAC7B,uDAA6B;oCAC7B,qDAA2B;oCAC3B,0DAAgC,CAC/B,CACJ;4BACL,gCAAK,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAM;4BACrE,gCAAK,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAM,CAChF;wBACL;;4BAAO,2BAAG,IAAI,EAAC,qCAAqC,EAAC,MAAM,EAAC,QAAQ,wBAAsB;qDAA0B,CAClH,CACJ,CACJ,CACH,CAAC;IACZ,CAAC;IAEO,gBAAgB,CAAC,KAAa,EAAE,aAAqB;QACzD,OAAO,2BACH,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,EACjE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,IAClF,KAAK,CACN,CAAC;IACT,CAAC;IAEO,gBAAgB,CAAC,OAAyB;QAC9C,OAAO;YACH,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAyB;YAC5C,OAAO;SACV,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,QAA2B;QACjD,OAAO;YACH,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAyB;YAC5C,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,SAAoB;QACtC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YACzE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACpE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEkB,cAAc;QAC7B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,SAAoB;QAChD,IAAI,2BAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEkB,UAAU,CACzB,IAAc,EACd,KAAgB;QAEhB,IAAI,CAAC,kBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE;YAC/B,6BAAK,SAAS,EAAC,gBAAgB,EAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CACtB,CACO,CAAC;IACtB,CAAC;IAEO,WAAW,CAAC,IAAgC;QAChD,MAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5H,MAAM,oBAAoB,GAAG,CAAC,UAAU;YACpC,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,EAAE;iBACvD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;iBACvC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;iBACxE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,oBAAC,KAAK,CAAC,QAAQ;YAClB,6BAAK,SAAS,EAAC,sBAAsB;gBACjC,6BAAK,SAAS,EAAE,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAQ;gBAC/E,4BAAI,SAAS,EAAC,kBAAkB,IAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAM;gBAC/D,UAAU,IAAI,8BAAM,SAAS,EAAC,6BAA6B,iBAAkB;gBAC9E,6BAAK,SAAS,EAAC,uBAAuB,IACjC,CAAC,UAAU;oBACR,oBAAoB,CAAC,MAAM,GAAG,CAAC;oBAC/B,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC9B,8BACI,SAAS,EAAE,+BAA+B,MAAM,CAAC,IAAI,EAAE,EACvD,KAAK,EAAE,MAAM,CAAC,OAAO,EACrB,OAAO,EAAE,CAAC,CAAC,EAAE;4BACT,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAChE,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE;4BACX,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChB,CAAC,CAAC,eAAe,EAAE,CAAC;gCACpB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BAChE,CAAC;wBACL,CAAC,EACD,IAAI,EAAC,QAAQ,GACT,CACX,CACH,CACJ,CACO,CAAC;IACtB,CAAC;IAEO,aAAa,CAAC,IAAgC;;QAClD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,sBAAsB;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,IAAI,CAAC;IAC/B,CAAC;IAEO,qBAAqB,CAAC,IAAgC;;QAC1D,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAEO,YAAY,CAAC,IAAgC;QACjD,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAA,CAAC;IACN,CAAC;IAEO,iBAAiB,CAAC,IAAiB;QACvC,OAAO,oBAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAC7C,CAAC;IAEO,kBAAkB,CAAC,IAAkB;QACzC,OAAO,CACH,6BAAK,SAAS,EAAE,oBAAoB;YAC/B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;mBACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;mBAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3C,oBAAC,eAAe,OAAK,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,GAAI,CAC9D;YACJ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzC,6BAAK,SAAS,EAAC,4BAA4B,EAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,YAAY,CAAC,EAAE,IAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAO,CAChI,CACC,CACT,CAAC;IACN,CAAC;IAEO,2BAA2B,CAAC,OAA4B,EAAE,IAAkB;QAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,CAAC,MAAM,CACrE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACd,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,IAAI,CAAC;QAClB,CAAC,EACD,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YACxD,OAAO,4DAAmC,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAES,iBAAiB,CAAC,IAA0B,EAAE,KAAoC;QACxF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,oBAAkB,CAAC,YAAY;YACzC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE;YAC9C,IAAI,EAAE,CAAC,IAAI,CAAC;SACf,CAAC,CAAC;QACH,KAAK,CAAC,cAAc,EAAE,CAAC;IAC3B,CAAC;;AApTQ,gDAAkB;AACX,qBAAE,GAAG,kBAAkB,AAArB,CAAsB;AACxB,+BAAY,GAAG,CAAC,wBAAwB,CAAC,AAA7B,CAA8B;AAGvC;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,sDAAwB,CAAC;;qEACoD;AAG/F;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,yEAAiC,CAAC;;8EACwC;AAGrG;IADT,IAAA,kBAAM,EAAC,0BAAgB,CAAC;;4DACoB;AAGrC;IADP,IAAA,kBAAM,EAAC,sBAAe,CAAC;sCACC,sBAAe;2DAAC;AAmCtB;IADlB,IAAA,yBAAa,GAAE;;;;8CAMf;6BAtDQ,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;IA+BJ,mBAAA,IAAA,kBAAM,EAAC,mBAAS,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAM,EAAC,mBAAS,CAAC,CAAA;IACjB,mBAAA,IAAA,kBAAM,EAAC,6BAAmB,CAAC,CAAA;6DAAsB,6BAAmB;GAhChE,kBAAkB,CAqT9B;AAED,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAyB,EAAE,EAAE;;IAC1D,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,mCAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3E,MAAM,GAAG,GAAG,IAAA,6CAAoB,EAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,6BAAK,SAAS,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,GAAQ,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,CAChD,6BAAK,SAAS,EAAC,oCAAoC;IAC/C,oBAAC,SAAS,OAAK,CAAC,GAAI;;IAAE,CAAC,CAAC,OAAO,CAC7B,CACT,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,eAAoC,EAAE,EAAE,CAAC,CACxD,8BAAM,SAAS,EAAC,8CAA8C;IACzD,eAAe,CAAC,MAAM,KAAK,YAAY;QACpC,2BAAG,SAAS,EAAE,wBAAwB,GAAG,eAAe,CAAC,MAAM,GAAM;IAExE,eAAe,CAAC,MAAM,KAAK,WAAW;QACnC,2BAAG,SAAS,EAAE,cAAc,GAAG,eAAe,CAAC,MAAM,GAAM;IAE9D,eAAe,CAAC,MAAM,KAAK,QAAQ;QAChC,2BAAG,SAAS,EAAE,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAM,CAE9D,CACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"chat-view-tree-widget.js","sourceRoot":"","sources":["../../../src/browser/chat-tree-view/chat-view-tree-widget.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/ai-chat-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.56.0",
|
|
4
4
|
"description": "Theia - AI Chat UI Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-chat": "1.
|
|
7
|
-
"@theia/ai-core": "1.
|
|
8
|
-
"@theia/core": "1.
|
|
9
|
-
"@theia/editor": "1.
|
|
10
|
-
"@theia/editor-preview": "1.
|
|
11
|
-
"@theia/filesystem": "1.
|
|
12
|
-
"@theia/monaco": "1.
|
|
6
|
+
"@theia/ai-chat": "1.56.0",
|
|
7
|
+
"@theia/ai-core": "1.56.0",
|
|
8
|
+
"@theia/core": "1.56.0",
|
|
9
|
+
"@theia/editor": "1.56.0",
|
|
10
|
+
"@theia/editor-preview": "1.56.0",
|
|
11
|
+
"@theia/filesystem": "1.56.0",
|
|
12
|
+
"@theia/monaco": "1.56.0",
|
|
13
13
|
"@theia/monaco-editor-core": "1.83.101",
|
|
14
|
-
"@theia/workspace": "1.
|
|
14
|
+
"@theia/workspace": "1.56.0",
|
|
15
15
|
"minimatch": "^5.1.0",
|
|
16
16
|
"tslib": "^2.6.2",
|
|
17
17
|
"uuid": "^9.0.1"
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"watch": "theiaext watch"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@theia/ext-scripts": "1.
|
|
53
|
+
"@theia/ext-scripts": "1.56.0"
|
|
54
54
|
},
|
|
55
55
|
"nyc": {
|
|
56
56
|
"extends": "../../configs/nyc.json"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "3b4498f8f1c66be688847418fcc35595282671dc"
|
|
59
59
|
}
|
|
@@ -36,6 +36,7 @@ import { ChatViewLanguageContribution } from './chat-view-language-contribution'
|
|
|
36
36
|
import { ChatViewWidget } from './chat-view-widget';
|
|
37
37
|
import { ChatViewWidgetToolbarContribution } from './chat-view-widget-toolbar-contribution';
|
|
38
38
|
import { EditorPreviewManager } from '@theia/editor-preview/lib/browser/editor-preview-manager';
|
|
39
|
+
import { QuestionPartRenderer } from './chat-response-renderer/question-part-renderer';
|
|
39
40
|
|
|
40
41
|
export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
41
42
|
bindViewContribution(bind, AIChatContribution);
|
|
@@ -66,6 +67,7 @@ export default new ContainerModule((bind, _unbind, _isBound, rebind) => {
|
|
|
66
67
|
bind(ChatResponsePartRenderer).to(CommandPartRenderer).inSingletonScope();
|
|
67
68
|
bind(ChatResponsePartRenderer).to(ToolCallPartRenderer).inSingletonScope();
|
|
68
69
|
bind(ChatResponsePartRenderer).to(ErrorPartRenderer).inSingletonScope();
|
|
70
|
+
bind(ChatResponsePartRenderer).to(QuestionPartRenderer).inSingletonScope();
|
|
69
71
|
[CommandContribution, MenuContribution].forEach(serviceIdentifier =>
|
|
70
72
|
bind(serviceIdentifier).to(ChatViewMenuContribution).inSingletonScope()
|
|
71
73
|
);
|
|
@@ -126,6 +126,9 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
|
|
|
126
126
|
const lastRequest = allRequests.length === 0 ? undefined : allRequests[allRequests.length - 1];
|
|
127
127
|
|
|
128
128
|
const createInputElement = async () => {
|
|
129
|
+
const paddingTop = 8;
|
|
130
|
+
const lineHeight = 20;
|
|
131
|
+
const maxHeight = 240;
|
|
129
132
|
const resource = await props.untitledResourceResolver.createUntitledResource('', CHAT_VIEW_LANGUAGE_EXTENSION);
|
|
130
133
|
const editor = await props.editorProvider.createInline(resource.uri, editorContainerRef.current!, {
|
|
131
134
|
language: CHAT_VIEW_LANGUAGE_EXTENSION,
|
|
@@ -133,7 +136,7 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
|
|
|
133
136
|
codeLens: false,
|
|
134
137
|
inlayHints: { enabled: 'off' },
|
|
135
138
|
hover: { enabled: false },
|
|
136
|
-
autoSizing:
|
|
139
|
+
autoSizing: false, // we handle the sizing ourselves
|
|
137
140
|
scrollBeyondLastLine: false,
|
|
138
141
|
scrollBeyondLastColumn: 0,
|
|
139
142
|
minHeight: 1,
|
|
@@ -144,8 +147,8 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
|
|
|
144
147
|
scrollbar: { horizontal: 'hidden' },
|
|
145
148
|
automaticLayout: true,
|
|
146
149
|
lineNumbers: 'off',
|
|
147
|
-
lineHeight
|
|
148
|
-
padding: { top:
|
|
150
|
+
lineHeight,
|
|
151
|
+
padding: { top: paddingTop },
|
|
149
152
|
suggest: {
|
|
150
153
|
showIcons: true,
|
|
151
154
|
showSnippets: false,
|
|
@@ -158,8 +161,23 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
|
|
|
158
161
|
stickyScroll: { enabled: false },
|
|
159
162
|
});
|
|
160
163
|
|
|
161
|
-
|
|
162
|
-
|
|
164
|
+
if (editorContainerRef.current) {
|
|
165
|
+
editorContainerRef.current.style.height = (lineHeight + (2 * paddingTop)) + 'px';
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const updateEditorHeight = () => {
|
|
169
|
+
if (editorContainerRef.current) {
|
|
170
|
+
const contentHeight = editor.getControl().getContentHeight() + paddingTop;
|
|
171
|
+
editorContainerRef.current.style.height = `${Math.min(contentHeight, maxHeight)}px`;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
editor.getControl().onDidChangeModelContent(updateEditorHeight);
|
|
175
|
+
const resizeObserver = new ResizeObserver(updateEditorHeight);
|
|
176
|
+
if (editorContainerRef.current) {
|
|
177
|
+
resizeObserver.observe(editorContainerRef.current);
|
|
178
|
+
}
|
|
179
|
+
editor.getControl().onDidDispose(() => {
|
|
180
|
+
resizeObserver.disconnect();
|
|
163
181
|
});
|
|
164
182
|
|
|
165
183
|
editor.getControl().onContextMenu(e =>
|
|
@@ -193,19 +211,6 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
|
|
|
193
211
|
if (editorRef.current) {
|
|
194
212
|
editorRef.current.document.textEditorModel.setValue('');
|
|
195
213
|
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
function layout(): void {
|
|
199
|
-
if (editorRef.current === undefined) {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
const hiddenClass = 'hidden';
|
|
203
|
-
const editor = editorRef.current;
|
|
204
|
-
if (editor.document.textEditorModel.getValue().length > 0) {
|
|
205
|
-
placeholderRef.current?.classList.add(hiddenClass);
|
|
206
|
-
} else {
|
|
207
|
-
placeholderRef.current?.classList.remove(hiddenClass);
|
|
208
|
-
}
|
|
209
214
|
}
|
|
210
215
|
|
|
211
216
|
const onKeyDown = React.useCallback((event: React.KeyboardEvent) => {
|
|
@@ -218,10 +223,20 @@ const ChatInput: React.FunctionComponent<ChatInputProperties> = (props: ChatInpu
|
|
|
218
223
|
}
|
|
219
224
|
}, [props.isEnabled]);
|
|
220
225
|
|
|
226
|
+
const handleInputFocus = () => {
|
|
227
|
+
placeholderRef.current?.classList.add('hidden');
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
const handleInputBlur = () => {
|
|
231
|
+
if (!editorRef.current?.getControl().getValue()) {
|
|
232
|
+
placeholderRef.current?.classList.remove('hidden');
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
221
236
|
return <div className='theia-ChatInput'>
|
|
222
237
|
<div className='theia-ChatInput-Editor-Box'>
|
|
223
|
-
<div className='theia-ChatInput-Editor' ref={editorContainerRef} onKeyDown={onKeyDown}>
|
|
224
|
-
<div ref={placeholderRef} className='theia-ChatInput-Editor-Placeholder'>
|
|
238
|
+
<div className='theia-ChatInput-Editor' ref={editorContainerRef} onKeyDown={onKeyDown} onFocus={handleInputFocus} onBlur={handleInputBlur}>
|
|
239
|
+
<div ref={placeholderRef} className='theia-ChatInput-Editor-Placeholder'>Ask a question</div>
|
|
225
240
|
</div>
|
|
226
241
|
</div>
|
|
227
242
|
<div className="theia-ChatInputOptions">
|
|
@@ -61,21 +61,23 @@ const MarkdownRender = ({ response }: { response: MarkdownChatResponseContent |
|
|
|
61
61
|
/**
|
|
62
62
|
* This hook uses markdown-it directly to render markdown.
|
|
63
63
|
* The reason to use markdown-it directly is that the MarkdownRenderer is
|
|
64
|
-
*
|
|
64
|
+
* overridden by theia with a monaco version. This monaco version strips all html
|
|
65
65
|
* tags from the markdown with empty content.
|
|
66
66
|
* This leads to unexpected behavior when rendering markdown with html tags.
|
|
67
67
|
*
|
|
68
68
|
* @param markdown the string to render as markdown
|
|
69
|
+
* @param skipSurroundingParagraph whether to remove a surrounding paragraph element (default: false)
|
|
69
70
|
* @returns the ref to use in an element to render the markdown
|
|
70
71
|
*/
|
|
71
|
-
export const useMarkdownRendering = (markdown: string | MarkdownString) => {
|
|
72
|
+
export const useMarkdownRendering = (markdown: string | MarkdownString, skipSurroundingParagraph: boolean = false) => {
|
|
72
73
|
// eslint-disable-next-line no-null/no-null
|
|
73
74
|
const ref = useRef<HTMLDivElement | null>(null);
|
|
74
75
|
const markdownString = typeof markdown === 'string' ? markdown : markdown.value;
|
|
75
76
|
useEffect(() => {
|
|
76
77
|
const markdownIt = markdownit();
|
|
77
78
|
const host = document.createElement('div');
|
|
78
|
-
|
|
79
|
+
// markdownIt always puts the content in a paragraph element, so we remove it if we don't want it
|
|
80
|
+
const html = skipSurroundingParagraph ? markdownIt.render(markdownString).replace(/^<p>|<\/p>|<p><\/p>$/g, '') : markdownIt.render(markdownString);
|
|
79
81
|
host.innerHTML = DOMPurify.sanitize(html, {
|
|
80
82
|
ALLOW_UNKNOWN_PROTOCOLS: true // DOMPurify usually strips non http(s) links from hrefs
|
|
81
83
|
});
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2024 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
|
+
import { ChatResponseContent, QuestionResponseContent } from '@theia/ai-chat';
|
|
17
|
+
import { injectable } from '@theia/core/shared/inversify';
|
|
18
|
+
import * as React from '@theia/core/shared/react';
|
|
19
|
+
import { ReactNode } from '@theia/core/shared/react';
|
|
20
|
+
import { ChatResponsePartRenderer } from '../chat-response-part-renderer';
|
|
21
|
+
import { ResponseNode } from '../chat-tree-view';
|
|
22
|
+
|
|
23
|
+
@injectable()
|
|
24
|
+
export class QuestionPartRenderer
|
|
25
|
+
implements ChatResponsePartRenderer<QuestionResponseContent> {
|
|
26
|
+
|
|
27
|
+
canHandle(response: ChatResponseContent): number {
|
|
28
|
+
if (QuestionResponseContent.is(response)) {
|
|
29
|
+
return 10;
|
|
30
|
+
}
|
|
31
|
+
return -1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
render(question: QuestionResponseContent, node: ResponseNode): ReactNode {
|
|
35
|
+
return (
|
|
36
|
+
<div className="theia-QuestionPartRenderer-root">
|
|
37
|
+
<div className="theia-QuestionPartRenderer-question">{question.question}</div>
|
|
38
|
+
<div className="theia-QuestionPartRenderer-options">
|
|
39
|
+
{
|
|
40
|
+
question.options.map((option, index) => (
|
|
41
|
+
<button
|
|
42
|
+
className={`theia-button theia-QuestionPartRenderer-option ${question.selectedOption === option ? 'selected' : ''}`}
|
|
43
|
+
onClick={() => {
|
|
44
|
+
question.selectedOption = option;
|
|
45
|
+
question.handler(option);
|
|
46
|
+
}}
|
|
47
|
+
disabled={question.selectedOption !== undefined || !node.response.isWaitingForInput}
|
|
48
|
+
key={index}
|
|
49
|
+
>
|
|
50
|
+
{option.text}
|
|
51
|
+
</button>
|
|
52
|
+
))
|
|
53
|
+
}
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
}
|
|
@@ -29,17 +29,46 @@ export class ToolCallPartRenderer implements ChatResponsePartRenderer<ToolCallCh
|
|
|
29
29
|
}
|
|
30
30
|
return -1;
|
|
31
31
|
}
|
|
32
|
+
|
|
32
33
|
render(response: ToolCallChatResponseContent): ReactNode {
|
|
33
|
-
return
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
return (
|
|
35
|
+
<h4 className='theia-toolCall'>
|
|
36
|
+
{response.finished ? (
|
|
37
|
+
<details>
|
|
38
|
+
<summary>Ran {response.name}
|
|
39
|
+
({this.renderCollapsibleArguments(response.arguments)})
|
|
40
|
+
</summary>
|
|
41
|
+
<pre>{this.tryPrettyPrintJson(response)}</pre>
|
|
42
|
+
</details>
|
|
43
|
+
) : (
|
|
44
|
+
<span>
|
|
45
|
+
<Spinner /> Running {response.name}({this.renderCollapsibleArguments(response.arguments)})
|
|
46
|
+
</span>
|
|
47
|
+
)}
|
|
48
|
+
</h4>
|
|
49
|
+
);
|
|
50
|
+
}
|
|
42
51
|
|
|
52
|
+
protected renderCollapsibleArguments(args: string | undefined): ReactNode {
|
|
53
|
+
if (!args || !args.trim() || args.trim() === '{}') {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<details className="collapsible-arguments">
|
|
59
|
+
<summary className="collapsible-arguments-summary">...</summary>
|
|
60
|
+
<span>{this.prettyPrintArgs(args)}</span>
|
|
61
|
+
</details>
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
private prettyPrintArgs(args: string): string {
|
|
66
|
+
try {
|
|
67
|
+
return JSON.stringify(JSON.parse(args), undefined, 2);
|
|
68
|
+
} catch (e) {
|
|
69
|
+
// fall through
|
|
70
|
+
return args;
|
|
71
|
+
}
|
|
43
72
|
}
|
|
44
73
|
|
|
45
74
|
private tryPrettyPrintJson(response: ToolCallChatResponseContent): string | undefined {
|