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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/lib/browser/ai-chat-frontend-module.d.ts.map +1 -1
  2. package/lib/browser/ai-chat-frontend-module.js +16 -13
  3. package/lib/browser/ai-chat-frontend-module.js.map +1 -1
  4. package/lib/browser/ai-chat-preferences.d.ts +1 -0
  5. package/lib/browser/ai-chat-preferences.d.ts.map +1 -1
  6. package/lib/browser/ai-chat-preferences.js +12 -3
  7. package/lib/browser/ai-chat-preferences.js.map +1 -1
  8. package/lib/browser/change-set-file-element.d.ts +31 -6
  9. package/lib/browser/change-set-file-element.d.ts.map +1 -1
  10. package/lib/browser/change-set-file-element.js +108 -15
  11. package/lib/browser/change-set-file-element.js.map +1 -1
  12. package/lib/browser/change-set-file-resource.d.ts +40 -8
  13. package/lib/browser/change-set-file-resource.d.ts.map +1 -1
  14. package/lib/browser/change-set-file-resource.js +123 -37
  15. package/lib/browser/change-set-file-resource.js.map +1 -1
  16. package/lib/browser/change-set-file-service.d.ts +9 -3
  17. package/lib/browser/change-set-file-service.d.ts.map +1 -1
  18. package/lib/browser/change-set-file-service.js +35 -13
  19. package/lib/browser/change-set-file-service.js.map +1 -1
  20. package/lib/browser/change-set-variable.d.ts +11 -0
  21. package/lib/browser/change-set-variable.d.ts.map +1 -0
  22. package/lib/browser/change-set-variable.js +56 -0
  23. package/lib/browser/change-set-variable.js.map +1 -0
  24. package/lib/browser/context-file-variable-label-provider.d.ts +14 -0
  25. package/lib/browser/context-file-variable-label-provider.d.ts.map +1 -0
  26. package/lib/browser/context-file-variable-label-provider.js +63 -0
  27. package/lib/browser/context-file-variable-label-provider.js.map +1 -0
  28. package/lib/browser/context-variable-label-provider.d.ts +9 -0
  29. package/lib/browser/context-variable-label-provider.d.ts.map +1 -0
  30. package/lib/browser/context-variable-label-provider.js +55 -0
  31. package/lib/browser/context-variable-label-provider.js.map +1 -0
  32. package/lib/browser/file-chat-variable-contribution.d.ts +18 -0
  33. package/lib/browser/file-chat-variable-contribution.d.ts.map +1 -0
  34. package/lib/browser/file-chat-variable-contribution.js +135 -0
  35. package/lib/browser/file-chat-variable-contribution.js.map +1 -0
  36. package/lib/browser/frontend-chat-service.d.ts +10 -3
  37. package/lib/browser/frontend-chat-service.d.ts.map +1 -1
  38. package/lib/browser/frontend-chat-service.js +39 -19
  39. package/lib/browser/frontend-chat-service.js.map +1 -1
  40. package/lib/common/chat-agents.d.ts +54 -24
  41. package/lib/common/chat-agents.d.ts.map +1 -1
  42. package/lib/common/chat-agents.js +58 -20
  43. package/lib/common/chat-agents.js.map +1 -1
  44. package/lib/common/chat-history-entry.js +1 -1
  45. package/lib/common/chat-history-entry.js.map +1 -1
  46. package/lib/common/chat-model.d.ts +84 -36
  47. package/lib/common/chat-model.d.ts.map +1 -1
  48. package/lib/common/chat-model.js +142 -51
  49. package/lib/common/chat-model.js.map +1 -1
  50. package/lib/common/chat-service.d.ts +27 -10
  51. package/lib/common/chat-service.d.ts.map +1 -1
  52. package/lib/common/chat-service.js +80 -20
  53. package/lib/common/chat-service.js.map +1 -1
  54. package/lib/common/chat-string-utils.d.ts +3 -0
  55. package/lib/common/chat-string-utils.d.ts.map +1 -0
  56. package/lib/common/chat-string-utils.js +27 -0
  57. package/lib/common/chat-string-utils.js.map +1 -0
  58. package/lib/common/chat-tool-request-service.d.ts +5 -5
  59. package/lib/common/chat-tool-request-service.d.ts.map +1 -1
  60. package/lib/common/chat-tool-request-service.js.map +1 -1
  61. package/lib/common/context-details-variable.d.ts +9 -0
  62. package/lib/common/context-details-variable.d.ts.map +1 -0
  63. package/lib/common/context-details-variable.js +57 -0
  64. package/lib/common/context-details-variable.js.map +1 -0
  65. package/lib/common/context-summary-variable.d.ts +9 -0
  66. package/lib/common/context-summary-variable.d.ts.map +1 -0
  67. package/lib/common/context-summary-variable.js +57 -0
  68. package/lib/common/context-summary-variable.js.map +1 -0
  69. package/lib/common/context-variables.d.ts +4 -0
  70. package/lib/common/context-variables.d.ts.map +1 -0
  71. package/lib/common/context-variables.js +22 -0
  72. package/lib/common/context-variables.js.map +1 -0
  73. package/lib/common/custom-chat-agent.d.ts +6 -10
  74. package/lib/common/custom-chat-agent.d.ts.map +1 -1
  75. package/lib/common/custom-chat-agent.js +8 -11
  76. package/lib/common/custom-chat-agent.js.map +1 -1
  77. package/lib/common/index.d.ts +1 -3
  78. package/lib/common/index.d.ts.map +1 -1
  79. package/lib/common/index.js +1 -3
  80. package/lib/common/index.js.map +1 -1
  81. package/lib/common/parse-contents.d.ts +2 -2
  82. package/lib/common/parse-contents.d.ts.map +1 -1
  83. package/lib/common/parse-contents.js.map +1 -1
  84. package/lib/common/parse-contents.spec.d.ts.map +1 -1
  85. package/lib/common/parse-contents.spec.js.map +1 -1
  86. package/lib/common/response-content-matcher.d.ts +3 -3
  87. package/lib/common/response-content-matcher.d.ts.map +1 -1
  88. package/lib/common/response-content-matcher.js.map +1 -1
  89. package/package.json +12 -10
  90. package/src/browser/ai-chat-frontend-module.ts +20 -18
  91. package/src/browser/ai-chat-preferences.ts +13 -2
  92. package/src/browser/change-set-file-element.ts +109 -20
  93. package/src/browser/change-set-file-resource.ts +125 -39
  94. package/src/browser/change-set-file-service.ts +38 -16
  95. package/src/browser/change-set-variable.ts +54 -0
  96. package/src/browser/context-file-variable-label-provider.ts +62 -0
  97. package/src/browser/context-variable-label-provider.ts +56 -0
  98. package/src/browser/file-chat-variable-contribution.ts +143 -0
  99. package/src/browser/frontend-chat-service.ts +40 -26
  100. package/src/common/chat-agents.ts +87 -30
  101. package/src/common/chat-history-entry.ts +1 -1
  102. package/src/common/chat-model.ts +204 -70
  103. package/src/common/chat-service.ts +92 -24
  104. package/src/common/chat-string-utils.ts +23 -0
  105. package/src/common/chat-tool-request-service.ts +5 -5
  106. package/src/common/context-details-variable.ts +53 -0
  107. package/src/common/context-summary-variable.ts +53 -0
  108. package/src/common/context-variables.ts +19 -0
  109. package/src/common/custom-chat-agent.ts +9 -20
  110. package/src/common/index.ts +1 -3
  111. package/src/common/parse-contents.spec.ts +2 -2
  112. package/src/common/parse-contents.ts +2 -2
  113. package/src/common/response-content-matcher.ts +3 -3
  114. package/lib/common/command-chat-agents.d.ts +0 -33
  115. package/lib/common/command-chat-agents.d.ts.map +0 -1
  116. package/lib/common/command-chat-agents.js +0 -329
  117. package/lib/common/command-chat-agents.js.map +0 -1
  118. package/lib/common/orchestrator-chat-agent.d.ts +0 -22
  119. package/lib/common/orchestrator-chat-agent.d.ts.map +0 -1
  120. package/lib/common/orchestrator-chat-agent.js +0 -167
  121. package/lib/common/orchestrator-chat-agent.js.map +0 -1
  122. package/lib/common/universal-chat-agent.d.ts +0 -16
  123. package/lib/common/universal-chat-agent.d.ts.map +0 -1
  124. package/lib/common/universal-chat-agent.js +0 -109
  125. package/lib/common/universal-chat-agent.js.map +0 -1
  126. package/src/common/command-chat-agents.ts +0 -354
  127. package/src/common/orchestrator-chat-agent.ts +0 -179
  128. package/src/common/universal-chat-agent.ts +0 -117
