@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
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.FileChatVariableContribution = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const ai_core_1 = require("@theia/ai-core");
21
+ const file_variable_contribution_1 = require("@theia/ai-core/lib/browser/file-variable-contribution");
22
+ const core_1 = require("@theia/core");
23
+ const inversify_1 = require("@theia/core/shared/inversify");
24
+ const monaco = require("@theia/monaco-editor-core");
25
+ const quick_file_select_service_1 = require("@theia/file-search/lib/browser/quick-file-select-service");
26
+ const browser_1 = require("@theia/workspace/lib/browser");
27
+ const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
28
+ let FileChatVariableContribution = class FileChatVariableContribution {
29
+ registerVariables(service) {
30
+ service.registerArgumentPicker(file_variable_contribution_1.FILE_VARIABLE, this.triggerArgumentPicker.bind(this));
31
+ service.registerArgumentCompletionProvider(file_variable_contribution_1.FILE_VARIABLE, this.provideArgumentCompletionItems.bind(this));
32
+ service.registerDropHandler(this.handleDrop.bind(this));
33
+ }
34
+ async triggerArgumentPicker() {
35
+ const quickPick = this.quickInputService.createQuickPick();
36
+ quickPick.items = await this.quickFileSelectService.getPicks();
37
+ const updateItems = async (value) => {
38
+ quickPick.items = await this.quickFileSelectService.getPicks(value, core_1.CancellationToken.None);
39
+ };
40
+ const onChangeListener = quickPick.onDidChangeValue(updateItems);
41
+ quickPick.show();
42
+ return new Promise(resolve => {
43
+ quickPick.onDispose(onChangeListener.dispose);
44
+ quickPick.onDidAccept(async () => {
45
+ const selectedItem = quickPick.selectedItems[0];
46
+ if (selectedItem && quick_file_select_service_1.FileQuickPickItem.is(selectedItem)) {
47
+ quickPick.dispose();
48
+ resolve(await this.wsService.getWorkspaceRelativePath(selectedItem.uri));
49
+ }
50
+ });
51
+ });
52
+ }
53
+ async provideArgumentCompletionItems(model, position) {
54
+ const lineContent = model.getLineContent(position.lineNumber);
55
+ const indexOfVariableTrigger = lineContent.lastIndexOf(ai_core_1.PromptText.VARIABLE_CHAR, position.column - 1);
56
+ // check if there is a variable trigger and no space typed between the variable trigger and the cursor
57
+ if (indexOfVariableTrigger === -1 || lineContent.substring(indexOfVariableTrigger).includes(' ')) {
58
+ return undefined;
59
+ }
60
+ // determine whether we are providing completions before or after the variable argument separator
61
+ const indexOfVariableArgSeparator = lineContent.lastIndexOf(ai_core_1.PromptText.VARIABLE_SEPARATOR_CHAR, position.column - 1);
62
+ const triggerCharIndex = Math.max(indexOfVariableTrigger, indexOfVariableArgSeparator);
63
+ const typedWord = lineContent.substring(triggerCharIndex + 1, position.column - 1);
64
+ const range = new monaco.Range(position.lineNumber, triggerCharIndex + 2, position.lineNumber, position.column);
65
+ const picks = await this.quickFileSelectService.getPicks(typedWord, core_1.CancellationToken.None);
66
+ const prefix = lineContent[triggerCharIndex] === ai_core_1.PromptText.VARIABLE_CHAR ? file_variable_contribution_1.FILE_VARIABLE.name + ai_core_1.PromptText.VARIABLE_SEPARATOR_CHAR : '';
67
+ return Promise.all(picks
68
+ .filter(quick_file_select_service_1.FileQuickPickItem.is)
69
+ // only show files with highlights, if the user started typing to filter down the results
70
+ .filter(p => { var _a; return !typedWord || ((_a = p.highlights) === null || _a === void 0 ? void 0 : _a.label); })
71
+ .map(async (pick, index) => ({
72
+ label: pick.label,
73
+ kind: monaco.languages.CompletionItemKind.File,
74
+ range,
75
+ insertText: `${prefix}${await this.wsService.getWorkspaceRelativePath(pick.uri)}`,
76
+ detail: await this.wsService.getWorkspaceRelativePath(pick.uri.parent),
77
+ // don't let monaco filter the items, as we only return picks that are filtered
78
+ filterText: typedWord,
79
+ // keep the order of the items, but move them to the end of the list
80
+ sortText: `ZZ${index.toString().padStart(4, '0')}_${pick.label}`,
81
+ })));
82
+ }
83
+ async handleDrop(event, _) {
84
+ var _a;
85
+ const data = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('selected-tree-nodes');
86
+ if (!data) {
87
+ return undefined;
88
+ }
89
+ try {
90
+ const nodes = JSON.parse(data);
91
+ const variables = [];
92
+ const texts = [];
93
+ for (const node of nodes) {
94
+ const [, filePath] = node.split(':');
95
+ if (!filePath) {
96
+ continue;
97
+ }
98
+ const uri = core_1.URI.fromFilePath(filePath);
99
+ if (await this.fileService.exists(uri)) {
100
+ const wsRelativePath = await this.wsService.getWorkspaceRelativePath(uri);
101
+ variables.push({
102
+ variable: file_variable_contribution_1.FILE_VARIABLE,
103
+ arg: wsRelativePath
104
+ });
105
+ texts.push(`${ai_core_1.PromptText.VARIABLE_CHAR}${file_variable_contribution_1.FILE_VARIABLE.name}${ai_core_1.PromptText.VARIABLE_SEPARATOR_CHAR}${wsRelativePath}`);
106
+ }
107
+ }
108
+ return { variables, text: texts.length ? texts.join(' ') : undefined };
109
+ }
110
+ catch {
111
+ return undefined;
112
+ }
113
+ }
114
+ };
115
+ exports.FileChatVariableContribution = FileChatVariableContribution;
116
+ tslib_1.__decorate([
117
+ (0, inversify_1.inject)(file_service_1.FileService),
118
+ tslib_1.__metadata("design:type", file_service_1.FileService)
119
+ ], FileChatVariableContribution.prototype, "fileService", void 0);
120
+ tslib_1.__decorate([
121
+ (0, inversify_1.inject)(browser_1.WorkspaceService),
122
+ tslib_1.__metadata("design:type", browser_1.WorkspaceService)
123
+ ], FileChatVariableContribution.prototype, "wsService", void 0);
124
+ tslib_1.__decorate([
125
+ (0, inversify_1.inject)(core_1.QuickInputService),
126
+ tslib_1.__metadata("design:type", Object)
127
+ ], FileChatVariableContribution.prototype, "quickInputService", void 0);
128
+ tslib_1.__decorate([
129
+ (0, inversify_1.inject)(quick_file_select_service_1.QuickFileSelectService),
130
+ tslib_1.__metadata("design:type", quick_file_select_service_1.QuickFileSelectService)
131
+ ], FileChatVariableContribution.prototype, "quickFileSelectService", void 0);
132
+ exports.FileChatVariableContribution = FileChatVariableContribution = tslib_1.__decorate([
133
+ (0, inversify_1.injectable)()
134
+ ], FileChatVariableContribution);
135
+ //# sourceMappingURL=file-chat-variable-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-chat-variable-contribution.js","sourceRoot":"","sources":["../../src/browser/file-chat-variable-contribution.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,15 @@
1
- import { ChatAgent, ChatServiceImpl, ParsedChatRequest } from '../common';
1
+ import { ChatAgent, ChatAgentLocation, ChatServiceImpl, ChatSession, ParsedChatRequest, SessionOptions } from '../common';
2
2
  import { PreferenceService } from '@theia/core/lib/browser';
