@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
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Example demonstrating how to use pre-tool call processors
|
|
4
|
+
* with the Unified Agent Framework
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CustomToolMonitoringProcessor = void 0;
|
|
8
|
+
exports.basicLocalToolInterceptionExample = basicLocalToolInterceptionExample;
|
|
9
|
+
exports.toolValidationAndModificationExample = toolValidationAndModificationExample;
|
|
10
|
+
exports.advancedLocalToolHandlingExample = advancedLocalToolHandlingExample;
|
|
11
|
+
exports.dynamicProcessorManagementExample = dynamicProcessorManagementExample;
|
|
12
|
+
exports.customMonitoringProcessorExample = customMonitoringProcessorExample;
|
|
13
|
+
const index_1 = require("../index");
|
|
14
|
+
const processors_1 = require("../processors");
|
|
15
|
+
/**
|
|
16
|
+
* Example 1: Basic Local Tool Interception
|
|
17
|
+
*/
|
|
18
|
+
async function basicLocalToolInterceptionExample(codebolt, tools) {
|
|
19
|
+
// Define custom local tools
|
|
20
|
+
const customCalculator = {
|
|
21
|
+
name: 'local--calculator',
|
|
22
|
+
description: 'Performs basic mathematical calculations locally',
|
|
23
|
+
execute: async (params) => {
|
|
24
|
+
const { expression } = params;
|
|
25
|
+
try {
|
|
26
|
+
// Simple expression evaluator (for demo purposes)
|
|
27
|
+
const result = eval(expression.replace(/[^0-9+\-*/().\s]/g, ''));
|
|
28
|
+
return `Calculation result: ${expression} = ${result}`;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return `Calculation error: ${error}`;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
validate: (params) => params && typeof params.expression === 'string',
|
|
35
|
+
timeout: 5000
|
|
36
|
+
};
|
|
37
|
+
const dataFormatter = {
|
|
38
|
+
name: 'local--format_data',
|
|
39
|
+
description: 'Formats data in various formats locally',
|
|
40
|
+
execute: async (params) => {
|
|
41
|
+
const { data, format } = params;
|
|
42
|
+
switch (format.toLowerCase()) {
|
|
43
|
+
case 'json':
|
|
44
|
+
return JSON.stringify(data, null, 2);
|
|
45
|
+
case 'csv':
|
|
46
|
+
if (Array.isArray(data)) {
|
|
47
|
+
const headers = Object.keys(data[0] || {});
|
|
48
|
+
const csvData = [
|
|
49
|
+
headers.join(','),
|
|
50
|
+
...data.map(row => headers.map(h => row[h] || '').join(','))
|
|
51
|
+
];
|
|
52
|
+
return csvData.join('\n');
|
|
53
|
+
}
|
|
54
|
+
return JSON.stringify(data);
|
|
55
|
+
default:
|
|
56
|
+
return String(data);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
// Create local tool interceptor
|
|
61
|
+
const localToolInterceptor = new processors_1.LocalToolInterceptorProcessor({
|
|
62
|
+
localTools: new Map([
|
|
63
|
+
[customCalculator.name, customCalculator],
|
|
64
|
+
[dataFormatter.name, dataFormatter]
|
|
65
|
+
]),
|
|
66
|
+
enableCustomToolHandling: true,
|
|
67
|
+
enableLogging: true
|
|
68
|
+
});
|
|
69
|
+
// Create response executor with pre-tool processors
|
|
70
|
+
const responseExecutor = (0, index_1.createUnifiedResponseExecutor)({
|
|
71
|
+
codebolt,
|
|
72
|
+
preToolCallProcessors: [localToolInterceptor]
|
|
73
|
+
});
|
|
74
|
+
// Create unified agent
|
|
75
|
+
const agent = (0, index_1.createUnifiedAgent)({
|
|
76
|
+
codebolt,
|
|
77
|
+
maxIterations: 5,
|
|
78
|
+
enableLogging: true
|
|
79
|
+
});
|
|
80
|
+
agent.setResponseExecutor(responseExecutor);
|
|
81
|
+
// Execute agent with local tool calls
|
|
82
|
+
const result = await agent.execute({
|
|
83
|
+
userMessage: "Calculate 15 * 8 + 32 and format the result as JSON",
|
|
84
|
+
tools: [...tools, {
|
|
85
|
+
type: 'function',
|
|
86
|
+
function: {
|
|
87
|
+
name: 'local--calculator',
|
|
88
|
+
description: 'Performs mathematical calculations',
|
|
89
|
+
parameters: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
properties: {
|
|
92
|
+
expression: { type: 'string', description: 'Mathematical expression to evaluate' }
|
|
93
|
+
},
|
|
94
|
+
required: ['expression']
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}]
|
|
98
|
+
});
|
|
99
|
+
console.log('Local tool interception result:', result.response);
|
|
100
|
+
return result;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Example 2: Tool Validation and Parameter Modification
|
|
104
|
+
*/
|
|
105
|
+
async function toolValidationAndModificationExample(codebolt, tools) {
|
|
106
|
+
// Create tool validation processor
|
|
107
|
+
const toolValidator = new processors_1.ToolValidationProcessor({
|
|
108
|
+
enableParameterValidation: true,
|
|
109
|
+
enableSecurityValidation: true,
|
|
110
|
+
enableTypeValidation: true,
|
|
111
|
+
strictMode: false,
|
|
112
|
+
allowedTools: ['file_read', 'file_write', 'http_request', 'local--calculator'],
|
|
113
|
+
blockedTools: ['rm', 'delete', 'format'],
|
|
114
|
+
maxParameterSize: 1024 * 100, // 100KB
|
|
115
|
+
enableLogging: true
|
|
116
|
+
});
|
|
117
|
+
// Create custom parameter transformations
|
|
118
|
+
const customTransformations = [
|
|
119
|
+
{
|
|
120
|
+
name: 'add-project-context',
|
|
121
|
+
condition: (toolName) => toolName.includes('file'),
|
|
122
|
+
transform: (params, context) => {
|
|
123
|
+
const result = { ...params };
|
|
124
|
+
if (result.filePath && !result.filePath.startsWith('/')) {
|
|
125
|
+
result.filePath = `./project/${result.filePath}`;
|
|
126
|
+
}
|
|
127
|
+
result.projectContext = {
|
|
128
|
+
sessionId: (context === null || context === void 0 ? void 0 : context.sessionId) || 'unknown',
|
|
129
|
+
timestamp: new Date().toISOString()
|
|
130
|
+
};
|
|
131
|
+
return result;
|
|
132
|
+
},
|
|
133
|
+
description: 'Add project context to file operations'
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'enhance-http-requests',
|
|
137
|
+
condition: (toolName) => toolName.includes('http'),
|
|
138
|
+
transform: (params) => {
|
|
139
|
+
const result = { ...params };
|
|
140
|
+
if (!result.headers) {
|
|
141
|
+
result.headers = {};
|
|
142
|
+
}
|
|
143
|
+
result.headers['X-Agent-Version'] = '1.0';
|
|
144
|
+
result.headers['X-Request-ID'] = Math.random().toString(36).substr(2, 9);
|
|
145
|
+
if (!result.timeout) {
|
|
146
|
+
result.timeout = 30000;
|
|
147
|
+
}
|
|
148
|
+
return result;
|
|
149
|
+
},
|
|
150
|
+
description: 'Enhance HTTP requests with additional headers and timeout'
|
|
151
|
+
}
|
|
152
|
+
];
|
|
153
|
+
// Create parameter modifier processor
|
|
154
|
+
const parameterModifier = new processors_1.ToolParameterModifierProcessor({
|
|
155
|
+
enableParameterTransformation: true,
|
|
156
|
+
enableParameterEnrichment: true,
|
|
157
|
+
enableParameterSanitization: true,
|
|
158
|
+
transformations: customTransformations,
|
|
159
|
+
defaultTransformations: true,
|
|
160
|
+
enableLogging: true
|
|
161
|
+
});
|
|
162
|
+
// Create response executor with multiple pre-tool processors
|
|
163
|
+
const responseExecutor = (0, index_1.createUnifiedResponseExecutor)({
|
|
164
|
+
codebolt,
|
|
165
|
+
preToolCallProcessors: [
|
|
166
|
+
toolValidator, // Validate first
|
|
167
|
+
parameterModifier // Then modify parameters
|
|
168
|
+
],
|
|
169
|
+
enableLogging: true
|
|
170
|
+
});
|
|
171
|
+
const agent = (0, index_1.createUnifiedAgent)({ codebolt });
|
|
172
|
+
agent.setResponseExecutor(responseExecutor);
|
|
173
|
+
// Execute with validation and modification
|
|
174
|
+
const result = await agent.execute({
|
|
175
|
+
userMessage: "Read the config.json file and make an HTTP request to the API endpoint specified in it",
|
|
176
|
+
tools
|
|
177
|
+
});
|
|
178
|
+
return result;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Example 3: Advanced Local Tool Handling with Custom Business Logic
|
|
182
|
+
*/
|
|
183
|
+
async function advancedLocalToolHandlingExample(codebolt, tools) {
|
|
184
|
+
// Create business logic tools
|
|
185
|
+
const businessLogicTools = new Map([
|
|
186
|
+
['custom--validate_user', {
|
|
187
|
+
name: 'custom--validate_user',
|
|
188
|
+
description: 'Validates user data according to business rules',
|
|
189
|
+
execute: async (params) => {
|
|
190
|
+
const { userData } = params;
|
|
191
|
+
const errors = [];
|
|
192
|
+
if (!userData.email || !userData.email.includes('@')) {
|
|
193
|
+
errors.push('Invalid email format');
|
|
194
|
+
}
|
|
195
|
+
if (!userData.age || userData.age < 18) {
|
|
196
|
+
errors.push('User must be at least 18 years old');
|
|
197
|
+
}
|
|
198
|
+
if (!userData.name || userData.name.length < 2) {
|
|
199
|
+
errors.push('Name must be at least 2 characters long');
|
|
200
|
+
}
|
|
201
|
+
return errors.length === 0
|
|
202
|
+
? 'User validation passed'
|
|
203
|
+
: `User validation failed: ${errors.join(', ')}`;
|
|
204
|
+
}
|
|
205
|
+
}],
|
|
206
|
+
['custom--process_order', {
|
|
207
|
+
name: 'custom--process_order',
|
|
208
|
+
description: 'Processes order with business logic',
|
|
209
|
+
execute: async (params) => {
|
|
210
|
+
var _a;
|
|
211
|
+
const { order } = params;
|
|
212
|
+
// Simulate order processing
|
|
213
|
+
const total = ((_a = order.items) === null || _a === void 0 ? void 0 : _a.reduce((sum, item) => sum + (item.price * item.quantity), 0)) || 0;
|
|
214
|
+
const tax = total * 0.08; // 8% tax
|
|
215
|
+
const finalTotal = total + tax;
|
|
216
|
+
return `Order processed successfully:
|
|
217
|
+
Subtotal: $${total.toFixed(2)}
|
|
218
|
+
Tax: $${tax.toFixed(2)}
|
|
219
|
+
Total: $${finalTotal.toFixed(2)}
|
|
220
|
+
Order ID: ORD-${Date.now()}`;
|
|
221
|
+
}
|
|
222
|
+
}],
|
|
223
|
+
['internal--get_system_info', {
|
|
224
|
+
name: 'internal--get_system_info',
|
|
225
|
+
description: 'Gets internal system information',
|
|
226
|
+
execute: async () => {
|
|
227
|
+
return `System Information:
|
|
228
|
+
Node Version: ${process.version}
|
|
229
|
+
Platform: ${process.platform}
|
|
230
|
+
Architecture: ${process.arch}
|
|
231
|
+
Memory Usage: ${JSON.stringify(process.memoryUsage(), null, 2)}
|
|
232
|
+
Uptime: ${process.uptime()} seconds`;
|
|
233
|
+
}
|
|
234
|
+
}]
|
|
235
|
+
]);
|
|
236
|
+
// Create advanced local tool interceptor
|
|
237
|
+
const advancedInterceptor = new processors_1.LocalToolInterceptorProcessor({
|
|
238
|
+
localTools: businessLogicTools,
|
|
239
|
+
enableCustomToolHandling: true,
|
|
240
|
+
enableToolDelegation: true,
|
|
241
|
+
defaultExecutionTimeout: 10000,
|
|
242
|
+
enableLogging: true
|
|
243
|
+
});
|
|
244
|
+
// Create comprehensive validation
|
|
245
|
+
const comprehensiveValidator = new processors_1.ToolValidationProcessor({
|
|
246
|
+
enableParameterValidation: true,
|
|
247
|
+
enableSecurityValidation: true,
|
|
248
|
+
strictMode: true,
|
|
249
|
+
allowedTools: Array.from(businessLogicTools.keys()).concat(['file_read', 'http_request']),
|
|
250
|
+
enableLogging: true
|
|
251
|
+
});
|
|
252
|
+
// Create response executor
|
|
253
|
+
const responseExecutor = (0, index_1.createUnifiedResponseExecutor)({
|
|
254
|
+
codebolt,
|
|
255
|
+
preToolCallProcessors: [
|
|
256
|
+
comprehensiveValidator,
|
|
257
|
+
advancedInterceptor
|
|
258
|
+
]
|
|
259
|
+
});
|
|
260
|
+
const agent = (0, index_1.createUnifiedAgent)({
|
|
261
|
+
codebolt,
|
|
262
|
+
maxIterations: 8,
|
|
263
|
+
enableLogging: true
|
|
264
|
+
});
|
|
265
|
+
agent.setResponseExecutor(responseExecutor);
|
|
266
|
+
// Execute complex business logic
|
|
267
|
+
const result = await agent.execute({
|
|
268
|
+
userMessage: "Validate this user data: {email: 'john@example.com', age: 25, name: 'John Doe'} and then process an order with items: [{name: 'Widget', price: 10.99, quantity: 2}, {name: 'Gadget', price: 15.50, quantity: 1}]",
|
|
269
|
+
tools: [...tools, ...Array.from(businessLogicTools.keys()).map(toolName => {
|
|
270
|
+
var _a;
|
|
271
|
+
return ({
|
|
272
|
+
type: 'function',
|
|
273
|
+
function: {
|
|
274
|
+
name: toolName,
|
|
275
|
+
description: ((_a = businessLogicTools.get(toolName)) === null || _a === void 0 ? void 0 : _a.description) || '',
|
|
276
|
+
parameters: {
|
|
277
|
+
type: 'object',
|
|
278
|
+
properties: {},
|
|
279
|
+
required: []
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
})]
|
|
284
|
+
});
|
|
285
|
+
return result;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Example 4: Dynamic Processor Management
|
|
289
|
+
*/
|
|
290
|
+
async function dynamicProcessorManagementExample(codebolt, tools) {
|
|
291
|
+
// Create response executor without initial processors
|
|
292
|
+
const responseExecutor = (0, index_1.createUnifiedResponseExecutor)({
|
|
293
|
+
codebolt,
|
|
294
|
+
enableLogging: true
|
|
295
|
+
});
|
|
296
|
+
const agent = (0, index_1.createUnifiedAgent)({ codebolt });
|
|
297
|
+
agent.setResponseExecutor(responseExecutor);
|
|
298
|
+
console.log('Starting without pre-tool processors...');
|
|
299
|
+
// Execute without processors
|
|
300
|
+
let result = await agent.step({
|
|
301
|
+
userMessage: "Calculate 10 + 5",
|
|
302
|
+
tools
|
|
303
|
+
});
|
|
304
|
+
// Add local tool interceptor dynamically
|
|
305
|
+
console.log('Adding local tool interceptor...');
|
|
306
|
+
const localInterceptor = new processors_1.LocalToolInterceptorProcessor({
|
|
307
|
+
enableCustomToolHandling: true,
|
|
308
|
+
enableLogging: true
|
|
309
|
+
});
|
|
310
|
+
// Add a simple calculator tool
|
|
311
|
+
localInterceptor.addLocalTool({
|
|
312
|
+
name: 'local--simple_calc',
|
|
313
|
+
execute: (params) => {
|
|
314
|
+
const { a, b, operation } = params;
|
|
315
|
+
switch (operation) {
|
|
316
|
+
case 'add': return `${a} + ${b} = ${a + b}`;
|
|
317
|
+
case 'subtract': return `${a} - ${b} = ${a - b}`;
|
|
318
|
+
case 'multiply': return `${a} * ${b} = ${a * b}`;
|
|
319
|
+
case 'divide': return `${a} / ${b} = ${a / b}`;
|
|
320
|
+
default: return 'Unknown operation';
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
responseExecutor.addPreToolCallProcessor(localInterceptor);
|
|
325
|
+
result = await agent.step({
|
|
326
|
+
userMessage: "Use the local calculator to add 15 and 25",
|
|
327
|
+
tools: [...tools, {
|
|
328
|
+
type: 'function',
|
|
329
|
+
function: {
|
|
330
|
+
name: 'local--simple_calc',
|
|
331
|
+
description: 'Simple calculator',
|
|
332
|
+
parameters: {
|
|
333
|
+
type: 'object',
|
|
334
|
+
properties: {
|
|
335
|
+
a: { type: 'number' },
|
|
336
|
+
b: { type: 'number' },
|
|
337
|
+
operation: { type: 'string', enum: ['add', 'subtract', 'multiply', 'divide'] }
|
|
338
|
+
},
|
|
339
|
+
required: ['a', 'b', 'operation']
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}],
|
|
343
|
+
conversationHistory: result.conversationHistory
|
|
344
|
+
});
|
|
345
|
+
// Add validation processor
|
|
346
|
+
console.log('Adding validation processor...');
|
|
347
|
+
const validator = new processors_1.ToolValidationProcessor({
|
|
348
|
+
strictMode: true,
|
|
349
|
+
allowedTools: ['local--simple_calc'],
|
|
350
|
+
enableLogging: true
|
|
351
|
+
});
|
|
352
|
+
responseExecutor.addPreToolCallProcessor(validator);
|
|
353
|
+
// Check active processors
|
|
354
|
+
const activeProcessors = responseExecutor.getPreToolCallProcessors();
|
|
355
|
+
console.log(`Active pre-tool processors: ${activeProcessors.length}`);
|
|
356
|
+
// Remove interceptor
|
|
357
|
+
console.log('Removing local interceptor...');
|
|
358
|
+
responseExecutor.removePreToolCallProcessor(localInterceptor);
|
|
359
|
+
const remainingProcessors = responseExecutor.getPreToolCallProcessors();
|
|
360
|
+
console.log(`Remaining processors: ${remainingProcessors.length}`);
|
|
361
|
+
return result;
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Example 5: Custom Processor with Monitoring
|
|
365
|
+
*/
|
|
366
|
+
class CustomToolMonitoringProcessor extends processors_1.LocalToolInterceptorProcessor {
|
|
367
|
+
constructor() {
|
|
368
|
+
super(...arguments);
|
|
369
|
+
this.toolExecutionMetrics = new Map();
|
|
370
|
+
}
|
|
371
|
+
async processInput(input) {
|
|
372
|
+
var _a;
|
|
373
|
+
const toolName = (_a = input.context) === null || _a === void 0 ? void 0 : _a.toolName;
|
|
374
|
+
const startTime = Date.now();
|
|
375
|
+
try {
|
|
376
|
+
const results = await super.processInput(input);
|
|
377
|
+
// Update metrics on success
|
|
378
|
+
this.updateMetrics(toolName, Date.now() - startTime, false);
|
|
379
|
+
// Add monitoring event
|
|
380
|
+
results.push(this.createEvent('ToolExecutionMonitored', {
|
|
381
|
+
toolName,
|
|
382
|
+
executionTime: Date.now() - startTime,
|
|
383
|
+
status: 'success',
|
|
384
|
+
metrics: this.getToolMetrics(toolName)
|
|
385
|
+
}));
|
|
386
|
+
return results;
|
|
387
|
+
}
|
|
388
|
+
catch (error) {
|
|
389
|
+
// Update metrics on error
|
|
390
|
+
this.updateMetrics(toolName, Date.now() - startTime, true);
|
|
391
|
+
return [this.createEvent('ToolExecutionMonitoringError', {
|
|
392
|
+
toolName,
|
|
393
|
+
error: String(error),
|
|
394
|
+
metrics: this.getToolMetrics(toolName)
|
|
395
|
+
})];
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
updateMetrics(toolName, executionTime, isError) {
|
|
399
|
+
if (!this.toolExecutionMetrics.has(toolName)) {
|
|
400
|
+
this.toolExecutionMetrics.set(toolName, {
|
|
401
|
+
count: 0,
|
|
402
|
+
totalTime: 0,
|
|
403
|
+
errors: 0,
|
|
404
|
+
lastExecution: new Date().toISOString()
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
const metrics = this.toolExecutionMetrics.get(toolName);
|
|
408
|
+
metrics.count++;
|
|
409
|
+
metrics.totalTime += executionTime;
|
|
410
|
+
metrics.lastExecution = new Date().toISOString();
|
|
411
|
+
if (isError) {
|
|
412
|
+
metrics.errors++;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
getToolMetrics(toolName) {
|
|
416
|
+
const metrics = this.toolExecutionMetrics.get(toolName);
|
|
417
|
+
if (!metrics)
|
|
418
|
+
return null;
|
|
419
|
+
return {
|
|
420
|
+
...metrics,
|
|
421
|
+
averageTime: metrics.totalTime / metrics.count,
|
|
422
|
+
errorRate: metrics.errors / metrics.count
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
getAllMetrics() {
|
|
426
|
+
const result = {};
|
|
427
|
+
for (const [toolName, metrics] of this.toolExecutionMetrics) {
|
|
428
|
+
result[toolName] = {
|
|
429
|
+
...metrics,
|
|
430
|
+
averageTime: metrics.totalTime / metrics.count,
|
|
431
|
+
errorRate: metrics.errors / metrics.count
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
return result;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
exports.CustomToolMonitoringProcessor = CustomToolMonitoringProcessor;
|
|
438
|
+
async function customMonitoringProcessorExample(codebolt, tools) {
|
|
439
|
+
const monitoringProcessor = new CustomToolMonitoringProcessor({
|
|
440
|
+
enableCustomToolHandling: true,
|
|
441
|
+
enableLogging: true
|
|
442
|
+
});
|
|
443
|
+
const responseExecutor = (0, index_1.createUnifiedResponseExecutor)({
|
|
444
|
+
codebolt,
|
|
445
|
+
preToolCallProcessors: [monitoringProcessor]
|
|
446
|
+
});
|
|
447
|
+
const agent = (0, index_1.createUnifiedAgent)({ codebolt });
|
|
448
|
+
agent.setResponseExecutor(responseExecutor);
|
|
449
|
+
const result = await agent.loop({
|
|
450
|
+
userMessage: "Perform several file operations and calculations to test monitoring",
|
|
451
|
+
tools,
|
|
452
|
+
maxIterations: 10
|
|
453
|
+
});
|
|
454
|
+
// Get monitoring metrics
|
|
455
|
+
const metrics = monitoringProcessor.getAllMetrics();
|
|
456
|
+
console.log('Tool execution metrics:', metrics);
|
|
457
|
+
return { result, metrics };
|
|
458
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Workflow Example for Unified Agent Framework
|
|
3
|
+
*
|
|
4
|
+
* This example demonstrates how to create and execute complex workflows
|
|
5
|
+
* that integrate agents, tools, and control flow steps.
|
|
6
|
+
*/
|
|
7
|
+
declare function contentCreationWorkflowExample(): Promise<import("../index").WorkflowResult>;
|
|
8
|
+
declare function multiAgentCollaborationExample(): Promise<import("../index").WorkflowResult>;
|
|
9
|
+
declare function iterativeImprovementExample(): Promise<import("../index").WorkflowResult>;
|
|
10
|
+
declare function agentWithWorkflowExample(): Promise<any>;
|
|
11
|
+
export declare function runWorkflowExamples(): Promise<void>;
|
|
12
|
+
export { contentCreationWorkflowExample, multiAgentCollaborationExample, iterativeImprovementExample, agentWithWorkflowExample };
|