@codebolt/agent 1.1.0 → 2.2.2
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/builderpattern/agent.d.ts +86 -0
- package/dist/builderpattern/agent.js +324 -0
- package/dist/builderpattern/followupquestionbuilder.d.ts +75 -0
- package/dist/builderpattern/followupquestionbuilder.js +197 -0
- package/dist/builderpattern/index.d.ts +14 -0
- package/dist/builderpattern/index.js +23 -0
- package/dist/builderpattern/llmoutputhandler.d.ts +102 -0
- package/dist/builderpattern/llmoutputhandler.js +452 -0
- package/dist/builderpattern/promptbuilder.d.ts +382 -0
- package/dist/builderpattern/promptbuilder.js +805 -0
- package/dist/builderpattern/systemprompt.d.ts +20 -0
- package/dist/builderpattern/systemprompt.js +48 -0
- package/dist/builderpattern/taskInstruction.d.ts +37 -0
- package/dist/builderpattern/taskInstruction.js +57 -0
- package/dist/builderpattern/usermessage.d.ts +70 -0
- package/dist/builderpattern/usermessage.js +123 -0
- 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 +405 -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/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 +94 -0
- package/dist/processor/types/interfaces.js +2 -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/addToolsListMessageModifier.d.ts +22 -0
- package/dist/processor-pieces/messageModifiers/addToolsListMessageModifier.js +144 -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 +15 -0
- package/dist/processor-pieces/messageModifiers/baseContextMessageModifier.js +75 -0
- package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.d.ts +11 -0
- package/dist/processor-pieces/messageModifiers/baseSystemInstructionMessageModifier.js +46 -0
- package/dist/processor-pieces/messageModifiers/chatHistoryMessageModifier.d.ts +18 -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/environmentContextModifier.d.ts +26 -0
- package/dist/processor-pieces/messageModifiers/environmentContextModifier.js +260 -0
- package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.d.ts +12 -0
- package/dist/processor-pieces/messageModifiers/handleUrlMessageModifier.js +60 -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 +18 -0
- package/dist/processor-pieces/messageModifiers/imageAttachmentMessageModifier.js +222 -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/toolInjectionModifier.d.ts +20 -0
- package/dist/processor-pieces/messageModifiers/toolInjectionModifier.js +152 -0
- package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.d.ts +22 -0
- package/dist/processor-pieces/messageModifiers/workingDirectoryMessageModifier.js +194 -0
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.d.ts +29 -0
- package/dist/processor-pieces/postInferenceProcessors/loopDetectionModifier.js +174 -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/preInferenceProcessors/chatCompressionModifier.d.ts +35 -0
- package/dist/processor-pieces/preInferenceProcessors/chatCompressionModifier.js +255 -0
- package/dist/processor-pieces/preInferenceProcessors/index.d.ts +1 -0
- package/dist/processor-pieces/preInferenceProcessors/index.js +2 -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/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/index.d.ts +18 -0
- package/dist/unified/index.js +42 -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 +29 -7
|
@@ -54,10 +54,14 @@ export interface DiffResult {
|
|
|
54
54
|
insertions: number;
|
|
55
55
|
deletions: number;
|
|
56
56
|
binary: boolean;
|
|
57
|
+
status?: 'added' | 'modified' | 'deleted' | 'renamed' | 'copied';
|
|
58
|
+
oldFile?: string;
|
|
59
|
+
diff?: string;
|
|
57
60
|
}>;
|
|
58
61
|
insertions: number;
|
|
59
62
|
deletions: number;
|
|
60
63
|
changed: number;
|
|
64
|
+
rawDiff?: string;
|
|
61
65
|
}
|
|
62
66
|
export interface AgentFunction {
|
|
63
67
|
type: 'function';
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Processor types and interfaces for the Unified Agent Framework
|
|
3
|
+
* @deprecated Use specific processor type files instead
|
|
4
|
+
*
|
|
5
|
+
* This file is kept for backward compatibility.
|
|
6
|
+
* New code should import from the specific processor type files:
|
|
7
|
+
* - './processorTypes/messageModifierTypes'
|
|
8
|
+
* - './processorTypes/preInferenceProcessorTypes'
|
|
9
|
+
* - './processorTypes/postInferenceTypes'
|
|
10
|
+
* - './processorTypes/preToolCallProcessorTypes'
|
|
11
|
+
* - './processorTypes/postToolCallProcessorTypes'
|
|
12
|
+
*/
|
|
13
|
+
export * from './processorTypes';
|
|
14
|
+
export interface ToolCall {
|
|
15
|
+
id: string;
|
|
16
|
+
function: {
|
|
17
|
+
name: string;
|
|
18
|
+
arguments: string | Record<string, unknown>;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface Tool {
|
|
22
|
+
type: 'function';
|
|
23
|
+
function: {
|
|
24
|
+
name: string;
|
|
25
|
+
description?: string;
|
|
26
|
+
parameters?: unknown;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface Message {
|
|
30
|
+
role: 'user' | 'assistant' | 'tool' | 'system';
|
|
31
|
+
content: string | unknown[];
|
|
32
|
+
name?: string;
|
|
33
|
+
tool_calls?: ToolCall[];
|
|
34
|
+
tool_call_id?: string;
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
}
|
|
37
|
+
export interface ProcessedMessage {
|
|
38
|
+
messages: Message[];
|
|
39
|
+
metadata?: Record<string, unknown>;
|
|
40
|
+
}
|
|
41
|
+
export interface ProcessorInput {
|
|
42
|
+
message: ProcessedMessage;
|
|
43
|
+
context?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
export interface ProcessorOutput {
|
|
46
|
+
type: string;
|
|
47
|
+
value?: unknown;
|
|
48
|
+
}
|
|
49
|
+
export interface Processor {
|
|
50
|
+
processInput(input: ProcessorInput): Promise<ProcessorOutput[]>;
|
|
51
|
+
setContext(key: string, value: unknown): void;
|
|
52
|
+
getContext(key: string): unknown;
|
|
53
|
+
clearContext(): void;
|
|
54
|
+
}
|
|
55
|
+
export declare abstract class BaseProcessor implements Processor {
|
|
56
|
+
protected context: Record<string, unknown>;
|
|
57
|
+
constructor(options?: Record<string, unknown>);
|
|
58
|
+
abstract processInput(input: ProcessorInput): Promise<ProcessorOutput[]>;
|
|
59
|
+
setContext(key: string, value: unknown): void;
|
|
60
|
+
getContext(key: string): unknown;
|
|
61
|
+
clearContext(): void;
|
|
62
|
+
protected createEvent(type: string, value?: unknown): ProcessorOutput;
|
|
63
|
+
protected createEvents(...events: Array<{
|
|
64
|
+
type: string;
|
|
65
|
+
value?: unknown;
|
|
66
|
+
}>): ProcessorOutput[];
|
|
67
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Processor types and interfaces for the Unified Agent Framework
|
|
4
|
+
* @deprecated Use specific processor type files instead
|
|
5
|
+
*
|
|
6
|
+
* This file is kept for backward compatibility.
|
|
7
|
+
* New code should import from the specific processor type files:
|
|
8
|
+
* - './processorTypes/messageModifierTypes'
|
|
9
|
+
* - './processorTypes/preInferenceProcessorTypes'
|
|
10
|
+
* - './processorTypes/postInferenceTypes'
|
|
11
|
+
* - './processorTypes/preToolCallProcessorTypes'
|
|
12
|
+
* - './processorTypes/postToolCallProcessorTypes'
|
|
13
|
+
*/
|
|
14
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
+
}
|
|
20
|
+
Object.defineProperty(o, k2, desc);
|
|
21
|
+
}) : (function(o, m, k, k2) {
|
|
22
|
+
if (k2 === undefined) k2 = k;
|
|
23
|
+
o[k2] = m[k];
|
|
24
|
+
}));
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.BaseProcessor = void 0;
|
|
30
|
+
// Re-export all processor types from their specific modules
|
|
31
|
+
__exportStar(require("./processorTypes"), exports);
|
|
32
|
+
// Base processor class
|
|
33
|
+
class BaseProcessor {
|
|
34
|
+
constructor(options) {
|
|
35
|
+
this.context = {};
|
|
36
|
+
if (options) {
|
|
37
|
+
this.context = { ...options };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
setContext(key, value) {
|
|
41
|
+
this.context[key] = value;
|
|
42
|
+
}
|
|
43
|
+
getContext(key) {
|
|
44
|
+
return this.context[key];
|
|
45
|
+
}
|
|
46
|
+
clearContext() {
|
|
47
|
+
this.context = {};
|
|
48
|
+
}
|
|
49
|
+
// Helper method to create events
|
|
50
|
+
createEvent(type, value) {
|
|
51
|
+
return { type, value };
|
|
52
|
+
}
|
|
53
|
+
// Helper method to create multiple events
|
|
54
|
+
createEvents(...events) {
|
|
55
|
+
return events.map(event => this.createEvent(event.type, event.value));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.BaseProcessor = BaseProcessor;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AgentConfig, AgentInterface } from "@codebolt/types/agent";
|
|
2
|
+
import { FlatUserMessage } from "@codebolt/types/sdk";
|
|
3
|
+
export declare class Agent implements AgentInterface {
|
|
4
|
+
private readonly config;
|
|
5
|
+
private readonly messageModifiers;
|
|
6
|
+
private readonly preInferenceProcessors;
|
|
7
|
+
private readonly postInferenceProcessors;
|
|
8
|
+
private readonly preToolCallProcessors;
|
|
9
|
+
private readonly postToolCallProcessors;
|
|
10
|
+
private readonly enableLogging;
|
|
11
|
+
constructor(config: AgentConfig);
|
|
12
|
+
execute(reqMessage: FlatUserMessage): Promise<{
|
|
13
|
+
success: boolean;
|
|
14
|
+
result: any;
|
|
15
|
+
error?: string;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Agent = void 0;
|
|
4
|
+
const base_1 = require("../base");
|
|
5
|
+
const responseExecutor_1 = require("../base/responseExecutor");
|
|
6
|
+
const agentStep_1 = require("../base/agentStep");
|
|
7
|
+
class Agent {
|
|
8
|
+
constructor(config) {
|
|
9
|
+
var _a, _b, _c, _d, _e;
|
|
10
|
+
this.config = { ...config };
|
|
11
|
+
this.messageModifiers = ((_a = config.processors) === null || _a === void 0 ? void 0 : _a.messageModifiers) || [];
|
|
12
|
+
this.preInferenceProcessors = ((_b = config.processors) === null || _b === void 0 ? void 0 : _b.preInferenceProcessors) || [];
|
|
13
|
+
this.postInferenceProcessors = ((_c = config.processors) === null || _c === void 0 ? void 0 : _c.postInferenceProcessors) || [];
|
|
14
|
+
this.preToolCallProcessors = ((_d = config.processors) === null || _d === void 0 ? void 0 : _d.preToolCallProcessors) || [];
|
|
15
|
+
this.postToolCallProcessors = ((_e = config.processors) === null || _e === void 0 ? void 0 : _e.postToolCallProcessors) || [];
|
|
16
|
+
this.enableLogging = config.enableLogging !== false;
|
|
17
|
+
}
|
|
18
|
+
async execute(reqMessage) {
|
|
19
|
+
if (!reqMessage) {
|
|
20
|
+
return {
|
|
21
|
+
success: false,
|
|
22
|
+
result: null,
|
|
23
|
+
error: 'Request message is required'
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const promptGenerator = new base_1.InitialPromptGenerator({
|
|
28
|
+
processors: this.messageModifiers,
|
|
29
|
+
baseSystemPrompt: this.config.instructions || 'Based on User Message send reply',
|
|
30
|
+
enableLogging: this.enableLogging
|
|
31
|
+
});
|
|
32
|
+
let prompt = await promptGenerator.processMessage(reqMessage);
|
|
33
|
+
let completed = false;
|
|
34
|
+
while (!completed) {
|
|
35
|
+
const agentStep = new agentStep_1.AgentStep({
|
|
36
|
+
preInferenceProcessors: this.preInferenceProcessors,
|
|
37
|
+
postInferenceProcessors: this.postInferenceProcessors
|
|
38
|
+
});
|
|
39
|
+
const stepResult = await agentStep.executeStep(reqMessage, prompt);
|
|
40
|
+
prompt = stepResult.nextMessage;
|
|
41
|
+
if (this.enableLogging) {
|
|
42
|
+
console.log('[Agent] Step completed, processing response');
|
|
43
|
+
}
|
|
44
|
+
const responseExecutor = new responseExecutor_1.ResponseExecutor({
|
|
45
|
+
preToolCalProcessors: this.preToolCallProcessors,
|
|
46
|
+
postToolCallProcessors: this.postToolCallProcessors
|
|
47
|
+
});
|
|
48
|
+
const executionResult = await responseExecutor.executeResponse({
|
|
49
|
+
initailUserMessage: reqMessage,
|
|
50
|
+
actualMessageSentToLLM: stepResult.actualMessageSentToLLM,
|
|
51
|
+
rawLLMOutput: stepResult.rawLLMResponse,
|
|
52
|
+
nextMessage: stepResult.nextMessage
|
|
53
|
+
});
|
|
54
|
+
completed = executionResult.completed;
|
|
55
|
+
prompt = executionResult.nextMessage;
|
|
56
|
+
}
|
|
57
|
+
if (this.enableLogging) {
|
|
58
|
+
console.log('[Agent] Execution completed successfully');
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
success: true,
|
|
62
|
+
result: prompt,
|
|
63
|
+
error: undefined
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
68
|
+
if (this.enableLogging) {
|
|
69
|
+
console.error('[Agent] Execution failed:', error);
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
success: false,
|
|
73
|
+
result: null,
|
|
74
|
+
error: errorMessage
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.Agent = Agent;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool creation utilities for the Unified Agent Framework
|
|
3
|
+
*/
|
|
4
|
+
import { z, ZodType } from 'zod';
|
|
5
|
+
import type { OpenAITool } from '../types/libTypes';
|
|
6
|
+
import { ToolConfig, ToolInterface } from '@codebolt/types/agent';
|
|
7
|
+
export declare class Tool implements ToolInterface {
|
|
8
|
+
id: string;
|
|
9
|
+
description: string;
|
|
10
|
+
inputSchema: ZodType<any, any, any>;
|
|
11
|
+
outputSchema?: ZodType<any, any, any>;
|
|
12
|
+
executionFunction: (context: any) => any;
|
|
13
|
+
constructor(config: ToolConfig);
|
|
14
|
+
execute(input: any, context: any): Promise<{
|
|
15
|
+
success: boolean;
|
|
16
|
+
error: string | undefined;
|
|
17
|
+
result?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
success: boolean;
|
|
20
|
+
result: any;
|
|
21
|
+
error?: undefined;
|
|
22
|
+
}>;
|
|
23
|
+
getToolDescription(): string;
|
|
24
|
+
getToolSchema(): z.ZodType<any, any, any>;
|
|
25
|
+
private validateInput;
|
|
26
|
+
/**
|
|
27
|
+
* Validates output against the tool's output schema (if provided)
|
|
28
|
+
* @param output - Raw output to validate
|
|
29
|
+
* @returns Validated and typed output
|
|
30
|
+
* @throws {Error} If validation fails
|
|
31
|
+
*/
|
|
32
|
+
private validateOutput;
|
|
33
|
+
/**
|
|
34
|
+
* Converts the tool to OpenAI function format
|
|
35
|
+
* @returns OpenAI function specification
|
|
36
|
+
*/
|
|
37
|
+
toOpenAITool(): OpenAITool;
|
|
38
|
+
private zodSchemaToJsonSchema;
|
|
39
|
+
/**
|
|
40
|
+
* Converts individual Zod types to JSON Schema
|
|
41
|
+
*/
|
|
42
|
+
private zodTypeToJsonSchema;
|
|
43
|
+
}
|
|
44
|
+
export declare function createTool(config: ToolConfig): Tool;
|