@theia/ai-chat 1.60.2 → 1.61.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 (118) hide show
  1. package/lib/browser/ai-chat-frontend-contribution.d.ts +11 -0
  2. package/lib/browser/ai-chat-frontend-contribution.d.ts.map +1 -0
  3. package/lib/browser/ai-chat-frontend-contribution.js +56 -0
  4. package/lib/browser/ai-chat-frontend-contribution.js.map +1 -0
  5. package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
  6. package/lib/browser/ai-chat-frontend-module.js +21 -3
  7. package/lib/browser/ai-chat-frontend-module.js.map +1 -1
  8. package/lib/browser/change-set-decorator-service.d.ts +24 -0
  9. package/lib/browser/change-set-decorator-service.d.ts.map +1 -0
  10. package/lib/browser/change-set-decorator-service.js +66 -0
  11. package/lib/browser/change-set-decorator-service.js.map +1 -0
  12. package/lib/browser/change-set-file-element.d.ts +7 -4
  13. package/lib/browser/change-set-file-element.d.ts.map +1 -1
  14. package/lib/browser/change-set-file-element.js +20 -12
  15. package/lib/browser/change-set-file-element.js.map +1 -1
  16. package/lib/browser/change-set-file-resource.d.ts +1 -42
  17. package/lib/browser/change-set-file-resource.d.ts.map +1 -1
  18. package/lib/browser/change-set-file-resource.js +1 -136
  19. package/lib/browser/change-set-file-resource.js.map +1 -1
  20. package/lib/browser/change-set-variable.d.ts.map +1 -1
  21. package/lib/browser/change-set-variable.js +13 -4
  22. package/lib/browser/change-set-variable.js.map +1 -1
  23. package/lib/browser/context-file-variable-label-provider.js +1 -1
  24. package/lib/browser/context-file-variable-label-provider.js.map +1 -1
  25. package/lib/browser/file-chat-variable-contribution.d.ts.map +1 -1
  26. package/lib/browser/file-chat-variable-contribution.js +29 -27
  27. package/lib/browser/file-chat-variable-contribution.js.map +1 -1
  28. package/lib/browser/task-context-service.d.ts +40 -0
  29. package/lib/browser/task-context-service.d.ts.map +1 -0
  30. package/lib/browser/task-context-service.js +148 -0
  31. package/lib/browser/task-context-service.js.map +1 -0
  32. package/lib/browser/task-context-storage-service.d.ts +18 -0
  33. package/lib/browser/task-context-storage-service.d.ts.map +1 -0
  34. package/lib/browser/task-context-storage-service.js +77 -0
  35. package/lib/browser/task-context-storage-service.js.map +1 -0
  36. package/lib/browser/task-context-variable-contribution.d.ts +20 -0
  37. package/lib/browser/task-context-variable-contribution.d.ts.map +1 -0
  38. package/lib/browser/task-context-variable-contribution.js +101 -0
  39. package/lib/browser/task-context-variable-contribution.js.map +1 -0
  40. package/lib/browser/task-context-variable-label-provider.d.ts +21 -0
  41. package/lib/browser/task-context-variable-label-provider.d.ts.map +1 -0
  42. package/lib/browser/task-context-variable-label-provider.js +83 -0
  43. package/lib/browser/task-context-variable-label-provider.js.map +1 -0
  44. package/lib/browser/task-context-variable.d.ts +3 -0
  45. package/lib/browser/task-context-variable.d.ts.map +1 -0
  46. package/lib/browser/task-context-variable.js +29 -0
  47. package/lib/browser/task-context-variable.js.map +1 -0
  48. package/lib/common/chat-agents.d.ts +2 -1
  49. package/lib/common/chat-agents.d.ts.map +1 -1
  50. package/lib/common/chat-agents.js +32 -20
  51. package/lib/common/chat-agents.js.map +1 -1
  52. package/lib/common/chat-model.d.ts +191 -8
  53. package/lib/common/chat-model.d.ts.map +1 -1
  54. package/lib/common/chat-model.js +369 -12
  55. package/lib/common/chat-model.js.map +1 -1
  56. package/lib/common/chat-request-parser.d.ts +1 -1
  57. package/lib/common/chat-request-parser.d.ts.map +1 -1
  58. package/lib/common/chat-request-parser.js +1 -1
  59. package/lib/common/chat-request-parser.js.map +1 -1
  60. package/lib/common/chat-service.d.ts +2 -0
  61. package/lib/common/chat-service.d.ts.map +1 -1
  62. package/lib/common/chat-service.js +18 -25
  63. package/lib/common/chat-service.js.map +1 -1
  64. package/lib/common/chat-session-naming-service.d.ts.map +1 -1
  65. package/lib/common/chat-session-naming-service.js +9 -11
  66. package/lib/common/chat-session-naming-service.js.map +1 -1
  67. package/lib/common/chat-session-summary-agent-prompt.d.ts +5 -0
  68. package/lib/common/chat-session-summary-agent-prompt.d.ts.map +1 -0
  69. package/lib/common/chat-session-summary-agent-prompt.js +30 -0
  70. package/lib/common/chat-session-summary-agent-prompt.js.map +1 -0
  71. package/lib/common/chat-session-summary-agent.d.ts +17 -0
  72. package/lib/common/chat-session-summary-agent.d.ts.map +1 -0
  73. package/lib/common/chat-session-summary-agent.js +48 -0
  74. package/lib/common/chat-session-summary-agent.js.map +1 -0
  75. package/lib/common/context-summary-variable.js +1 -1
  76. package/lib/common/context-summary-variable.js.map +1 -1
  77. package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts +2 -0
  78. package/lib/common/parse-contents-with-incomplete-parts.spec.d.ts.map +1 -0
  79. package/lib/common/parse-contents-with-incomplete-parts.spec.js +103 -0
  80. package/lib/common/parse-contents-with-incomplete-parts.spec.js.map +1 -0
  81. package/lib/common/parse-contents.d.ts +1 -0
  82. package/lib/common/parse-contents.d.ts.map +1 -1
  83. package/lib/common/parse-contents.js +45 -5
  84. package/lib/common/parse-contents.js.map +1 -1
  85. package/lib/common/parse-contents.spec.d.ts +1 -0
  86. package/lib/common/parse-contents.spec.d.ts.map +1 -1
  87. package/lib/common/parse-contents.spec.js +25 -13
  88. package/lib/common/parse-contents.spec.js.map +1 -1
  89. package/lib/common/response-content-matcher.d.ts +6 -0
  90. package/lib/common/response-content-matcher.d.ts.map +1 -1
  91. package/lib/common/response-content-matcher.js +14 -3
  92. package/lib/common/response-content-matcher.js.map +1 -1
  93. package/package.json +11 -11
  94. package/src/browser/ai-chat-frontend-contribution.ts +49 -0
  95. package/src/browser/ai-chat-frontend-module.ts +25 -4
  96. package/src/browser/change-set-decorator-service.ts +72 -0
  97. package/src/browser/change-set-file-element.ts +18 -13
  98. package/src/browser/change-set-file-resource.ts +1 -138
  99. package/src/browser/change-set-variable.ts +14 -6
  100. package/src/browser/context-file-variable-label-provider.ts +1 -1
  101. package/src/browser/file-chat-variable-contribution.ts +26 -29
  102. package/src/browser/task-context-service.ts +144 -0
  103. package/src/browser/task-context-storage-service.ts +75 -0
  104. package/src/browser/task-context-variable-contribution.ts +93 -0
  105. package/src/browser/task-context-variable-label-provider.ts +67 -0
  106. package/src/browser/task-context-variable.ts +28 -0
  107. package/src/common/chat-agents.ts +38 -22
  108. package/src/common/chat-model.ts +566 -17
  109. package/src/common/chat-request-parser.ts +2 -2
  110. package/src/common/chat-service.ts +17 -26
  111. package/src/common/chat-session-naming-service.ts +13 -15
  112. package/src/common/chat-session-summary-agent-prompt.ts +28 -0
  113. package/src/common/chat-session-summary-agent.ts +42 -0
  114. package/src/common/context-summary-variable.ts +1 -1
  115. package/src/common/parse-contents-with-incomplete-parts.spec.ts +114 -0
  116. package/src/common/parse-contents.spec.ts +24 -12
  117. package/src/common/parse-contents.ts +52 -6
  118. package/src/common/response-content-matcher.ts +21 -3
