@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.
Files changed (62) hide show
  1. package/dist/base-agent.d.ts +112 -0
  2. package/dist/base-agent.d.ts.map +1 -0
  3. package/dist/base-agent.js +173 -0
  4. package/dist/base-agent.js.map +1 -0
  5. package/dist/core.d.ts +81 -0
  6. package/dist/core.d.ts.map +1 -0
  7. package/dist/core.js +633 -0
  8. package/dist/core.js.map +1 -0
  9. package/dist/error-handler.d.ts +78 -0
  10. package/dist/error-handler.d.ts.map +1 -0
  11. package/dist/error-handler.js +129 -0
  12. package/dist/error-handler.js.map +1 -0
  13. package/dist/factory.d.ts +60 -0
  14. package/dist/factory.d.ts.map +1 -0
  15. package/dist/factory.js +621 -0
  16. package/dist/factory.js.map +1 -0
  17. package/dist/index.d.ts +13 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +19 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/streaming.d.ts +24 -0
  22. package/dist/streaming.d.ts.map +1 -0
  23. package/dist/streaming.js +36 -0
  24. package/dist/streaming.js.map +1 -0
  25. package/dist/trading/formatters.d.ts +167 -0
  26. package/dist/trading/formatters.d.ts.map +1 -0
  27. package/dist/trading/formatters.js +271 -0
  28. package/dist/trading/formatters.js.map +1 -0
  29. package/dist/trading/index.d.ts +9 -0
  30. package/dist/trading/index.d.ts.map +1 -0
  31. package/dist/trading/index.js +10 -0
  32. package/dist/trading/index.js.map +1 -0
  33. package/dist/trading/types.d.ts +205 -0
  34. package/dist/trading/types.d.ts.map +1 -0
  35. package/dist/trading/types.js +7 -0
  36. package/dist/trading/types.js.map +1 -0
  37. package/dist/trading/utils.d.ts +120 -0
  38. package/dist/trading/utils.d.ts.map +1 -0
  39. package/dist/trading/utils.js +291 -0
  40. package/dist/trading/utils.js.map +1 -0
  41. package/dist/trading/validation.d.ts +40 -0
  42. package/dist/trading/validation.d.ts.map +1 -0
  43. package/dist/trading/validation.js +247 -0
  44. package/dist/trading/validation.js.map +1 -0
  45. package/dist/types.d.ts +282 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js +21 -0
  48. package/dist/types.js.map +1 -0
  49. package/package.json +57 -0
  50. package/src/base-agent.ts +263 -0
  51. package/src/core.ts +792 -0
  52. package/src/error-handler.ts +166 -0
  53. package/src/factory.ts +687 -0
  54. package/src/global.d.ts +12 -0
  55. package/src/index.ts +24 -0
  56. package/src/streaming.ts +50 -0
  57. package/src/trading/formatters.ts +363 -0
  58. package/src/trading/index.ts +10 -0
  59. package/src/trading/types.ts +263 -0
  60. package/src/trading/utils.ts +355 -0
  61. package/src/trading/validation.ts +321 -0
  62. 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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"}