@lov3kaizen/agentsea-core 0.2.0 → 0.3.1

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/index.d.mts CHANGED
@@ -1,197 +1,8 @@
1
- import { z } from 'zod';
1
+ import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, Message, ProviderConfig, LLMResponse, LLMStreamChunk, WorkflowConfig, AgentMetrics, SpanContext, OutputFormat, FormatOptions, FormattedContent, VoiceAgentConfig, VoiceMessage, STTConfig, TTSConfig, STTProvider, STTResult, TTSProvider, TTSResult, AudioFormat, TenantStorage, Tenant, TenantStatus, TenantApiKey, TenantQuota } from '@lov3kaizen/agentsea-types';
2
+ export * from '@lov3kaizen/agentsea-types';
3
+ export { AudioFormat, STTConfig, STTProvider, STTResult, TTSConfig, TTSProvider, TTSResult, Tenant, TenantApiKey, TenantContext, TenantQuota, TenantResolver, TenantSettings, TenantStatus, TenantStorage, VoiceAgentConfig, VoiceMessage, VoiceType } from '@lov3kaizen/agentsea-types';
2
4
  import { EventEmitter } from 'events';
3
-
4
- interface Message {
5
- role: 'system' | 'user' | 'assistant' | 'tool';
6
- content: string;
7
- name?: string;
8
- toolCallId?: string;
9
- }
10
- type OutputFormat = 'text' | 'markdown' | 'html' | 'react';
11
- interface FormatOptions {
12
- includeMetadata?: boolean;
13
- sanitizeHtml?: boolean;
14
- highlightCode?: boolean;
15
- theme?: 'light' | 'dark' | 'auto';
16
- }
17
- interface AgentConfig {
18
- name: string;
19
- description: string;
20
- model: string;
21
- provider: string;
22
- systemPrompt?: string;
23
- tools?: Tool[];
24
- temperature?: number;
25
- maxTokens?: number;
26
- maxIterations?: number;
27
- memory?: MemoryConfig;
28
- providerConfig?: ProviderInstanceConfig;
29
- outputFormat?: OutputFormat;
30
- formatOptions?: FormatOptions;
31
- }
32
- interface ProviderInstanceConfig {
33
- baseUrl?: string;
34
- apiKey?: string;
35
- timeout?: number;
36
- defaultHeaders?: Record<string, string>;
37
- organization?: string;
38
- }
39
- interface AgentContext {
40
- conversationId: string;
41
- userId?: string;
42
- sessionData: Record<string, any>;
43
- history: Message[];
44
- metadata?: Record<string, any>;
45
- }
46
- interface FormattedContent {
47
- raw: string;
48
- format: OutputFormat;
49
- rendered?: string;
50
- metadata?: {
51
- hasCodeBlocks?: boolean;
52
- hasTables?: boolean;
53
- hasLists?: boolean;
54
- links?: Array<{
55
- text: string;
56
- url: string;
57
- }>;
58
- };
59
- }
60
- interface AgentResponse {
61
- content: string;
62
- formatted?: FormattedContent;
63
- toolCalls?: ToolCall[];
64
- metadata: {
65
- tokensUsed: number;
66
- latencyMs: number;
67
- iterations: number;
68
- cost?: number;
69
- };
70
- nextAgent?: string;
71
- finishReason?: 'stop' | 'length' | 'tool_calls' | 'error';
72
- }
73
- interface Tool {
74
- name: string;
75
- description: string;
76
- parameters: z.ZodSchema;
77
- execute: (params: any, context: ToolContext) => Promise<any>;
78
- retryConfig?: RetryConfig;
79
- }
80
- interface ToolContext {
81
- agentName: string;
82
- conversationId: string;
83
- metadata: Record<string, any>;
84
- }
85
- interface ToolCall {
86
- id: string;
87
- tool: string;
88
- parameters: any;
89
- result?: any;
90
- error?: string;
91
- }
92
- interface RetryConfig {
93
- maxAttempts: number;
94
- backoff: 'linear' | 'exponential';
95
- initialDelayMs?: number;
96
- maxDelayMs?: number;
97
- retryableErrors?: string[];
98
- }
99
- interface MemoryConfig {
100
- type: 'buffer' | 'summary' | 'vector' | 'hybrid';
101
- maxMessages?: number;
102
- storage?: 'memory' | 'redis' | 'database';
103
- ttl?: number;
104
- summaryModel?: string;
105
- }
106
- interface MemoryStore {
107
- save(conversationId: string, messages: Message[]): Promise<void>;
108
- load(conversationId: string): Promise<Message[]>;
109
- clear(conversationId: string): Promise<void>;
110
- search?(query: string, limit?: number): Promise<Message[]>;
111
- }
112
- interface LLMProvider {
113
- generateResponse(messages: Message[], config: ProviderConfig): Promise<LLMResponse>;
114
- streamResponse?(messages: Message[], config: ProviderConfig): AsyncIterable<LLMStreamChunk>;
115
- parseToolCalls(response: LLMResponse): ToolCall[];
116
- }
117
- interface ProviderConfig {
118
- model: string;
119
- temperature?: number;
120
- maxTokens?: number;
121
- tools?: Tool[];
122
- systemPrompt?: string;
123
- topP?: number;
124
- stopSequences?: string[];
125
- }
126
- interface LLMResponse {
127
- content: string;
128
- stopReason: string;
129
- usage: {
130
- inputTokens: number;
131
- outputTokens: number;
132
- };
133
- rawResponse: any;
134
- }
135
- interface LLMStreamChunk {
136
- type: 'content' | 'tool_call' | 'done';
137
- content?: string;
138
- toolCall?: Partial<ToolCall>;
139
- done?: boolean;
140
- }
141
- type StreamEvent = {
142
- type: 'iteration';
143
- iteration: number;
144
- } | {
145
- type: 'content';
146
- content: string;
147
- delta?: boolean;
148
- } | {
149
- type: 'tool_calls';
150
- toolCalls: ToolCall[];
151
- } | {
152
- type: 'tool_result';
153
- toolCall: ToolCall;
154
- } | {
155
- type: 'done';
156
- metadata?: {
157
- tokensUsed?: number;
158
- latencyMs?: number;
159
- iterations?: number;
160
- };
161
- } | {
162
- type: 'error';
163
- error: string;
164
- };
165
- type WorkflowType = 'sequential' | 'parallel' | 'supervisor' | 'custom';
166
- interface WorkflowConfig {
167
- name: string;
168
- type: WorkflowType;
169
- agents: AgentConfig[];
170
- routing?: RoutingLogic;
171
- errorHandling?: ErrorHandlingStrategy;
172
- }
173
- interface RoutingLogic {
174
- strategy: 'conditional' | 'round-robin' | 'dynamic';
175
- rules?: RoutingRule[];
176
- }
177
- interface RoutingRule {
178
- condition: (context: AgentContext, response: AgentResponse) => boolean;
179
- nextAgent: string;
180
- }
181
- type ErrorHandlingStrategy = 'fail-fast' | 'retry' | 'fallback' | 'continue';
182
- interface AgentMetrics {
183
- agentName: string;
184
- latencyMs: number;
185
- tokensUsed: number;
186
- success: boolean;
187
- error?: string;
188
- timestamp: Date;
189
- }
190
- interface SpanContext {
191
- traceId: string;
192
- spanId: string;
193
- parentSpanId?: string;
194
- }
5
+ import { z } from 'zod';
195
6
 