3
+ import { ChangeSetFileService } from './change-set-file-service';
4
+ /**
5
+ * Customizes the ChatServiceImpl to consider preference based default chat agent
6
+ */
3
7
  export declare class FrontendChatServiceImpl extends ChatServiceImpl {
4
- protected preferenceService: PreferenceService;
5
- protected getAgent(parsedRequest: ParsedChatRequest): ChatAgent | undefined;
8
+ protected readonly preferenceService: PreferenceService;
9
+ protected readonly changeSetFileService: ChangeSetFileService;
10
+ protected getAgent(parsedRequest: ParsedChatRequest, session: ChatSession): ChatAgent | undefined;
11
+ protected initialAgentSelection(parsedRequest: ParsedChatRequest): ChatAgent | undefined;
6
12
  protected getConfiguredDefaultChatAgent(): ChatAgent | undefined;
13
+ createSession(location?: ChatAgentLocation, options?: SessionOptions): ChatSession;
7
14
  }
8
15
  //# sourceMappingURL=frontend-chat-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-chat-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-chat-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,qBACa,uBAAwB,SAAQ,eAAe;IAGxD,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;cAE5B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS;IA8BpF,SAAS,CAAC,6BAA6B,IAAI,SAAS,GAAG,SAAS;CAQnE"}
1
+ {"version":3,"file":"frontend-chat-service.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-chat-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAa,SAAS,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrI,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,qBACa,uBAAwB,SAAQ,eAAe;IAGxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;cAE3C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS;cAavF,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS;IAWjG,SAAS,CAAC,6BAA6B,IAAI,SAAS,GAAG,SAAS;IASvD,aAAa,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW;CAY9F"}
@@ -21,31 +21,34 @@ const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const common_1 = require("../common");
22
22
  const browser_1 = require("@theia/core/lib/browser");
