@theia/ai-chat 1.58.3 → 1.59.0-next.72

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 (128) hide show
  1. package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
  2. package/lib/browser/ai-chat-frontend-module.js +16 -13
  3. package/lib/browser/ai-chat-frontend-module.js.map +1 -1
  4. package/lib/browser/ai-chat-preferences.d.ts +1 -0
  5. package/lib/browser/ai-chat-preferences.d.ts.map +1 -1
  6. package/lib/browser/ai-chat-preferences.js +12 -3
  7. package/lib/browser/ai-chat-preferences.js.map +1 -1
  8. package/lib/browser/change-set-file-element.d.ts +31 -6
  9. package/lib/browser/change-set-file-element.d.ts.map +1 -1
  10. package/lib/browser/change-set-file-element.js +108 -15
  11. package/lib/browser/change-set-file-element.js.map +1 -1
  12. package/lib/browser/change-set-file-resource.d.ts +40 -8
  13. package/lib/browser/change-set-file-resource.d.ts.map +1 -1
  14. package/lib/browser/change-set-file-resource.js +123 -37
  15. package/lib/browser/change-set-file-resource.js.map +1 -1
  16. package/lib/browser/change-set-file-service.d.ts +9 -3
  17. package/lib/browser/change-set-file-service.d.ts.map +1 -1
  18. package/lib/browser/change-set-file-service.js +35 -13
  19. package/lib/browser/change-set-file-service.js.map +1 -1
  20. package/lib/browser/change-set-variable.d.ts +11 -0
  21. package/lib/browser/change-set-variable.d.ts.map +1 -0
  22. package/lib/browser/change-set-variable.js +56 -0
  23. package/lib/browser/change-set-variable.js.map +1 -0
  24. package/lib/browser/context-file-variable-label-provider.d.ts +14 -0
  25. package/lib/browser/context-file-variable-label-provider.d.ts.map +1 -0
  26. package/lib/browser/context-file-variable-label-provider.js +63 -0
  27. package/lib/browser/context-file-variable-label-provider.js.map +1 -0
  28. package/lib/browser/context-variable-label-provider.d.ts +9 -0
  29. package/lib/browser/context-variable-label-provider.d.ts.map +1 -0
  30. package/lib/browser/context-variable-label-provider.js +55 -0
  31. package/lib/browser/context-variable-label-provider.js.map +1 -0
  32. package/lib/browser/file-chat-variable-contribution.d.ts +18 -0
  33. package/lib/browser/file-chat-variable-contribution.d.ts.map +1 -0
  34. package/lib/browser/file-chat-variable-contribution.js +135 -0
  35. package/lib/browser/file-chat-variable-contribution.js.map +1 -0
  36. package/lib/browser/frontend-chat-service.d.ts +10 -3
  37. package/lib/browser/frontend-chat-service.d.ts.map +1 -1
  38. package/lib/browser/frontend-chat-service.js +39 -19
  39. package/lib/browser/frontend-chat-service.js.map +1 -1
  40. package/lib/common/chat-agents.d.ts +54 -24
  41. package/lib/common/chat-agents.d.ts.map +1 -1
  42. package/lib/common/chat-agents.js +58 -20
  43. package/lib/common/chat-agents.js.map +1 -1
  44. package/lib/common/chat-history-entry.js +1 -1
  45. package/lib/common/chat-history-entry.js.map +1 -1
  46. package/lib/common/chat-model.d.ts +84 -36
  47. package/lib/common/chat-model.d.ts.map +1 -1
  48. package/lib/common/chat-model.js +142 -51
  49. package/lib/common/chat-model.js.map +1 -1
  50. package/lib/common/chat-service.d.ts +27 -10
  51. package/lib/common/chat-service.d.ts.map +1 -1
  52. package/lib/common/chat-service.js +80 -20
  53. package/lib/common/chat-service.js.map +1 -1
  54. package/lib/common/chat-string-utils.d.ts +3 -0
  55. package/lib/common/chat-string-utils.d.ts.map +1 -0
  56. package/lib/common/chat-string-utils.js +27 -0
  57. package/lib/common/chat-string-utils.js.map +1 -0
  58. package/lib/common/chat-tool-request-service.d.ts +5 -5
  59. package/lib/common/chat-tool-request-service.d.ts.map +1 -1
  60. package/lib/common/chat-tool-request-service.js.map +1 -1
  61. package/lib/common/context-details-variable.d.ts +9 -0
  62. package/lib/common/context-details-variable.d.ts.map +1 -0
  63. package/lib/common/context-details-variable.js +57 -0
  64. package/lib/common/context-details-variable.js.map +1 -0
  65. package/lib/common/context-summary-variable.d.ts +9 -0
  66. package/lib/common/context-summary-variable.d.ts.map +1 -0
  67. package/lib/common/context-summary-variable.js +57 -0
  68. package/lib/common/context-summary-variable.js.map +1 -0
  69. package/lib/common/context-variables.d.ts +4 -0
  70. package/lib/common/context-variables.d.ts.map +1 -0
  71. package/lib/common/context-variables.js +22 -0
  72. package/lib/common/context-variables.js.map +1 -0
  73. package/lib/common/custom-chat-agent.d.ts +6 -10
  74. package/lib/common/custom-chat-agent.d.ts.map +1 -1
  75. package/lib/common/custom-chat-agent.js +8 -11
  76. package/lib/common/custom-chat-agent.js.map +1 -1
  77. package/lib/common/index.d.ts +1 -3
  78. package/lib/common/index.d.ts.map +1 -1
  79. package/lib/common/index.js +1 -3
  80. package/lib/common/index.js.map +1 -1
  81. package/lib/common/parse-contents.d.ts +2 -2
  82. package/lib/common/parse-contents.d.ts.map +1 -1
  83. package/lib/common/parse-contents.js.map +1 -1
  84. package/lib/common/parse-contents.spec.d.ts.map +1 -1
  85. package/lib/common/parse-contents.spec.js.map +1 -1
  86. package/lib/common/response-content-matcher.d.ts +3 -3
  87. package/lib/common/response-content-matcher.d.ts.map +1 -1
  88. package/lib/common/response-content-matcher.js.map +1 -1
  89. package/package.json +12 -10
  90. package/src/browser/ai-chat-frontend-module.ts +20 -18
  91. package/src/browser/ai-chat-preferences.ts +13 -2
  92. package/src/browser/change-set-file-element.ts +109 -20
  93. package/src/browser/change-set-file-resource.ts +125 -39
  94. package/src/browser/change-set-file-service.ts +38 -16
  95. package/src/browser/change-set-variable.ts +54 -0
  96. package/src/browser/context-file-variable-label-provider.ts +62 -0
  97. package/src/browser/context-variable-label-provider.ts +56 -0
  98. package/src/browser/file-chat-variable-contribution.ts +143 -0
  99. package/src/browser/frontend-chat-service.ts +40 -26
  100. package/src/common/chat-agents.ts +87 -30
  101. package/src/common/chat-history-entry.ts +1 -1
  102. package/src/common/chat-model.ts +204 -70
  103. package/src/common/chat-service.ts +92 -24
  104. package/src/common/chat-string-utils.ts +23 -0
  105. package/src/common/chat-tool-request-service.ts +5 -5
  106. package/src/common/context-details-variable.ts +53 -0
  107. package/src/common/context-summary-variable.ts +53 -0
  108. package/src/common/context-variables.ts +19 -0
  109. package/src/common/custom-chat-agent.ts +9 -20
  110. package/src/common/index.ts +1 -3
  111. package/src/common/parse-contents.spec.ts +2 -2
  112. package/src/common/parse-contents.ts +2 -2
  113. package/src/common/response-content-matcher.ts +3 -3
  114. package/lib/common/command-chat-agents.d.ts +0 -33
  115. package/lib/common/command-chat-agents.d.ts.map +0 -1
  116. package/lib/common/command-chat-agents.js +0 -329
  117. package/lib/common/command-chat-agents.js.map +0 -1
  118. package/lib/common/orchestrator-chat-agent.d.ts +0 -22
  119. package/lib/common/orchestrator-chat-agent.d.ts.map +0 -1
  120. package/lib/common/orchestrator-chat-agent.js +0 -167
  121. package/lib/common/orchestrator-chat-agent.js.map +0 -1
  122. package/lib/common/universal-chat-agent.d.ts +0 -16
  123. package/lib/common/universal-chat-agent.d.ts.map +0 -1
  124. package/lib/common/universal-chat-agent.js +0 -109
  125. package/lib/common/universal-chat-agent.js.map +0 -1
  126. package/src/common/command-chat-agents.ts +0 -354
  127. package/src/common/orchestrator-chat-agent.ts +0 -179
  128. package/src/common/universal-chat-agent.ts +0 -117