196
7
  declare class ToolRegistry {
197
8
  private tools;
@@ -1013,73 +824,6 @@ declare class ConversationManager {
1013
824
  import(stateJson: string): void;
1014
825
  }
1015
826
 
1016
- type AudioFormat = 'mp3' | 'opus' | 'aac' | 'flac' | 'wav' | 'pcm';
1017
- type VoiceType = string;
1018
- interface STTConfig {
1019
- model?: string;
1020
- language?: string;
1021
- temperature?: number;
1022
- prompt?: string;
1023
- responseFormat?: 'json' | 'text' | 'srt' | 'verbose_json' | 'vtt';
1024
- }
1025
- interface TTSConfig {
1026
- model?: string;
1027
- voice?: VoiceType;
1028
- speed?: number;
1029
- format?: AudioFormat;
1030
- }
1031
- interface STTResult {
1032
- text: string;
1033
- language?: string;
1034
- duration?: number;
1035
- segments?: Array<{
1036
- id: number;
1037
- start: number;
1038
- end: number;
1039
- text: string;
1040
- }>;
1041
- words?: Array<{
1042
- word: string;
1043
- start: number;
1044
- end: number;
1045
- }>;
1046
- }
1047
- interface TTSResult {
1048
- audio: Buffer;
1049
- format: AudioFormat;
1050
- duration?: number;
1051
- byteLength: number;
1052
- }
1053
- interface STTProvider {
1054
- transcribe(audio: Buffer | string, config?: STTConfig): Promise<STTResult>;
1055
- transcribeStream?(audioStream: ReadableStream | NodeJS.ReadableStream, config?: STTConfig): AsyncIterable<Partial<STTResult>>;
1056
- supportsStreaming(): boolean;
1057
- }
1058
- interface TTSProvider {
1059
- synthesize(text: string, config?: TTSConfig): Promise<TTSResult>;
1060
- synthesizeStream?(text: string, config?: TTSConfig): AsyncIterable<Buffer>;
1061
- supportsStreaming(): boolean;
1062
- getVoices?(): Promise<Array<{
1063
- id: string;
1064
- name: string;
1065
- language?: string;
1066
- gender?: 'male' | 'female' | 'neutral';
1067
- }>>;
1068
- }
1069
- interface VoiceMessage {
1070
- role: 'user' | 'assistant';
1071
- text: string;
1072
- audio?: Buffer;
1073
- timestamp: Date;
1074
- }
1075
- interface VoiceAgentConfig {
1076
- sttProvider: STTProvider;
1077
- ttsProvider: TTSProvider;
1078
- sttConfig?: STTConfig;
1079
- ttsConfig?: TTSConfig;
1080
- autoSpeak?: boolean;
1081
- }
1082
-
1083
827
  declare class VoiceAgent {
1084
828
  private agent;
1085
829
  private sttProvider;
@@ -1115,9 +859,13 @@ declare class VoiceAgent {
1115
859
  };
1116
860
  }
1117
861
 
862
+ interface OpenAIWhisperConfig {
863
+ apiKey?: string;
864
+ baseURL?: string;
865
+ }
1118
866
  declare class OpenAIWhisperProvider implements STTProvider {
1119
867
  private client;
1120
- constructor(apiKey?: string);
868
+ constructor(config?: string | OpenAIWhisperConfig);
1121
869
  transcribe(audio: Buffer | string, config?: STTConfig): Promise<STTResult>;
1122
870
  supportsStreaming(): boolean;
1123
871
  getSupportedLanguages(): string[];
@@ -1137,9 +885,17 @@ declare class LocalWhisperProvider implements STTProvider {
1137
885
  getInstallInstructions(): string;
1138
886
  }
1139
887
 
888
+ declare class LemonFoxSTTProvider extends OpenAIWhisperProvider {
889
+ constructor(apiKey?: string);
890
+ }
891
+
892
+ interface OpenAITTSConfig {
893
+ apiKey?: string;
894
+ baseURL?: string;
895
+ }
1140
896
  declare class OpenAITTSProvider implements TTSProvider {
1141
897
  private client;
1142
- constructor(apiKey?: string);
898
+ constructor(config?: string | OpenAITTSConfig);
1143
899
  synthesize(text: string, config?: TTSConfig): Promise<TTSResult>;
1144
900
  synthesizeStream(text: string, config?: TTSConfig): AsyncIterable<Buffer>;
1145
901
  supportsStreaming(): boolean;
@@ -1195,76 +951,16 @@ declare class PiperTTSProvider implements TTSProvider {
1195
951
  }>>;
1196
952
  }
1197
953
 
1198
- interface Tenant {
1199
- id: string;
1200
- name: string;
1201
- slug: string;
1202
- metadata?: Record<string, unknown>;
1203
- settings?: TenantSettings;
1204
- status: TenantStatus;
1205
- createdAt: Date;
1206
- updatedAt: Date;
1207
- }
1208
- declare enum TenantStatus {
1209
- ACTIVE = "active",
1210
- SUSPENDED = "suspended",
1211
- INACTIVE = "inactive"
1212
- }
1213
- interface TenantSettings {
1214
- maxAgents?: number;
1215
- maxConversations?: number;
1216
- rateLimit?: number;
1217
- dataRetentionDays?: number;
1218
- allowedProviders?: string[];
1219
- custom?: Record<string, unknown>;
1220
- }
1221
- interface TenantContext {
1222
- tenant: Tenant;
1223
- userId?: string;
1224
- metadata?: Record<string, unknown>;
1225
- }
1226
- interface TenantApiKey {
1227
- id: string;
1228
- tenantId: string;
1229
- key: string;
1230
- name: string;
1231
- scopes: string[];
1232
- expiresAt?: Date;
1233
- createdAt: Date;
1234
- lastUsedAt?: Date;
1235
- isActive: boolean;
1236
- }
1237
- interface TenantQuota {
1238
- tenantId: string;
1239
- resource: string;
1240
- used: number;
1241
- limit: number;
1242
- period: 'hourly' | 'daily' | 'monthly';
1243
- periodStart: Date;
1244
- periodEnd: Date;
1245
- }
1246
- interface TenantStorage {
1247
- createTenant(tenant: Omit<Tenant, 'id' | 'createdAt' | 'updatedAt'>): Promise<Tenant>;
1248
- getTenant(tenantId: string): Promise<Tenant | null>;
1249
- getTenantBySlug(slug: string): Promise<Tenant | null>;
1250
- updateTenant(tenantId: string, updates: Partial<Tenant>): Promise<Tenant>;
1251
- deleteTenant(tenantId: string): Promise<void>;
1252
- listTenants(options?: {
1253
- limit?: number;
1254
- offset?: number;
1255
- status?: TenantStatus;
1256
- }): Promise<{
1257
- tenants: Tenant[];
1258
- total: number;
1259
- }>;
1260
- createApiKey(apiKey: Omit<TenantApiKey, 'id' | 'createdAt'>): Promise<TenantApiKey>;
1261
- getApiKeyByKey(key: string): Promise<TenantApiKey | null>;
1262
- revokeApiKey(apiKeyId: string): Promise<void>;
1263
- updateQuota(quota: TenantQuota): Promise<void>;
1264
- getQuota(tenantId: string, resource: string, period: string): Promise<TenantQuota | null>;
1265
- }
1266
- interface TenantResolver {
1267
- resolve(context: unknown): Promise<TenantContext | null>;
954
+ declare class LemonFoxTTSProvider extends OpenAITTSProvider {
955
+ constructor(apiKey?: string);
956
+ getVoices(): Promise<Array<{
957
+ id: string;
958
+ name: string;
959
+ language?: string;
960
+ gender?: 'male' | 'female' | 'neutral';
961
+ }>>;
962
+ getModels(): string[];
963
+ getFormats(): AudioFormat[];
1268
964
  }
1269
965
 
1270
966
  interface TenantManagerConfig {
@@ -1343,4 +1039,4 @@ declare class MemoryTenantStorage implements TenantStorage {
1343
1039
  clear(): void;
1344
1040
  }
1345
1041
 
1346
- export { type ACPAddress, type ACPCart, type ACPCartItem, type ACPCheckoutSession, ACPClient, type ACPConfig, type ACPCustomer, type ACPDelegatedPaymentConfig, type ACPOrder, type ACPPaginationMeta, type ACPPaymentIntent, type ACPPaymentMethod, type ACPProduct, type ACPProductSearchQuery, type ACPProductSearchResult, type ACPProductVariant, type ACPResponse, type ACPWebhookEvent, Agent, type AgentConfig, type AgentContext, type AgentMetrics, type AgentResponse, AnthropicProvider, type AudioFormat, BufferMemory, Cache, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ErrorHandlingStrategy, type FormatOptions, type FormattedContent, GeminiProvider, type LLMProvider, type LLMResponse, type LLMStreamChunk, LMStudioProvider, LRUCache, LocalAIProvider, LocalWhisperProvider, type LogLevel, Logger, type LoggerConfig, type MCPCallToolRequest, type MCPCallToolResponse, MCPClient, type MCPListToolsRequest, type MCPListToolsResponse, type MCPMessage, type MCPPrompt, type MCPReadResourceRequest, type MCPReadResourceResponse, MCPRegistry, type MCPResource, type MCPServerCapabilities, type MCPServerConfig, type MCPServerInfo, type MCPTool, type MCPTransport, type MemoryConfig, type MemoryStore, MemoryTenantStorage, type Message, MetricsCollector, OllamaProvider, OpenAICompatibleProvider, OpenAIProvider, OpenAITTSProvider, OpenAIWhisperProvider, type OutputFormat, ParallelWorkflow, PiperTTSProvider, type ProviderConfig, type ProviderInstanceConfig, RateLimiter, RedisMemory, type RetryConfig, type RoutingLogic, type RoutingRule, SSETransport, type STTConfig, type STTProvider, type STTResult, SequentialWorkflow, SlidingWindowRateLimiter, type Span, type SpanContext, StdioTransport, type StreamEvent, SummaryMemory, SupervisorWorkflow, type TTSConfig, type TTSProvider, type TTSResult, type Tenant, type TenantApiKey, TenantBufferMemory, type TenantContext, TenantManager, type TenantManagerConfig, type TenantQuota, type TenantResolver, type TenantSettings, TenantStatus, type TenantStorage, TextGenerationWebUIProvider, type Tool, type ToolCall, type ToolContext, ToolRegistry, Tracer, VLLMProvider, VoiceAgent, type VoiceAgentConfig, type VoiceMessage, type VoiceType, Workflow, type WorkflowConfig, WorkflowFactory, type WorkflowType, calculatorTool, createACPTools, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, globalMetrics, globalTracer, httpRequestTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, stringTransformTool, textSummaryTool };
1042
+ export { type ACPAddress, type ACPCart, type ACPCartItem, type ACPCheckoutSession, ACPClient, type ACPConfig, type ACPCustomer, type ACPDelegatedPaymentConfig, type ACPOrder, type ACPPaginationMeta, type ACPPaymentIntent, type ACPPaymentMethod, type ACPProduct, type ACPProductSearchQuery, type ACPProductSearchResult, type ACPProductVariant, type ACPResponse, type ACPWebhookEvent, Agent, AnthropicProvider, BufferMemory, Cache, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, GeminiProvider, LMStudioProvider, LRUCache, LemonFoxSTTProvider, LemonFoxTTSProvider, LocalAIProvider, LocalWhisperProvider, type LogLevel, Logger, type LoggerConfig, type MCPCallToolRequest, type MCPCallToolResponse, MCPClient, type MCPListToolsRequest, type MCPListToolsResponse, type MCPMessage, type MCPPrompt, type MCPReadResourceRequest, type MCPReadResourceResponse, MCPRegistry, type MCPResource, type MCPServerCapabilities, type MCPServerConfig, type MCPServerInfo, type MCPTool, type MCPTransport, MemoryTenantStorage, MetricsCollector, OllamaProvider, OpenAICompatibleProvider, OpenAIProvider, type OpenAITTSConfig, OpenAITTSProvider, type OpenAIWhisperConfig, OpenAIWhisperProvider, ParallelWorkflow, PiperTTSProvider, RateLimiter, RedisMemory, SSETransport, SequentialWorkflow, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, ToolRegistry, Tracer, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorTool, createACPTools, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, globalMetrics, globalTracer, httpRequestTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, stringTransformTool, textSummaryTool };