@@ -20,7 +20,8 @@
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.ErrorChatResponseModel = exports.MutableChatResponseModel = exports.QuestionResponseContentImpl = exports.HorizontalLayoutChatResponseContentImpl = exports.CommandChatResponseContentImpl = exports.COMMAND_CHAT_RESPONSE_COMMAND = exports.ToolCallChatResponseContentImpl = exports.CodeChatResponseContentImpl = exports.InformationalChatResponseContentImpl = exports.MarkdownChatResponseContentImpl = exports.ThinkingChatResponseContentImpl = exports.TextChatResponseContentImpl = exports.ErrorChatResponseContentImpl = exports.MutableChatRequestModel = exports.ChatContextManagerImpl = exports.ChangeSetImpl = exports.MutableChatModel = exports.QuestionResponseContent = exports.ThinkingChatResponseContent = 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.ProgressChatResponseContentImpl = exports.ErrorChatResponseModel = exports.MutableChatResponseModel = exports.QuestionResponseContentImpl = exports.HorizontalLayoutChatResponseContentImpl = exports.CommandChatResponseContentImpl = exports.COMMAND_CHAT_RESPONSE_COMMAND = exports.ToolCallChatResponseContentImpl = exports.CodeChatResponseContentImpl = exports.InformationalChatResponseContentImpl = exports.MarkdownChatResponseContentImpl = exports.ThinkingChatResponseContentImpl = exports.TextChatResponseContentImpl = exports.ErrorChatResponseContentImpl = exports.MutableChatRequestModel = exports.ChatContextManagerImpl = exports.ChangeSetImpl = exports.ChatRequestHierarchyBranchImpl = exports.ChatRequestHierarchyImpl = exports.MutableChatModel = exports.QuestionResponseContent = exports.ProgressChatResponseContent = exports.ThinkingChatResponseContent = exports.ErrorChatResponseContent = exports.ToolCallChatResponseContent = exports.HorizontalLayoutChatResponseContent = exports.CodeChatResponseContent = exports.CommandChatResponseContent = exports.InformationalChatResponseContent = exports.MarkdownChatResponseContent = exports.TextChatResponseContent = exports.Location = exports.ChatResponseContent = exports.EditableChatRequestModel = exports.ChatRequestModel = exports.ChatSuggestionCallback = exports.ChatChangeEvent = void 0;
24
+ const ai_core_1 = require("@theia/ai-core");
24
25
  const core_1 = require("@theia/core");