@@ -20,7 +20,7 @@
20
20
  *--------------------------------------------------------------------------------------------*/
21
21
  // Partially copied from https://github.com/microsoft/vscode/blob/a2cab7255c0df424027be05d58e1b7b941f4ea60/src/vs/workbench/contrib/chat/common/chatModel.ts
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.ErrorChatResponseModelImpl = exports.QuestionResponseContentImpl = exports.HorizontalLayoutChatResponseContentImpl = exports.CommandChatResponseContentImpl = exports.COMMAND_CHAT_RESPONSE_COMMAND = exports.ToolCallChatResponseContentImpl = exports.CodeChatResponseContentImpl = exports.InformationalChatResponseContentImpl = exports.MarkdownChatResponseContentImpl = exports.TextChatResponseContentImpl = exports.ErrorChatResponseContentImpl = exports.ChatRequestModelImpl = exports.ChangeSetImpl = exports.ChatModelImpl = exports.QuestionResponseContent = exports.ErrorChatResponseContent = exports.ToolCallChatResponseContent = exports.HorizontalLayoutChatResponseContent = exports.CodeChatResponseContent = exports.CommandChatResponseContent = exports.InformationalChatResponseContent = exports.MarkdownChatResponseContent = exports.TextChatResponseContent = exports.Location = exports.ChatResponseContent = exports.ChatRequestModel = exports.ChatChangeEvent = void 0;
23
+ exports.ErrorChatResponseModel = exports.QuestionResponseContentImpl = exports.HorizontalLayoutChatResponseContentImpl = exports.CommandChatResponseContentImpl = exports.COMMAND_CHAT_RESPONSE_COMMAND = exports.ToolCallChatResponseContentImpl = exports.CodeChatResponseContentImpl = exports.InformationalChatResponseContentImpl = exports.MarkdownChatResponseContentImpl = exports.TextChatResponseContentImpl = exports.ErrorChatResponseContentImpl = exports.MutableChatRequestModel = exports.ChatContextManagerImpl = exports.ChangeSetImpl = exports.MutableChatModel = exports.QuestionResponseContent = exports.ErrorChatResponseContent = exports.ToolCallChatResponseContent = exports.HorizontalLayoutChatResponseContent = exports.CodeChatResponseContent = exports.CommandChatResponseContent = exports.InformationalChatResponseContent = exports.MarkdownChatResponseContent = exports.TextChatResponseContent = exports.Location = exports.ChatResponseContent = exports.ChatRequestModel = exports.ChatChangeEvent = void 0;
24
24
  const core_1 = require("@theia/core");