@@ -20,17 +20,25 @@
20
20
  *--------------------------------------------------------------------------------------------*/
21
21
  // Partially copied from https://github.com/microsoft/vscode/blob/a2cab7255c0df424027be05d58e1b7b941f4ea60/src/vs/workbench/contrib/chat/common/chatService.ts
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.ChatServiceImpl = exports.ChatService = exports.DefaultChatAgentId = void 0;
23
+ exports.ChatServiceImpl = exports.ChatService = exports.PinChatAgent = exports.FallbackChatAgentId = exports.DefaultChatAgentId = void 0;
24
24
  const tslib_1 = require("tslib");
25
+ const ai_core_1 = require("@theia/ai-core");
26
+ const core_1 = require("@theia/core");
25
27
  const inversify_1 = require("@theia/core/shared/inversify");
26
- const chat_model_1 = require("./chat-model");
27
28
  const chat_agent_service_1 = require("./chat-agent-service");
28
- const core_1 = require("@theia/core");
29
- const chat_request_parser_1 = require("./chat-request-parser");
30
29
  const chat_agents_1 = require("./chat-agents");
30
+ const chat_model_1 = require("./chat-model");
31
+ const chat_request_parser_1 = require("./chat-request-parser");
31
32
  const parsed_chat_request_1 = require("./parsed-chat-request");
32
- const ai_core_1 = require("@theia/ai-core");
33
+ /**
34
+ * The default chat agent to invoke
35
+ */
33
36
  exports.DefaultChatAgentId = Symbol('DefaultChatAgentId');
37
+ /**
38
+ * In case no fitting chat agent is available, this one will be used (if it is itself available)
39
+ */
40
+ exports.FallbackChatAgentId = Symbol('FallbackChatAgentId');
41
+ exports.PinChatAgent = Symbol('PinChatAgent');
34
42
  exports.ChatService = Symbol('ChatService');