25
26
  const markdown_rendering_1 = require("@theia/core/lib/common/markdown-rendering");
26
27
  const vscode_languageserver_protocol_1 = require("@theia/core/shared/vscode-languageserver-protocol");
@@ -32,6 +33,21 @@ var ChatChangeEvent;
32
33
  }
33
34
  ChatChangeEvent.isChangeSetEvent = isChangeSetEvent;
34
35
  })(ChatChangeEvent || (exports.ChatChangeEvent = ChatChangeEvent = {}));
36
+ var ChatSuggestionCallback;
37
+ (function (ChatSuggestionCallback) {
38
+ function is(candidate) {
39
+ return typeof candidate === 'object' && 'callback' in candidate;
40
+ }
41
+ ChatSuggestionCallback.is = is;
42
+ function containsCallbackLink(candidate) {
43
+ if (!is(candidate)) {
44
+ return false;
45
+ }
46
+ const text = typeof candidate.content === 'string' ? candidate.content : candidate.content.value;
47
+ return text.includes('](_callback)');
48
+ }
49
+ ChatSuggestionCallback.containsCallbackLink = containsCallbackLink;
50
+ })(ChatSuggestionCallback || (exports.ChatSuggestionCallback = ChatSuggestionCallback = {}));
35
51
  var ChatRequestModel;
