@autonomaai/agent-core 1.0.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/dist/base-agent.d.ts +112 -0
- package/dist/base-agent.d.ts.map +1 -0
- package/dist/base-agent.js +173 -0
- package/dist/base-agent.js.map +1 -0
- package/dist/core.d.ts +81 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +633 -0
- package/dist/core.js.map +1 -0
- package/dist/error-handler.d.ts +78 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +129 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/factory.d.ts +60 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +621 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/streaming.d.ts +24 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +36 -0
- package/dist/streaming.js.map +1 -0
- package/dist/trading/formatters.d.ts +167 -0
- package/dist/trading/formatters.d.ts.map +1 -0
- package/dist/trading/formatters.js +271 -0
- package/dist/trading/formatters.js.map +1 -0
- package/dist/trading/index.d.ts +9 -0
- package/dist/trading/index.d.ts.map +1 -0
- package/dist/trading/index.js +10 -0
- package/dist/trading/index.js.map +1 -0
- package/dist/trading/types.d.ts +205 -0
- package/dist/trading/types.d.ts.map +1 -0
- package/dist/trading/types.js +7 -0
- package/dist/trading/types.js.map +1 -0
- package/dist/trading/utils.d.ts +120 -0
- package/dist/trading/utils.d.ts.map +1 -0
- package/dist/trading/utils.js +291 -0
- package/dist/trading/utils.js.map +1 -0
- package/dist/trading/validation.d.ts +40 -0
- package/dist/trading/validation.d.ts.map +1 -0
- package/dist/trading/validation.js +247 -0
- package/dist/trading/validation.js.map +1 -0
- package/dist/types.d.ts +282 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/package.json +57 -0
- package/src/base-agent.ts +263 -0
- package/src/core.ts +792 -0
- package/src/error-handler.ts +166 -0
- package/src/factory.ts +687 -0
- package/src/global.d.ts +12 -0
- package/src/index.ts +24 -0
- package/src/streaming.ts +50 -0
- package/src/trading/formatters.ts +363 -0
- package/src/trading/index.ts +10 -0
- package/src/trading/types.ts +263 -0
- package/src/trading/utils.ts +355 -0
- package/src/trading/validation.ts +321 -0
- package/src/types.ts +402 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Agent Class
|
|
3
|
+
*
|
|
4
|
+
* Reusable base class for all AI agents in the platform.
|
|
5
|
+
* Provides common functionality: chat, sessions, status, lifecycle management.
|
|
6
|
+
*
|
|
7
|
+
* Each specific agent (ExpenseAnalyzer, MarketMaker, etc.) extends this class
|
|
8
|
+
* and adds domain-specific methods and tools.
|
|
9
|
+
*/
|
|
10
|
+
import { StandardAgent, AgentResponse } from './index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Logger interface abstraction
|
|
13
|
+
* Decouples from specific logging libraries
|
|
14
|
+
*/
|
|
15
|
+
export interface ILogger {
|
|
16
|
+
info(message: string | object, ...args: any[]): void;
|
|
17
|
+
error(message: string | object, ...args: any[]): void;
|
|
18
|
+
warn(message: string | object, ...args: any[]): void;
|
|
19
|
+
debug(message: string | object, ...args: any[]): void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Chat message interface
|
|
23
|
+
*/
|
|
24
|
+
export interface ChatMessage {
|
|
25
|
+
role: 'user' | 'assistant' | 'system';
|
|
26
|
+
content: string;
|
|
27
|
+
timestamp: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Chat session interface
|
|
31
|
+
*/
|
|
32
|
+
export interface ChatSession {
|
|
33
|
+
sessionId: string;
|
|
34
|
+
messages: ChatMessage[];
|
|
35
|
+
metadata?: Record<string, any>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Base agent configuration
|
|
39
|
+
*/
|
|
40
|
+
export interface BaseAgentConfig {
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
systemPrompt: string;
|
|
44
|
+
logger: ILogger;
|
|
45
|
+
llm: {
|
|
46
|
+
model: string;
|
|
47
|
+
temperature: number;
|
|
48
|
+
maxTokens: number;
|
|
49
|
+
openAIApiKey: string;
|
|
50
|
+
};
|
|
51
|
+
memory: {
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
persistentThreadId: boolean;
|
|
54
|
+
maxMessages: number;
|
|
55
|
+
};
|
|
56
|
+
capabilities?: string[];
|
|
57
|
+
enableRAG?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Base Agent Class
|
|
61
|
+
*
|
|
62
|
+
* All agents extend this class and inherit common functionality.
|
|
63
|
+
* Specific agents can override methods or add domain-specific ones.
|
|
64
|
+
*/
|
|
65
|
+
export declare abstract class BaseAgent {
|
|
66
|
+
protected agent: StandardAgent;
|
|
67
|
+
protected logger: ILogger;
|
|
68
|
+
protected sessions: Map<string, ChatSession>;
|
|
69
|
+
protected startTime: number;
|
|
70
|
+
protected config: BaseAgentConfig;
|
|
71
|
+
constructor(config: BaseAgentConfig);
|
|
72
|
+
/**
|
|
73
|
+
* Start the agent
|
|
74
|
+
*/
|
|
75
|
+
start(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Process a user message and return AI response
|
|
78
|
+
*/
|
|
79
|
+
chat(userMessage: string, sessionId: string, contextMetadata?: Record<string, any>): Promise<AgentResponse>;
|
|
80
|
+
/**
|
|
81
|
+
* Get session history
|
|
82
|
+
*/
|
|
83
|
+
getSession(sessionId: string): ChatSession | undefined;
|
|
84
|
+
/**
|
|
85
|
+
* Clear session history
|
|
86
|
+
*/
|
|
87
|
+
clearSession(sessionId: string): void;
|
|
88
|
+
/**
|
|
89
|
+
* Get all active sessions
|
|
90
|
+
*/
|
|
91
|
+
getActiveSessions(): string[];
|
|
92
|
+
/**
|
|
93
|
+
* Get agent status
|
|
94
|
+
*/
|
|
95
|
+
getStatus(): {
|
|
96
|
+
name: string;
|
|
97
|
+
status: string;
|
|
98
|
+
uptime: number;
|
|
99
|
+
activeSessions: number;
|
|
100
|
+
model: string;
|
|
101
|
+
capabilities: string[];
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Stop the agent
|
|
105
|
+
*/
|
|
106
|
+
stop(): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Get underlying StandardAgent (for advanced use)
|
|
109
|
+
*/
|
|
110
|
+
protected getUnderlyingAgent(): StandardAgent;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=base-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-agent.d.ts","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAgB,aAAa,EAAsB,MAAM,YAAY,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,8BAAsB,SAAS;IAC7B,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7C,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;gBAEtB,MAAM,EAAE,eAAe;IAwCnC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B;;OAEG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACpC,OAAO,CAAC,aAAa,CAAC;IAqEzB;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAItD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,SAAS;;;;;;;;IAWT;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,aAAa;CAG9C"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Agent Class
|
|
3
|
+
*
|
|
4
|
+
* Reusable base class for all AI agents in the platform.
|
|
5
|
+
* Provides common functionality: chat, sessions, status, lifecycle management.
|
|
6
|
+
*
|
|
7
|
+
* Each specific agent (ExpenseAnalyzer, MarketMaker, etc.) extends this class
|
|
8
|
+
* and adds domain-specific methods and tools.
|
|
9
|
+
*/
|
|
10
|
+
import { createTradingAgent } from './index.js';
|
|
11
|
+
/**
|
|
12
|
+
* Base Agent Class
|
|
13
|
+
*
|
|
14
|
+
* All agents extend this class and inherit common functionality.
|
|
15
|
+
* Specific agents can override methods or add domain-specific ones.
|
|
16
|
+
*/
|
|
17
|
+
export class BaseAgent {
|
|
18
|
+
constructor(config) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
this.logger = config.logger;
|
|
21
|
+
this.sessions = new Map();
|
|
22
|
+
this.startTime = Date.now();
|
|
23
|
+
// Initialize StandardAgent from agent-core
|
|
24
|
+
this.agent = createTradingAgent({
|
|
25
|
+
name: config.name,
|
|
26
|
+
description: config.description,
|
|
27
|
+
llm: {
|
|
28
|
+
model: config.llm.model,
|
|
29
|
+
temperature: config.llm.temperature,
|
|
30
|
+
maxTokens: config.llm.maxTokens,
|
|
31
|
+
openAIApiKey: config.llm.openAIApiKey
|
|
32
|
+
},
|
|
33
|
+
memory: {
|
|
34
|
+
enabled: config.memory.enabled,
|
|
35
|
+
persistentThreadId: config.memory.persistentThreadId,
|
|
36
|
+
maxMessages: config.memory.maxMessages
|
|
37
|
+
},
|
|
38
|
+
prompt: {
|
|
39
|
+
systemMessage: config.systemPrompt,
|
|
40
|
+
capabilities: (config.capabilities || []), // Allow any string capabilities
|
|
41
|
+
enableConversationMemory: config.memory.enabled
|
|
42
|
+
},
|
|
43
|
+
services: {
|
|
44
|
+
messageService: true,
|
|
45
|
+
ragService: config.enableRAG || false,
|
|
46
|
+
loggingEnabled: true
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
this.logger.info(`✅ ${config.name} initialized`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Start the agent
|
|
53
|
+
*/
|
|
54
|
+
async start() {
|
|
55
|
+
try {
|
|
56
|
+
await this.agent.start();
|
|
57
|
+
this.logger.info(`🚀 ${this.config.name} started successfully`);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
this.logger.error(`❌ Failed to start ${this.config.name}:`, error);
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Process a user message and return AI response
|
|
66
|
+
*/
|
|
67
|
+
async chat(userMessage, sessionId, contextMetadata) {
|
|
68
|
+
try {
|
|
69
|
+
const startTime = Date.now();
|
|
70
|
+
this.logger.info({ sessionId, contextMetadata }, `💬 Processing chat message: ${userMessage.substring(0, 100)}...`);
|
|
71
|
+
// Get or create session
|
|
72
|
+
let session = this.sessions.get(sessionId);
|
|
73
|
+
if (!session) {
|
|
74
|
+
session = {
|
|
75
|
+
sessionId,
|
|
76
|
+
messages: [],
|
|
77
|
+
metadata: {
|
|
78
|
+
createdAt: new Date().toISOString(),
|
|
79
|
+
...contextMetadata
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
this.sessions.set(sessionId, session);
|
|
83
|
+
}
|
|
84
|
+
// Add user message to session history
|
|
85
|
+
session.messages.push({
|
|
86
|
+
role: 'user',
|
|
87
|
+
content: userMessage,
|
|
88
|
+
timestamp: new Date().toISOString()
|
|
89
|
+
});
|
|
90
|
+
// Process through LangGraph agent
|
|
91
|
+
const agentMessage = {
|
|
92
|
+
content: userMessage,
|
|
93
|
+
timestamp: new Date().toISOString(),
|
|
94
|
+
role: 'user',
|
|
95
|
+
metadata: {
|
|
96
|
+
sessionId,
|
|
97
|
+
messageCount: session.messages.length,
|
|
98
|
+
...contextMetadata
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const response = await this.agent.process(agentMessage);
|
|
102
|
+
// Add assistant response to session history
|
|
103
|
+
session.messages.push({
|
|
104
|
+
role: 'assistant',
|
|
105
|
+
content: response.content,
|
|
106
|
+
timestamp: new Date().toISOString()
|
|
107
|
+
});
|
|
108
|
+
// Trim history if too long
|
|
109
|
+
if (session.messages.length > this.config.memory.maxMessages) {
|
|
110
|
+
session.messages = session.messages.slice(-this.config.memory.maxMessages);
|
|
111
|
+
}
|
|
112
|
+
const processingTime = Date.now() - startTime;
|
|
113
|
+
this.logger.info({ sessionId, processingTime, tokensUsed: response.metrics?.tokensUsed }, `✅ Chat response generated in ${processingTime}ms`);
|
|
114
|
+
return response;
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
this.logger.error({ sessionId, error }, '❌ Error processing chat message');
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get session history
|
|
123
|
+
*/
|
|
124
|
+
getSession(sessionId) {
|
|
125
|
+
return this.sessions.get(sessionId);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Clear session history
|
|
129
|
+
*/
|
|
130
|
+
clearSession(sessionId) {
|
|
131
|
+
this.sessions.delete(sessionId);
|
|
132
|
+
this.logger.info({ sessionId }, 'Session cleared');
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get all active sessions
|
|
136
|
+
*/
|
|
137
|
+
getActiveSessions() {
|
|
138
|
+
return Array.from(this.sessions.keys());
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get agent status
|
|
142
|
+
*/
|
|
143
|
+
getStatus() {
|
|
144
|
+
return {
|
|
145
|
+
name: this.config.name,
|
|
146
|
+
status: 'running',
|
|
147
|
+
uptime: Date.now() - this.startTime,
|
|
148
|
+
activeSessions: this.sessions.size,
|
|
149
|
+
model: this.config.llm.model,
|
|
150
|
+
capabilities: this.config.capabilities || []
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Stop the agent
|
|
155
|
+
*/
|
|
156
|
+
async stop() {
|
|
157
|
+
try {
|
|
158
|
+
await this.agent.stop();
|
|
159
|
+
this.logger.info(`🛑 ${this.config.name} stopped`);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
this.logger.error('Error stopping agent:', error);
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get underlying StandardAgent (for advanced use)
|
|
168
|
+
*/
|
|
169
|
+
getUnderlyingAgent() {
|
|
170
|
+
return this.agent;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=base-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-agent.js","sourceRoot":"","sources":["../src/base-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core Agent Implementation for autonoma Ecosystem
|
|
3
|
+
*
|
|
4
|
+
* Provides standardized agent creation and management with LangGraph + AgentKit integration.
|
|
5
|
+
*/
|
|
6
|
+
import { AgentConfig, autonomaAgent, AgentMessage, AgentResponse, AgentStatus, AgentMetrics, Tool } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Core agent implementation that standardizes LangGraph + AgentKit patterns
|
|
9
|
+
*/
|
|
10
|
+
export declare class StandardAgent implements autonomaAgent {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly description?: string;
|
|
14
|
+
capabilities: string[];
|
|
15
|
+
tools: Tool[];
|
|
16
|
+
config: AgentConfig;
|
|
17
|
+
private langGraphAgent?;
|
|
18
|
+
private openAiConfig?;
|
|
19
|
+
private lastTokenUsage;
|
|
20
|
+
private messageService?;
|
|
21
|
+
private unifiedMcpTools?;
|
|
22
|
+
private status;
|
|
23
|
+
private startTime;
|
|
24
|
+
private metrics;
|
|
25
|
+
private logger;
|
|
26
|
+
constructor(config: AgentConfig);
|
|
27
|
+
start(): Promise<void>;
|
|
28
|
+
stop(): Promise<void>;
|
|
29
|
+
process(message: AgentMessage): Promise<AgentResponse>;
|
|
30
|
+
updateConfig(config: Partial<AgentConfig>): Promise<void>;
|
|
31
|
+
addTool(tool: Tool): Promise<void>;
|
|
32
|
+
removeTool(toolName: string): Promise<void>;
|
|
33
|
+
getStatus(): AgentStatus;
|
|
34
|
+
getMetrics(): AgentMetrics;
|
|
35
|
+
clearMemory(): Promise<void>;
|
|
36
|
+
getConversationHistory(limit?: number): Promise<AgentMessage[]>;
|
|
37
|
+
private buildSystemPrompt;
|
|
38
|
+
private buildConversationMessages;
|
|
39
|
+
private getSessionId;
|
|
40
|
+
private emitStreamingEvent;
|
|
41
|
+
private publishStreamingChunks;
|
|
42
|
+
private requestOpenAICompletion;
|
|
43
|
+
private createLangGraphTools;
|
|
44
|
+
private createLangGraphMcpTool;
|
|
45
|
+
private getMcpClientForService;
|
|
46
|
+
private initializeLangGraphAgent;
|
|
47
|
+
private initializeServices;
|
|
48
|
+
private processWithLangGraph;
|
|
49
|
+
private normalizeLangGraphResult;
|
|
50
|
+
private updateMetrics;
|
|
51
|
+
static createTradingAgent(config: AgentConfig): StandardAgent;
|
|
52
|
+
static createDataAnalysisAgent(config: AgentConfig): StandardAgent;
|
|
53
|
+
static createCustomerServiceAgent(config: AgentConfig): StandardAgent;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Agent builder for fluent configuration
|
|
57
|
+
*/
|
|
58
|
+
export declare class AgentBuilder {
|
|
59
|
+
private config;
|
|
60
|
+
setName(name: string): AgentBuilder;
|
|
61
|
+
setDescription(description: string): AgentBuilder;
|
|
62
|
+
setLLM(llmConfig: AgentConfig['llm']): AgentBuilder;
|
|
63
|
+
setAgentKit(agentKitConfig: AgentConfig['agentKit']): AgentBuilder;
|
|
64
|
+
setTools(toolsConfig: AgentConfig['tools']): AgentBuilder;
|
|
65
|
+
setPrompt(promptConfig: AgentConfig['prompt']): AgentBuilder;
|
|
66
|
+
setMemory(memoryConfig: AgentConfig['memory']): AgentBuilder;
|
|
67
|
+
setServices(servicesConfig: AgentConfig['services']): AgentBuilder;
|
|
68
|
+
addCustomTool(tool: Tool): AgentBuilder;
|
|
69
|
+
build(): Promise<autonomaAgent>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Utility functions for agent management
|
|
73
|
+
*/
|
|
74
|
+
export declare class AgentUtils {
|
|
75
|
+
static validateConfig(config: AgentConfig): {
|
|
76
|
+
valid: boolean;
|
|
77
|
+
errors: string[];
|
|
78
|
+
};
|
|
79
|
+
static getEnvironmentConfig(): AgentConfig;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|