25
25
  const markdown_rendering_1 = require("@theia/core/lib/common/markdown-rendering");
26
26
  const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
@@ -28,7 +28,7 @@ const chat_agents_1 = require("./chat-agents");
28
28
  var ChatChangeEvent;
29
29
  (function (ChatChangeEvent) {
30
30
  function isChangeSetEvent(event) {
31
- return event.kind === 'setChangeSet' || event.kind === 'deleteChangeSet' || event.kind === 'removeChangeSet' || event.kind === 'updateChangeSet';
31
+ return event.kind === 'setChangeSet' || event.kind === 'removeChangeSet' || event.kind === 'updateChangeSet';
32
32
  }
33
33
  ChatChangeEvent.isChangeSetEvent = isChangeSetEvent;
34
34
  })(ChatChangeEvent || (exports.ChatChangeEvent = ChatChangeEvent = {}));
@@ -69,6 +69,10 @@ var ChatResponseContent;
69
69
  return typeof obj.asString === 'function';
70
70
  }
71
71
  ChatResponseContent.hasAsString = hasAsString;
72
+ function hasDisplayString(obj) {
73
+ return typeof obj.asDisplayString === 'function';
74
+ }
75
+ ChatResponseContent.hasDisplayString = hasDisplayString;
72
76
  function hasMerge(obj) {
73
77
  return typeof obj.merge === 'function';
74
78
  }