23
23
  const ai_chat_preferences_1 = require("./ai-chat-preferences");
24
+ const change_set_file_service_1 = require("./change-set-file-service");
25
+ /**
26
+ * Customizes the ChatServiceImpl to consider preference based default chat agent
27
+ */
24
28
  let FrontendChatServiceImpl = class FrontendChatServiceImpl extends common_1.ChatServiceImpl {
25
- getAgent(parsedRequest) {
29
+ getAgent(parsedRequest, session) {
26
30
  var _a;
27
- const agentPart = this.getMentionedAgent(parsedRequest);
28
- if (agentPart) {
29
- return this.chatAgentService.getAgent(agentPart.agentId);
31
+ let agent = this.initialAgentSelection(parsedRequest);
32
+ if (!this.preferenceService.get(ai_chat_preferences_1.PIN_CHAT_AGENT_PREF)) {
33
+ return agent;
30
34
  }
31
- const configuredDefaultChatAgent = this.getConfiguredDefaultChatAgent();
32
- if (configuredDefaultChatAgent) {
33
- return configuredDefaultChatAgent;
35
+ if (!session.pinnedAgent && agent && agent.id !== ((_a = this.defaultChatAgentId) === null || _a === void 0 ? void 0 : _a.id)) {
36
+ session.pinnedAgent = agent;
34
37
  }
35
- if (this.defaultChatAgentId) {
36
- const defaultAgent = this.chatAgentService.getAgent(this.defaultChatAgentId.id);
37
- // the default agent could be disabled
38
- if (defaultAgent) {
39
- return defaultAgent;
40
- }
38
+ else if (session.pinnedAgent && this.getMentionedAgent(parsedRequest) === undefined) {
39
+ agent = session.pinnedAgent;
41
40
  }
42
- // check whether "Universal" is available
43
- const universalAgent = this.chatAgentService.getAgent('Universal');
44
- if (universalAgent) {
45
- return universalAgent;
41
+ return agent;
42
+ }
43
+ initialAgentSelection(parsedRequest) {
44
+ const agentPart = this.getMentionedAgent(parsedRequest);
45
+ if (!agentPart) {
46
+ const configuredDefaultChatAgent = this.getConfiguredDefaultChatAgent();
47
+ if (configuredDefaultChatAgent) {
48
+ return configuredDefaultChatAgent;
49
+ }
46
50
  }
47
- this.logger.warn('No default chat agent is configured or available and the "Universal" Chat Agent is unavailable too. Falling back to first registered agent.');
48
- return (_a = this.chatAgentService.getAgents()[0]) !== null && _a !== void 0 ? _a : undefined;
51
+ return super.initialAgentSelection(parsedRequest);
49
52
  }
50
53
  getConfiguredDefaultChatAgent() {
51
54
  const configuredDefaultChatAgentId = this.preferenceService.get(ai_chat_preferences_1.DEFAULT_CHAT_AGENT_PREF, undefined);
@@ -55,12 +58,29 @@ let FrontendChatServiceImpl = class FrontendChatServiceImpl extends common_1.Cha
55
58
  }
56
59
  return configuredDefaultChatAgent;
57
60
  }
61
+ createSession(location, options) {
62
+ const session = super.createSession(location, options);
63
+ session.model.onDidChange(event => {
64
+ const changeSet = event.changeSet;
65
+ if (event.kind === 'removeChangeSet') {
66
+ this.changeSetFileService.closeDiffsForSession(session.id);
67
+ }
68
+ else if (changeSet) {
69
+ this.changeSetFileService.closeDiffsForSession(session.id, changeSet.getElements().map(({ uri }) => uri));
70
+ }
71
+ });
72
+ return session;
73
+ }
58
74
  };
59
75
  exports.FrontendChatServiceImpl = FrontendChatServiceImpl;
60
76
  tslib_1.__decorate([
61
77
  (0, inversify_1.inject)(browser_1.PreferenceService),
62
78
  tslib_1.__metadata("design:type", Object)
63
79
  ], FrontendChatServiceImpl.prototype, "preferenceService", void 0);
80
+ tslib_1.__decorate([
81
+ (0, inversify_1.inject)(change_set_file_service_1.ChangeSetFileService),
82
+ tslib_1.__metadata("design:type", change_set_file_service_1.ChangeSetFileService)
83
+ ], FrontendChatServiceImpl.prototype, "changeSetFileService", void 0);
64
84
  exports.FrontendChatServiceImpl = FrontendChatServiceImpl = tslib_1.__decorate([
65
85
  (0, inversify_1.injectable)()
66
86
  ], FrontendChatServiceImpl);
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-chat-service.js","sourceRoot":"","sources":["../../src/browser/frontend-chat-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,sCAA0E;AAC1E,qDAA4D;AAC5D,+DAAgE;AAGzD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,wBAAe;IAKrC,QAAQ,CAAC,aAAgC;;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACxE,IAAI,0BAA0B,EAAE,CAAC;YAC7B,OAAO,0BAA0B,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAChF,sCAAsC;YACtC,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,YAAY,CAAC;YACxB,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6IAA6I,CAAC,CAAC;QAEhK,OAAO,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mCAAI,SAAS,CAAC;IAC7D,CAAC;IAES,6BAA6B;QACnC,MAAM,4BAA4B,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,6CAAuB,EAAE,SAAS,CAAC,CAAC;QAC5G,MAAM,0BAA0B,GAAG,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3I,IAAI,4BAA4B,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,4BAA4B,mBAAmB,CAAC,CAAC;QACpH,CAAC;QACD,OAAO,0BAA0B,CAAC;IACtC,CAAC;CACJ,CAAA;AA3CY,0DAAuB;AAGtB;IADT,IAAA,kBAAM,EAAC,2BAAiB,CAAC;;kEACqB;kCAHtC,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA2CnC"}
1
+ {"version":3,"file":"frontend-chat-service.js","sourceRoot":"","sources":["../../src/browser/frontend-chat-service.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { CommunicationRecordingService, LanguageModel, LanguageModelRequirement, LanguageModelResponse, LanguageModelStreamResponse, PromptService, ResolvedPromptTemplate, ToolRequest } from '@theia/ai-core';
1
+ import { AgentSpecificVariables, AIVariableContext, CommunicationRecordingService, LanguageModel, LanguageModelRequirement, LanguageModelResponse, LanguageModelStreamResponse, PromptService, PromptTemplate, ResolvedPromptTemplate, ToolCall, ToolRequest } from '@theia/ai-core';
2
2
  import { Agent, LanguageModelRegistry, LanguageModelStreamResponsePart, MessageActor } from '@theia/ai-core/lib/common';
3
3
  import { CancellationToken, ContributionProvider, ILogger } from '@theia/core';
4
4
  import { ChatAgentService } from './chat-agent-service';
5
- import { ChatModel, ChatRequestModelImpl, ChatResponseContent } from './chat-model';
5
+ import { ChatModel, MutableChatRequestModel, ChatResponseContent, ChatRequestModel } from './chat-model';
6
6
  import { DefaultResponseContentFactory, ResponseContentMatcher, ResponseContentMatcherProvider } from './response-content-matcher';
7
7
  import { ChatToolRequestService } from './chat-tool-request-service';
8
8
  /**
@@ -27,6 +27,13 @@ export interface SystemMessageDescription {
27
27
  export declare namespace SystemMessageDescription {
28
28
  function fromResolvedPromptTemplate(resolvedPrompt: ResolvedPromptTemplate): SystemMessageDescription;
29
29
  }
30
+ export interface ChatSessionContext extends AIVariableContext {
31
+ request?: ChatRequestModel;
32
+ model: ChatModel;
33
+ }
34
+ export declare namespace ChatSessionContext {
35
+ function is(candidate: unknown): candidate is ChatSessionContext;
36
+ }
30
37
  /**
31
38
  * The location from where an chat agent may be invoked.
32
39
  * Based on the location, a different context may be available.
@@ -48,35 +55,41 @@ export declare const ChatAgent: unique symbol;
48
55
  export interface ChatAgent extends Agent {
49
56
  locations: ChatAgentLocation[];
50
57
  iconClass?: string;
51
- invoke(request: ChatRequestModelImpl, chatAgentService?: ChatAgentService): Promise<void>;
58
+ invoke(request: MutableChatRequestModel, chatAgentService?: ChatAgentService): Promise<void>;
52
59
  }
53
- export declare abstract class AbstractChatAgent {
54
- id: string;
55
- languageModelRequirements: LanguageModelRequirement[];
56
- protected defaultLanguageModelPurpose: string;
57
- iconClass: string;
58
- locations: ChatAgentLocation[];
59
- tags: string[];
60
- defaultLogging: boolean;
60
+ export declare abstract class AbstractChatAgent implements ChatAgent {
61
61
  protected languageModelRegistry: LanguageModelRegistry;
62
62
  protected logger: ILogger;
63
63
  protected recordingService: CommunicationRecordingService;
64
64
  protected chatToolRequestService: ChatToolRequestService;
65
65
  protected promptService: PromptService;
66
66
  protected contentMatcherProviders: ContributionProvider<ResponseContentMatcherProvider>;
67
+ protected defaultContentFactory: DefaultResponseContentFactory;
68
+ readonly abstract id: string;
69
+ readonly abstract name: string;
70
+ readonly abstract languageModelRequirements: LanguageModelRequirement[];
71
+ iconClass: string;
72
+ locations: ChatAgentLocation[];
73
+ tags: string[];
74
+ description: string;
75
+ variables: string[];
76
+ promptTemplates: PromptTemplate[];
77
+ agentSpecificVariables: AgentSpecificVariables[];
78
+ functions: string[];
79
+ protected readonly abstract defaultLanguageModelPurpose: string;
80
+ protected defaultLogging: boolean;
81
+ protected systemPromptId: string | undefined;
67
82
  protected additionalToolRequests: ToolRequest[];
68
83
  protected contentMatchers: ResponseContentMatcher[];
69
- protected defaultContentFactory: DefaultResponseContentFactory;
70
- constructor(id: string, languageModelRequirements: LanguageModelRequirement[], defaultLanguageModelPurpose: string, iconClass?: string, locations?: ChatAgentLocation[], tags?: string[], defaultLogging?: boolean);
71
84
  init(): void;
72
85
  protected initializeContentMatchers(): void;
73
- invoke(request: ChatRequestModelImpl): Promise<void>;
74
- protected parseContents(text: string, request: ChatRequestModelImpl): ChatResponseContent[];
75
- protected handleError(request: ChatRequestModelImpl, error: Error): void;
86
+ invoke(request: MutableChatRequestModel): Promise<void>;
87
+ protected parseContents(text: string, request: MutableChatRequestModel): ChatResponseContent[];
88
+ protected handleError(request: MutableChatRequestModel, error: Error): void;
76
89
  protected getLanguageModelSelector(languageModelPurpose: string): LanguageModelRequirement;
77
90
  protected getLanguageModel(languageModelPurpose: string): Promise<LanguageModel>;
78
91
  protected selectLanguageModel(selector: LanguageModelRequirement): Promise<LanguageModel>;
79
- protected abstract getSystemMessageDescription(): Promise<SystemMessageDescription | undefined>;
92
+ protected getSystemMessageDescription(context: AIVariableContext): Promise<SystemMessageDescription | undefined>;
80
93
  protected getMessages(model: ChatModel, includeResponseInProgress?: boolean): Promise<ChatMessage[]>;
81
94
  protected callLlm(languageModel: LanguageModel, messages: ChatMessage[], tools: ToolRequest[] | undefined, token: CancellationToken): Promise<LanguageModelResponse>;
82
95
  /**
@@ -91,17 +104,34 @@ export declare abstract class AbstractChatAgent {
91
104
  * The default implementation sets the state of the response to `complete`.
92
105
  * Subclasses may override this method to perform additional actions or keep the response open for processing further requests.
93
106
  */
94
- protected onResponseComplete(request: ChatRequestModelImpl): Promise<void>;
95
- protected abstract addContentsToResponse(languageModelResponse: LanguageModelResponse, request: ChatRequestModelImpl): Promise<void>;
107
+ protected onResponseComplete(request: MutableChatRequestModel): Promise<void>;
108
+ protected abstract addContentsToResponse(languageModelResponse: LanguageModelResponse, request: MutableChatRequestModel): Promise<void>;
96
109
  }
97
110
  export declare abstract class AbstractTextToModelParsingChatAgent<T> extends AbstractChatAgent {
98
- protected addContentsToResponse(languageModelResponse: LanguageModelResponse, request: ChatRequestModelImpl): Promise<void>;
111
+ protected addContentsToResponse(languageModelResponse: LanguageModelResponse, request: MutableChatRequestModel): Promise<void>;
99
112
  protected abstract parseTextResponse(text: string): Promise<T>;
100
- protected abstract createResponseContent(parsedModel: T, request: ChatRequestModelImpl): ChatResponseContent;
113
+ protected abstract createResponseContent(parsedModel: T, request: MutableChatRequestModel): ChatResponseContent;
114
+ }
115
+ /**
116
+ * Factory for creating ToolCallChatResponseContent instances.
117
+ */
118
+ export declare class ToolCallChatResponseContentFactory {
119
+ create(toolCall: ToolCall): ChatResponseContent;
101
120
  }
102
121
  export declare abstract class AbstractStreamParsingChatAgent extends AbstractChatAgent {
103
- protected addContentsToResponse(languageModelResponse: LanguageModelResponse, request: ChatRequestModelImpl): Promise<void>;
104
- protected addStreamResponse(languageModelResponse: LanguageModelStreamResponse, request: ChatRequestModelImpl): Promise<void>;
105
- protected parse(token: LanguageModelStreamResponsePart, request: ChatRequestModelImpl): ChatResponseContent | ChatResponseContent[];
122
+ protected toolCallResponseContentFactory: ToolCallChatResponseContentFactory;
123
+ protected addContentsToResponse(languageModelResponse: LanguageModelResponse, request: MutableChatRequestModel): Promise<void>;
124
+ protected addStreamResponse(languageModelResponse: LanguageModelStreamResponse, request: MutableChatRequestModel): Promise<void>;
125
+ protected parse(token: LanguageModelStreamResponsePart, request: MutableChatRequestModel): ChatResponseContent | ChatResponseContent[];
126
+ /**
127
+ * Creates a ToolCallChatResponseContent instance from the provided tool call data.
128
+ *
129
+ * This method is called when parsing stream response tokens that contain tool call data.
130
+ * Subclasses can override this method to customize the creation of tool call response contents.
131
+ *
132
+ * @param toolCall The ToolCall.
133
+ * @returns A ChatResponseContent representing the tool call.
134
+ */
135
+ protected createToolCallResponseContent(toolCall: ToolCall): ChatResponseContent;
106
136
  }
107
137
  //# sourceMappingURL=chat-agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-agents.d.ts","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"AAqBA,OAAO,EACH,6BAA6B,EAE7B,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,EACtB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,KAAK,EAGL,qBAAqB,EACrB,+BAA+B,EAC/B,YAAY,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACH,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EAItB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEnI,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnD;AACD,yBAAiB,wBAAwB,CAAC;IACtC,SAAgB,0BAA0B,CAAC,cAAc,EAAE,sBAAsB,GAAG,wBAAwB,CAK3G;CACJ;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;CACpB;AAED,yBAAiB,iBAAiB,CAAC;IACxB,MAAM,GAAG,EAAE,iBAAiB,EAAgH,CAAC;IAEpJ,SAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAQxD;CACJ;AAED,eAAO,MAAM,SAAS,eAAsB,CAAC;AAC7C;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACpC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7F;AAED,8BACsB,iBAAiB;IAgBX,EAAE,EAAE,MAAM;IACV,yBAAyB,EAAE,wBAAwB,EAAE;IAC5D,SAAS,CAAC,2BAA2B,EAAE,MAAM;IACtC,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,iBAAiB,EAAE;IAC9B,IAAI,EAAE,MAAM,EAAE;IACd,cAAc,EAAE,OAAO;IArBhB,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IACJ,SAAS,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;IACjE,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAClE,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAG9D,SAAS,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IACxF,SAAS,CAAC,sBAAsB,EAAE,WAAW,EAAE,CAAM;IACrD,SAAS,CAAC,eAAe,EAAE,sBAAsB,EAAE,CAAM;IAGzD,SAAS,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;gBAGvC,EAAE,EAAE,MAAM,EACV,yBAAyB,EAAE,wBAAwB,EAAE,EAClD,2BAA2B,EAAE,MAAM,EACtC,SAAS,GAAE,MAAkC,EAC7C,SAAS,GAAE,iBAAiB,EAA0B,EACtD,IAAI,GAAE,MAAM,EAAa,EACzB,cAAc,GAAE,OAAc;IAItD,IAAI,IAAI,IAAI;IAIZ,SAAS,CAAC,yBAAyB,IAAI,IAAI;IAKrC,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD1D,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,EAAE;IAS3F,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKxE,SAAS,CAAC,wBAAwB,CAAC,oBAAoB,EAAE,MAAM,GAAG,wBAAwB;cAI1E,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;cAItE,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ/F,SAAS,CAAC,QAAQ,CAAC,2BAA2B,IAAI,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;cAE/E,WAAW,CACvB,KAAK,EAAE,SAAS,EAAE,yBAAyB,UAAQ,GACpD,OAAO,CAAC,WAAW,EAAE,CAAC;cAsBT,OAAO,CACnB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,EAChC,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAUjC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,GAAG,SAAS;IAInE;;;;;OAKG;cACa,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CACvI;AAED,8BACsB,mCAAmC,CAAC,CAAC,CAAE,SAAQ,iBAAiB;cAElE,qBAAqB,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjI,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAE9D,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,mBAAmB;CAC/G;AAED,8BACsB,8BAA+B,SAAQ,iBAAiB;cAEjD,qBAAqB,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;cAoB1H,iBAAiB,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,+BAA+B,EAAE,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,EAAE;CAetI"}
1
+ {"version":3,"file":"chat-agents.d.ts","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@
20
20
  *--------------------------------------------------------------------------------------------*/
21
21
  // Partially copied from https://github.com/microsoft/vscode/blob/a2cab7255c0df424027be05d58e1b7b941f4ea60/src/vs/workbench/contrib/chat/common/chatAgents.ts
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.AbstractStreamParsingChatAgent = exports.AbstractTextToModelParsingChatAgent = exports.AbstractChatAgent = exports.ChatAgent = exports.ChatAgentLocation = exports.SystemMessageDescription = void 0;
23
+ exports.AbstractStreamParsingChatAgent = exports.ToolCallChatResponseContentFactory = exports.AbstractTextToModelParsingChatAgent = exports.AbstractChatAgent = exports.ChatAgent = exports.ChatAgentLocation = exports.ChatSessionContext = exports.SystemMessageDescription = void 0;
24
24
  const tslib_1 = require("tslib");
25
25
  const ai_core_1 = require("@theia/ai-core");
26
26
  const common_1 = require("@theia/ai-core/lib/common");
@@ -41,6 +41,13 @@ var SystemMessageDescription;
41
41
  }
42
42
  SystemMessageDescription.fromResolvedPromptTemplate = fromResolvedPromptTemplate;
43
43
  })(SystemMessageDescription || (exports.SystemMessageDescription = SystemMessageDescription = {}));
44
+ var ChatSessionContext;
45
+ (function (ChatSessionContext) {
46
+ function is(candidate) {
47
+ return typeof candidate === 'object' && !!candidate && 'model' in candidate;
48
+ }
49
+ ChatSessionContext.is = is;
50
+ })(ChatSessionContext || (exports.ChatSessionContext = ChatSessionContext = {}));
44
51
  /**
45
52
  * The location from where an chat agent may be invoked.
46
53
  * Based on the location, a different context may be available.
@@ -67,14 +74,17 @@ var ChatAgentLocation;
67
74
  })(ChatAgentLocation || (exports.ChatAgentLocation = ChatAgentLocation = {}));
68
75
  exports.ChatAgent = Symbol('ChatAgent');
69
76
  let AbstractChatAgent = class AbstractChatAgent {
70
- constructor(id, languageModelRequirements, defaultLanguageModelPurpose, iconClass = 'codicon codicon-copilot', locations = ChatAgentLocation.ALL, tags = ['Chat'], defaultLogging = true) {
71
- this.id = id;
72
- this.languageModelRequirements = languageModelRequirements;
73
- this.defaultLanguageModelPurpose = defaultLanguageModelPurpose;
74
- this.iconClass = iconClass;
75
- this.locations = locations;
76
- this.tags = tags;
77
- this.defaultLogging = defaultLogging;
77
+ constructor() {
78
+ this.iconClass = 'codicon codicon-copilot';
79
+ this.locations = ChatAgentLocation.ALL;
80
+ this.tags = ['Chat'];
81
+ this.description = '';
82
+ this.variables = [];
83
+ this.promptTemplates = [];
84
+ this.agentSpecificVariables = [];
85
+ this.functions = [];
86
+ this.defaultLogging = true;
87
+ this.systemPromptId = undefined;
78
88
  this.additionalToolRequests = [];
79
89
  this.contentMatchers = [];
80
90
  }
@@ -92,7 +102,7 @@ let AbstractChatAgent = class AbstractChatAgent {
92
102
  if (!languageModel) {
93
103
  throw new Error('Couldn\'t find a matching language model. Please check your setup!');
94
104
  }
95
- const systemMessageDescription = await this.getSystemMessageDescription();
105
+ const systemMessageDescription = await this.getSystemMessageDescription({ model: request.session, request });
96
106
  const messages = await this.getMessages(request.session);
97
107
  if (this.defaultLogging) {
98
108
  this.recordingService.recordRequest(chat_history_entry_1.ChatHistoryEntry.fromRequest(this.id, request, {
@@ -148,6 +158,13 @@ let AbstractChatAgent = class AbstractChatAgent {
148
158
  }
149
159
  return languageModel;
150
160
  }
161
+ async getSystemMessageDescription(context) {
162
+ if (this.systemPromptId === undefined) {
163
+ return undefined;
164
+ }
165
+ const resolvedPrompt = await this.promptService.getPrompt(this.systemPromptId, undefined, context);
166
+ return resolvedPrompt ? SystemMessageDescription.fromResolvedPromptTemplate(resolvedPrompt) : undefined;
167
+ }
151
168
  async getMessages(model, includeResponseInProgress = false) {
152
169
  const requestMessages = model.getRequests().flatMap(request => {
153
170
  const messages = [];
@@ -230,15 +247,7 @@ tslib_1.__decorate([
230
247
  tslib_1.__metadata("design:returntype", void 0)
231
248
  ], AbstractChatAgent.prototype, "init", null);
232
249
  exports.AbstractChatAgent = AbstractChatAgent = tslib_1.__decorate([
233
- (0, inversify_1.injectable)(),
234
- tslib_1.__param(0, (0, inversify_1.unmanaged)()),
235
- tslib_1.__param(1, (0, inversify_1.unmanaged)()),
236
- tslib_1.__param(2, (0, inversify_1.unmanaged)()),
237
- tslib_1.__param(3, (0, inversify_1.unmanaged)()),
238
- tslib_1.__param(4, (0, inversify_1.unmanaged)()),
239
- tslib_1.__param(5, (0, inversify_1.unmanaged)()),
240
- tslib_1.__param(6, (0, inversify_1.unmanaged)()),
241
- tslib_1.__metadata("design:paramtypes", [String, Array, String, String, Array, Array, Boolean])
250
+ (0, inversify_1.injectable)()
242
251
  ], AbstractChatAgent);
243
252
  let AbstractTextToModelParsingChatAgent = class AbstractTextToModelParsingChatAgent extends AbstractChatAgent {
244
253
  async addContentsToResponse(languageModelResponse, request) {
@@ -252,6 +261,19 @@ exports.AbstractTextToModelParsingChatAgent = AbstractTextToModelParsingChatAgen
252
261
  exports.AbstractTextToModelParsingChatAgent = AbstractTextToModelParsingChatAgent = tslib_1.__decorate([
253
262
  (0, inversify_1.injectable)()
254
263
  ], AbstractTextToModelParsingChatAgent);
264
+ /**
265
+ * Factory for creating ToolCallChatResponseContent instances.
266
+ */
267
+ let ToolCallChatResponseContentFactory = class ToolCallChatResponseContentFactory {
268
+ create(toolCall) {
269
+ var _a, _b;
270
+ return new chat_model_1.ToolCallChatResponseContentImpl(toolCall.id, (_a = toolCall.function) === null || _a === void 0 ? void 0 : _a.name, (_b = toolCall.function) === null || _b === void 0 ? void 0 : _b.arguments, toolCall.finished, toolCall.result);
271
+ }
272
+ };
273
+ exports.ToolCallChatResponseContentFactory = ToolCallChatResponseContentFactory;
274
+ exports.ToolCallChatResponseContentFactory = ToolCallChatResponseContentFactory = tslib_1.__decorate([
275
+ (0, inversify_1.injectable)()
276
+ ], ToolCallChatResponseContentFactory);
255
277
  let AbstractStreamParsingChatAgent = class AbstractStreamParsingChatAgent extends AbstractChatAgent {
256
278
  async addContentsToResponse(languageModelResponse, request) {
257
279
  if ((0, common_1.isLanguageModelTextResponse)(languageModelResponse)) {
@@ -301,13 +323,29 @@ let AbstractStreamParsingChatAgent = class AbstractStreamParsingChatAgent extend
301
323
  }
302
324
  const toolCalls = token.tool_calls;
303
325
  if (toolCalls !== undefined) {
304
- const toolCallContents = toolCalls.map(toolCall => { var _a, _b; return new chat_model_1.ToolCallChatResponseContentImpl(toolCall.id, (_a = toolCall.function) === null || _a === void 0 ? void 0 : _a.name, (_b = toolCall.function) === null || _b === void 0 ? void 0 : _b.arguments, toolCall.finished, toolCall.result); });
326
+ const toolCallContents = toolCalls.map(toolCall => this.createToolCallResponseContent(toolCall));
305
327
  return toolCallContents;
306
328
  }
307
329
  return this.defaultContentFactory.create('', request);
308
330
  }
331
+ /**
332
+ * Creates a ToolCallChatResponseContent instance from the provided tool call data.
333
+ *
334
+ * This method is called when parsing stream response tokens that contain tool call data.
335
+ * Subclasses can override this method to customize the creation of tool call response contents.
336
+ *
337
+ * @param toolCall The ToolCall.
338
+ * @returns A ChatResponseContent representing the tool call.
339
+ */
340
+ createToolCallResponseContent(toolCall) {
341
+ return this.toolCallResponseContentFactory.create(toolCall);
342
+ }
309
343
  };
310
344
  exports.AbstractStreamParsingChatAgent = AbstractStreamParsingChatAgent;
345
+ tslib_1.__decorate([
346
+ (0, inversify_1.inject)(ToolCallChatResponseContentFactory),
347
+ tslib_1.__metadata("design:type", ToolCallChatResponseContentFactory)
348
+ ], AbstractStreamParsingChatAgent.prototype, "toolCallResponseContentFactory", void 0);
311
349
  exports.AbstractStreamParsingChatAgent = AbstractStreamParsingChatAgent = tslib_1.__decorate([
312
350
  (0, inversify_1.injectable)()
313
351
  ], AbstractStreamParsingChatAgent);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-agents.js","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-agents.js","sourceRoot":"","sources":["../../src/common/chat-agents.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var ChatHistoryEntry;
33
33
  agentId: agentId,
34
34
  sessionId: request.session.id,
35
35
  requestId: request.id,
36
- response: request.response.response.asString(),
36
+ response: request.response.response.asDisplayString(),
37
37
  ...args,
38
38
  };
39
39
  }