35
43
  let ChatServiceImpl = class ChatServiceImpl {
36
44
  constructor() {
@@ -44,24 +52,31 @@ let ChatServiceImpl = class ChatServiceImpl {
44
52
  getSession(id) {
45
53
  return this._sessions.find(session => session.id === id);
46
54
  }
47
- createSession(location = chat_agents_1.ChatAgentLocation.Panel, options) {
48
- const model = new chat_model_1.ChatModelImpl(location);
55
+ createSession(location = chat_agents_1.ChatAgentLocation.Panel, options, pinnedAgent) {
56
+ const model = new chat_model_1.MutableChatModel(location);
49
57
  const session = {
50
58
  id: model.id,
51
59
  model,
52
- isActive: true
60
+ isActive: true,
61
+ pinnedAgent
53
62
  };
54
63
  this._sessions.push(session);
55
64
  this.setActiveSession(session.id, options);
56
65
  return session;
57
66
  }
58
67
  deleteSession(sessionId) {
59
- var _a, _b;
68
+ var _a;
69
+ const sessionIndex = this._sessions.findIndex(candidate => candidate.id === sessionId);
70
+ if (sessionIndex === -1) {
71
+ return;
72
+ }
73
+ const session = this._sessions[sessionIndex];
60
74
  // If the removed session is the active one, set the newest one as active
61
- if ((_a = this.getSession(sessionId)) === null || _a === void 0 ? void 0 : _a.isActive) {
62
- this.setActiveSession((_b = this._sessions[this._sessions.length - 1]) === null || _b === void 0 ? void 0 : _b.id);
75
+ if (session.isActive) {
76
+ this.setActiveSession((_a = this._sessions[this._sessions.length - 1]) === null || _a === void 0 ? void 0 : _a.id);
63
77
  }
64
- this._sessions = this._sessions.filter(item => item.id !== sessionId);
78
+ session.model.dispose();
79
+ this._sessions.splice(sessionIndex, 1);
65
80
  }
66
81
  setActiveSession(sessionId, options) {
67
82
  this._sessions.forEach(session => {
@@ -76,21 +91,24 @@ let ChatServiceImpl = class ChatServiceImpl {
76
91
  }
77
92
  session.title = request.text;
78
93
  const parsedRequest = this.chatRequestParser.parseChatRequest(request, session.model.location);
79
- const agent = this.getAgent(parsedRequest);
94
+ const agent = this.getAgent(parsedRequest, session);
80
95
  if (agent === undefined) {
81
96
  const error = 'No ChatAgents available to handle request!';
82
97
  this.logger.error(error);
83
- const chatResponseModel = new chat_model_1.ErrorChatResponseModelImpl((0, core_1.generateUuid)(), new Error(error));
98
+ const chatResponseModel = new chat_model_1.ErrorChatResponseModel((0, core_1.generateUuid)(), new Error(error));
84
99
  return {
85
100
  requestCompleted: Promise.reject(error),
86
101
  responseCreated: Promise.reject(error),
87
102
  responseCompleted: Promise.resolve(chatResponseModel),
88
103
  };
89
104
  }
90
- const requestModel = session.model.addRequest(parsedRequest, agent === null || agent === void 0 ? void 0 : agent.id);
105
+ const resolutionContext = { model: session.model };
106
+ const resolvedContext = await this.resolveChatContext(session.model.context.getVariables(), resolutionContext);
107
+ const requestModel = session.model.addRequest(parsedRequest, agent === null || agent === void 0 ? void 0 : agent.id, resolvedContext);
108
+ resolutionContext.request = requestModel;
91
109
  for (const part of parsedRequest.parts) {
92
110
  if (part instanceof parsed_chat_request_1.ParsedChatRequestVariablePart) {
93
- const resolvedVariable = await this.variableService.resolveVariable({ variable: part.variableName, arg: part.variableArg }, { request, model: session });
111
+ const resolvedVariable = await this.variableService.resolveVariable({ variable: part.variableName, arg: part.variableArg }, resolutionContext);
94
112
  if (resolvedVariable) {
95
113
  part.resolution = resolvedVariable;
96
114
  }
@@ -127,19 +145,51 @@ let ChatServiceImpl = class ChatServiceImpl {
127
145
  }
128
146
  return invocation;
129
147
  }
148
+ async resolveChatContext(resolutionRequests, context) {
149
+ const resolvedVariables = await Promise.all(resolutionRequests.map(async (contextVariable) => {
150
+ const resolvedVariable = await this.variableService.resolveVariable(contextVariable, context);
151
+ if (ai_core_1.ResolvedAIContextVariable.is(resolvedVariable)) {
152
+ return resolvedVariable;
153
+ }
154
+ return undefined;
155
+ })).then(results => results.filter((result) => result !== undefined));
156
+ return { variables: resolvedVariables };
157
+ }
130
158
  async cancelRequest(sessionId, requestId) {
131
159
  var _a, _b;
132
160
  return (_b = (_a = this.getSession(sessionId)) === null || _a === void 0 ? void 0 : _a.model.getRequest(requestId)) === null || _b === void 0 ? void 0 : _b.response.cancel();
133
161
  }
134
- getAgent(parsedRequest) {
162
+ getAgent(parsedRequest, session) {
163
+ var _a;
164
+ let agent = this.initialAgentSelection(parsedRequest);
165
+ if (this.pinChatAgent === false) {
166
+ return agent;
167
+ }
168
+ if (!session.pinnedAgent && agent && agent.id !== ((_a = this.defaultChatAgentId) === null || _a === void 0 ? void 0 : _a.id)) {
169
+ session.pinnedAgent = agent;
170
+ }
171
+ else if (session.pinnedAgent && this.getMentionedAgent(parsedRequest) === undefined) {
172
+ agent = session.pinnedAgent;
173
+ }
174
+ return agent;
175
+ }
176
+ initialAgentSelection(parsedRequest) {
135
177
  var _a;
136
178
  const agentPart = this.getMentionedAgent(parsedRequest);
137
179
  if (agentPart) {
138
180
  return this.chatAgentService.getAgent(agentPart.agentId);
139
181
  }
182
+ let chatAgent = undefined;
140
183
  if (this.defaultChatAgentId) {
141
- return this.chatAgentService.getAgent(this.defaultChatAgentId.id);
184
+ chatAgent = this.chatAgentService.getAgent(this.defaultChatAgentId.id);
185
+ }
186
+ if (!chatAgent && this.fallbackChatAgentId) {
187
+ chatAgent = this.chatAgentService.getAgent(this.fallbackChatAgentId.id);
188
+ }
189
+ if (chatAgent) {
190
+ return chatAgent;
142
191
  }
192
+ this.logger.warn('Neither the default chat agent nor the fallback chat agent are configured or available. Falling back to the first registered agent');
143
193
  return (_a = this.chatAgentService.getAgents()[0]) !== null && _a !== void 0 ? _a : undefined;
144
194
  }
145
195
  getMentionedAgent(parsedRequest) {
@@ -147,11 +197,11 @@ let ChatServiceImpl = class ChatServiceImpl {
147
197
  }
148
198
  deleteChangeSet(sessionId) {
149
199
  var _a;
150
- (_a = this.getSession(sessionId)) === null || _a === void 0 ? void 0 : _a.model.setChangeSet(undefined);
200
+ (_a = this.getSession(sessionId)) === null || _a === void 0 ? void 0 : _a.model.removeChangeSet();
151
201
  }
152
202
  deleteChangeSetElement(sessionId, index) {
153
203
  var _a, _b;
154
- (_b = (_a = this.getSession(sessionId)) === null || _a === void 0 ? void 0 : _a.model.changeSet) === null || _b === void 0 ? void 0 : _b.removeElement(index);
204
+ (_b = (_a = this.getSession(sessionId)) === null || _a === void 0 ? void 0 : _a.model.changeSet) === null || _b === void 0 ? void 0 : _b.removeElements(index);
155
205
  }
156
206
  };
157
207
  exports.ChatServiceImpl = ChatServiceImpl;
@@ -164,6 +214,16 @@ tslib_1.__decorate([
164
214
  (0, inversify_1.optional)(),
165
215
  tslib_1.__metadata("design:type", Object)
166
216
  ], ChatServiceImpl.prototype, "defaultChatAgentId", void 0);
217
+ tslib_1.__decorate([
218
+ (0, inversify_1.inject)(exports.FallbackChatAgentId),
219
+ (0, inversify_1.optional)(),
220
+ tslib_1.__metadata("design:type", Object)
221
+ ], ChatServiceImpl.prototype, "fallbackChatAgentId", void 0);
222
+ tslib_1.__decorate([
223
+ (0, inversify_1.inject)(exports.PinChatAgent),
224
+ (0, inversify_1.optional)(),
225
+ tslib_1.__metadata("design:type", Object)
226
+ ], ChatServiceImpl.prototype, "pinChatAgent", void 0);
167
227
  tslib_1.__decorate([
168
228
  (0, inversify_1.inject)(chat_request_parser_1.ChatRequestParser),
169
229
  tslib_1.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"chat-service.js","sourceRoot":"","sources":["../../src/common/chat-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-service.js","sourceRoot":"","sources":["../../src/common/chat-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function stringJsonCodeBlock(input: string): string;
2
+ export declare function dataToJsonCodeBlock(input: unknown): string;
3
+ //# sourceMappingURL=chat-string-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-string-utils.d.ts","sourceRoot":"","sources":["../../src/common/chat-string-utils.ts"],"names":[],"mappings":"AAgBA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2025 EclipseSource GmbH and others.
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.dataToJsonCodeBlock = exports.stringJsonCodeBlock = void 0;
19
+ function stringJsonCodeBlock(input) {
20
+ return `\`\`\`json\n${input}\n\`\`\``;
21
+ }
22
+ exports.stringJsonCodeBlock = stringJsonCodeBlock;
23
+ function dataToJsonCodeBlock(input) {
24
+ return stringJsonCodeBlock(JSON.stringify(input, undefined, 2));
25
+ }
26
+ exports.dataToJsonCodeBlock = dataToJsonCodeBlock;
27
+ //# sourceMappingURL=chat-string-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-string-utils.js","sourceRoot":"","sources":["../../src/common/chat-string-utils.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,SAAgB,mBAAmB,CAAC,KAAa;IAC7C,OAAO,eAAe,KAAK,UAAU,CAAC;AAC1C,CAAC;AAFD,kDAEC;AAED,SAAgB,mBAAmB,CAAC,KAAc;IAC9C,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,kDAEC"}
@@ -1,7 +1,7 @@
1
1
  import { ToolRequest } from '@theia/ai-core';
2
- import { ChatRequestModelImpl } from './chat-model';
2
+ import { MutableChatRequestModel } from './chat-model';
3
3
  export interface ChatToolRequest extends ToolRequest {
4
- handler: (arg_string: string, context: ChatRequestModelImpl) => Promise<unknown>;
4
+ handler: (arg_string: string, context: MutableChatRequestModel) => Promise<unknown>;
5
5
  }
6
6
  /**
7
7
  * Wraps tool requests in a chat context.
@@ -10,8 +10,8 @@ export interface ChatToolRequest extends ToolRequest {
10
10
  * handler functions to provide additional context, such as the chat request model.
11
11
  */
12
12
  export declare class ChatToolRequestService {
13
- getChatToolRequests(request: ChatRequestModelImpl): ChatToolRequest[];
14
- toChatToolRequests(toolRequests: ToolRequest[] | undefined, request: ChatRequestModelImpl): ChatToolRequest[];
15
- protected toChatToolRequest(toolRequest: ToolRequest, request: ChatRequestModelImpl): ChatToolRequest;
13
+ getChatToolRequests(request: MutableChatRequestModel): ChatToolRequest[];
14
+ toChatToolRequests(toolRequests: ToolRequest[] | undefined, request: MutableChatRequestModel): ChatToolRequest[];
15
+ protected toChatToolRequest(toolRequest: ToolRequest, request: MutableChatRequestModel): ChatToolRequest;
16
16
  }
17
17
  //# sourceMappingURL=chat-tool-request-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-tool-request-service.d.ts","sourceRoot":"","sources":["../../src/common/chat-tool-request-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,OAAO,EAAE,CACL,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,KAC5B,OAAO,CAAC,OAAO,CAAC,CAAC;CACzB;AAED;;;;;GAKG;AACH,qBACa,sBAAsB;IAE/B,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,eAAe,EAAE;IAQrE,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,oBAAoB,GAAG,eAAe,EAAE;IAO7G,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,eAAe;CAOxG"}
1
+ {"version":3,"file":"chat-tool-request-service.d.ts","sourceRoot":"","sources":["../../src/common/chat-tool-request-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,OAAO,EAAE,CACL,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,KAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;CACzB;AAED;;;;;GAKG;AACH,qBACa,sBAAsB;IAE/B,mBAAmB,CAAC,OAAO,EAAE,uBAAuB,GAAG,eAAe,EAAE;IAQxE,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,uBAAuB,GAAG,eAAe,EAAE;IAOhH,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,eAAe;CAO3G"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-tool-request-service.js","sourceRoot":"","sources":["../../src/common/chat-tool-request-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;;;;AAGhF,4DAA0D;AAU1D;;;;;GAKG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAE/B,mBAAmB,CAAC,OAA6B;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,YAAuC,EAAE,OAA6B;QACrF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACzF,CAAC;IAES,iBAAiB,CAAC,WAAwB,EAAE,OAA6B;QAC/E,OAAO;YACH,GAAG,WAAW;YACd,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;SAClF,CAAC;IACN,CAAC;CAEJ,CAAA;AAxBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAwBlC"}
1
+ {"version":3,"file":"chat-tool-request-service.js","sourceRoot":"","sources":["../../src/common/chat-tool-request-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;;;;AAGhF,4DAA0D;AAU1D;;;;;GAKG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAE/B,mBAAmB,CAAC,OAAgC;QAChD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,YAAuC,EAAE,OAAgC;QACxF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACzF,CAAC;IAES,iBAAiB,CAAC,WAAwB,EAAE,OAAgC;QAClF,OAAO;YACH,GAAG,WAAW;YACd,OAAO,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;SAClF,CAAC;IACN,CAAC;CAEJ,CAAA;AAxBY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAU,GAAE;GACA,sBAAsB,CAwBlC"}
@@ -0,0 +1,9 @@
1
+ import { MaybePromise } from '@theia/core';
2
+ import { AIVariable, ResolvedAIVariable, AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext } from '@theia/ai-core';
3
+ export declare const CONTEXT_DETAILS_VARIABLE: AIVariable;
4
+ export declare class ContextDetailsVariableContribution implements AIVariableContribution, AIVariableResolver {
5
+ registerVariables(service: AIVariableService): void;
6
+ canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
7
+ resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
8
+ }
9
+ //# sourceMappingURL=context-details-variable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-details-variable.d.ts","sourceRoot":"","sources":["../../src/common/context-details-variable.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAK/K,eAAO,MAAM,wBAAwB,EAAE,UAItC,CAAC;AAEF,qBACa,kCAAmC,YAAW,sBAAsB,EAAE,kBAAkB;IACjG,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAInD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAI5F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAa3H"}
@@ -0,0 +1,57 @@
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.ContextDetailsVariableContribution = exports.CONTEXT_DETAILS_VARIABLE = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const core_1 = require("@theia/core");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const chat_string_utils_1 = require("./chat-string-utils");
23
+ const chat_agents_1 = require("./chat-agents");
24
+ const context_variables_1 = require("./context-variables");
25
+ exports.CONTEXT_DETAILS_VARIABLE = {
26
+ id: context_variables_1.CHAT_CONTEXT_DETAILS_VARIABLE_ID,
27
+ description: core_1.nls.localize('theia/ai/core/contextDetailsVariable/description', 'Provides full text values and descriptions for all context elements.'),
28
+ name: context_variables_1.CHAT_CONTEXT_DETAILS_VARIABLE_ID,
29
+ };
30
+ let ContextDetailsVariableContribution = class ContextDetailsVariableContribution {
31
+ registerVariables(service) {
32
+ service.registerResolver(exports.CONTEXT_DETAILS_VARIABLE, this);
33
+ }
34
+ canResolve(request, context) {
35
+ return request.variable.name === exports.CONTEXT_DETAILS_VARIABLE.name ? 50 : 0;
36
+ }
37
+ async resolve(request, context) {
38
+ /** By expecting context.request, we're assuming that this variable will not be resolved until the context has been resolved. */
39
+ if (!chat_agents_1.ChatSessionContext.is(context) || request.variable.name !== exports.CONTEXT_DETAILS_VARIABLE.name || !context.request) {
40
+ return undefined;
41
+ }
42
+ const data = context.request.context.variables.map(variable => ({
43
+ type: variable.variable.name,
44
+ ref: variable.value,
45
+ content: variable.contextValue
46
+ }));
47
+ return {
48
+ variable: exports.CONTEXT_DETAILS_VARIABLE,
49
+ value: (0, chat_string_utils_1.dataToJsonCodeBlock)(data)
50
+ };
51
+ }
52
+ };
53
+ exports.ContextDetailsVariableContribution = ContextDetailsVariableContribution;
54
+ exports.ContextDetailsVariableContribution = ContextDetailsVariableContribution = tslib_1.__decorate([
55
+ (0, inversify_1.injectable)()
56
+ ], ContextDetailsVariableContribution);
57
+ //# sourceMappingURL=context-details-variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-details-variable.js","sourceRoot":"","sources":["../../src/common/context-details-variable.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,sCAAgD;AAChD,4DAA0D;AAE1D,2DAA0D;AAC1D,+CAAmD;AACnD,2DAAuE;AAE1D,QAAA,wBAAwB,GAAe;IAChD,EAAE,EAAE,oDAAgC;IACpC,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAAE,sEAAsE,CAAC;IACrJ,IAAI,EAAE,oDAAgC;CACzC,CAAC;AAGK,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAC3C,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,gCAAwB,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gCAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,gIAAgI;QAChI,IAAI,CAAC,gCAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gCAAwB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACzI,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,GAAG,EAAE,QAAQ,CAAC,KAAK;YACnB,OAAO,EAAE,QAAQ,CAAC,YAAY;SACjC,CAAC,CAAC,CAAC;QACJ,OAAO;YACH,QAAQ,EAAE,gCAAwB;YAClC,KAAK,EAAE,IAAA,uCAAmB,EAAC,IAAI,CAAC;SACnC,CAAC;IACN,CAAC;CACJ,CAAA;AAtBY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,sBAAU,GAAE;GACA,kCAAkC,CAsB9C"}
@@ -0,0 +1,9 @@
1
+ import { MaybePromise } from '@theia/core';
2
+ import { AIVariable, ResolvedAIVariable, AIVariableContribution, AIVariableResolver, AIVariableService, AIVariableResolutionRequest, AIVariableContext } from '@theia/ai-core';
3
+ export declare const CONTEXT_SUMMARY_VARIABLE: AIVariable;
4
+ export declare class ContextSummaryVariableContribution implements AIVariableContribution, AIVariableResolver {
5
+ registerVariables(service: AIVariableService): void;
6
+ canResolve(request: AIVariableResolutionRequest, context: AIVariableContext): MaybePromise<number>;
7
+ resolve(request: AIVariableResolutionRequest, context: AIVariableContext): Promise<ResolvedAIVariable | undefined>;
8
+ }
9
+ //# sourceMappingURL=context-summary-variable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-summary-variable.d.ts","sourceRoot":"","sources":["../../src/common/context-summary-variable.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAO,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAI/K,eAAO,MAAM,wBAAwB,EAAE,UAItC,CAAC;AAEF,qBACa,kCAAmC,YAAW,sBAAsB,EAAE,kBAAkB;IACjG,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAInD,UAAU,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;IAI5F,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;CAc3H"}
@@ -0,0 +1,57 @@
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.ContextSummaryVariableContribution = exports.CONTEXT_SUMMARY_VARIABLE = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const core_1 = require("@theia/core");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const chat_string_utils_1 = require("./chat-string-utils");
23
+ const chat_agents_1 = require("./chat-agents");
24
+ exports.CONTEXT_SUMMARY_VARIABLE = {
25
+ id: 'contextSummary',
26
+ description: core_1.nls.localize('theia/ai/core/contextSummaryVariable/description', 'Describes files in the context for a given session.'),
27
+ name: 'contextSummary',
28
+ };
29
+ let ContextSummaryVariableContribution = class ContextSummaryVariableContribution {
30
+ registerVariables(service) {
31
+ service.registerResolver(exports.CONTEXT_SUMMARY_VARIABLE, this);
32
+ }
33
+ canResolve(request, context) {
34
+ return request.variable.name === exports.CONTEXT_SUMMARY_VARIABLE.name ? 50 : 0;
35
+ }
36
+ async resolve(request, context) {
37
+ if (!chat_agents_1.ChatSessionContext.is(context) || request.variable.name !== exports.CONTEXT_SUMMARY_VARIABLE.name) {
38
+ return undefined;
39
+ }
40
+ const data = context.model.context.getVariables().filter(variable => variable.variable.isContextVariable)
41
+ .map(variable => ({
42
+ type: variable.variable.name,
43
+ // eslint-disable-next-line no-null/no-null
44
+ instanceData: variable.arg || null,
45
+ contextElementId: variable.variable.id + variable.arg
46
+ }));
47
+ return {
48
+ variable: exports.CONTEXT_SUMMARY_VARIABLE,
49
+ value: (0, chat_string_utils_1.dataToJsonCodeBlock)(data)
50
+ };
51
+ }
52
+ };
53
+ exports.ContextSummaryVariableContribution = ContextSummaryVariableContribution;
54
+ exports.ContextSummaryVariableContribution = ContextSummaryVariableContribution = tslib_1.__decorate([
55
+ (0, inversify_1.injectable)()
56
+ ], ContextSummaryVariableContribution);
57
+ //# sourceMappingURL=context-summary-variable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-summary-variable.js","sourceRoot":"","sources":["../../src/common/context-summary-variable.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,sCAAgD;AAChD,4DAA0D;AAE1D,2DAA0D;AAC1D,+CAAmD;AAEtC,QAAA,wBAAwB,GAAe;IAChD,EAAE,EAAE,gBAAgB;IACpB,WAAW,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAAE,qDAAqD,CAAC;IACpI,IAAI,EAAE,gBAAgB;CACzB,CAAC;AAGK,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAC3C,iBAAiB,CAAC,OAA0B;QACxC,OAAO,CAAC,gBAAgB,CAAC,gCAAwB,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU,CAAC,OAAoC,EAAE,OAA0B;QACvE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gCAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAoC,EAAE,OAA0B;QAC1E,IAAI,CAAC,gCAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,gCAAwB,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;QACrH,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;aACpG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACd,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,2CAA2C;YAC3C,YAAY,EAAE,QAAQ,CAAC,GAAG,IAAI,IAAI;YAClC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG;SACxD,CAAC,CAAC,CAAC;QACR,OAAO;YACH,QAAQ,EAAE,gCAAwB;YAClC,KAAK,EAAE,IAAA,uCAAmB,EAAC,IAAI,CAAC;SACnC,CAAC;IACN,CAAC;CACJ,CAAA;AAvBY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,sBAAU,GAAE;GACA,kCAAkC,CAuB9C"}
@@ -0,0 +1,4 @@
1
+ export declare const CHAT_CONTEXT_VARIABLE_ID = "contextSummary";
2
+ export declare const CHAT_CONTEXT_DETAILS_VARIABLE_ID = "contextDetails";
3
+ export declare const CHANGE_SET_SUMMARY_VARIABLE_ID = "changeSetSummary";
4
+ //# sourceMappingURL=context-variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-variables.d.ts","sourceRoot":"","sources":["../../src/common/context-variables.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,gCAAgC,mBAAmB,CAAC;AACjE,eAAO,MAAM,8BAA8B,qBAAqB,CAAC"}
@@ -0,0 +1,22 @@
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.CHANGE_SET_SUMMARY_VARIABLE_ID = exports.CHAT_CONTEXT_DETAILS_VARIABLE_ID = exports.CHAT_CONTEXT_VARIABLE_ID = void 0;
19
+ exports.CHAT_CONTEXT_VARIABLE_ID = 'contextSummary';
20
+ exports.CHAT_CONTEXT_DETAILS_VARIABLE_ID = 'contextDetails';
21
+ exports.CHANGE_SET_SUMMARY_VARIABLE_ID = 'changeSetSummary';
22
+ //# sourceMappingURL=context-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-variables.js","sourceRoot":"","sources":["../../src/common/context-variables.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;;;AAEnE,QAAA,wBAAwB,GAAG,gBAAgB,CAAC;AAC5C,QAAA,gCAAgC,GAAG,gBAAgB,CAAC;AACpD,QAAA,8BAA8B,GAAG,kBAAkB,CAAC"}
@@ -1,14 +1,10 @@
1
- import { AgentSpecificVariables, PromptTemplate } from '@theia/ai-core';
2
- import { AbstractStreamParsingChatAgent, ChatAgent, SystemMessageDescription } from './chat-agents';
3
- export declare class CustomChatAgent extends AbstractStreamParsingChatAgent implements ChatAgent {
1
+ import { LanguageModelRequirement } from '@theia/ai-core';
2
+ import { AbstractStreamParsingChatAgent } from './chat-agents';
3
+ export declare class CustomChatAgent extends AbstractStreamParsingChatAgent {
4
+ id: string;
4
5
  name: string;
5
- description: string;
6
- readonly variables: string[];
7
- readonly functions: string[];
8
- readonly promptTemplates: PromptTemplate[];
9
- readonly agentSpecificVariables: AgentSpecificVariables[];
10
- constructor();
11
- protected getSystemMessageDescription(): Promise<SystemMessageDescription | undefined>;
6
+ languageModelRequirements: LanguageModelRequirement[];
7
+ protected defaultLanguageModelPurpose: string;
12
8
  set prompt(prompt: string);
13
9
  }
14
10
  //# sourceMappingURL=custom-chat-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chat-agent.d.ts","sourceRoot":"","sources":["../../src/common/custom-chat-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGpG,qBACa,eACT,SAAQ,8BACR,YAAW,SAAS;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAClC,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,CAAM;IAChD,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,CAAM;;cAMtC,2BAA2B,IAAI,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAKrG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAExB;CACJ"}
1
+ {"version":3,"file":"custom-chat-agent.d.ts","sourceRoot":"","sources":["../../src/common/custom-chat-agent.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAG/D,qBACa,eAAgB,SAAQ,8BAA8B;IAC/D,EAAE,EAAE,MAAM,CAAqB;IAC/B,IAAI,EAAE,MAAM,CAAqB;IACjC,yBAAyB,EAAE,wBAAwB,EAAE,CAAyB;IAC9E,SAAS,CAAC,2BAA2B,EAAE,MAAM,CAAU;IAEvD,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAIxB;CACJ"}
@@ -21,23 +21,20 @@ const chat_agents_1 = require("./chat-agents");
21
21
  const inversify_1 = require("@theia/core/shared/inversify");
22
22
  let CustomChatAgent = class CustomChatAgent extends chat_agents_1.AbstractStreamParsingChatAgent {
23
23
  constructor() {
24
- super('CustomChatAgent', [{ purpose: 'chat' }], 'chat');
25
- this.variables = [];
26
- this.functions = [];
27
- this.promptTemplates = [];
28
- this.agentSpecificVariables = [];
29
- }
30
- async getSystemMessageDescription() {
31
- const resolvedPrompt = await this.promptService.getPrompt(`${this.name}_prompt`);
32
- return resolvedPrompt ? chat_agents_1.SystemMessageDescription.fromResolvedPromptTemplate(resolvedPrompt) : undefined;
24
+ super(...arguments);
25
+ this.id = 'CustomChatAgent';
26
+ this.name = 'CustomChatAgent';
27
+ this.languageModelRequirements = [{ purpose: 'chat' }];
28
+ this.defaultLanguageModelPurpose = 'chat';
33
29
  }
34
30
  set prompt(prompt) {
31
+ // the name is dynamic, so we set the propmptId here
32
+ this.systemPromptId = `${this.name}_prompt`;
35
33
  this.promptTemplates.push({ id: `${this.name}_prompt`, template: prompt });
36
34
  }
37
35
  };
38
36
  exports.CustomChatAgent = CustomChatAgent;
39
37
  exports.CustomChatAgent = CustomChatAgent = tslib_1.__decorate([
40
- (0, inversify_1.injectable)(),
41
- tslib_1.__metadata("design:paramtypes", [])
38
+ (0, inversify_1.injectable)()
42
39
  ], CustomChatAgent);
43
40
  //# sourceMappingURL=custom-chat-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chat-agent.js","sourceRoot":"","sources":["../../src/common/custom-chat-agent.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;;;;AAGhF,+CAAoG;AACpG,4DAA0D;AAGnD,IAAM,eAAe,GAArB,MAAM,eACT,SAAQ,4CAA8B;IAStC;QAEI,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAPnD,cAAS,GAAa,EAAE,CAAC;QACzB,cAAS,GAAa,EAAE,CAAC;QACzB,oBAAe,GAAqB,EAAE,CAAC;QACvC,2BAAsB,GAA6B,EAAE,CAAC;IAK/D,CAAC;IACkB,KAAK,CAAC,2BAA2B;QAChD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;QACjF,OAAO,cAAc,CAAC,CAAC,CAAC,sCAAwB,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,CAAC;IAED,IAAI,MAAM,CAAC,MAAc;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;CACJ,CAAA;AAtBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,sBAAU,GAAE;;GACA,eAAe,CAsB3B"}
1
+ {"version":3,"file":"custom-chat-agent.js","sourceRoot":"","sources":["../../src/common/custom-chat-agent.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;;;;AAGhF,+CAA+D;AAC/D,4DAA0D;AAGnD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,4CAA8B;IAA5D;;QACH,OAAE,GAAW,iBAAiB,CAAC;QAC/B,SAAI,GAAW,iBAAiB,CAAC;QACjC,8BAAyB,GAA+B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,gCAA2B,GAAW,MAAM,CAAC;IAO3D,CAAC;IALG,IAAI,MAAM,CAAC,MAAc;QACrB,oDAAoD;QACpD,IAAI,CAAC,cAAc,GAAG,GAAG,IAAI,CAAC,IAAI,SAAS,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;CACJ,CAAA;AAXY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,sBAAU,GAAE;GACA,eAAe,CAW3B"}
@@ -4,9 +4,7 @@ export * from './chat-model';
4
4
  export * from './chat-model-util';
5
5
  export * from './chat-request-parser';
6
6
  export * from './chat-service';
7
- export * from './command-chat-agents';
8
7
  export * from './custom-chat-agent';
9
8
  export * from './parsed-chat-request';
10
- export * from './orchestrator-chat-agent';
11
- export * from './universal-chat-agent';
9
+ export * from './context-variables';
12
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAeA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAeA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -22,9 +22,7 @@ tslib_1.__exportStar(require("./chat-model"), exports);
22
22
  tslib_1.__exportStar(require("./chat-model-util"), exports);
23
23
  tslib_1.__exportStar(require("./chat-request-parser"), exports);
24
24
  tslib_1.__exportStar(require("./chat-service"), exports);
25
- tslib_1.__exportStar(require("./command-chat-agents"), exports);
26
25
  tslib_1.__exportStar(require("./custom-chat-agent"), exports);
27
26
  tslib_1.__exportStar(require("./parsed-chat-request"), exports);
28
- tslib_1.__exportStar(require("./orchestrator-chat-agent"), exports);
29
- tslib_1.__exportStar(require("./universal-chat-agent"), exports);
27
+ tslib_1.__exportStar(require("./context-variables"), exports);
30
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.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;AAChF,wDAA8B;AAC9B,+DAAqC;AACrC,uDAA6B;AAC7B,4DAAkC;AAClC,gEAAsC;AACtC,yDAA+B;AAC/B,gEAAsC;AACtC,8DAAoC;AACpC,gEAAsC;AACtC,oEAA0C;AAC1C,iEAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.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;AAChF,wDAA8B;AAC9B,+DAAqC;AACrC,uDAA6B;AAC7B,4DAAkC;AAClC,gEAAsC;AACtC,yDAA+B;AAC/B,8DAAoC;AACpC,gEAAsC;AACtC,8DAAoC"}
@@ -1,11 +1,11 @@
1
- import { ChatRequestModelImpl, ChatResponseContent } from './chat-model';
1
+ import { MutableChatRequestModel, ChatResponseContent } from './chat-model';
2
2
  import { ResponseContentFactory, ResponseContentMatcher } from './response-content-matcher';
3
3
  interface Match {
4
4
  matcher: ResponseContentMatcher;
5
5
  index: number;
6
6
  content: string;
7
7
  }
8
- export declare function parseContents(text: string, request: ChatRequestModelImpl, contentMatchers?: ResponseContentMatcher[], defaultContentFactory?: ResponseContentFactory): ChatResponseContent[];
8
+ export declare function parseContents(text: string, request: MutableChatRequestModel, contentMatchers?: ResponseContentMatcher[], defaultContentFactory?: ResponseContentFactory): ChatResponseContent[];
9
9
  export declare function findFirstMatch(contentMatchers: ResponseContentMatcher[], text: string): Match | undefined;
10
10
  export {};
11
11
  //# sourceMappingURL=parse-contents.d.ts.map