@@ -177,21 +181,23 @@ var QuestionResponseContent;
177
181
  'handler' in obj &&
178
182
  typeof obj.handler === 'function' &&
179
183
  'request' in obj &&
180
- obj.request instanceof ChatRequestModelImpl);
184
+ obj.request instanceof MutableChatRequestModel);
181
185
  }
182
186
  QuestionResponseContent.is = is;
183
187
  })(QuestionResponseContent || (exports.QuestionResponseContent = QuestionResponseContent = {}));
184
188
  /**********************
185
189
  * Implementations
186
190
  **********************/
187
- class ChatModelImpl {
191
+ class MutableChatModel {
188
192
  constructor(location = chat_agents_1.ChatAgentLocation.Panel) {
189
193
  this.location = location;
190
194
  this._onDidChangeEmitter = new core_1.Emitter();
191
195
  this.onDidChange = this._onDidChangeEmitter.event;
196
+ this._contextManager = new ChatContextManagerImpl();
192
197
  // TODO accept serialized data as a parameter to restore a previously saved ChatModel
193
198
  this._requests = [];
194
199
  this._id = (0, core_1.generateUuid)();
200
+ this._contextManager.onDidChange(e => this._onDidChangeEmitter.fire(e));
195
201
  }
196
202
  getRequests() {
197
203
  return this._requests;
@@ -205,24 +211,25 @@ class ChatModelImpl {
205
211
  get changeSet() {
206
212
  return this._changeSet;
207
213
  }
214
+ get context() {
215
+ return this._contextManager;
216
+ }
208
217
  setChangeSet(changeSet) {
209
- var _a;
210
- this._changeSet = changeSet;
211
- if (this._changeSet === undefined) {
212
- (_a = this._changeSetListener) === null || _a === void 0 ? void 0 : _a.dispose();
213
- this._onDidChangeEmitter.fire({
214
- kind: 'deleteChangeSet',
215
- });
216
- return;
218
+ if (!changeSet) {
219
+ return this.removeChangeSet();
217
220
  }
221
+ const oldChangeSet = this._changeSet;
222
+ oldChangeSet === null || oldChangeSet === void 0 ? void 0 : oldChangeSet.dispose();
223
+ this._changeSet = changeSet;
218
224
  this._onDidChangeEmitter.fire({
219
225
  kind: 'setChangeSet',
220
- changeSet: this._changeSet,
226
+ changeSet,
227
+ oldChangeSet,
221
228
  });
222
- this._changeSetListener = this._changeSet.onDidChange(() => {
229
+ changeSet.onDidChange(() => {
223
230
  this._onDidChangeEmitter.fire({
224
231
  kind: 'updateChangeSet',
225
- changeSet: this._changeSet,
232
+ changeSet,
226
233
  });
227
234
  });
228
235
  }
@@ -230,14 +237,15 @@ class ChatModelImpl {
230
237
  if (this._changeSet) {
231
238
  const oldChangeSet = this._changeSet;
232
239
  this._changeSet = undefined;
240
+ oldChangeSet.dispose();
233
241
  this._onDidChangeEmitter.fire({
234
242
  kind: 'removeChangeSet',
235
243
  changeSet: oldChangeSet,
236
244
  });
237
245
  }
238
246
  }
239
- addRequest(parsedChatRequest, agentId, context = []) {
240
- const requestModel = new ChatRequestModelImpl(this, parsedChatRequest, agentId, context);
247
+ addRequest(parsedChatRequest, agentId, context = { variables: [] }) {
248
+ const requestModel = new MutableChatRequestModel(this, parsedChatRequest, agentId, context);
241
249
  this._requests.push(requestModel);
242
250
  this._onDidChangeEmitter.fire({
243
251
  kind: 'addRequest',
@@ -248,58 +256,114 @@ class ChatModelImpl {
248
256
  isEmpty() {
249
257
  return this._requests.length === 0;
250
258
  }
259
+ dispose() {
260
+ this.removeChangeSet(); // Signal disposal of last change set.
261
+ this._onDidChangeEmitter.dispose();
262
+ }
251
263
  }
252
- exports.ChatModelImpl = ChatModelImpl;
264
+ exports.MutableChatModel = MutableChatModel;
253
265
  class ChangeSetImpl {
254
266
  constructor(title, elements = []) {
255
267
  this.title = title;
256
268
  this._onDidChangeEmitter = new core_1.Emitter();
257
269
  this.onDidChange = this._onDidChangeEmitter.event;
258
270
  this._elements = [];
259
- this.addElements(elements);
271
+ this.addElements(...elements);
260
272
  }
261
273
  getElements() {
262
274
  return this._elements;
263
275
  }
264
- addElement(element) {
265
- this.addElements([element]);
276
+ /** Will replace any element that is already present, using URI as identity criterion. */
277
+ addElements(...elements) {
278
+ const added = [];
279
+ const modified = [];
280
+ const toDispose = [];
281
+ const current = new Map(this.getElements().map((element, index) => [element.uri.toString(), index]));
282
+ elements.forEach(element => {
283
+ var _a;
284
+ const existingIndex = current.get(element.uri.toString());
285
+ if (existingIndex !== undefined) {
286
+ modified.push(element.uri);
287
+ toDispose.push(this._elements[existingIndex]);
288
+ this._elements[existingIndex] = element;
289
+ }
290
+ else {
291
+ added.push(element.uri);
292
+ this._elements.push(element);
293
+ }
294
+ (_a = element.onDidChange) === null || _a === void 0 ? void 0 : _a.call(element, () => this.notifyChange({ state: [element.uri] }));
295
+ });
296
+ toDispose.forEach(element => { var _a; return (_a = element.dispose) === null || _a === void 0 ? void 0 : _a.call(element); });
297
+ this.notifyChange({ added, modified });
298
+ }
299
+ removeElements(...indices) {
300
+ // From highest to lowest so that we don't affect lower indices with our splicing.
301
+ const sorted = indices.slice().sort((left, right) => left - right);
302
+ const deletions = sorted.flatMap(index => this._elements.splice(index, 1));
303
+ deletions.forEach(deleted => { var _a; return (_a = deleted.dispose) === null || _a === void 0 ? void 0 : _a.call(deleted); });
304
+ this.notifyChange({ removed: deletions.map(element => element.uri) });
266
305
  }
267
- addElements(elements) {
268
- this._elements.push(...elements);
269
- this.notifyChange();
306
+ notifyChange(change) {
307
+ this._onDidChangeEmitter.fire(change);
270
308
  }
271
- replaceElement(element) {
272
- const index = this._elements.findIndex(e => e.uri.toString() === element.uri.toString());
273
- if (index < 0) {
274
- return false;
275
- }
276
- this._elements[index] = element;
277
- this.notifyChange();
278
- return true;
309
+ dispose() {
310
+ this._onDidChangeEmitter.dispose();
311
+ this._elements.forEach(element => { var _a; return (_a = element.dispose) === null || _a === void 0 ? void 0 : _a.call(element); });
279
312
  }
280
- addOrReplaceElement(element) {
281
- if (!this.replaceElement(element)) {
282
- this.addElement(element);
313
+ }
314
+ exports.ChangeSetImpl = ChangeSetImpl;
315
+ class ChatContextManagerImpl {
316
+ constructor() {
317
+ this.variables = new Array();
318
+ this.onDidChangeEmitter = new core_1.Emitter();
319
+ }
320
+ get onDidChange() {
321
+ return this.onDidChangeEmitter.event;
322
+ }
323
+ getVariables() {
324
+ const result = this.variables.slice();
325
+ Object.freeze(result);
326
+ return result;
327
+ }
328
+ addVariables(...variables) {
329
+ let modified = false;
330
+ variables.forEach(variable => {
331
+ if (this.variables.some(existing => existing.variable.id === variable.variable.id && existing.arg === variable.arg)) {
332
+ return;
333
+ }
334
+ this.variables.push(variable);
335
+ modified = true;
336
+ });
337
+ if (modified) {
338
+ this.onDidChangeEmitter.fire({ kind: 'addVariable' });
283
339
  }
284
340
  }
285
- removeElement(index) {
286
- this._elements.splice(index, 1);
287
- this.notifyChange();
341
+ deleteVariables(...indices) {
342
+ const toDelete = indices.filter(candidate => candidate <= this.variables.length).sort((left, right) => right - left);
343
+ if (toDelete.length) {
344
+ toDelete.forEach(index => {
345
+ this.variables.splice(index, 1);
346
+ });
347
+ this.onDidChangeEmitter.fire({ kind: 'removeVariable' });
348
+ }
288
349
  }
289
- notifyChange() {
290
- this._onDidChangeEmitter.fire();
350
+ clear() {
351
+ if (this.variables.length) {
352
+ this.variables.length = 0;
353
+ this.onDidChangeEmitter.fire({ kind: 'removeVariable' });
354
+ }
291
355
  }
292
356
  }
293
- exports.ChangeSetImpl = ChangeSetImpl;
294
- class ChatRequestModelImpl {
295
- constructor(session, message, agentId, context = [], data = {}) {
357
+ exports.ChatContextManagerImpl = ChatContextManagerImpl;
358
+ class MutableChatRequestModel {
359
+ constructor(session, message, agentId, context = { variables: [] }, data = {}) {
296
360
  this.message = message;
297
361
  // TODO accept serialized data as a parameter to restore a previously saved ChatRequestModel
298
362
  this._request = message.request;
299
363
  this._id = (0, core_1.generateUuid)();
300
364
  this._session = session;
301
- this._response = new ChatResponseModelImpl(this._id, agentId);
302
- this._context = context.concat(message.parts.filter(part => part.kind === 'var').map(part => part.resolution));
365
+ this._response = new MutableChatResponseModel(this._id, agentId);
366
+ this._context = context;
303
367
  this._agentId = agentId;
304
368
  this._data = data;
305
369
  }
@@ -324,6 +388,9 @@ class ChatRequestModelImpl {
324
388
  get response() {
325
389
  return this._response;
326
390
  }
391
+ get context() {
392
+ return this._context;
393
+ }
327
394
  get agentId() {
328
395
  return this._agentId;
329
396
  }
@@ -331,7 +398,7 @@ class ChatRequestModelImpl {
331
398
  this.response.cancel();
332
399
  }
333
400
  }
334
- exports.ChatRequestModelImpl = ChatRequestModelImpl;
401
+ exports.MutableChatRequestModel = MutableChatRequestModel;
335
402
  class ErrorChatResponseContentImpl {
336
403
  constructor(error) {
337
404
  this.kind = 'error';
@@ -356,6 +423,9 @@ class TextChatResponseContentImpl {
356
423
  asString() {
357
424
  return this._content;
358
425
  }
426
+ asDisplayString() {
427
+ return this.asString();
428
+ }
359
429
  merge(nextChatResponseContent) {
360
430
  this._content += nextChatResponseContent.content;
361
431
  return true;
@@ -374,6 +444,9 @@ class MarkdownChatResponseContentImpl {
374
444
  asString() {
375
445
  return this._content.value;
376
446
  }
447
+ asDisplayString() {
448
+ return this.asString();
449
+ }
377
450
  merge(nextChatResponseContent) {
378
451
  this._content.appendMarkdown(nextChatResponseContent.content.value);
379
452
  return true;
@@ -448,6 +521,9 @@ class ToolCallChatResponseContentImpl {
448
521
  return this._result;
449
522
  }
450
523
  asString() {
524
+ return '';
525
+ }
526
+ asDisplayString() {
451
527
  var _a;
452
528
  return `Tool call: ${this._name}(${(_a = this._arguments) !== null && _a !== void 0 ? _a : ''})`;
453
529
  }
@@ -499,6 +575,9 @@ class HorizontalLayoutChatResponseContentImpl {
499
575
  asString() {
500
576
  return this._content.map(child => child.asString && child.asString()).join(' ');
501
577
  }
578
+ asDisplayString() {
579
+ return this.asString();
580
+ }
502
581
  merge(nextChatResponseContent) {
503
582
  if (HorizontalLayoutChatResponseContent.is(nextChatResponseContent)) {
504
583
  this._content.push(...nextChatResponseContent.content);
@@ -591,8 +670,17 @@ class ChatResponseImpl {
591
670
  this._onDidChangeEmitter.fire();
592
671
  }
593
672
  _updateResponseRepresentation() {
594
- this._responseRepresentation = this._content
673
+ this._responseRepresentation = this.responseRepresentationsToString(this._content, 'asString');
674
+ this._responseRepresentationForDisplay = this.responseRepresentationsToString(this.content, 'asDisplayString');
675
+ }
676
+ responseRepresentationsToString(content, collect) {
677
+ return content
595
678
  .map(responseContent => {
679
+ if (collect === 'asDisplayString') {
680
+ if (ChatResponseContent.hasDisplayString(responseContent)) {
681
+ return responseContent.asDisplayString();
682
+ }
683
+ }
596
684
  if (ChatResponseContent.hasAsString(responseContent)) {
597
685
  return responseContent.asString();
598
686
  }
@@ -602,14 +690,17 @@ class ChatResponseImpl {
602
690
  console.warn('Was not able to map responseContent to a string', responseContent);
603
691
  return undefined;
604
692
  })
605
- .filter(text => text !== undefined)
693
+ .filter(text => (text !== undefined && text !== ''))
606
694
  .join('\n\n');
607
695
  }
608
696
  asString() {
609
697
  return this._responseRepresentation;
610
698
  }
699
+ asDisplayString() {
700
+ return this._responseRepresentationForDisplay;
701
+ }
611
702
  }
612
- class ChatResponseModelImpl {
703
+ class MutableChatResponseModel {
613
704
  constructor(requestId, agentId) {
614
705
  this._onDidChangeEmitter = new core_1.Emitter();
615
706
  this.onDidChange = this._onDidChangeEmitter.event;
@@ -718,11 +809,11 @@ class ChatResponseModelImpl {
718
809
  return this._isError;
719
810
  }
720
811
  }
721
- class ErrorChatResponseModelImpl extends ChatResponseModelImpl {
812
+ class ErrorChatResponseModel extends MutableChatResponseModel {
722
813
  constructor(requestId, error, agentId) {
723
814
  super(requestId, agentId);
724
815
  this.error(error);
725
816
  }
726
817
  }
727
- exports.ErrorChatResponseModelImpl = ErrorChatResponseModelImpl;
818
+ exports.ErrorChatResponseModel = ErrorChatResponseModel;
728
819
  //# sourceMappingURL=chat-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../src/common/chat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../src/common/chat-model.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { ChatModel, ChatModelImpl, ChatRequest, ChatRequestModel, ChatResponseModel } from './chat-model';
2
- import { ChatAgentService } from './chat-agent-service';
1
+ import { AIVariableResolutionRequest, AIVariableService } from '@theia/ai-core';
3
2
  import { Emitter, ILogger } from '@theia/core';
4
- import { ChatRequestParser } from './chat-request-parser';
5
- import { ChatAgent, ChatAgentLocation } from './chat-agents';
6
- import { ParsedChatRequestAgentPart, ParsedChatRequest } from './parsed-chat-request';
7
- import { AIVariableService } from '@theia/ai-core';
8
3
  import { Event } from '@theia/core/shared/vscode-languageserver-protocol';
4
+ import { ChatAgentService } from './chat-agent-service';
5
+ import { ChatAgent, ChatAgentLocation, ChatSessionContext } from './chat-agents';
6
+ import { ChatModel, MutableChatModel, ChatRequest, ChatRequestModel, ChatResponseModel, ChatContext } from './chat-model';
7
+ import { ChatRequestParser } from './chat-request-parser';
8
+ import { ParsedChatRequest, ParsedChatRequestAgentPart } from './parsed-chat-request';
9
9
  export interface ChatRequestInvocation {
10
10
  /**
11
11
  * Promise which completes once the request preprocessing is complete.
@@ -25,6 +25,7 @@ export interface ChatSession {
25
25
  title?: string;
26
26
  model: ChatModel;
27
27
  isActive: boolean;
28
+ pinnedAgent?: ChatAgent;
28
29
  }
29
30
  export interface ActiveSessionChangedEvent {
30
31
  sessionId: string | undefined;
@@ -33,16 +34,28 @@ export interface ActiveSessionChangedEvent {
33
34
  export interface SessionOptions {
34
35
  focus?: boolean;
35
36
  }
37
+ /**
38
+ * The default chat agent to invoke
39
+ */
36
40
  export declare const DefaultChatAgentId: unique symbol;
37
41
  export interface DefaultChatAgentId {
38
42
  id: string;
39
43
  }
44
+ /**
45
+ * In case no fitting chat agent is available, this one will be used (if it is itself available)
46
+ */
47
+ export declare const FallbackChatAgentId: unique symbol;
48
+ export interface FallbackChatAgentId {
49
+ id: string;
50
+ }
51
+ export declare const PinChatAgent: unique symbol;
52
+ export type PinChatAgent = boolean;
40
53
  export declare const ChatService: unique symbol;
41
54
  export interface ChatService {
42
55
  onActiveSessionChanged: Event<ActiveSessionChangedEvent>;
43
56
  getSession(id: string): ChatSession | undefined;
44
57
  getSessions(): ChatSession[];
45
- createSession(location?: ChatAgentLocation, options?: SessionOptions): ChatSession;
58
+ createSession(location?: ChatAgentLocation, options?: SessionOptions, pinnedAgent?: ChatAgent): ChatSession;
46
59
  deleteSession(sessionId: string): void;
47
60
  setActiveSession(sessionId: string, options?: SessionOptions): void;
48
61
  sendRequest(sessionId: string, request: ChatRequest): Promise<ChatRequestInvocation | undefined>;
@@ -51,25 +64,29 @@ export interface ChatService {
51
64
  cancelRequest(sessionId: string, requestId: string): Promise<void>;
52
65
  }
53
66
  interface ChatSessionInternal extends ChatSession {
54
- model: ChatModelImpl;
67
+ model: MutableChatModel;
55
68
  }
56
69
  export declare class ChatServiceImpl implements ChatService {
57
70
  protected readonly onActiveSessionChangedEmitter: Emitter<ActiveSessionChangedEvent>;
58
71
  onActiveSessionChanged: import("@theia/core").Event<ActiveSessionChangedEvent>;
59
72
  protected chatAgentService: ChatAgentService;
60
73
  protected defaultChatAgentId: DefaultChatAgentId | undefined;
74
+ protected fallbackChatAgentId: FallbackChatAgentId | undefined;
75
+ protected pinChatAgent: boolean | undefined;
61
76
  protected chatRequestParser: ChatRequestParser;
62
77
  protected variableService: AIVariableService;
63
78
  protected logger: ILogger;
64
79
  protected _sessions: ChatSessionInternal[];
65
80
  getSessions(): ChatSessionInternal[];
66
81
  getSession(id: string): ChatSessionInternal | undefined;
67
- createSession(location?: ChatAgentLocation, options?: SessionOptions): ChatSession;
82
+ createSession(location?: ChatAgentLocation, options?: SessionOptions, pinnedAgent?: ChatAgent): ChatSession;
68
83
  deleteSession(sessionId: string): void;
69
84
  setActiveSession(sessionId: string | undefined, options?: SessionOptions): void;
70
85
  sendRequest(sessionId: string, request: ChatRequest): Promise<ChatRequestInvocation | undefined>;
86
+ protected resolveChatContext(resolutionRequests: readonly AIVariableResolutionRequest[], context: ChatSessionContext): Promise<ChatContext>;
71
87
  cancelRequest(sessionId: string, requestId: string): Promise<void>;
72
- protected getAgent(parsedRequest: ParsedChatRequest): ChatAgent | undefined;
88
+ protected getAgent(parsedRequest: ParsedChatRequest, session: ChatSession): ChatAgent | undefined;
89
+ protected initialAgentSelection(parsedRequest: ParsedChatRequest): ChatAgent | undefined;
73
90
  protected getMentionedAgent(parsedRequest: ParsedChatRequest): ParsedChatRequestAgentPart | undefined;
74
91
  deleteChangeSet(sessionId: string): void;
75
92
  deleteChangeSetElement(sessionId: string, index: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-service.d.ts","sourceRoot":"","sources":["../../src/common/chat-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-service.d.ts","sourceRoot":"","sources":["../../src/common/chat-service.ts"],"names":[],"mappings":"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"}