36
52
  (function (ChatRequestModel) {
37
53
  function is(request) {
@@ -56,6 +72,20 @@ var ChatRequestModel;
56
72
  }
57
73
  ChatRequestModel.isInProgress = isInProgress;
58
74
  })(ChatRequestModel || (exports.ChatRequestModel = ChatRequestModel = {}));
75
+ var EditableChatRequestModel;
76
+ (function (EditableChatRequestModel) {
77
+ function is(request) {
78
+ return !!(ChatRequestModel.is(request) &&
79
+ 'enableEdit' in request &&
80
+ 'cancelEdit' in request &&
81
+ 'submitEdit' in request);
82
+ }
83
+ EditableChatRequestModel.is = is;
84
+ function isEditing(request) {
85
+ return is(request) && request.isEditing;
86
+ }
87
+ EditableChatRequestModel.isEditing = isEditing;
88
+ })(EditableChatRequestModel || (exports.EditableChatRequestModel = EditableChatRequestModel = {}));
59
89
  var ChatResponseContent;
60
90
  (function (ChatResponseContent) {
61
91
  function is(obj) {
@@ -179,6 +209,16 @@ var ThinkingChatResponseContent;
179
209
  }
180
210
  ThinkingChatResponseContent.is = is;
181
211
  })(ThinkingChatResponseContent || (exports.ThinkingChatResponseContent = ThinkingChatResponseContent = {}));
212
+ var ProgressChatResponseContent;
213
+ (function (ProgressChatResponseContent) {
214
+ function is(obj) {
215
+ return (ChatResponseContent.is(obj) &&
216
+ obj.kind === 'progress' &&
217
+ 'message' in obj &&
218
+ typeof obj.message === 'string');
219
+ }
220
+ ProgressChatResponseContent.is = is;
221
+ })(ProgressChatResponseContent || (exports.ProgressChatResponseContent = ProgressChatResponseContent = {}));
182
222
  var QuestionResponseContent;
