@codebolt/agent 1.2.1 → 2.2.3
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 +157 -66
- package/dist/{agent.js → builderpattern/agent.js} +2 -2
- package/dist/{followupquestionbuilder.d.ts → builderpattern/followupquestionbuilder.d.ts} +1 -1
- package/dist/{followupquestionbuilder.js → builderpattern/followupquestionbuilder.js} +1 -1
- package/dist/{index.d.ts → builderpattern/index.d.ts} +3 -3
- package/dist/{llmoutputhandler.d.ts → builderpattern/llmoutputhandler.d.ts} +1 -1
- package/dist/{llmoutputhandler.js → builderpattern/llmoutputhandler.js} +7 -7
- package/dist/{promptbuilder.d.ts → builderpattern/promptbuilder.d.ts} +3 -3
- package/dist/{taskInstruction.d.ts → builderpattern/taskInstruction.d.ts} +2 -2
- package/dist/{usermessage.d.ts → builderpattern/usermessage.d.ts} +9 -4
- package/dist/composablepattern/agent.d.ts +169 -0
- package/dist/composablepattern/agent.js +598 -0
- package/dist/composablepattern/codebolt-storage.d.ts +67 -0
- package/dist/composablepattern/codebolt-storage.js +320 -0
- package/dist/composablepattern/document.d.ts +149 -0
- package/dist/composablepattern/document.js +372 -0
- package/dist/composablepattern/examples/codebolt-integration-example.d.ts +12 -0
- package/dist/composablepattern/examples/codebolt-integration-example.js +218 -0
- package/dist/composablepattern/examples/codebolt-storage-example.d.ts +40 -0
- package/dist/composablepattern/examples/codebolt-storage-example.js +223 -0
- package/dist/composablepattern/examples/custom-steps-example.d.ts +20 -0
- package/dist/composablepattern/examples/custom-steps-example.js +455 -0
- package/dist/composablepattern/examples/document-agent.d.ts +17 -0
- package/dist/composablepattern/examples/document-agent.js +107 -0
- package/dist/composablepattern/examples/simple-codebolt-integration.d.ts +8 -0
- package/dist/composablepattern/examples/simple-codebolt-integration.js +164 -0
- package/dist/composablepattern/examples/weather-agent.d.ts +18 -0
- package/dist/composablepattern/examples/weather-agent.js +86 -0
- package/dist/composablepattern/examples/workflow-example.d.ts +12 -0
- package/dist/composablepattern/examples/workflow-example.js +463 -0
- package/dist/composablepattern/index.d.ts +63 -0
- package/dist/composablepattern/index.js +115 -0
- package/dist/composablepattern/memory.d.ts +89 -0
- package/dist/composablepattern/memory.js +141 -0
- package/dist/composablepattern/tool.d.ts +84 -0
- package/dist/composablepattern/tool.js +260 -0
- package/dist/composablepattern/types.d.ts +194 -0
- package/dist/composablepattern/types.js +6 -0
- package/dist/composablepattern/user-context.d.ts +214 -0
- package/dist/composablepattern/user-context.js +275 -0
- package/dist/composablepattern/workflow.d.ts +388 -0
- package/dist/composablepattern/workflow.js +562 -0
- package/dist/local-tools/fileTools.d.ts +26 -0
- package/dist/local-tools/fileTools.js +162 -0
- package/dist/processor/agent/agentStep.d.ts +49 -0
- package/dist/processor/agent/agentStep.js +241 -0
- package/dist/processor/agent/toolExecutor.d.ts +19 -0
- package/dist/processor/agent/toolExecutor.js +90 -0
- package/dist/processor/index.d.ts +7 -0
- package/dist/processor/index.js +36 -0
- package/dist/processor/messageModifiers/baseMessageModifier.d.ts +20 -0
- package/dist/processor/messageModifiers/baseMessageModifier.js +55 -0
- package/dist/processor/processors/baseProcessor.d.ts +14 -0
- package/dist/processor/processors/baseProcessor.js +29 -0
- package/dist/processor/tools/baseTool.d.ts +10 -0
- package/dist/processor/tools/baseTool.js +20 -0
- package/dist/processor/tools/toolList.d.ts +9 -0
- package/dist/processor/tools/toolList.js +22 -0
- package/dist/processor/types/interfaces.d.ts +117 -0
- package/dist/processor/types/interfaces.js +2 -0
- package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.d.ts +13 -0
- package/dist/processor-pieces/additionalModifiers/argumentProcessorModifier.js +68 -0
- package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.d.ts +15 -0
- package/dist/processor-pieces/additionalModifiers/atFileProcessorModifier.js +212 -0
- package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.d.ts +19 -0
- package/dist/processor-pieces/additionalModifiers/chatCompressionModifier.js +110 -0
- package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.d.ts +23 -0
- package/dist/processor-pieces/additionalModifiers/chatRecordingModifier.js +173 -0
- package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.d.ts +14 -0
- package/dist/processor-pieces/additionalModifiers/coreSystemPromptModifier.js +93 -0
- package/dist/processor-pieces/additionalModifiers/directoryContextModifier.d.ts +30 -0
- package/dist/processor-pieces/additionalModifiers/directoryContextModifier.js +330 -0
- package/dist/processor-pieces/additionalModifiers/environmentContextModifier.d.ts +26 -0
- package/dist/processor-pieces/additionalModifiers/environmentContextModifier.js +269 -0
- package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.d.ts +38 -0
- package/dist/processor-pieces/additionalModifiers/fallbackHandlerModifier.js +217 -0
- package/dist/processor-pieces/additionalModifiers/ideContextModifier.d.ts +34 -0
- package/dist/processor-pieces/additionalModifiers/ideContextModifier.js +147 -0
- package/dist/processor-pieces/additionalModifiers/index.d.ts +12 -0
- package/dist/processor-pieces/additionalModifiers/index.js +28 -0
- package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.d.ts +29 -0
- package/dist/processor-pieces/additionalModifiers/loopDetectionModifier.js +155 -0
- package/dist/processor-pieces/additionalModifiers/memoryImportModifier.d.ts +15 -0
- package/dist/processor-pieces/additionalModifiers/memoryImportModifier.js +129 -0
- package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.d.ts +25 -0
- package/dist/processor-pieces/additionalModifiers/shellProcessorModifier.js +169 -0
- package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.d.ts +20 -0
- package/dist/processor-pieces/additionalModifiers/toolInjectionModifier.js +152 -0
- package/dist/processor-pieces/base/baseMessageModifier.d.ts +12 -0
- package/dist/processor-pieces/base/baseMessageModifier.js +15 -0
- package/dist/processor-pieces/base/basePostInferenceProcessor.d.ts +13 -0
- package/dist/processor-pieces/base/basePostInferenceProcessor.js +18 -0
- package/dist/processor-pieces/base/basePostToolCallProcessor.d.ts +15 -0
- package/dist/processor-pieces/base/basePostToolCallProcessor.js +25 -0
- package/dist/processor-pieces/base/basePreInferenceProcessor.d.ts +12 -0
- package/dist/processor-pieces/base/basePreInferenceProcessor.js +17 -0
- package/dist/processor-pieces/base/basePreToolCallProcessor.d.ts +18 -0
- package/dist/processor-pieces/base/basePreToolCallProcessor.js +66 -0
- package/dist/processor-pieces/base/index.d.ts +9 -0
- package/dist/processor-pieces/base/index.js +18 -0
- package/dist/processor-pieces/index.d.ts +1 -0
- package/dist/processor-pieces/index.js +59 -0
- package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/addCurrentDirectoryRootFilesModifier.js +93 -0
- package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.d.ts +31 -0
- package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +145 -0
- package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.d.ts +9 -0
- package/dist/processor-pieces/messageModifiers/advancedSystemInstructionMessageModifier.js +77 -0
- package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.d.ts +13 -0
- package/dist/processor-pieces/messageModifiers/argumentProcessorModifier.js +68 -0
- package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.d.ts +25 -0
- package/dist/processor-pieces/messageModifiers/atFileProcessorModifier.js +453 -0
- package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +67 -0
- package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +9 -0
- package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +90 -0
- package/dist/processor-pieces/messageModifiers/chatCompressionModifier.d.ts +19 -0
- package/dist/processor-pieces/messageModifiers/chatCompressionModifier.js +110 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.d.ts +20 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.example.js +124 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.js +104 -0
- package/dist/processor-pieces/messageModifiers/chatRecordingModifier.d.ts +23 -0
- package/dist/processor-pieces/messageModifiers/chatRecordingModifier.js +173 -0
- package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.d.ts +14 -0
- package/dist/processor-pieces/messageModifiers/coreSystemPromptModifier.js +130 -0
- package/dist/processor-pieces/messageModifiers/directoryContextModifier.d.ts +36 -0
- package/dist/processor-pieces/messageModifiers/directoryContextModifier.js +418 -0
- package/dist/processor-pieces/messageModifiers/environmentContext.d.ts +41 -0
- package/dist/processor-pieces/messageModifiers/environmentContext.js +355 -0
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.d.ts +26 -0
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
- package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +13 -0
- package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +59 -0
- package/dist/processor-pieces/messageModifiers/ideContextModifier.d.ts +34 -0
- package/dist/processor-pieces/messageModifiers/ideContextModifier.js +157 -0
- package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.d.ts +19 -0
- package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +221 -0
- package/dist/processor-pieces/messageModifiers/index.d.ts +11 -0
- package/dist/processor-pieces/messageModifiers/index.js +26 -0
- package/dist/processor-pieces/messageModifiers/memoryImportModifier.d.ts +15 -0
- package/dist/processor-pieces/messageModifiers/memoryImportModifier.js +129 -0
- package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.d.ts +23 -0
- package/dist/processor-pieces/messageModifiers/mentionedFilesModifier.js +207 -0
- package/dist/processor-pieces/messageModifiers/simpleMessageModifier.d.ts +7 -0
- package/dist/processor-pieces/messageModifiers/simpleMessageModifier.js +26 -0
- package/dist/processor-pieces/messageModifiers/toolInjectionModifier.d.ts +20 -0
- package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
- package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +38 -0
- package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +392 -0
- package/dist/processor-pieces/postInference/llmOutputValidityProcessor.d.ts +1 -0
- package/dist/processor-pieces/postInference/llmOutputValidityProcessor.js +2 -0
- package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.d.ts +7 -0
- package/dist/processor-pieces/postInferenceProcessors/checkForNoToolCall.js +24 -0
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -0
- package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.d.ts +41 -0
- package/dist/processor-pieces/postToolCall/advancedLoopDetectionProcessor.js +197 -0
- package/dist/processor-pieces/postToolCall/chatCompressionProcessor.d.ts +26 -0
- package/dist/processor-pieces/postToolCall/chatCompressionProcessor.js +90 -0
- package/dist/processor-pieces/postToolCall/chatRecordingProcessor.d.ts +81 -0
- package/dist/processor-pieces/postToolCall/chatRecordingProcessor.js +329 -0
- package/dist/processor-pieces/postToolCall/contextManagementProcessor.d.ts +40 -0
- package/dist/processor-pieces/postToolCall/contextManagementProcessor.js +272 -0
- package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.d.ts +49 -0
- package/dist/processor-pieces/postToolCall/conversationCompactorProcessor.js +291 -0
- package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.d.ts +49 -0
- package/dist/processor-pieces/postToolCall/conversationContinuityProcessor.js +293 -0
- package/dist/processor-pieces/postToolCall/followUpConversationProcessor.d.ts +47 -0
- package/dist/processor-pieces/postToolCall/followUpConversationProcessor.js +249 -0
- package/dist/processor-pieces/postToolCall/loopDetectionProcessor.d.ts +30 -0
- package/dist/processor-pieces/postToolCall/loopDetectionProcessor.js +137 -0
- package/dist/processor-pieces/postToolCall/responseValidationProcessor.d.ts +30 -0
- package/dist/processor-pieces/postToolCall/responseValidationProcessor.js +228 -0
- package/dist/processor-pieces/postToolCall/telemetryProcessor.d.ts +99 -0
- package/dist/processor-pieces/postToolCall/telemetryProcessor.js +278 -0
- package/dist/processor-pieces/postToolCall/tokenManagementProcessor.d.ts +37 -0
- package/dist/processor-pieces/postToolCall/tokenManagementProcessor.js +178 -0
- package/dist/processor-pieces/postToolCall/toolExecutionProcessor.d.ts +43 -0
- package/dist/processor-pieces/postToolCall/toolExecutionProcessor.js +207 -0
- package/dist/processor-pieces/postToolCallProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/postToolCallProcessors/index.js +2 -0
- package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.d.ts +25 -0
- package/dist/processor-pieces/postToolCallProcessors/shellProcessorModifier.js +225 -0
- package/dist/processor-pieces/preInference/conversationCompactorProcessor.d.ts +52 -0
- package/dist/processor-pieces/preInference/conversationCompactorProcessor.js +264 -0
- package/dist/processor-pieces/preInference/conversationContinuityProcessor.d.ts +49 -0
- package/dist/processor-pieces/preInference/conversationContinuityProcessor.js +293 -0
- package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
- package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
- package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.d.ts +7 -0
- package/dist/processor-pieces/preInferenceProcessors/conversationCompaction.js +31 -0
- package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/preInferenceProcessors/index.js +2 -0
- package/dist/processor-pieces/preToolCall/index.d.ts +9 -0
- package/dist/processor-pieces/preToolCall/index.js +18 -0
- package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.d.ts +58 -0
- package/dist/processor-pieces/preToolCall/localToolInterceptorProcessor.js +444 -0
- package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.d.ts +44 -0
- package/dist/processor-pieces/preToolCall/toolParameterModifierProcessor.js +367 -0
- package/dist/processor-pieces/preToolCall/toolValidationProcessor.d.ts +58 -0
- package/dist/processor-pieces/preToolCall/toolValidationProcessor.js +391 -0
- package/dist/processor-pieces/pretoolCallProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/pretoolCallProcessors/index.js +2 -0
- package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.d.ts +41 -0
- package/dist/processor-pieces/processors/advancedLoopDetectionProcessor.js +197 -0
- package/dist/processor-pieces/processors/chatCompressionProcessor.d.ts +26 -0
- package/dist/processor-pieces/processors/chatCompressionProcessor.js +90 -0
- package/dist/processor-pieces/processors/chatRecordingProcessor.d.ts +81 -0
- package/dist/processor-pieces/processors/chatRecordingProcessor.js +329 -0
- package/dist/processor-pieces/processors/contextManagementProcessor.d.ts +40 -0
- package/dist/processor-pieces/processors/contextManagementProcessor.js +305 -0
- package/dist/processor-pieces/processors/loopDetectionProcessor.d.ts +30 -0
- package/dist/processor-pieces/processors/loopDetectionProcessor.js +137 -0
- package/dist/processor-pieces/processors/responseValidationProcessor.d.ts +30 -0
- package/dist/processor-pieces/processors/responseValidationProcessor.js +228 -0
- package/dist/processor-pieces/processors/telemetryProcessor.d.ts +99 -0
- package/dist/processor-pieces/processors/telemetryProcessor.js +311 -0
- package/dist/processor-pieces/processors/tokenManagementProcessor.d.ts +37 -0
- package/dist/processor-pieces/processors/tokenManagementProcessor.js +178 -0
- package/dist/processor-pieces/processors/toolExecutionProcessor.d.ts +43 -0
- package/dist/processor-pieces/processors/toolExecutionProcessor.js +207 -0
- package/dist/processor-pieces/tools/fileTools.d.ts +26 -0
- package/dist/processor-pieces/tools/fileTools.js +162 -0
- package/dist/processor-pieces/utils/messageModifierHelper.d.ts +4 -0
- package/dist/processor-pieces/utils/messageModifierHelper.js +58 -0
- package/dist/types/commonTypes.d.ts +4 -0
- package/dist/types/processorTypes.d.ts +67 -0
- package/dist/types/processorTypes.js +58 -0
- package/dist/unified/agent/agent.d.ts +17 -0
- package/dist/unified/agent/agent.js +79 -0
- package/dist/unified/agent/team.d.ts +2 -0
- package/dist/unified/agent/team.js +6 -0
- package/dist/unified/agent/tool.d.ts +99 -0
- package/dist/unified/agent/tool.js +440 -0
- package/dist/unified/agent/tools.d.ts +44 -0
- package/dist/unified/agent/tools.js +487 -0
- package/dist/unified/agent/workflow.d.ts +24 -0
- package/dist/unified/agent/workflow.js +275 -0
- package/dist/unified/agent/workflowControls.d.ts +11 -0
- package/dist/unified/agent/workflowControls.js +20 -0
- package/dist/unified/agent/workflowSteps.d.ts +63 -0
- package/dist/unified/agent/workflowSteps.js +284 -0
- package/dist/unified/base/agentStep.d.ts +32 -0
- package/dist/unified/base/agentStep.js +96 -0
- package/dist/unified/base/create/createInitialPromptGenerators.d.ts +5 -0
- package/dist/unified/base/create/createInitialPromptGenerators.js +17 -0
- package/dist/unified/base/index.d.ts +5 -0
- package/dist/unified/base/index.js +13 -0
- package/dist/unified/base/initialPromptGenerator.d.ts +48 -0
- package/dist/unified/base/initialPromptGenerator.js +118 -0
- package/dist/unified/base/responseExecutor.d.ts +36 -0
- package/dist/unified/base/responseExecutor.js +283 -0
- package/dist/unified/examples/agentExample.d.ts +46 -0
- package/dist/unified/examples/agentExample.js +464 -0
- package/dist/unified/examples/documentationPatternExample.d.ts +10 -0
- package/dist/unified/examples/documentationPatternExample.js +385 -0
- package/dist/unified/examples/followUpProcessorsExample.d.ts +45 -0
- package/dist/unified/examples/followUpProcessorsExample.js +311 -0
- package/dist/unified/examples/orchestratorExample.d.ts +16 -0
- package/dist/unified/examples/orchestratorExample.js +415 -0
- package/dist/unified/examples/preToolCallProcessorsExample.d.ts +36 -0
- package/dist/unified/examples/preToolCallProcessorsExample.js +458 -0
- package/dist/unified/examples/workflowExample.d.ts +12 -0
- package/dist/unified/examples/workflowExample.js +497 -0
- package/dist/unified/index.d.ts +18 -0
- package/dist/unified/index.js +42 -0
- package/dist/unified/orchestrator/orchestrator.d.ts +260 -0
- package/dist/unified/orchestrator/orchestrator.js +519 -0
- package/dist/unified/team/team.d.ts +1 -0
- package/dist/unified/team/team.js +2 -0
- package/dist/unified/types/libTypes.d.ts +378 -0
- package/dist/unified/types/libTypes.js +6 -0
- package/dist/unified/types/types.d.ts +212 -0
- package/dist/unified/types/types.js +43 -0
- package/dist/unified/utils/utils.d.ts +40 -0
- package/dist/unified/utils/utils.js +219 -0
- package/package.json +35 -13
- /package/dist/{agent.d.ts → builderpattern/agent.d.ts} +0 -0
- /package/dist/{index.js → builderpattern/index.js} +0 -0
- /package/dist/{promptbuilder.js → builderpattern/promptbuilder.js} +0 -0
- /package/dist/{systemprompt.d.ts → builderpattern/systemprompt.d.ts} +0 -0
- /package/dist/{systemprompt.js → builderpattern/systemprompt.js} +0 -0
- /package/dist/{taskInstruction.js → builderpattern/taskInstruction.js} +0 -0
- /package/dist/{usermessage.js → builderpattern/usermessage.js} +0 -0
package/README.md
CHANGED
|
@@ -1,101 +1,177 @@
|
|
|
1
|
-
# CodeBolt Agent
|
|
1
|
+
# CodeBolt Agent Package
|
|
2
2
|
|
|
3
|
-
A TypeScript
|
|
3
|
+
A comprehensive TypeScript framework for building and managing AI agents with CodeBolt. This package provides multiple architectural patterns and utilities to meet different development needs, from simple composable agents to complex multi-step workflows.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 🚀 Quick Start
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
```typescript
|
|
8
|
+
import { ComposableAgent, createTool } from '@codebolt/agent/composable';
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
|
|
11
|
+
// Create a simple weather tool
|
|
12
|
+
const weatherTool = createTool({
|
|
13
|
+
id: 'get-weather',
|
|
14
|
+
description: 'Get current weather for a location',
|
|
15
|
+
inputSchema: z.object({ location: z.string() }),
|
|
16
|
+
outputSchema: z.object({ temperature: z.number(), conditions: z.string() }),
|
|
17
|
+
execute: async ({ context }) => {
|
|
18
|
+
return await getWeatherAPI(context.location);
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Create and run agent
|
|
23
|
+
const agent = new ComposableAgent({
|
|
24
|
+
name: 'Weather Agent',
|
|
25
|
+
instructions: 'You are a helpful weather assistant.',
|
|
26
|
+
model: 'gpt-4o-mini',
|
|
27
|
+
tools: { weatherTool },
|
|
28
|
+
memory: createCodeBoltAgentMemory('weather_agent')
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const result = await agent.execute('What is the weather in New York?');
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## ✨ Key Features
|
|
35
|
+
|
|
36
|
+
- **Multiple Patterns**: Choose between Composable, Builder, and Processor patterns
|
|
37
|
+
- **Type Safety**: Full TypeScript support with Zod validation
|
|
38
|
+
- **Memory Management**: Persistent conversation storage with CodeBolt integration
|
|
39
|
+
- **Tool System**: Extensible tool framework with validation
|
|
40
|
+
- **Workflow Orchestration**: Multi-step agent processes with conditional logic
|
|
41
|
+
- **Model Agnostic**: Support for OpenAI, Anthropic, Ollama, and more
|
|
42
|
+
- **Stream Support**: Real-time streaming responses
|
|
12
43
|
|
|
13
|
-
## Installation
|
|
44
|
+
## 📦 Installation
|
|
14
45
|
|
|
15
46
|
```bash
|
|
16
47
|
npm install @codebolt/agent
|
|
17
48
|
```
|
|
18
49
|
|
|
19
|
-
##
|
|
50
|
+
## 📖 Documentation
|
|
20
51
|
|
|
21
|
-
|
|
52
|
+
**📚 [View Complete Documentation](./DOCUMENTATION.md)** - Comprehensive guide with examples, API reference, and best practices
|
|
22
53
|
|
|
23
|
-
|
|
24
|
-
|
|
54
|
+
### Quick Links
|
|
55
|
+
- [Architectural Patterns](./DOCUMENTATION.md#architectural-patterns) - Choose the right pattern for your use case
|
|
56
|
+
- [API Reference](./API_REFERENCE.md) - Complete API documentation
|
|
57
|
+
- [Examples](./EXAMPLES.md) - Real-world usage examples and tutorials
|
|
58
|
+
- [Best Practices](./DOCUMENTATION.md#best-practices) - Tips for optimal agent development
|
|
59
|
+
- [Migration Guide](./DOCUMENTATION.md#migration-guide) - Upgrading from previous versions
|
|
60
|
+
|
|
61
|
+
## 🎯 Architecture Patterns
|
|
25
62
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
await systemPrompt.loadPrompt('./prompts/system.yaml');
|
|
63
|
+
### Composable Pattern (Recommended)
|
|
64
|
+
**Best for**: Rapid prototyping, simple agents, beginners
|
|
29
65
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
await taskInstruction.loadInstruction('./tasks/coding-task.yaml');
|
|
66
|
+
```typescript
|
|
67
|
+
import { ComposableAgent, createTool, createCodeBoltAgentMemory } from '@codebolt/agent/composable';
|
|
33
68
|
|
|
34
|
-
|
|
35
|
-
|
|
69
|
+
const agent = new ComposableAgent({
|
|
70
|
+
name: 'My Agent',
|
|
71
|
+
instructions: 'You are a helpful assistant.',
|
|
72
|
+
model: 'gpt-4o-mini',
|
|
73
|
+
tools: { myTool },
|
|
74
|
+
memory: createCodeBoltAgentMemory('agent_id')
|
|
75
|
+
});
|
|
36
76
|
|
|
37
|
-
|
|
38
|
-
const result = await agent.runAgent(taskInstruction);
|
|
77
|
+
const result = await agent.execute('Help me with this task');
|
|
39
78
|
```
|
|
40
79
|
|
|
41
|
-
###
|
|
80
|
+
### Builder Pattern
|
|
81
|
+
**Best for**: Complex workflows, fine-grained control
|
|
42
82
|
|
|
43
83
|
```typescript
|
|
44
|
-
import {
|
|
84
|
+
import { Agent, InitialPromptBuilder, LLMOutputHandler } from '@codebolt/agent/builder';
|
|
45
85
|
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
86
|
+
const promptBuilder = new InitialPromptBuilder(userMessage)
|
|
87
|
+
.addSystemInstructions("You are a coding assistant")
|
|
88
|
+
.addFile("./src/main.ts")
|
|
89
|
+
.addTaskDetails("Fix compilation errors");
|
|
90
|
+
|
|
91
|
+
const prompt = await promptBuilder.build();
|
|
92
|
+
const agent = new Agent(tools, systemPrompt);
|
|
93
|
+
const result = await agent.runAgent(prompt);
|
|
49
94
|
```
|
|
50
95
|
|
|
51
|
-
###
|
|
96
|
+
### Processor Pattern
|
|
97
|
+
**Best for**: Advanced customization, specialized requirements
|
|
52
98
|
|
|
53
99
|
```typescript
|
|
54
|
-
import {
|
|
55
|
-
|
|
56
|
-
const promptBuilder = new InitialPromptBuilder("Fix the bug in my application");
|
|
57
|
-
promptBuilder
|
|
58
|
-
.addSystemInstructions("You are a helpful coding assistant")
|
|
59
|
-
.addFile("./src/problematic-file.ts")
|
|
60
|
-
.addTaskDetails("Find and fix the TypeScript compilation errors");
|
|
100
|
+
import { BaseProcessor, AgentStep } from '@codebolt/agent/processor';
|
|
61
101
|
|
|
62
|
-
|
|
102
|
+
class CustomProcessor extends BaseProcessor {
|
|
103
|
+
async process(messages: any[]): Promise<any> {
|
|
104
|
+
return this.executeCustomFlow(messages);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
63
107
|
```
|
|
64
108
|
|
|
65
|
-
|
|
109
|
+
## 🛠️ Available Exports
|
|
110
|
+
|
|
111
|
+
### Composable Pattern
|
|
112
|
+
```typescript
|
|
113
|
+
import {
|
|
114
|
+
ComposableAgent, createTool, createWorkflow,
|
|
115
|
+
Memory, createCodeBoltAgentMemory, MDocument
|
|
116
|
+
} from '@codebolt/agent/composable';
|
|
117
|
+
```
|
|
66
118
|
|
|
119
|
+
### Builder Pattern
|
|
67
120
|
```typescript
|
|
68
|
-
import {
|
|
121
|
+
import {
|
|
122
|
+
Agent, InitialPromptBuilder, LLMOutputHandler,
|
|
123
|
+
SystemPrompt, TaskInstruction, UserMessage
|
|
124
|
+
} from '@codebolt/agent/builder';
|
|
125
|
+
```
|
|
69
126
|
|
|
70
|
-
|
|
71
|
-
|
|
127
|
+
### Processor Pattern
|
|
128
|
+
```typescript
|
|
129
|
+
import {
|
|
130
|
+
BaseProcessor, AgentStep, BaseTool,
|
|
131
|
+
ChatCompressionProcessor, LoopDetectionProcessor
|
|
132
|
+
} from '@codebolt/agent/processor';
|
|
72
133
|
```
|
|
73
134
|
|
|
74
|
-
##
|
|
135
|
+
## 🏗️ Workflow System
|
|
75
136
|
|
|
76
|
-
|
|
137
|
+
Create complex multi-agent workflows:
|
|
77
138
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
139
|
+
```typescript
|
|
140
|
+
const workflow = createWorkflow({
|
|
141
|
+
name: 'Content Pipeline',
|
|
142
|
+
steps: [
|
|
143
|
+
createAgentStep({
|
|
144
|
+
id: 'research',
|
|
145
|
+
agent: researchAgent,
|
|
146
|
+
messageTemplate: 'Research: {{topic}}'
|
|
147
|
+
}),
|
|
148
|
+
createAgentStep({
|
|
149
|
+
id: 'write',
|
|
150
|
+
agent: writingAgent,
|
|
151
|
+
messageTemplate: 'Write article: {{researchData}}'
|
|
152
|
+
})
|
|
153
|
+
]
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
const result = await workflow.execute({ topic: 'AI Ethics' });
|
|
157
|
+
```
|
|
85
158
|
|
|
86
|
-
|
|
159
|
+
## 🧠 Memory & Storage
|
|
87
160
|
|
|
88
|
-
|
|
89
|
-
- `Message`, `ToolResult`, `ToolDetails`
|
|
90
|
-
- `OpenAIMessage`, `OpenAITool`, `ConversationEntry`
|
|
91
|
-
- `UserMessageContent`, `CodeboltAPI`
|
|
92
|
-
- `MCPTool`, `InitialUserMessage`
|
|
161
|
+
Integrated with CodeBolt's storage system:
|
|
93
162
|
|
|
94
|
-
|
|
163
|
+
```typescript
|
|
164
|
+
// Agent-scoped persistent storage
|
|
165
|
+
const agentMemory = createCodeBoltAgentMemory('my_agent');
|
|
95
166
|
|
|
96
|
-
|
|
167
|
+
// Project-scoped storage
|
|
168
|
+
const projectMemory = createCodeBoltProjectMemory('project_agent');
|
|
97
169
|
|
|
98
|
-
|
|
170
|
+
// Fast access memory database
|
|
171
|
+
const dbMemory = createCodeBoltDbMemory('cache_agent');
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## 🔧 Development
|
|
99
175
|
|
|
100
176
|
```bash
|
|
101
177
|
# Install dependencies
|
|
@@ -104,17 +180,32 @@ npm install
|
|
|
104
180
|
# Build the project
|
|
105
181
|
npm run build
|
|
106
182
|
|
|
107
|
-
#
|
|
183
|
+
# Development mode
|
|
108
184
|
npm run dev
|
|
109
185
|
|
|
110
|
-
#
|
|
111
|
-
npm run
|
|
186
|
+
# Run tests
|
|
187
|
+
npm run test
|
|
188
|
+
|
|
189
|
+
# Lint code
|
|
190
|
+
npm run lint
|
|
112
191
|
```
|
|
113
192
|
|
|
114
|
-
##
|
|
193
|
+
## 📋 Pattern Comparison
|
|
194
|
+
|
|
195
|
+
| Pattern | Complexity | Use Case | Learning Curve |
|
|
196
|
+
|---------|------------|----------|----------------|
|
|
197
|
+
| **Composable** | Low | Rapid prototyping, simple agents | Low |
|
|
198
|
+
| **Builder** | Medium | Complex workflows, custom logic | Medium |
|
|
199
|
+
| **Processor** | High | Advanced customization | High |
|
|
200
|
+
|
|
201
|
+
## 🤝 Contributing
|
|
202
|
+
|
|
203
|
+
See our [Contributing Guide](./DOCUMENTATION.md#contributing) for development setup, coding standards, and submission guidelines.
|
|
204
|
+
|
|
205
|
+
## 📄 License
|
|
115
206
|
|
|
116
|
-
MIT
|
|
207
|
+
MIT - See the main CodeBolt repository for details.
|
|
117
208
|
|
|
118
|
-
|
|
209
|
+
---
|
|
119
210
|
|
|
120
|
-
|
|
211
|
+
**📚 [Complete Documentation](./DOCUMENTATION.md)** | **🐛 [Report Issues](https://github.com/codeboltai/codeboltjs/issues)** | **💬 [Join Community](https://discord.gg/codebolt)**
|
|
@@ -258,9 +258,9 @@ class Agent {
|
|
|
258
258
|
async executeTool(toolName, toolInput) {
|
|
259
259
|
//codebolttools--readfile
|
|
260
260
|
const [toolboxName, actualToolName] = toolName.split('--');
|
|
261
|
-
console.log("Toolbox name: ", toolboxName, "Actual tool name: ", actualToolName);
|
|
261
|
+
// console.log("Toolbox name: ", toolboxName, "Actual tool name: ", actualToolName);
|
|
262
262
|
const { data } = await mcp.executeTool(toolboxName, actualToolName, toolInput);
|
|
263
|
-
console.log("Tool result: ", data);
|
|
263
|
+
// console.log("Tool result: ", data);
|
|
264
264
|
return data;
|
|
265
265
|
}
|
|
266
266
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OpenAIMessage, OpenAITool, ToolResult, CodeboltAPI } from "
|
|
1
|
+
import type { OpenAIMessage, OpenAITool, ToolResult, CodeboltAPI } from "../types/libFunctionTypes";
|
|
2
2
|
/**
|
|
3
3
|
* Builds follow-up prompts for continuing conversations with tool results.
|
|
4
4
|
* Manages conversation history and summarization when conversations get too long.
|
|
@@ -143,7 +143,7 @@ class FollowUpPromptBuilder {
|
|
|
143
143
|
return this.previousConversation;
|
|
144
144
|
}
|
|
145
145
|
try {
|
|
146
|
-
console.log("Summarizing conversation due to length:", this.previousConversation.length);
|
|
146
|
+
// console.log("Summarizing conversation due to length:", this.previousConversation.length);
|
|
147
147
|
// Convert OpenAI messages to the format expected by chatSummary
|
|
148
148
|
const messagesToSummarize = this.previousConversation.map(msg => ({
|
|
149
149
|
role: msg.role,
|
|
@@ -9,6 +9,6 @@ export { TaskInstruction } from './taskInstruction';
|
|
|
9
9
|
export { InitialPromptBuilder } from './promptbuilder';
|
|
10
10
|
export { FollowUpPromptBuilder } from './followupquestionbuilder';
|
|
11
11
|
export { LLMOutputHandler } from './llmoutputhandler';
|
|
12
|
-
export type { Message, ToolResult, ToolDetails, OpenAIMessage, OpenAITool, ConversationEntry, UserMessageContent, CodeboltAPI, ToolCall } from '
|
|
13
|
-
export type { MCPTool, Agent as AgentType, InitialUserMessage } from '
|
|
14
|
-
export type { UserMessage as CLIUserMessage } from '
|
|
12
|
+
export type { Message, ToolResult, ToolDetails, OpenAIMessage, OpenAITool, ConversationEntry, UserMessageContent, CodeboltAPI, ToolCall } from '../types/libFunctionTypes';
|
|
13
|
+
export type { MCPTool, Agent as AgentType, InitialUserMessage } from '../types/commonTypes';
|
|
14
|
+
export type { UserMessage as CLIUserMessage } from '../types/socketMessageTypes';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OpenAIMessage, ToolResult, CodeboltAPI } from "
|
|
1
|
+
import type { OpenAIMessage, ToolResult, CodeboltAPI } from "../types/libFunctionTypes";
|
|
2
2
|
/**
|
|
3
3
|
* Handles LLM output processing, tool execution, and completion detection.
|
|
4
4
|
* This class processes LLM responses and manages the conversation flow.
|
|
@@ -137,7 +137,7 @@ class LLMOutputHandler {
|
|
|
137
137
|
let toolResults = [];
|
|
138
138
|
let taskCompletedBlock;
|
|
139
139
|
let userRejectedToolUse = false;
|
|
140
|
-
console.log("Calling run tool: ", JSON.stringify(this.llmResponse.completion));
|
|
140
|
+
// console.log("Calling run tool: ", JSON.stringify(this.llmResponse.completion));
|
|
141
141
|
const contentBlock = this.llmResponse.completion.choices[0];
|
|
142
142
|
// Validate contentBlock structure
|
|
143
143
|
if (!contentBlock || !contentBlock.message) {
|
|
@@ -174,12 +174,12 @@ class LLMOutputHandler {
|
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
else {
|
|
177
|
-
console.log("Executing tool: ", toolName, toolInput);
|
|
177
|
+
// console.log("Executing tool: ", toolName, toolInput);
|
|
178
178
|
const [didUserReject, result] = await this.executeTool(toolName, toolInput);
|
|
179
|
-
console.log("Tool result: ", result);
|
|
179
|
+
// console.log("Tool result: ", result);
|
|
180
180
|
// toolResults.push(this.getToolResult(toolUseId, result));
|
|
181
181
|
let toolResult = this.getToolResult(toolUseId, result);
|
|
182
|
-
console.log("tool result after parsing", toolResult);
|
|
182
|
+
// console.log("tool result after parsing", toolResult);
|
|
183
183
|
this.toolResults.push({
|
|
184
184
|
role: "tool",
|
|
185
185
|
tool_call_id: toolResult.tool_call_id,
|
|
@@ -367,9 +367,9 @@ class LLMOutputHandler {
|
|
|
367
367
|
var _a;
|
|
368
368
|
//codeboltmcp--readfile
|
|
369
369
|
const [toolboxName, actualToolName] = toolName.split('--');
|
|
370
|
-
console.log("Toolbox name: ", toolboxName, "Actual tool name: ", actualToolName);
|
|
370
|
+
// console.log("Toolbox name: ", toolboxName, "Actual tool name: ", actualToolName);
|
|
371
371
|
const data = await ((_a = this.codebolt) === null || _a === void 0 ? void 0 : _a.mcp.executeTool(toolboxName, actualToolName, toolInput));
|
|
372
|
-
console.log("Tool result: ", data);
|
|
372
|
+
// console.log("Tool result: ", data);
|
|
373
373
|
return data;
|
|
374
374
|
}
|
|
375
375
|
/**
|
|
@@ -389,7 +389,7 @@ class LLMOutputHandler {
|
|
|
389
389
|
// Only attempt to parse if content looks like JSON
|
|
390
390
|
if (content.trim().startsWith('{') || content.trim().startsWith('[')) {
|
|
391
391
|
const parsed = JSON.parse(content);
|
|
392
|
-
console.log("Parsed Content: ", parsed);
|
|
392
|
+
// console.log("Parsed Content: ", parsed);
|
|
393
393
|
if (parsed && typeof parsed === 'object' && parsed.payload && parsed.payload.content) {
|
|
394
394
|
content = `The browser action has been executed. The screenshot have been captured for your analysis. The tool response is provided in the next user message`;
|
|
395
395
|
userMessage = parsed.payload.content;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { UserMessage as CLIUserMessage } from "
|
|
2
|
-
import type { OpenAIMessage, OpenAITool, ConversationEntry, CodeboltAPI, ToolResult } from "
|
|
3
|
-
import type { MCPTool, Agent, InitialUserMessage } from "
|
|
1
|
+
import { UserMessage as CLIUserMessage } from "../types/socketMessageTypes";
|
|
2
|
+
import type { OpenAIMessage, OpenAITool, ConversationEntry, CodeboltAPI, ToolResult } from "../types/libFunctionTypes";
|
|
3
|
+
import type { MCPTool, Agent, InitialUserMessage } from "../types/commonTypes";
|
|
4
4
|
/**
|
|
5
5
|
* PromptBuilder class for constructing prompts using a fluent interface.
|
|
6
6
|
* Allows chaining methods to build complex prompts from user messages.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UserMessage } from "./usermessage";
|
|
2
|
-
import type { UserMessageContent } from "
|
|
3
|
-
import type { Tools, UserMessages } from "
|
|
2
|
+
import type { UserMessageContent } from "../types/libFunctionTypes";
|
|
3
|
+
import type { Tools, UserMessages } from "../types/InternalTypes";
|
|
4
4
|
/**
|
|
5
5
|
* Class representing a task instruction.
|
|
6
6
|
* Handles loading task data and converting it to prompts.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { UserMessageContent } from "
|
|
2
|
-
import type { Agent } from "
|
|
3
|
-
import type { Message } from "
|
|
1
|
+
import type { UserMessageContent } from "../types/libFunctionTypes";
|
|
2
|
+
import type { Agent } from "../types/commonTypes";
|
|
3
|
+
import type { Message } from "../types/InternalTypes";
|
|
4
4
|
/**
|
|
5
5
|
* Class that processes and manages user messages.
|
|
6
6
|
* Handles converting messages to prompts and extracting mentioned entities.
|
|
@@ -58,7 +58,12 @@ declare class UserMessage {
|
|
|
58
58
|
*
|
|
59
59
|
* @returns Promise with an array of MCP tools
|
|
60
60
|
*/
|
|
61
|
-
getMentionedMcpsTools(): Promise<
|
|
61
|
+
getMentionedMcpsTools(): Promise<{
|
|
62
|
+
toolbox: string;
|
|
63
|
+
toolName: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
parameters?: Record<string, unknown>;
|
|
66
|
+
}[] | undefined>;
|
|
62
67
|
/**
|
|
63
68
|
* Gets environment details for the current working directory.
|
|
64
69
|
*
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Main ComposableAgent implementation
|
|
3
|
+
* @description Core agent class that provides a composable API for creating and running agents
|
|
4
|
+
*/
|
|
5
|
+
import type { ComposableAgentConfig, ComposableAgent as IComposableAgent, Message, ExecutionResult, ExecutionContext, StreamCallback, Tool, CodeBoltMessage } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Main ComposableAgent class that provides a simple, composable API for creating agents
|
|
8
|
+
*/
|
|
9
|
+
export declare class ComposableAgent implements IComposableAgent {
|
|
10
|
+
readonly config: ComposableAgentConfig;
|
|
11
|
+
private conversation;
|
|
12
|
+
private memory?;
|
|
13
|
+
private tools;
|
|
14
|
+
constructor(config: ComposableAgentConfig);
|
|
15
|
+
/**
|
|
16
|
+
* Run the agent using globally saved user context from codeboltjs
|
|
17
|
+
* This is the main method to use within codebolt.onMessage()
|
|
18
|
+
*
|
|
19
|
+
* @param options - Execution options
|
|
20
|
+
* @returns Promise<ExecutionResult>
|
|
21
|
+
*/
|
|
22
|
+
run(options?: {
|
|
23
|
+
stream?: boolean;
|
|
24
|
+
callback?: StreamCallback;
|
|
25
|
+
}): Promise<ExecutionResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute a task with the agent using a simple string message
|
|
28
|
+
*
|
|
29
|
+
* @param message - User message to process
|
|
30
|
+
* @param options - Execution options
|
|
31
|
+
* @returns Promise<ExecutionResult>
|
|
32
|
+
*/
|
|
33
|
+
execute(message: string, options?: {
|
|
34
|
+
stream?: boolean;
|
|
35
|
+
callback?: StreamCallback;
|
|
36
|
+
}): Promise<ExecutionResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Execute a task with the agent using CodeBolt Message format
|
|
39
|
+
*
|
|
40
|
+
* @param message - CodeBolt message with enhanced features
|
|
41
|
+
* @param options - Execution options
|
|
42
|
+
* @returns Promise<ExecutionResult>
|
|
43
|
+
*/
|
|
44
|
+
executeMessage(message: CodeBoltMessage, options?: {
|
|
45
|
+
stream?: boolean;
|
|
46
|
+
callback?: StreamCallback;
|
|
47
|
+
}): Promise<ExecutionResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Add a message to the conversation
|
|
50
|
+
*
|
|
51
|
+
* @param message - Message to add
|
|
52
|
+
*/
|
|
53
|
+
addMessage(message: Message): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get conversation history
|
|
56
|
+
*
|
|
57
|
+
* @returns Array of messages
|
|
58
|
+
*/
|
|
59
|
+
getConversation(): Message[];
|
|
60
|
+
/**
|
|
61
|
+
* Clear conversation history (keeps system message)
|
|
62
|
+
*/
|
|
63
|
+
clearConversation(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Save conversation to memory
|
|
66
|
+
*/
|
|
67
|
+
saveConversation(): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Load conversation from memory
|
|
70
|
+
*/
|
|
71
|
+
loadConversation(): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Make a request to the LLM
|
|
74
|
+
*
|
|
75
|
+
* @returns LLM response
|
|
76
|
+
*/
|
|
77
|
+
private makeLLMRequest;
|
|
78
|
+
/**
|
|
79
|
+
* Execute a tool call
|
|
80
|
+
*
|
|
81
|
+
* @param toolCall - Tool call to execute
|
|
82
|
+
* @returns Tool result message
|
|
83
|
+
*/
|
|
84
|
+
private executeToolCall;
|
|
85
|
+
/**
|
|
86
|
+
* Get list of tools that were used in the conversation
|
|
87
|
+
*
|
|
88
|
+
* @returns Array of tool names
|
|
89
|
+
*/
|
|
90
|
+
private getUsedTools;
|
|
91
|
+
/**
|
|
92
|
+
* Get available tools
|
|
93
|
+
*
|
|
94
|
+
* @returns Record of available tools
|
|
95
|
+
*/
|
|
96
|
+
getTools(): Record<string, Tool>;
|
|
97
|
+
/**
|
|
98
|
+
* Add a tool to the agent
|
|
99
|
+
*
|
|
100
|
+
* @param name - Tool name
|
|
101
|
+
* @param tool - Tool instance
|
|
102
|
+
*/
|
|
103
|
+
addTool(name: string, tool: Tool): void;
|
|
104
|
+
/**
|
|
105
|
+
* Remove a tool from the agent
|
|
106
|
+
*
|
|
107
|
+
* @param name - Tool name
|
|
108
|
+
*/
|
|
109
|
+
removeTool(name: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* Get execution context for tools
|
|
112
|
+
*
|
|
113
|
+
* @returns ExecutionContext
|
|
114
|
+
*/
|
|
115
|
+
getExecutionContext(): ExecutionContext;
|
|
116
|
+
/**
|
|
117
|
+
* Process CodeBolt message and enhance agent capabilities
|
|
118
|
+
*
|
|
119
|
+
* @param message - CodeBolt message to process
|
|
120
|
+
*/
|
|
121
|
+
private processCodeBoltMessage;
|
|
122
|
+
/**
|
|
123
|
+
* Process remix prompt and enhance system instructions
|
|
124
|
+
*
|
|
125
|
+
* @param remixPrompt - Additional instructions to add to system prompt
|
|
126
|
+
*/
|
|
127
|
+
private processRemixPrompt;
|
|
128
|
+
/**
|
|
129
|
+
* Process mentioned MCP tools and add them to available tools
|
|
130
|
+
*
|
|
131
|
+
* @param mentionedMCPs - List of MCP tools to process
|
|
132
|
+
*/
|
|
133
|
+
private processMCPs;
|
|
134
|
+
/**
|
|
135
|
+
* Create a generic MCP tool wrapper
|
|
136
|
+
*
|
|
137
|
+
* @param toolbox - MCP toolbox name
|
|
138
|
+
* @param toolName - MCP tool name
|
|
139
|
+
* @returns Tool instance
|
|
140
|
+
*/
|
|
141
|
+
private createMCPTool;
|
|
142
|
+
/**
|
|
143
|
+
* Process mentioned agents and add them as sub-agent tools
|
|
144
|
+
*
|
|
145
|
+
* @param mentionedAgents - List of agents to process
|
|
146
|
+
*/
|
|
147
|
+
private processAgents;
|
|
148
|
+
/**
|
|
149
|
+
* Create a sub-agent tool wrapper
|
|
150
|
+
*
|
|
151
|
+
* @param agent - Agent information
|
|
152
|
+
* @returns Tool instance
|
|
153
|
+
*/
|
|
154
|
+
private createSubAgentTool;
|
|
155
|
+
/**
|
|
156
|
+
* Process mentioned files and return their contents
|
|
157
|
+
*
|
|
158
|
+
* @param mentionedFiles - List of file paths
|
|
159
|
+
* @returns Array of file contents with headers
|
|
160
|
+
*/
|
|
161
|
+
private processFiles;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Create a new ComposableAgent instance
|
|
165
|
+
*
|
|
166
|
+
* @param config - Agent configuration
|
|
167
|
+
* @returns ComposableAgent instance
|
|
168
|
+
*/
|
|
169
|
+
export declare function createAgent(config: ComposableAgentConfig): ComposableAgent;
|