@codebolt/agent 6.1.19 → 6.1.21
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.
- package/README.md +19 -10
- package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +11 -15
- package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +0 -1
- package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +16 -33
- package/dist/processor-pieces/messageModifiers/capabilityContextModifier.js +3 -2
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +135 -27
- package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +3 -3
- package/dist/processor-pieces/messageModifiers/contextAssemblyModifier.js +18 -12
- package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +1 -0
- package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +15 -15
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +1 -0
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +48 -2
- package/dist/processor-pieces/messageModifiers/ideContextModifier.js +3 -2
- package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +9 -15
- package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +17 -20
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +8 -19
- package/dist/processor-pieces/postToolCallProcessors/conversationCompactorModifier.d.ts +1 -1
- package/dist/processor-pieces/postToolCallProcessors/conversationCompactorModifier.js +15 -15
- package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +3 -3
- package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +2 -2
- package/dist/processor-pieces/utils/messageModifierHelper.js +3 -3
- package/dist/types/libFunctionTypes.d.ts +5 -0
- package/dist/unified/agent/agent.d.ts +69 -2
- package/dist/unified/agent/agent.js +370 -48
- package/dist/unified/agent/tools.d.ts +17 -3
- package/dist/unified/agent/tools.js +82 -51
- package/dist/unified/base/agentStep.d.ts +1 -0
- package/dist/unified/base/agentStep.js +39 -11
- package/dist/unified/base/initialPromptGenerator.d.ts +2 -0
- package/dist/unified/base/initialPromptGenerator.js +98 -20
- package/dist/unified/base/promptContext.d.ts +3 -0
- package/dist/unified/base/promptContext.js +193 -15
- package/dist/unified/base/responseExecutor.d.ts +9 -1
- package/dist/unified/base/responseExecutor.js +248 -68
- package/dist/unified/index.d.ts +1 -2
- package/dist/unified/index.js +2 -4
- package/dist/unified/services/CompressionCoordinator.js +9 -9
- package/dist/unified/services/compaction/autoCompact.js +5 -5
- package/dist/unified/services/compaction/contextCollapse.js +2 -2
- package/dist/unified/services/compaction/reactiveCompact.js +5 -5
- package/dist/unified/types/libTypes.d.ts +6 -0
- package/dist/unified/utils/agentToolLoader.d.ts +10 -0
- package/dist/unified/utils/agentToolLoader.js +90 -24
- package/package.json +5 -1
- package/dist/unified/agent/codeboltAgent.d.ts +0 -61
- package/dist/unified/agent/codeboltAgent.js +0 -334
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isGeneratedUserContextMessage = isGeneratedUserContextMessage;
|
|
3
4
|
exports.syncProcessedMessageWithRuntimeContext = syncProcessedMessageWithRuntimeContext;
|
|
4
5
|
exports.reconcileRuntimePromptContext = reconcileRuntimePromptContext;
|
|
5
6
|
exports.setSystemPrompt = setSystemPrompt;
|
|
@@ -10,6 +11,8 @@ exports.appendTranscriptMessages = appendTranscriptMessages;
|
|
|
10
11
|
exports.prependTranscriptMessages = prependTranscriptMessages;
|
|
11
12
|
exports.replaceTranscriptMessages = replaceTranscriptMessages;
|
|
12
13
|
exports.getTranscriptMessages = getTranscriptMessages;
|
|
14
|
+
exports.getCurrentUserMessage = getCurrentUserMessage;
|
|
15
|
+
exports.updateCurrentUserMessage = updateCurrentUserMessage;
|
|
13
16
|
exports.buildInferenceParams = buildInferenceParams;
|
|
14
17
|
const RUNTIME_CONTEXT_METADATA_KEY = '__codeboltRuntimePromptContext';
|
|
15
18
|
function cloneContent(content) {
|
|
@@ -31,6 +34,90 @@ function cloneMessage(message) {
|
|
|
31
34
|
function cloneMessages(messages) {
|
|
32
35
|
return messages.map((message) => cloneMessage(message));
|
|
33
36
|
}
|
|
37
|
+
function textFromContent(content) {
|
|
38
|
+
if (typeof content === 'string') {
|
|
39
|
+
return content;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
return JSON.stringify(content);
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return String(content);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function normalizeTextPart(content) {
|
|
49
|
+
return {
|
|
50
|
+
type: 'text',
|
|
51
|
+
text: textFromContent(content),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function appendContent(existingContent, additionalContent) {
|
|
55
|
+
if (typeof existingContent === 'string' && typeof additionalContent === 'string') {
|
|
56
|
+
return `${existingContent}\n\n${additionalContent}`;
|
|
57
|
+
}
|
|
58
|
+
const existingParts = Array.isArray(existingContent)
|
|
59
|
+
? [...existingContent]
|
|
60
|
+
: [normalizeTextPart(existingContent)];
|
|
61
|
+
const additionalParts = Array.isArray(additionalContent)
|
|
62
|
+
? [...additionalContent]
|
|
63
|
+
: [normalizeTextPart(additionalContent)];
|
|
64
|
+
return [...existingParts, ...additionalParts];
|
|
65
|
+
}
|
|
66
|
+
function messagesHaveSameContent(firstMessage, secondMessage) {
|
|
67
|
+
return firstMessage.role === secondMessage.role &&
|
|
68
|
+
textFromContent(firstMessage.content) === textFromContent(secondMessage.content);
|
|
69
|
+
}
|
|
70
|
+
function getTextContent(message) {
|
|
71
|
+
if (typeof message.content === 'string') {
|
|
72
|
+
return message.content.trim();
|
|
73
|
+
}
|
|
74
|
+
if (!Array.isArray(message.content)) {
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
return message.content
|
|
78
|
+
.map((contentPart) => {
|
|
79
|
+
if (contentPart &&
|
|
80
|
+
typeof contentPart === 'object' &&
|
|
81
|
+
!Array.isArray(contentPart) &&
|
|
82
|
+
contentPart.type === 'text' &&
|
|
83
|
+
typeof contentPart.text === 'string') {
|
|
84
|
+
return contentPart.text;
|
|
85
|
+
}
|
|
86
|
+
return '';
|
|
87
|
+
})
|
|
88
|
+
.join('\n')
|
|
89
|
+
.trim();
|
|
90
|
+
}
|
|
91
|
+
function isGeneratedUserContextMessage(message) {
|
|
92
|
+
if (message.role !== 'user') {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
const content = getTextContent(message);
|
|
96
|
+
if (!content) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return content.startsWith('<flags>') ||
|
|
100
|
+
content.startsWith('<system-reminder>') ||
|
|
101
|
+
content.startsWith('This is the CodeBolt AI Agent. Setting up context for our chat.') ||
|
|
102
|
+
content.startsWith("I'm currently working in the effective project directory:") ||
|
|
103
|
+
content.startsWith('The user selected the following capabilities for this turn:') ||
|
|
104
|
+
content.startsWith('## Assembled Context') ||
|
|
105
|
+
content.startsWith('## Rule-Based Context');
|
|
106
|
+
}
|
|
107
|
+
function resolveCurrentUserMessageIndex(runtimeContext) {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
const currentIndex = runtimeContext.currentUserMessageIndex;
|
|
110
|
+
if (currentIndex !== undefined &&
|
|
111
|
+
((_a = runtimeContext.transcriptMessages[currentIndex]) === null || _a === void 0 ? void 0 : _a.role) === 'user') {
|
|
112
|
+
return currentIndex;
|
|
113
|
+
}
|
|
114
|
+
for (let i = runtimeContext.transcriptMessages.length - 1; i >= 0; i--) {
|
|
115
|
+
if (((_b = runtimeContext.transcriptMessages[i]) === null || _b === void 0 ? void 0 : _b.role) === 'user') {
|
|
116
|
+
return i;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return -1;
|
|
120
|
+
}
|
|
34
121
|
function buildSystemMessages(runtimeContext) {
|
|
35
122
|
const stringSections = [];
|
|
36
123
|
const nonStringSystemMessages = [];
|
|
@@ -55,17 +142,22 @@ function buildSystemMessages(runtimeContext) {
|
|
|
55
142
|
return flattenedSystemMessages;
|
|
56
143
|
}
|
|
57
144
|
function flattenRuntimeMessages(runtimeContext) {
|
|
145
|
+
const transcriptMessages = cloneMessages(runtimeContext.transcriptMessages);
|
|
146
|
+
const currentUserMessageIndex = resolveCurrentUserMessageIndex(runtimeContext);
|
|
147
|
+
if (runtimeContext.currentUserContextMessage && currentUserMessageIndex !== -1) {
|
|
148
|
+
transcriptMessages.splice(currentUserMessageIndex, 0, cloneMessage(runtimeContext.currentUserContextMessage));
|
|
149
|
+
}
|
|
58
150
|
return [
|
|
59
151
|
...buildSystemMessages(runtimeContext),
|
|
60
152
|
...cloneMessages(runtimeContext.userContextMessages),
|
|
61
|
-
...
|
|
153
|
+
...transcriptMessages,
|
|
62
154
|
];
|
|
63
155
|
}
|
|
64
156
|
function inferRuntimeContext(prompt) {
|
|
65
157
|
var _a;
|
|
66
|
-
const messages = (_a = prompt.message.
|
|
158
|
+
const messages = (_a = prompt.message.input) !== null && _a !== void 0 ? _a : [];
|
|
67
159
|
const systemMessages = messages.filter((message) => message.role === 'system');
|
|
68
|
-
const transcriptMessages = messages.filter((message) => message.role !== 'system');
|
|
160
|
+
const transcriptMessages = messages.filter((message) => message.role !== 'system' && !isGeneratedUserContextMessage(message));
|
|
69
161
|
let systemPrompt;
|
|
70
162
|
const systemContextMessages = [];
|
|
71
163
|
if (systemMessages.length > 0) {
|
|
@@ -83,6 +175,8 @@ function inferRuntimeContext(prompt) {
|
|
|
83
175
|
systemContextMessages,
|
|
84
176
|
userContextMessages: [],
|
|
85
177
|
transcriptMessages: cloneMessages(transcriptMessages),
|
|
178
|
+
currentUserContextMessage: undefined,
|
|
179
|
+
currentUserMessageIndex: undefined,
|
|
86
180
|
};
|
|
87
181
|
}
|
|
88
182
|
function getRuntimePromptContext(prompt) {
|
|
@@ -97,6 +191,12 @@ function getRuntimePromptContext(prompt) {
|
|
|
97
191
|
systemContextMessages: cloneMessages(runtimeContext.systemContextMessages),
|
|
98
192
|
userContextMessages: cloneMessages(runtimeContext.userContextMessages),
|
|
99
193
|
transcriptMessages: cloneMessages(runtimeContext.transcriptMessages),
|
|
194
|
+
currentUserContextMessage: runtimeContext.currentUserContextMessage
|
|
195
|
+
? cloneMessage(runtimeContext.currentUserContextMessage)
|
|
196
|
+
: undefined,
|
|
197
|
+
currentUserMessageIndex: typeof runtimeContext.currentUserMessageIndex === 'number'
|
|
198
|
+
? runtimeContext.currentUserMessageIndex
|
|
199
|
+
: undefined,
|
|
100
200
|
};
|
|
101
201
|
}
|
|
102
202
|
function ensureRuntimePromptContext(prompt) {
|
|
@@ -108,7 +208,8 @@ function withRuntimePromptContext(prompt, runtimeContext) {
|
|
|
108
208
|
...prompt,
|
|
109
209
|
message: {
|
|
110
210
|
...prompt.message,
|
|
111
|
-
|
|
211
|
+
formatVersion: 'codebolt.llm.v2',
|
|
212
|
+
input: flattenRuntimeMessages(runtimeContext),
|
|
112
213
|
},
|
|
113
214
|
metadata: {
|
|
114
215
|
...prompt.metadata,
|
|
@@ -117,6 +218,10 @@ function withRuntimePromptContext(prompt, runtimeContext) {
|
|
|
117
218
|
systemContextMessages: cloneMessages(runtimeContext.systemContextMessages),
|
|
118
219
|
userContextMessages: cloneMessages(runtimeContext.userContextMessages),
|
|
119
220
|
transcriptMessages: cloneMessages(runtimeContext.transcriptMessages),
|
|
221
|
+
currentUserContextMessage: runtimeContext.currentUserContextMessage
|
|
222
|
+
? cloneMessage(runtimeContext.currentUserContextMessage)
|
|
223
|
+
: undefined,
|
|
224
|
+
currentUserMessageIndex: runtimeContext.currentUserMessageIndex,
|
|
120
225
|
},
|
|
121
226
|
},
|
|
122
227
|
};
|
|
@@ -130,14 +235,26 @@ function reconcileRuntimePromptContext(prompt) {
|
|
|
130
235
|
if (!runtimeContext) {
|
|
131
236
|
return syncProcessedMessageWithRuntimeContext(prompt);
|
|
132
237
|
}
|
|
133
|
-
const flattenedMessages = (_a = prompt.message.
|
|
134
|
-
const transcriptStartIndex = (runtimeContext.
|
|
135
|
-
runtimeContext.systemContextMessages.length +
|
|
238
|
+
const flattenedMessages = (_a = prompt.message.input) !== null && _a !== void 0 ? _a : [];
|
|
239
|
+
const transcriptStartIndex = buildSystemMessages(runtimeContext).length +
|
|
136
240
|
runtimeContext.userContextMessages.length;
|
|
137
241
|
const normalizedTranscriptStartIndex = Math.min(transcriptStartIndex, flattenedMessages.length);
|
|
242
|
+
const candidateTranscriptMessages = cloneMessages(flattenedMessages.slice(normalizedTranscriptStartIndex));
|
|
243
|
+
const possibleCurrentUserContextMessageIndex = runtimeContext.currentUserMessageIndex;
|
|
244
|
+
const possibleCurrentUserContextMessage = possibleCurrentUserContextMessageIndex === undefined
|
|
245
|
+
? undefined
|
|
246
|
+
: candidateTranscriptMessages[possibleCurrentUserContextMessageIndex];
|
|
247
|
+
if (runtimeContext.currentUserContextMessage &&
|
|
248
|
+
possibleCurrentUserContextMessageIndex !== undefined &&
|
|
249
|
+
possibleCurrentUserContextMessage &&
|
|
250
|
+
messagesHaveSameContent(possibleCurrentUserContextMessage, runtimeContext.currentUserContextMessage)) {
|
|
251
|
+
candidateTranscriptMessages.splice(possibleCurrentUserContextMessageIndex, 1);
|
|
252
|
+
}
|
|
138
253
|
return withRuntimePromptContext(prompt, {
|
|
139
254
|
...runtimeContext,
|
|
140
|
-
transcriptMessages:
|
|
255
|
+
transcriptMessages: candidateTranscriptMessages,
|
|
256
|
+
currentUserContextMessage: runtimeContext.currentUserContextMessage,
|
|
257
|
+
currentUserMessageIndex: runtimeContext.currentUserMessageIndex,
|
|
141
258
|
});
|
|
142
259
|
}
|
|
143
260
|
function setSystemPrompt(prompt, systemPrompt) {
|
|
@@ -159,19 +276,44 @@ function appendSystemContextMessage(prompt, message) {
|
|
|
159
276
|
}
|
|
160
277
|
function appendUserContextMessage(prompt, message) {
|
|
161
278
|
const runtimeContext = ensureRuntimePromptContext(prompt);
|
|
279
|
+
const currentUserMessageIndex = resolveCurrentUserMessageIndex(runtimeContext);
|
|
280
|
+
if (currentUserMessageIndex === -1) {
|
|
281
|
+
return withRuntimePromptContext(prompt, {
|
|
282
|
+
...runtimeContext,
|
|
283
|
+
userContextMessages: [
|
|
284
|
+
...runtimeContext.userContextMessages,
|
|
285
|
+
cloneMessage(message),
|
|
286
|
+
],
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
if (runtimeContext.currentUserContextMessage) {
|
|
290
|
+
return withRuntimePromptContext(prompt, {
|
|
291
|
+
...runtimeContext,
|
|
292
|
+
currentUserContextMessage: {
|
|
293
|
+
...runtimeContext.currentUserContextMessage,
|
|
294
|
+
content: appendContent(runtimeContext.currentUserContextMessage.content, message.content),
|
|
295
|
+
},
|
|
296
|
+
currentUserMessageIndex,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
162
299
|
return withRuntimePromptContext(prompt, {
|
|
163
300
|
...runtimeContext,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
cloneMessage(message),
|
|
167
|
-
],
|
|
301
|
+
currentUserContextMessage: cloneMessage(message),
|
|
302
|
+
currentUserMessageIndex,
|
|
168
303
|
});
|
|
169
304
|
}
|
|
170
305
|
function appendTranscriptMessage(prompt, message) {
|
|
171
306
|
const runtimeContext = ensureRuntimePromptContext(prompt);
|
|
307
|
+
const transcriptMessages = [...runtimeContext.transcriptMessages, cloneMessage(message)];
|
|
172
308
|
return withRuntimePromptContext(prompt, {
|
|
173
309
|
...runtimeContext,
|
|
174
|
-
transcriptMessages
|
|
310
|
+
transcriptMessages,
|
|
311
|
+
currentUserMessageIndex: message.role === 'user'
|
|
312
|
+
? transcriptMessages.length - 1
|
|
313
|
+
: runtimeContext.currentUserMessageIndex,
|
|
314
|
+
currentUserContextMessage: message.role === 'user'
|
|
315
|
+
? undefined
|
|
316
|
+
: runtimeContext.currentUserContextMessage,
|
|
175
317
|
});
|
|
176
318
|
}
|
|
177
319
|
function appendTranscriptMessages(prompt, messages) {
|
|
@@ -186,12 +328,17 @@ function appendTranscriptMessages(prompt, messages) {
|
|
|
186
328
|
}
|
|
187
329
|
function prependTranscriptMessages(prompt, messages) {
|
|
188
330
|
const runtimeContext = ensureRuntimePromptContext(prompt);
|
|
331
|
+
const prependedMessages = cloneMessages(messages);
|
|
189
332
|
return withRuntimePromptContext(prompt, {
|
|
190
333
|
...runtimeContext,
|
|
191
334
|
transcriptMessages: [
|
|
192
|
-
...
|
|
335
|
+
...prependedMessages,
|
|
193
336
|
...runtimeContext.transcriptMessages,
|
|
194
337
|
],
|
|
338
|
+
currentUserContextMessage: runtimeContext.currentUserContextMessage,
|
|
339
|
+
currentUserMessageIndex: runtimeContext.currentUserMessageIndex === undefined
|
|
340
|
+
? undefined
|
|
341
|
+
: runtimeContext.currentUserMessageIndex + prependedMessages.length,
|
|
195
342
|
});
|
|
196
343
|
}
|
|
197
344
|
function replaceTranscriptMessages(prompt, messages) {
|
|
@@ -199,15 +346,46 @@ function replaceTranscriptMessages(prompt, messages) {
|
|
|
199
346
|
return withRuntimePromptContext(prompt, {
|
|
200
347
|
...runtimeContext,
|
|
201
348
|
transcriptMessages: cloneMessages(messages),
|
|
349
|
+
currentUserContextMessage: undefined,
|
|
350
|
+
currentUserMessageIndex: undefined,
|
|
202
351
|
});
|
|
203
352
|
}
|
|
204
353
|
function getTranscriptMessages(prompt) {
|
|
205
354
|
return cloneMessages(ensureRuntimePromptContext(prompt).transcriptMessages);
|
|
206
355
|
}
|
|
356
|
+
function getCurrentUserMessage(prompt) {
|
|
357
|
+
const runtimeContext = ensureRuntimePromptContext(prompt);
|
|
358
|
+
const currentUserMessageIndex = resolveCurrentUserMessageIndex(runtimeContext);
|
|
359
|
+
if (currentUserMessageIndex === -1) {
|
|
360
|
+
return undefined;
|
|
361
|
+
}
|
|
362
|
+
const message = runtimeContext.transcriptMessages[currentUserMessageIndex];
|
|
363
|
+
return message ? cloneMessage(message) : undefined;
|
|
364
|
+
}
|
|
365
|
+
function updateCurrentUserMessage(prompt, update) {
|
|
366
|
+
const runtimeContext = ensureRuntimePromptContext(prompt);
|
|
367
|
+
const currentUserMessageIndex = resolveCurrentUserMessageIndex(runtimeContext);
|
|
368
|
+
if (currentUserMessageIndex === -1) {
|
|
369
|
+
return prompt;
|
|
370
|
+
}
|
|
371
|
+
const currentUserMessage = runtimeContext.transcriptMessages[currentUserMessageIndex];
|
|
372
|
+
if (!currentUserMessage) {
|
|
373
|
+
return prompt;
|
|
374
|
+
}
|
|
375
|
+
const transcriptMessages = cloneMessages(runtimeContext.transcriptMessages);
|
|
376
|
+
transcriptMessages[currentUserMessageIndex] = update(cloneMessage(currentUserMessage));
|
|
377
|
+
return withRuntimePromptContext(prompt, {
|
|
378
|
+
...runtimeContext,
|
|
379
|
+
transcriptMessages,
|
|
380
|
+
currentUserContextMessage: runtimeContext.currentUserContextMessage,
|
|
381
|
+
currentUserMessageIndex,
|
|
382
|
+
});
|
|
383
|
+
}
|
|
207
384
|
function buildInferenceParams(prompt) {
|
|
208
385
|
const runtimeContext = ensureRuntimePromptContext(prompt);
|
|
209
386
|
return {
|
|
210
387
|
...prompt.message,
|
|
211
|
-
|
|
388
|
+
formatVersion: 'codebolt.llm.v2',
|
|
389
|
+
input: flattenRuntimeMessages(runtimeContext),
|
|
212
390
|
};
|
|
213
391
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AgentResponseExecutor, PostToolCallProcessor, PreToolCallProcessor, ResponseInput, ResponseOutput } from '@codebolt/types/agent';
|
|
1
|
+
import { AgentResponseExecutor, AgentLocalTool, PostToolCallProcessor, PreToolCallProcessor, ResponseInput, ResponseOutput } from '@codebolt/types/agent';
|
|
2
2
|
import { LoopDetectionService } from '../services/LoopDetectionService';
|
|
3
3
|
export declare class ResponseExecutor implements AgentResponseExecutor {
|
|
4
4
|
private preToolCallProcessors;
|
|
@@ -6,10 +6,12 @@ export declare class ResponseExecutor implements AgentResponseExecutor {
|
|
|
6
6
|
private completed;
|
|
7
7
|
private finalMessage;
|
|
8
8
|
private loopDetectionService;
|
|
9
|
+
private localToolsByExecutionName;
|
|
9
10
|
constructor(options: {
|
|
10
11
|
preToolCallProcessors: PreToolCallProcessor[];
|
|
11
12
|
postToolCallProcessors: PostToolCallProcessor[];
|
|
12
13
|
loopDetectionService?: LoopDetectionService;
|
|
14
|
+
localToolsByExecutionName?: Map<string, AgentLocalTool>;
|
|
13
15
|
});
|
|
14
16
|
executeResponse(input: ResponseInput): Promise<ResponseOutput>;
|
|
15
17
|
private parseToolCall;
|
|
@@ -17,8 +19,14 @@ export declare class ResponseExecutor implements AgentResponseExecutor {
|
|
|
17
19
|
private getToolCalls;
|
|
18
20
|
private hasExecutableToolCalls;
|
|
19
21
|
private runRequiredCompaction;
|
|
22
|
+
private buildToolResultMessages;
|
|
23
|
+
private refreshNextMessageFromCompactedContext;
|
|
24
|
+
private extractCompactedContextMessages;
|
|
25
|
+
private isMessageObject;
|
|
26
|
+
private getMessagesAddedAfterInference;
|
|
20
27
|
private executeTools;
|
|
21
28
|
private sendFinalMessageToChat;
|
|
29
|
+
private getPendingAsyncTasks;
|
|
22
30
|
private extractCompletionMessage;
|
|
23
31
|
private formatCompletionValue;
|
|
24
32
|
private executeSingleToolCall;
|