183
223
  (function (QuestionResponseContent) {
184
224
  function is(obj) {
@@ -207,17 +247,32 @@ class MutableChatModel {
207
247
  this.location = location;
208
248
  this._onDidChangeEmitter = new core_1.Emitter();
209
249
  this.onDidChange = this._onDidChangeEmitter.event;
250
+ this.toDispose = new core_1.DisposableCollection();
251
+ this._suggestions = [];
210
252
  this._contextManager = new ChatContextManagerImpl();
211
253
  // TODO accept serialized data as a parameter to restore a previously saved ChatModel
212
- this._requests = [];
254
+ this._hierarchy = new ChatRequestHierarchyImpl();
213
255
  this._id = (0, core_1.generateUuid)();
214
- this._contextManager.onDidChange(e => this._onDidChangeEmitter.fire(e));
256
+ this.toDispose.pushAll([
257
+ this._onDidChangeEmitter,
258
+ this._contextManager.onDidChange(e => this._onDidChangeEmitter.fire(e)),
259
+ this._hierarchy.onDidChange(event => this._onDidChangeEmitter.fire({
260
+ kind: 'changeHierarchyBranch',
261
+ branch: event.branch,
262
+ })),
263
+ ]);
264
+ }
265
+ getBranches() {
266
+ return this._hierarchy.activeBranches();
267
+ }
268
+ getBranch(requestId) {
269
+ return this._hierarchy.findBranch(requestId);
215
270
  }
216
271
  getRequests() {
217
- return this._requests;
272
+ return this._hierarchy.activeRequests();
218
273
  }
219
274
  getRequest(id) {
220
- return this._requests.find(request => request.id === id);
275
+ return this.getRequests().find(request => request.id === id);
221
276
  }
222
277
  get id() {
223
278
  return this._id;
@@ -225,6 +280,9 @@ class MutableChatModel {
225
280
  get changeSet() {
226
281
  return this._changeSet;
227
282
  }
283
+ get suggestions() {
284
+ return this._suggestions;
285
+ }
228
286
  get context() {
229
287
  return this._contextManager;
230
288
  }
@@ -265,23 +323,201 @@ class MutableChatModel {
265
323
  }
266
324
  }
267
325
  addRequest(parsedChatRequest, agentId, context = { variables: [] }) {
326
+ if (parsedChatRequest.request.referencedRequestId) {
327
+ return this.applyEdit(parsedChatRequest, agentId, context);
328
+ }
268
329
  const requestModel = new MutableChatRequestModel(this, parsedChatRequest, agentId, context);
269
- this._requests.push(requestModel);
330
+ this.toDispose.push(requestModel);
331
+ this._hierarchy.append(requestModel);
270
332
  this._onDidChangeEmitter.fire({
271
333
  kind: 'addRequest',
272
334
  request: requestModel,
273
335
  });
274
336
  return requestModel;
275
337
  }
338
+ setSuggestions(suggestions) {
339
+ this._suggestions = Object.freeze(suggestions);
340
+ this._onDidChangeEmitter.fire({
341
+ kind: 'suggestionsChanged',
342
+ suggestions
343
+ });
344
+ }
276
345
  isEmpty() {
277
- return this._requests.length === 0;
346
+ return this.getRequests().length === 0;
347
+ }
348
+ applyEdit(parsedChatRequest, agentId, context = { variables: [] }) {
349
+ const requestId = parsedChatRequest.request.referencedRequestId;
350
+ const branch = this._hierarchy.findBranch(requestId);
351
+ if (!branch) {
352
+ throw new Error(`Cannot find branch for requestId: ${requestId}`);
353
+ }
354
+ const requestModel = new MutableChatRequestModel(this, parsedChatRequest, agentId, context);
355
+ this.toDispose.push(requestModel);
356
+ branch.add(requestModel);
357
+ this.removeChangeSet();
358
+ this._onDidChangeEmitter.fire({
359
+ kind: 'addRequest',
360
+ request: requestModel,
361
+ });
362
+ return requestModel;
278
363
  }
279
364
  dispose() {
280
365
  this.removeChangeSet(); // Signal disposal of last change set.
281
- this._onDidChangeEmitter.dispose();
366
+ this.toDispose.dispose();
367
+ }
368
+ emit(event) {
369
+ this._onDidChangeEmitter.fire(event);
282
370
  }
283
371
  }
284
372
  exports.MutableChatModel = MutableChatModel;
373
+ class ChatRequestHierarchyImpl {
374
+ constructor() {
375
+ this.onDidChangeActiveBranchEmitter = new core_1.Emitter();
376
+ this.onDidChange = this.onDidChangeActiveBranchEmitter.event;
377
+ this.branch = new ChatRequestHierarchyBranchImpl(this);
378
+ }
379
+ append(request) {
380
+ const branches = this.activeBranches();
381
+ if (branches.length === 0) {
382
+ this.branch.add(request);
383
+ return this.branch;
384
+ }
385
+ return branches.at(-1).continue(request);
386
+ }
387
+ activeRequests() {
388
+ return this.activeBranches().map(h => h.get());
389
+ }
390
+ activeBranches() {
391
+ return Array.from(this.iterateBranches());
392
+ }
393
+ *iterateBranches() {
394
+ let current = this.branch;
395
+ while (current) {
396
+ if (current.items.length > 0) {
397
+ yield current;
398
+ current = current.next();
399
+ }
400
+ else {
401
+ break;
402
+ }
403
+ }
404
+ }
405
+ findRequest(requestId) {
406
+ var _a;
407
+ const branch = this.findInBranch(this.branch, requestId);
408
+ return (_a = branch === null || branch === void 0 ? void 0 : branch.items.find(item => item.element.id === requestId)) === null || _a === void 0 ? void 0 : _a.element;
409
+ }
410
+ findBranch(requestId) {
411
+ return this.findInBranch(this.branch, requestId);
412
+ }
413
+ findInBranch(branch, requestId) {
414
+ for (const item of branch.items) {
415
+ if (item.element.id === requestId) {
416
+ return branch;
417
+ }
418
+ }
419
+ for (const item of branch.items) {
420
+ if (item.next) {
421
+ const found = this.findInBranch(item.next, requestId);
422
+ if (found) {
423
+ return found;
424
+ }
425
+ }
426
+ }
427
+ return undefined;
428
+ }
429
+ notifyChange(event) {
430
+ this.onDidChangeActiveBranchEmitter.fire(event);
431
+ }
432
+ }
433
+ exports.ChatRequestHierarchyImpl = ChatRequestHierarchyImpl;
434
+ class ChatRequestHierarchyBranchImpl {
435
+ constructor(hierarchy, previous, items = [], _activeIndex = -1) {
436
+ this.hierarchy = hierarchy;
437
+ this.previous = previous;
438
+ this.items = items;
439
+ this._activeIndex = _activeIndex;
440
+ this.id = (0, core_1.generateUuid)();
441
+ }
442
+ get activeBranchIndex() {
443
+ return this._activeIndex;
444
+ }
445
+ set activeBranchIndex(value) {
446
+ this._activeIndex = value;
447
+ this.hierarchy.notifyChange({
448
+ branch: this,
449
+ item: this.items[this._activeIndex]
450
+ });
451
+ }
452
+ next() {
453
+ var _a;
454
+ return (_a = this.items[this.activeBranchIndex]) === null || _a === void 0 ? void 0 : _a.next;
455
+ }
456
+ get() {
457
+ return this.items[this.activeBranchIndex].element;
458
+ }
459
+ add(request) {
460
+ const branch = {
461
+ element: request
462
+ };
463
+ this.items.push(branch);
464
+ this.activeBranchIndex = this.items.length - 1;
465
+ }
466
+ remove(request) {
467
+ const requestId = typeof request === 'string' ? request : request.id;
468
+ const index = this.items.findIndex(version => version.element.id === requestId);
469
+ if (index !== -1) {
470
+ this.items.splice(index, 1);
471
+ if (this.activeBranchIndex >= index) {
472
+ this.activeBranchIndex--;
473
+ }
474
+ }
475
+ }
476
+ continue(request) {
477
+ if (this.items.length === 0) {
478
+ this.add(request);
479
+ return this;
480
+ }
481
+ const item = this.items[this.activeBranchIndex];
482
+ if (item) {
483
+ const next = new ChatRequestHierarchyBranchImpl(this.hierarchy, this, [{ element: request }], 0);
484
+ this.items[this.activeBranchIndex] = {
485
+ ...item,
486
+ next
487
+ };
488
+ return next;
489
+ }
490
+ throw new Error(`No current branch to continue from. Active Index: ${this.activeBranchIndex}`);
491
+ }
492
+ enable(request) {
493
+ this.activeBranchIndex = this.items.findIndex(pred => pred.element.id === request.id);
494
+ return this.items[this.activeBranchIndex];
495
+ }
496
+ enablePrevious() {
497
+ if (this.activeBranchIndex > 0) {
498
+ this.activeBranchIndex--;
499
+ return this.items[this.activeBranchIndex];
500
+ }
501
+ return this.items[0];
502
+ }
503
+ enableNext() {
504
+ if (this.activeBranchIndex < this.items.length - 1) {
505
+ this.activeBranchIndex++;
506
+ return this.items[this.activeBranchIndex];
507
+ }
508
+ return this.items[this.activeBranchIndex];
509
+ }
510
+ succeedingBranches() {
511
+ const branches = [];
512
+ let current = this;
513
+ while (current !== undefined) {
514
+ branches.push(current);
515
+ current = current.next();
516
+ }
517
+ return branches;
518
+ }
519
+ }
520
+ exports.ChatRequestHierarchyBranchImpl = ChatRequestHierarchyBranchImpl;
285
521
  class ChangeSetImpl {
286
522
  constructor(title, elements = []) {
287
523
  this.title = title;
@@ -333,13 +569,16 @@ class ChangeSetImpl {
333
569
  }
334
570
  exports.ChangeSetImpl = ChangeSetImpl;
335
571
  class ChatContextManagerImpl {
336
- constructor() {
337
- this.variables = new Array();
338
- this.onDidChangeEmitter = new core_1.Emitter();
339
- }
340
572
  get onDidChange() {
341
573
  return this.onDidChangeEmitter.event;
342
574
  }
575
+ constructor(context) {
576
+ this.variables = new Array();
577
+ this.onDidChangeEmitter = new core_1.Emitter();
578
+ if (context) {
579
+ this.variables.push(...context.variables.map(ai_core_1.AIVariableResolutionRequest.fromResolved));
580
+ }
581
+ }
343
582
  getVariables() {
344
583
  const result = this.variables.slice();
345
584
  Object.freeze(result);
@@ -367,6 +606,16 @@ class ChatContextManagerImpl {
367
606
  this.onDidChangeEmitter.fire({ kind: 'removeVariable' });
368
607
  }
369
608
  }
609
+ setVariables(variables) {
610
+ this.variables.length = 0;
611
+ variables.forEach(variable => {
612
+ if (this.variables.some(existing => existing.variable.id === variable.variable.id && existing.arg === variable.arg)) {
613
+ return;
614
+ }
615
+ this.variables.push(variable);
616
+ });
617
+ this.onDidChangeEmitter.fire({ kind: 'setVariables' });
618
+ }
370
619
  clear() {
371
620
  if (this.variables.length) {
372
621
  this.variables.length = 0;
@@ -378,6 +627,8 @@ exports.ChatContextManagerImpl = ChatContextManagerImpl;
378
627
  class MutableChatRequestModel {
379
628
  constructor(session, message, agentId, context = { variables: [] }, data = {}) {
380
629
  this.message = message;
630
+ this._isEditing = false;
631
+ this.toDispose = new core_1.DisposableCollection();
381
632
  // TODO accept serialized data as a parameter to restore a previously saved ChatRequestModel
382
633
  this._request = message.request;
383
634
  this._id = (0, core_1.generateUuid)();
@@ -386,6 +637,17 @@ class MutableChatRequestModel {
386
637
  this._context = context;
387
638
  this._agentId = agentId;
388
639
  this._data = data;
640
+ this.editContextManager = new ChatContextManagerImpl(context);
641
+ this.toDispose.pushAll([
642
+ this.editContextManager.onDidChange(e => this.session.emit(e))
643
+ ]);
644
+ }
645
+ get isEditing() {
646
+ return this._isEditing;
647
+ }
648
+ enableEdit() {
649
+ this._isEditing = true;
650
+ this.emitEditRequest(this);
389
651
  }
390
652
  get data() {
391
653
  return this._data;
@@ -414,9 +676,69 @@ class MutableChatRequestModel {
414
676
  get agentId() {
415
677
  return this._agentId;
416
678
  }
679
+ cancelEdit() {
680
+ if (this.isEditing) {
681
+ this._isEditing = false;
682
+ this.emitCancelEdit(this);
683
+ this.clearEditContext();
684
+ }
685
+ }
686
+ submitEdit(newRequest) {
687
+ var _a;
688
+ if (this.isEditing) {
689
+ this._isEditing = false;
690
+ const variables = (_a = this.editContextManager.getVariables()) !== null && _a !== void 0 ? _a : [];
691
+ this.emitSubmitEdit(this, {
692
+ ...newRequest,
693
+ referencedRequestId: this.id,
694
+ variables
695
+ });
696
+ this.clearEditContext();
697
+ }
698
+ }
417
699
  cancel() {
418
700
  this.response.cancel();
419
701
  }
702
+ dispose() {
703
+ this.toDispose.dispose();
704
+ }
705
+ clearEditContext() {
706
+ this.editContextManager.setVariables(this.context.variables.map(ai_core_1.AIVariableResolutionRequest.fromResolved));
707
+ }
708
+ emitEditRequest(request) {
709
+ const branch = this.session.getBranch(request.id);
710
+ if (!branch) {
711
+ throw new Error(`Cannot find hierarchy for requestId: ${request.id}`);
712
+ }
713
+ this.session.emit({
714
+ kind: 'enableEdit',
715
+ request,
716
+ branch,
717
+ });
718
+ }
719
+ emitCancelEdit(request) {
720
+ const branch = this.session.getBranch(request.id);
721
+ if (!branch) {
722
+ throw new Error(`Cannot find branch for requestId: ${request.id}`);
723
+ }
724
+ this.session.emit({
725
+ kind: 'cancelEdit',
726
+ request,
727
+ branch,
728
+ });
729
+ }
730
+ emitSubmitEdit(request, newRequest) {
731
+ const branch = this.session.getBranch(request.id);
732
+ if (!branch) {
733
+ throw new Error(`Cannot find branch for requestId: ${request.id}`);
734
+ }
735
+ this.session.emit({
736
+ kind: 'submitEdit',
737
+ request,
738
+ branch,
739
+ newRequest
740
+ });
741
+ }
420
742
  }
421
743
  exports.MutableChatRequestModel = MutableChatRequestModel;
422
744
  class ErrorChatResponseContentImpl {
@@ -714,6 +1036,11 @@ class ChatResponseImpl {
714
1036
  get content() {
715
1037
  return this._content;
716
1038
  }
1039
+ clearContent() {
1040
+ this._content = [];
1041
+ this._updateResponseRepresentation();
1042
+ this._onDidChangeEmitter.fire();
1043
+ }
717
1044
  addContents(contents) {
718
1045
  contents.forEach(c => this.doAddContent(c));
719
1046
  this._onDidChangeEmitter.fire();
@@ -904,4 +1231,34 @@ class ErrorChatResponseModel extends MutableChatResponseModel {
904
1231
  }
905
1232
  }
906
1233
  exports.ErrorChatResponseModel = ErrorChatResponseModel;
1234
+ class ProgressChatResponseContentImpl {
1235
+ constructor(message) {
1236
+ this.kind = 'progress';
1237
+ this._message = message;
1238
+ }
1239
+ get message() {
1240
+ return this._message;
1241
+ }
1242
+ asString() {
1243
+ return JSON.stringify({
1244
+ type: 'progress',
1245
+ message: this.message
1246
+ });
1247
+ }
1248
+ asDisplayString() {
1249
+ return `<Progress>${this.message}</Progress>`;
1250
+ }
1251
+ merge(nextChatResponseContent) {
1252
+ this._message = nextChatResponseContent.message;
1253
+ return true;
1254
+ }
1255
+ toLanguageModelMessage() {
1256
+ return {
1257
+ actor: 'ai',
1258
+ type: 'text',
1259
+ text: this.message
1260
+ };
1261
+ }
1262
+ }
1263
+ exports.ProgressChatResponseContentImpl = ProgressChatResponseContentImpl;
907
1264
  //# 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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"}
@@ -8,7 +8,7 @@ export declare const ChatRequestParser: unique symbol;
8
8
  export interface ChatRequestParser {
9
9
  parseChatRequest(request: ChatRequest, location: ChatAgentLocation, context: ChatContext): Promise<ParsedChatRequest>;
10
10
  }
11
- export declare class ChatRequestParserImpl {
11
+ export declare class ChatRequestParserImpl implements ChatRequestParser {
12
12
  private readonly agentService;
13
13
  private readonly variableService;
14
14
  private readonly toolInvocationRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-request-parser.d.ts","sourceRoot":"","sources":["../../src/common/chat-request-parser.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EASH,iBAAiB,EACjB,qBAAqB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAA2D,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7J,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzH;AAQD,qBACa,qBAAqB;IAEA,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHG,YAAY,EAAE,gBAAgB,EAC7B,eAAe,EAAE,iBAAiB,EAC7B,sBAAsB,EAAE,sBAAsB,EAC7D,MAAM,EAAE,OAAO;IAG/C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiC3H,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,GAAG;QACrE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KACtC;IAyED;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAetC,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;CAiB7B"}
1
+ {"version":3,"file":"chat-request-parser.d.ts","sourceRoot":"","sources":["../../src/common/chat-request-parser.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EASH,iBAAiB,EACjB,qBAAqB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAA2D,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7J,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,eAAO,MAAM,iBAAiB,eAA8B,CAAC;AAC7D,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzH;AAQD,qBACa,qBAAsB,YAAW,iBAAiB;IAE7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHG,YAAY,EAAE,gBAAgB,EAC7B,eAAe,EAAE,iBAAiB,EAC7B,sBAAsB,EAAE,sBAAsB,EAC7D,MAAM,EAAE,OAAO;IAG/C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiC3H,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,GAAG;QACrE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KACtC;IAyED;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAetC,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;CAiB7B"}