@theia/ai-chat 1.55.1 → 1.57.0-next.112

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 (88) hide show
  1. package/README.md +2 -1
  2. package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
  3. package/lib/browser/ai-chat-frontend-module.js +14 -4
  4. package/lib/browser/ai-chat-frontend-module.js.map +1 -1
  5. package/lib/browser/change-set-file-element.d.ts +44 -0
  6. package/lib/browser/change-set-file-element.d.ts.map +1 -0
  7. package/lib/browser/change-set-file-element.js +113 -0
  8. package/lib/browser/change-set-file-element.js.map +1 -0
  9. package/lib/browser/change-set-file-resource.d.ts +13 -0
  10. package/lib/browser/change-set-file-resource.d.ts.map +1 -0
  11. package/lib/browser/change-set-file-resource.js +73 -0
  12. package/lib/browser/change-set-file-resource.js.map +1 -0
  13. package/lib/browser/change-set-file-service.d.ts +26 -0
  14. package/lib/browser/change-set-file-service.d.ts.map +1 -0
  15. package/lib/browser/change-set-file-service.js +139 -0
  16. package/lib/browser/change-set-file-service.js.map +1 -0
  17. package/lib/common/chat-agents.d.ts +16 -9
  18. package/lib/common/chat-agents.d.ts.map +1 -1
  19. package/lib/common/chat-agents.js +51 -67
  20. package/lib/common/chat-agents.js.map +1 -1
  21. package/lib/common/chat-history-entry.d.ts +7 -0
  22. package/lib/common/chat-history-entry.d.ts.map +1 -0
  23. package/lib/common/chat-history-entry.js +42 -0
  24. package/lib/common/chat-history-entry.js.map +1 -0
  25. package/lib/common/chat-model-util.d.ts +7 -0
  26. package/lib/common/chat-model-util.d.ts.map +1 -0
  27. package/lib/common/chat-model-util.js +50 -0
  28. package/lib/common/chat-model-util.js.map +1 -0
  29. package/lib/common/chat-model.d.ts +176 -7
  30. package/lib/common/chat-model.d.ts.map +1 -1
  31. package/lib/common/chat-model.js +193 -9
  32. package/lib/common/chat-model.js.map +1 -1
  33. package/lib/common/chat-service.d.ts +6 -0
  34. package/lib/common/chat-service.d.ts.map +1 -1
  35. package/lib/common/chat-service.js +12 -0
  36. package/lib/common/chat-service.js.map +1 -1
  37. package/lib/common/chat-tool-request-service.d.ts +17 -0
  38. package/lib/common/chat-tool-request-service.d.ts.map +1 -0
  39. package/lib/common/chat-tool-request-service.js +52 -0
  40. package/lib/common/chat-tool-request-service.js.map +1 -0
  41. package/lib/common/command-chat-agents.d.ts.map +1 -1
  42. package/lib/common/command-chat-agents.js +4 -2
  43. package/lib/common/command-chat-agents.js.map +1 -1
  44. package/lib/common/index.d.ts +1 -0
  45. package/lib/common/index.d.ts.map +1 -1
  46. package/lib/common/index.js +1 -0
  47. package/lib/common/index.js.map +1 -1
  48. package/lib/common/orchestrator-chat-agent.d.ts.map +1 -1
  49. package/lib/common/orchestrator-chat-agent.js +16 -14
  50. package/lib/common/orchestrator-chat-agent.js.map +1 -1
  51. package/lib/common/parse-contents.d.ts +2 -2
  52. package/lib/common/parse-contents.d.ts.map +1 -1
  53. package/lib/common/parse-contents.js +4 -4
  54. package/lib/common/parse-contents.js.map +1 -1
  55. package/lib/common/parse-contents.spec.d.ts.map +1 -1
  56. package/lib/common/parse-contents.spec.js +14 -13
  57. package/lib/common/parse-contents.spec.js.map +1 -1
  58. package/lib/common/response-content-matcher.d.ts +3 -3
  59. package/lib/common/response-content-matcher.d.ts.map +1 -1
  60. package/lib/common/response-content-matcher.js +2 -2
  61. package/lib/common/response-content-matcher.js.map +1 -1
  62. package/lib/common/universal-chat-agent.d.ts +1 -0
  63. package/lib/common/universal-chat-agent.d.ts.map +1 -1
  64. package/lib/common/universal-chat-agent.js +10 -3
  65. package/lib/common/universal-chat-agent.js.map +1 -1
  66. package/package.json +10 -8
  67. package/src/browser/ai-chat-frontend-module.ts +17 -6
  68. package/src/browser/change-set-file-element.ts +137 -0
  69. package/src/browser/change-set-file-resource.ts +74 -0
  70. package/src/browser/change-set-file-service.ts +136 -0
  71. package/src/common/chat-agents.ts +56 -78
  72. package/src/common/chat-history-entry.ts +47 -0
  73. package/src/common/chat-model-util.ts +44 -0
  74. package/src/common/chat-model.ts +325 -14
  75. package/src/common/chat-service.ts +17 -0
  76. package/src/common/chat-tool-request-service.ts +59 -0
  77. package/src/common/command-chat-agents.ts +4 -2
  78. package/src/common/index.ts +1 -0
  79. package/src/common/orchestrator-chat-agent.ts +17 -14
  80. package/src/common/parse-contents.spec.ts +16 -14
  81. package/src/common/parse-contents.ts +5 -4
  82. package/src/common/response-content-matcher.ts +4 -3
  83. package/src/common/universal-chat-agent.ts +10 -2
  84. package/lib/common/o1-chat-agent.d.ts +0 -13
  85. package/lib/common/o1-chat-agent.d.ts.map +0 -1
  86. package/lib/common/o1-chat-agent.js +0 -45
  87. package/lib/common/o1-chat-agent.js.map +0 -1
  88. package/src/common/o1-chat-agent.ts +0 -51
