@theia/ai-chat-ui 1.57.0-next.7 → 1.57.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.
Files changed (31) hide show
  1. package/README.md +2 -1
  2. package/lib/browser/ai-chat-ui-frontend-module.d.ts.map +1 -1
  3. package/lib/browser/ai-chat-ui-frontend-module.js +6 -1
  4. package/lib/browser/ai-chat-ui-frontend-module.js.map +1 -1
  5. package/lib/browser/chat-input-widget.d.ts +3 -0
  6. package/lib/browser/chat-input-widget.d.ts.map +1 -1
  7. package/lib/browser/chat-input-widget.js +33 -5
  8. package/lib/browser/chat-input-widget.js.map +1 -1
  9. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts +30 -2
  10. package/lib/browser/chat-response-renderer/code-part-renderer.d.ts.map +1 -1
  11. package/lib/browser/chat-response-renderer/code-part-renderer.js +45 -10
  12. package/lib/browser/chat-response-renderer/code-part-renderer.js.map +1 -1
  13. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts +8 -3
  14. package/lib/browser/chat-response-renderer/markdown-part-renderer.d.ts.map +1 -1
  15. package/lib/browser/chat-response-renderer/markdown-part-renderer.js +38 -10
  16. package/lib/browser/chat-response-renderer/markdown-part-renderer.js.map +1 -1
  17. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts +2 -1
  18. package/lib/browser/chat-tree-view/chat-view-tree-widget.d.ts.map +1 -1
  19. package/lib/browser/chat-tree-view/chat-view-tree-widget.js +8 -4
  20. package/lib/browser/chat-tree-view/chat-view-tree-widget.js.map +1 -1
  21. package/lib/browser/chat-view-widget.d.ts +2 -1
  22. package/lib/browser/chat-view-widget.d.ts.map +1 -1
  23. package/lib/browser/chat-view-widget.js +4 -0
  24. package/lib/browser/chat-view-widget.js.map +1 -1
  25. package/package.json +11 -11
  26. package/src/browser/ai-chat-ui-frontend-module.ts +23 -4
  27. package/src/browser/chat-input-widget.tsx +38 -3
  28. package/src/browser/chat-response-renderer/code-part-renderer.tsx +48 -9
  29. package/src/browser/chat-response-renderer/markdown-part-renderer.tsx +39 -12
  30. package/src/browser/chat-tree-view/chat-view-tree-widget.tsx +10 -4
  31. package/src/browser/chat-view-widget.tsx +6 -1
@@ -34,6 +34,7 @@ import {
34
34
  Key,
35
35
  KeyCode,
36
36
  NodeProps,
37
+ OpenerService,
37
38
  TreeModel,
38
39
  TreeNode,
39
40
  TreeProps,
@@ -88,6 +89,9 @@ export class ChatViewTreeWidget extends TreeWidget {
88
89
  @inject(CommandRegistry)
89
90
  private commandRegistry: CommandRegistry;
90
91
 
92
+ @inject(OpenerService)
93
+ protected readonly openerService: OpenerService;
94
+
91
95
  @inject(HoverService)
92
96
  private hoverService: HoverService;
93
97
 
@@ -303,7 +307,7 @@ export class ChatViewTreeWidget extends TreeWidget {
303
307
  }}>
304
308
  {this.getAgentLabel(node)}
305
309
  </h3>
306
- {inProgress && <span className='theia-ChatContentInProgress'>Generating</span>}
310
+ {inProgress && !waitingForInput && <span className='theia-ChatContentInProgress'>Generating</span>}
307
311
  {inProgress && waitingForInput && <span className='theia-ChatContentInProgress'>Waiting for input</span>}
308
312
  <div className='theia-ChatNodeToolbar'>
309
313
  {!inProgress &&
@@ -370,6 +374,7 @@ export class ChatViewTreeWidget extends TreeWidget {
370
374
  hoverService={this.hoverService}
371
375
  chatAgentService={this.chatAgentService}
372
376
  variableService={this.variableService}
377
+ openerService={this.openerService}
373
378
  />;
374
379
  }
375
380
 
@@ -432,12 +437,13 @@ export class ChatViewTreeWidget extends TreeWidget {
432
437
 
433
438
  const ChatRequestRender = (
434
439
  {
435
- node, hoverService, chatAgentService, variableService
440
+ node, hoverService, chatAgentService, variableService, openerService
436
441
  }: {
437
442
  node: RequestNode,
438
443
  hoverService: HoverService,
439
444
  chatAgentService: ChatAgentService,
440
- variableService: AIVariableService
445
+ variableService: AIVariableService,
446
+ openerService: OpenerService
441
447
  }) => {
442
448
  const parts = node.request.message.parts;
443
449
  return (
@@ -465,7 +471,7 @@ const ChatRequestRender = (
465
471
  );
466
472
  } else {
467
473
  // maintain the leading and trailing spaces with explicit `&nbsp;`, otherwise they would get trimmed by the markdown renderer
468
- const ref = useMarkdownRendering(part.text.replace(/^\s|\s$/g, '&nbsp;'), true);
474
+ const ref = useMarkdownRendering(part.text.replace(/^\s|\s$/g, '&nbsp;'), openerService, true);
469
475
  return (
470
476
  <span key={index} ref={ref}></span>
471
477
  );
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
  import { CommandService, deepClone, Emitter, Event, MessageService } from '@theia/core';
17
17
  import { ChatRequest, ChatRequestModel, ChatRequestModelImpl, ChatService, ChatSession } from '@theia/ai-chat';
18
- import { BaseWidget, codicon, ExtractableWidget, PanelLayout, PreferenceService, StatefulWidget } from '@theia/core/lib/browser';
18
+ import { BaseWidget, codicon, ExtractableWidget, Message, PanelLayout, PreferenceService, StatefulWidget } from '@theia/core/lib/browser';
19
19
  import { nls } from '@theia/core/lib/common/nls';
20
20
  import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
21
21
  import { AIChatInputWidget } from './chat-input-widget';
@@ -125,6 +125,11 @@ export class ChatViewWidget extends BaseWidget implements ExtractableWidget, Sta
125
125
  );
126
126
  }
127
127
 
128
+ protected override onActivateRequest(msg: Message): void {
129
+ super.onActivateRequest(msg);
130
+ this.inputWidget.activate();
131
+ }
132
+
128
133
  storeState(): object {
129
134
  return this.state;
130
135
  }