@@ -1,12 +1,13 @@
1
- import { Command, Emitter, Event, URI } from '@theia/core';
1
+ import { CancellationToken, CancellationTokenSource, Command, Disposable, Emitter, Event, URI } from '@theia/core';
2
2
  import { MarkdownString, MarkdownStringImpl } from '@theia/core/lib/common/markdown-rendering';
3
3
  import { Position } from '@theia/core/shared/vscode-languageserver-protocol';
4
4
  import { ChatAgentLocation } from './chat-agents';
5
5
  import { ParsedChatRequest } from './parsed-chat-request';
6
+ import { ResolvedAIVariable } from '@theia/ai-core';
6
7
  /**********************
7
8
  * INTERFACES AND TYPE GUARDS
8
9
  **********************/
9
- export type ChatChangeEvent = ChatAddRequestEvent | ChatAddResponseEvent | ChatRemoveRequestEvent;
10
+ export type ChatChangeEvent = ChatAddRequestEvent | ChatAddResponseEvent | ChatRemoveRequestEvent | ChatSetChangeSetEvent | ChatSetChangeDeleteEvent | ChatUpdateChangeSetEvent | ChatRemoveChangeSetEvent;
10
11
  export interface ChatAddRequestEvent {
11
12
  kind: 'addRequest';
12
13
  request: ChatRequestModel;
@@ -15,6 +16,24 @@ export interface ChatAddResponseEvent {
15
16
  kind: 'addResponse';
16
17
  response: ChatResponseModel;
17
18
  }
19
+ export interface ChatSetChangeSetEvent {
20
+ kind: 'setChangeSet';
21
+ changeSet: ChangeSet;
22
+ }
23
+ export interface ChatSetChangeDeleteEvent {
24
+ kind: 'deleteChangeSet';
25
+ }
26
+ export interface ChatUpdateChangeSetEvent {
27
+ kind: 'updateChangeSet';
28
+ changeSet: ChangeSet;
29
+ }
30
+ export interface ChatRemoveChangeSetEvent {
31
+ kind: 'removeChangeSet';
32
+ changeSet: ChangeSet;
33
+ }
34
+ export declare namespace ChatChangeEvent {
35
+ function isChangeSetEvent(event: ChatChangeEvent): event is ChatSetChangeSetEvent | ChatUpdateChangeSetEvent | ChatRemoveChangeSetEvent;
36
+ }
18
37
  export type ChatRequestRemovalReason = 'removal' | 'resend' | 'adoption';
19
38
  export interface ChatRemoveRequestEvent {
20
39
  kind: 'removeRequest';
@@ -26,9 +45,29 @@ export interface ChatModel {
26
45
  readonly onDidChange: Event<ChatChangeEvent>;
27
46
  readonly id: string;
28
47
  readonly location: ChatAgentLocation;
48
+ readonly changeSet?: ChangeSet;
29
49
  getRequests(): ChatRequestModel[];
30
50
  isEmpty(): boolean;
31
51
  }
52
+ export interface ChangeSet {
53
+ readonly title: string;
54
+ getElements(): ChangeSetElement[];
55
+ }
56
+ export interface ChangeSetElement {
57
+ readonly uri: URI;
58
+ readonly name?: string;
59
+ readonly icon?: string;
60
+ readonly additionalInfo?: string;
61
+ readonly state?: 'pending' | 'applied' | 'discarded';
62
+ readonly type?: 'add' | 'modify' | 'delete';
63
+ readonly data?: {
64
+ [key: string]: unknown;
65
+ };
66
+ open?(): Promise<void>;
67
+ openChange?(): Promise<void>;
68
+ accept?(): Promise<void>;
69
+ discard?(): Promise<void>;
70
+ }
32
71
  export interface ChatRequest {
33
72
  readonly text: string;
34
73
  readonly displayText?: string;
@@ -44,10 +83,15 @@ export interface ChatRequestModel {
44
83
  [key: string]: unknown;
45
84
  };
46
85
  }
86
+ export declare namespace ChatRequestModel {
87
+ function is(request: unknown): request is ChatRequestModel;
88
+ function isInProgress(request: ChatRequestModel | undefined): boolean;
89
+ }
47
90
  export interface ChatProgressMessage {
48
91
  kind: 'progressMessage';
49
92
  id: string;
50
93
  status: 'inProgress' | 'completed' | 'failed';
94
+ show: 'untilFirstContent' | 'whileIncomplete' | 'forever';
51
95
  content: string;
52
96
  }
53
97
  export interface ChatResponseContent {
@@ -148,21 +192,86 @@ export declare namespace ToolCallChatResponseContent {
148
192
  export declare namespace ErrorChatResponseContent {
149
193
  function is(obj: unknown): obj is ErrorChatResponseContent;
150
194
  }
195
+ export type QuestionResponseHandler = (selectedOption: {
196
+ text: string;
197
+ value?: string;
198
+ }) => void;
199
+ export interface QuestionResponseContent extends ChatResponseContent {
200
+ kind: 'question';
201
+ question: string;
202
+ options: {
203
+ text: string;
204
+ value?: string;
205
+ }[];
206
+ selectedOption?: {
207
+ text: string;
208
+ value?: string;
209
+ };
210
+ handler: QuestionResponseHandler;
211
+ request: ChatRequestModelImpl;
212
+ }
213
+ export declare namespace QuestionResponseContent {
214
+ function is(obj: unknown): obj is QuestionResponseContent;
215
+ }
151
216
  export interface ChatResponse {
152
217
  readonly content: ChatResponseContent[];
153
218
  asString(): string;
154
219
  }
220
+ /**
221
+ * The ChatResponseModel wraps the actual ChatResponse with additional information like the current state, progress messages, a unique id etc.
222
+ */
155
223
  export interface ChatResponseModel {
224
+ /**
225
+ * Use this to be notified for any change in the response model
226
+ */
156
227
  readonly onDidChange: Event<void>;
228
+ /**
229
+ * The unique identifier of the response model
230
+ */
157
231
  readonly id: string;
232
+ /**
233
+ * The unique identifier of the request model this response is associated with
234
+ */
158
235
  readonly requestId: string;
236
+ /**
237
+ * In case there are progress messages, then they will be stored here
238
+ */
159
239
  readonly progressMessages: ChatProgressMessage[];
240
+ /**
241
+ * The actual response content
242
+ */
160
243
  readonly response: ChatResponse;
244
+ /**
245
+ * Indicates whether this response is complete. No further changes are expected if 'true'.
246
+ */
161
247
  readonly isComplete: boolean;
248
+ /**
249
+ * Indicates whether this response is canceled. No further changes are expected if 'true'.
250
+ */
162
251
  readonly isCanceled: boolean;
252
+ /**
253
+ * Some agents might need to wait for user input to continue. This flag indicates that.
254
+ */
255
+ readonly isWaitingForInput: boolean;
256
+ /**
257
+ * Indicates whether an error occurred when processing the response. No further changes are expected if 'true'.
258
+ */
163
259
  readonly isError: boolean;
260
+ /**
261
+ * The agent who produced the response content, if there is one.
262
+ */
164
263
  readonly agentId?: string;
264
+ /**
265
+ * An optional error object that caused the response to be in an error state.
266
+ */
165
267
  readonly errorObject?: Error;
268
+ /**
269
+ * Some functionality might want to store some data associated with the response.
270
+ * This can be used to store and retrieve such data.
271
+ */
272
+ readonly data: {
273
+ [key: string]: unknown;
274
+ };
166
275
  }
167
276
  /**********************
168
277
  * Implementations
@@ -173,23 +282,44 @@ export declare class ChatModelImpl implements ChatModel {
173
282
  onDidChange: Event<ChatChangeEvent>;
174
283
  protected _requests: ChatRequestModelImpl[];
175
284
  protected _id: string;
285
+ protected _changeSetListener?: Disposable;
286
+ protected _changeSet?: ChangeSetImpl;
176
287
  constructor(location?: ChatAgentLocation);
177
288
  getRequests(): ChatRequestModelImpl[];
289
+ getRequest(id: string): ChatRequestModelImpl | undefined;
178
290
  get id(): string;
179
- addRequest(parsedChatRequest: ParsedChatRequest, agentId?: string): ChatRequestModelImpl;
291
+ get changeSet(): ChangeSetImpl | undefined;
292
+ setChangeSet(changeSet: ChangeSetImpl | undefined): void;
293
+ removeChangeSet(): void;
294
+ addRequest(parsedChatRequest: ParsedChatRequest, agentId?: string, context?: ResolvedAIVariable[]): ChatRequestModelImpl;
180
295
  isEmpty(): boolean;
181
296
  }
297
+ export declare class ChangeSetImpl implements ChangeSet {
298
+ readonly title: string;
299
+ protected readonly _onDidChangeEmitter: Emitter<void>;
300
+ onDidChange: Event<void>;
301
+ protected _elements: ChangeSetElement[];
302
+ constructor(title: string, elements?: ChangeSetElement[]);
303
+ getElements(): ChangeSetElement[];
304
+ addElement(element: ChangeSetElement): void;
305
+ addElements(elements: ChangeSetElement[]): void;
306
+ replaceElement(element: ChangeSetElement): boolean;
307
+ addOrReplaceElement(element: ChangeSetElement): void;
308
+ removeElement(index: number): void;
309
+ notifyChange(): void;
310
+ }
182
311
  export declare class ChatRequestModelImpl implements ChatRequestModel {
183
312
  readonly message: ParsedChatRequest;
184
313
  protected readonly _id: string;
185
- protected _session: ChatModel;
314
+ protected _session: ChatModelImpl;
186
315
  protected _request: ChatRequest;
187
316
  protected _response: ChatResponseModelImpl;
317
+ protected _context: ResolvedAIVariable[];
188
318
  protected _agentId?: string;
189
319
  protected _data: {
190
320
  [key: string]: unknown;
191
321
  };
192
- constructor(session: ChatModel, message: ParsedChatRequest, agentId?: string, data?: {
322
+ constructor(session: ChatModelImpl, message: ParsedChatRequest, agentId?: string, context?: ResolvedAIVariable[], data?: {
193
323
  [key: string]: unknown;
194
324
  });
195
325
  get data(): {
@@ -198,10 +328,11 @@ export declare class ChatRequestModelImpl implements ChatRequestModel {
198
328
  addData(key: string, value: unknown): void;
199
329
  getDataByKey(key: string): unknown;
200
330
  get id(): string;
201
- get session(): ChatModel;
331
+ get session(): ChatModelImpl;
202
332
  get request(): ChatRequest;
203
333
  get response(): ChatResponseModelImpl;
204
334
  get agentId(): string | undefined;
335
+ cancel(): void;
205
336
  }
206
337
  export declare class ErrorChatResponseContentImpl implements ErrorChatResponseContent {
207
338
  readonly kind = "error";
@@ -280,6 +411,37 @@ export declare class HorizontalLayoutChatResponseContentImpl implements Horizont
280
411
  asString(): string;
281
412
  merge(nextChatResponseContent: ChatResponseContent): boolean;
282
413
  }
414
+ /**
415
+ * Default implementation for the QuestionResponseContent.
416
+ */
417
+ export declare class QuestionResponseContentImpl implements QuestionResponseContent {
418
+ question: string;
419
+ options: {
420
+ text: string;
421
+ value?: string;
422
+ }[];
423
+ request: ChatRequestModelImpl;
424
+ handler: QuestionResponseHandler;
425
+ readonly kind = "question";
426
+ protected _selectedOption: {
427
+ text: string;
428
+ value?: string;
429
+ } | undefined;
430
+ constructor(question: string, options: {
431
+ text: string;
432
+ value?: string;
433
+ }[], request: ChatRequestModelImpl, handler: QuestionResponseHandler);
434
+ set selectedOption(option: {
435
+ text: string;
436
+ value?: string;
437
+ } | undefined);
438
+ get selectedOption(): {
439
+ text: string;
440
+ value?: string;
441
+ } | undefined;
442
+ asString?(): string | undefined;
443
+ merge?(): boolean;
444
+ }
283
445
  declare class ChatResponseImpl implements ChatResponse {
284
446
  protected readonly _onDidChangeEmitter: Emitter<void>;
285
447
  onDidChange: Event<void>;
@@ -290,21 +452,24 @@ declare class ChatResponseImpl implements ChatResponse {
290
452
  addContents(contents: ChatResponseContent[]): void;
291
453
  addContent(nextContent: ChatResponseContent): void;
292
454
  protected doAddContent(nextContent: ChatResponseContent): void;
455
+ responseContentChanged(): void;
293
456
  protected _updateResponseRepresentation(): void;
294
457
  asString(): string;
295
458
  }
296
459
  declare class ChatResponseModelImpl implements ChatResponseModel {
297
460
  protected readonly _onDidChangeEmitter: Emitter<void>;
298
461
  onDidChange: Event<void>;
462
+ data: {};
299
463
  protected _id: string;
300
464
  protected _requestId: string;
301
465
  protected _progressMessages: ChatProgressMessage[];
302
466
  protected _response: ChatResponseImpl;
303
467
  protected _isComplete: boolean;
304
- protected _isCanceled: boolean;
468
+ protected _isWaitingForInput: boolean;
305
469
  protected _agentId?: string;
306
470
  protected _isError: boolean;
307
471
  protected _errorObject: Error | undefined;
472
+ protected _cancellationToken: CancellationTokenSource;
308
473
  constructor(requestId: string, agentId?: string);
309
474
  get id(): string;
310
475
  get requestId(): string;
@@ -319,10 +484,14 @@ declare class ChatResponseModelImpl implements ChatResponseModel {
319
484
  get response(): ChatResponseImpl;
320
485
  get isComplete(): boolean;
321
486
  get isCanceled(): boolean;
487
+ get isWaitingForInput(): boolean;
322
488
  get agentId(): string | undefined;
323
489
  overrideAgentId(agentId: string): void;
324
490
  complete(): void;
325
491
  cancel(): void;
492
+ get cancellationToken(): CancellationToken;
493
+ waitForInput(): void;
494
+ stopWaitingForInput(): void;
326
495
  error(error: Error): void;
327
496
  get errorObject(): Error | undefined;
328
497
  get isError(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../src/common/chat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../src/common/chat-model.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,42 @@
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.HorizontalLayoutChatResponseContentImpl = exports.CommandChatResponseContentImpl = exports.COMMAND_CHAT_RESPONSE_COMMAND = exports.ToolCallChatResponseContentImpl = exports.CodeChatResponseContentImpl = exports.InformationalChatResponseContentImpl = exports.MarkdownChatResponseContentImpl = exports.TextChatResponseContentImpl = exports.ErrorChatResponseContentImpl = exports.ChatRequestModelImpl = exports.ChatModelImpl = exports.ErrorChatResponseContent = exports.ToolCallChatResponseContent = exports.HorizontalLayoutChatResponseContent = exports.CodeChatResponseContent = exports.CommandChatResponseContent = exports.InformationalChatResponseContent = exports.MarkdownChatResponseContent = exports.TextChatResponseContent = exports.Location = exports.ChatResponseContent = void 0;
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;
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");
27
27
  const chat_agents_1 = require("./chat-agents");
28
+ var ChatChangeEvent;
29
+ (function (ChatChangeEvent) {
30
+ function isChangeSetEvent(event) {
31
+ return event.kind === 'setChangeSet' || event.kind === 'deleteChangeSet' || event.kind === 'removeChangeSet' || event.kind === 'updateChangeSet';
32
+ }
33
+ ChatChangeEvent.isChangeSetEvent = isChangeSetEvent;
34
+ })(ChatChangeEvent || (exports.ChatChangeEvent = ChatChangeEvent = {}));
35
+ var ChatRequestModel;
36
+ (function (ChatRequestModel) {
37
+ function is(request) {
38
+ return !!(request &&
39
+ typeof request === 'object' &&
40
+ 'id' in request &&
41
+ typeof request.id === 'string' &&
42
+ 'session' in request &&
43
+ 'request' in request &&
44
+ 'response' in request &&
45
+ 'message' in request);
46
+ }
47
+ ChatRequestModel.is = is;
48
+ function isInProgress(request) {
49
+ if (!request) {
50
+ return false;
51
+ }
52
+ const response = request.response;
53
+ return !(response.isComplete ||
54
+ response.isCanceled ||
55
+ response.isError);
56
+ }
57
+ ChatRequestModel.isInProgress = isInProgress;
58
+ })(ChatRequestModel || (exports.ChatRequestModel = ChatRequestModel = {}));
28
59
  var ChatResponseContent;
29
60
  (function (ChatResponseContent) {
30
61
  function is(obj) {
@@ -130,6 +161,26 @@ var ErrorChatResponseContent;
130
161
  }
131
162
  ErrorChatResponseContent.is = is;
132
163
  })(ErrorChatResponseContent || (exports.ErrorChatResponseContent = ErrorChatResponseContent = {}));
164
+ var QuestionResponseContent;
165
+ (function (QuestionResponseContent) {
166
+ function is(obj) {
167
+ return (ChatResponseContent.is(obj) &&
168
+ obj.kind === 'question' &&
169
+ 'question' in obj &&
170
+ typeof obj.question === 'string' &&
171
+ 'options' in obj &&
172
+ Array.isArray(obj.options) &&
173
+ obj.options.every(option => typeof option === 'object' &&
174
+ option && 'text' in option &&
175
+ typeof option.text === 'string' &&
176
+ ('value' in option ? typeof option.value === 'string' || typeof option.value === 'undefined' : true)) &&
177
+ 'handler' in obj &&
178
+ typeof obj.handler === 'function' &&
179
+ 'request' in obj &&
180
+ obj.request instanceof ChatRequestModelImpl);
181
+ }
182
+ QuestionResponseContent.is = is;
183
+ })(QuestionResponseContent || (exports.QuestionResponseContent = QuestionResponseContent = {}));
133
184
  /**********************
134
185
  * Implementations
135
186
  **********************/
@@ -145,11 +196,48 @@ class ChatModelImpl {
145
196
  getRequests() {
146
197
  return this._requests;
147
198
  }
199
+ getRequest(id) {
200
+ return this._requests.find(request => request.id === id);
201
+ }
148
202
  get id() {
149
203
  return this._id;
150
204
  }
151
- addRequest(parsedChatRequest, agentId) {
152
- const requestModel = new ChatRequestModelImpl(this, parsedChatRequest, agentId);
205
+ get changeSet() {
206
+ return this._changeSet;
207
+ }
208
+ 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;
217
+ }
218
+ this._onDidChangeEmitter.fire({
219
+ kind: 'setChangeSet',
220
+ changeSet: this._changeSet,
221
+ });
222
+ this._changeSetListener = this._changeSet.onDidChange(() => {
223
+ this._onDidChangeEmitter.fire({
224
+ kind: 'updateChangeSet',
225
+ changeSet: this._changeSet,
226
+ });
227
+ });
228
+ }
229
+ removeChangeSet() {
230
+ if (this._changeSet) {
231
+ const oldChangeSet = this._changeSet;
232
+ this._changeSet = undefined;
233
+ this._onDidChangeEmitter.fire({
234
+ kind: 'removeChangeSet',
235
+ changeSet: oldChangeSet,
236
+ });
237
+ }
238
+ }
239
+ addRequest(parsedChatRequest, agentId, context = []) {
240
+ const requestModel = new ChatRequestModelImpl(this, parsedChatRequest, agentId, context);
153
241
  this._requests.push(requestModel);
154
242
  this._onDidChangeEmitter.fire({
155
243
  kind: 'addRequest',
@@ -162,14 +250,56 @@ class ChatModelImpl {
162
250
  }
163
251
  }
164
252
  exports.ChatModelImpl = ChatModelImpl;
253
+ class ChangeSetImpl {
254
+ constructor(title, elements = []) {
255
+ this.title = title;
256
+ this._onDidChangeEmitter = new core_1.Emitter();
257
+ this.onDidChange = this._onDidChangeEmitter.event;
258
+ this._elements = [];
259
+ this.addElements(elements);
260
+ }
261
+ getElements() {
262
+ return this._elements;
263
+ }
264
+ addElement(element) {
265
+ this.addElements([element]);
266
+ }
267
+ addElements(elements) {
268
+ this._elements.push(...elements);
269
+ this.notifyChange();
270
+ }
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;
279
+ }
280
+ addOrReplaceElement(element) {
281
+ if (!this.replaceElement(element)) {
282
+ this.addElement(element);
283
+ }
284
+ }
285
+ removeElement(index) {
286
+ this._elements.splice(index, 1);
287
+ this.notifyChange();
288
+ }
289
+ notifyChange() {
290
+ this._onDidChangeEmitter.fire();
291
+ }
292
+ }
293
+ exports.ChangeSetImpl = ChangeSetImpl;
165
294
  class ChatRequestModelImpl {
166
- constructor(session, message, agentId, data = {}) {
295
+ constructor(session, message, agentId, context = [], data = {}) {
167
296
  this.message = message;
168
297
  // TODO accept serialized data as a parameter to restore a previously saved ChatRequestModel
169
298
  this._request = message.request;
170
299
  this._id = (0, core_1.generateUuid)();
171
300
  this._session = session;
172
301
  this._response = new ChatResponseModelImpl(this._id, agentId);
302
+ this._context = context.concat(message.parts.filter(part => part.kind === 'var').map(part => part.resolution));
173
303
  this._agentId = agentId;
174
304
  this._data = data;
175
305
  }
@@ -197,6 +327,9 @@ class ChatRequestModelImpl {
197
327
  get agentId() {
198
328
  return this._agentId;
199
329
  }
330
+ cancel() {
331
+ this.response.cancel();
332
+ }
200
333
  }
201
334
  exports.ChatRequestModelImpl = ChatRequestModelImpl;
202
335
  class ErrorChatResponseContentImpl {
@@ -377,6 +510,34 @@ class HorizontalLayoutChatResponseContentImpl {
377
510
  }
378
511
  }
379
512
  exports.HorizontalLayoutChatResponseContentImpl = HorizontalLayoutChatResponseContentImpl;
513
+ /**
514
+ * Default implementation for the QuestionResponseContent.
515
+ */
516
+ class QuestionResponseContentImpl {
517
+ constructor(question, options, request, handler) {
518
+ this.question = question;
519
+ this.options = options;
520
+ this.request = request;
521
+ this.handler = handler;
522
+ this.kind = 'question';
523
+ }
524
+ set selectedOption(option) {
525
+ this._selectedOption = option;
526
+ this.request.response.response.responseContentChanged();
527
+ }
528
+ get selectedOption() {
529
+ return this._selectedOption;
530
+ }
531
+ asString() {
532
+ var _a;
533
+ return `Question: ${this.question}
534
+ ${this.selectedOption ? `Answer: ${(_a = this.selectedOption) === null || _a === void 0 ? void 0 : _a.text}` : 'No answer'}`;
535
+ }
536
+ merge() {
537
+ return false;
538
+ }
539
+ }
540
+ exports.QuestionResponseContentImpl = QuestionResponseContentImpl;
380
541
  class ChatResponseImpl {
381
542
  constructor() {
382
543
  this._onDidChangeEmitter = new core_1.Emitter();
@@ -425,6 +586,10 @@ class ChatResponseImpl {
425
586
  }
426
587
  this._updateResponseRepresentation();
427
588
  }
589
+ responseContentChanged() {
590
+ this._updateResponseRepresentation();
591
+ this._onDidChangeEmitter.fire();
592
+ }
428
593
  _updateResponseRepresentation() {
429
594
  this._responseRepresentation = this._content
430
595
  .map(responseContent => {
@@ -448,6 +613,7 @@ class ChatResponseModelImpl {
448
613
  constructor(requestId, agentId) {
449
614
  this._onDidChangeEmitter = new core_1.Emitter();
450
615
  this.onDidChange = this._onDidChangeEmitter.event;
616
+ this.data = {};
451
617
  // TODO accept serialized data as a parameter to restore a previously saved ChatResponseModel
452
618
  this._requestId = requestId;
453
619
  this._id = (0, core_1.generateUuid)();
@@ -456,8 +622,9 @@ class ChatResponseModelImpl {
456
622
  response.onDidChange(() => this._onDidChangeEmitter.fire());
457
623
  this._response = response;
458
624
  this._isComplete = false;
459
- this._isCanceled = false;
625
+ this._isWaitingForInput = false;
460
626
  this._agentId = agentId;
627
+ this._cancellationToken = new core_1.CancellationTokenSource();
461
628
  }
462
629
  get id() {
463
630
  return this._id;
@@ -469,7 +636,7 @@ class ChatResponseModelImpl {
469
636
  return this._progressMessages;
470
637
  }
471
638
  addProgressMessage(message) {
472
- var _a, _b;
639
+ var _a, _b, _c;
473
640
  const id = (_a = message.id) !== null && _a !== void 0 ? _a : (0, core_1.generateUuid)();
474
641
  const existingMessage = this.getProgressMessage(id);
475
642
  if (existingMessage) {
@@ -480,6 +647,7 @@ class ChatResponseModelImpl {
480
647
  kind: 'progressMessage',
481
648
  id,
482
649
  status: (_b = message.status) !== null && _b !== void 0 ? _b : 'inProgress',
650
+ show: (_c = message.show) !== null && _c !== void 0 ? _c : 'untilFirstContent',
483
651
  ...message,
484
652
  };
485
653
  this._progressMessages.push(newMessage);
@@ -503,7 +671,10 @@ class ChatResponseModelImpl {
503
671
  return this._isComplete;
504
672
  }
505
673
  get isCanceled() {
506
- return this._isCanceled;
674
+ return this._cancellationToken.token.isCancellationRequested;
675
+ }
676
+ get isWaitingForInput() {
677
+ return this._isWaitingForInput;
507
678
  }
508
679
  get agentId() {
509
680
  return this._agentId;
@@ -513,16 +684,29 @@ class ChatResponseModelImpl {
513
684
  }
514
685
  complete() {
515
686
  this._isComplete = true;
687
+ this._isWaitingForInput = false;
516
688
  this._onDidChangeEmitter.fire();
517
689
  }
518
690
  cancel() {
691
+ this._cancellationToken.cancel();
519
692
  this._isComplete = true;
520
- this._isCanceled = true;
693
+ this._isWaitingForInput = false;
694
+ this._onDidChangeEmitter.fire();
695
+ }
696
+ get cancellationToken() {
697
+ return this._cancellationToken.token;
698
+ }
699
+ waitForInput() {
700
+ this._isWaitingForInput = true;
701
+ this._onDidChangeEmitter.fire();
702
+ }
703
+ stopWaitingForInput() {
704
+ this._isWaitingForInput = false;
521
705
  this._onDidChangeEmitter.fire();
522
706
  }
523
707
  error(error) {
524
708
  this._isComplete = true;
525
- this._isCanceled = false;
709
+ this._isWaitingForInput = false;
526
710
  this._isError = true;
527
711
  this._errorObject = error;
528
712
  this._onDidChangeEmitter.fire();