@lov3kaizen/agentsea-core 0.3.0 → 0.4.0
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 +61 -4
- package/dist/index.d.ts +61 -4
- package/dist/index.js +182 -9
- package/dist/index.mjs +179 -6
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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';
|
|
1
|
+
import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, Message, ProviderConfig, LLMResponse, LLMStreamChunk, ProviderModelConfig, ModelInfo, ModelCapabilities, AnthropicModel, AnthropicConfig, OpenAIModel, OpenAIConfig, GeminiModel, GeminiConfig, OllamaConfig as OllamaConfig$1, AnthropicModelCapabilities, OpenAIModelCapabilities, GeminiModelCapabilities, 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
2
|
export * from '@lov3kaizen/agentsea-types';
|
|
3
3
|
export { AudioFormat, STTConfig, STTProvider, STTResult, TTSConfig, TTSProvider, TTSResult, Tenant, TenantApiKey, TenantContext, TenantQuota, TenantResolver, TenantSettings, TenantStatus, TenantStorage, VoiceAgentConfig, VoiceMessage, VoiceType } from '@lov3kaizen/agentsea-types';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
@@ -137,6 +137,39 @@ declare class VLLMProvider extends OpenAICompatibleProvider {
|
|
|
137
137
|
constructor(config?: Partial<OpenAICompatibleConfig>);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
interface TypeSafeProvider<TConfig extends ProviderModelConfig> {
|
|
141
|
+
readonly config: TConfig;
|
|
142
|
+
readonly provider: AnthropicProvider | OpenAIProvider | GeminiProvider | OllamaProvider;
|
|
143
|
+
getModelInfo(): ModelInfo | undefined;
|
|
144
|
+
supportsCapability(capability: keyof ModelCapabilities): boolean;
|
|
145
|
+
}
|
|
146
|
+
declare function createProvider<TConfig extends ProviderModelConfig>(config: TConfig): TypeSafeProvider<TConfig>;
|
|
147
|
+
declare function createAnthropicProvider<TModel extends AnthropicModel>(config: AnthropicConfig<TModel>, options?: {
|
|
148
|
+
apiKey?: string;
|
|
149
|
+
}): TypeSafeProvider<AnthropicConfig<TModel>> & {
|
|
150
|
+
provider: AnthropicProvider;
|
|
151
|
+
};
|
|
152
|
+
declare function createOpenAIProvider<TModel extends OpenAIModel>(config: OpenAIConfig<TModel>, options?: {
|
|
153
|
+
apiKey?: string;
|
|
154
|
+
}): TypeSafeProvider<OpenAIConfig<TModel>> & {
|
|
155
|
+
provider: OpenAIProvider;
|
|
156
|
+
};
|
|
157
|
+
declare function createGeminiProvider<TModel extends GeminiModel>(config: GeminiConfig<TModel>, options?: {
|
|
158
|
+
apiKey?: string;
|
|
159
|
+
}): TypeSafeProvider<GeminiConfig<TModel>> & {
|
|
160
|
+
provider: GeminiProvider;
|
|
161
|
+
};
|
|
162
|
+
declare function createOllamaProvider(config: OllamaConfig$1, options?: {
|
|
163
|
+
baseUrl?: string;
|
|
164
|
+
timeout?: number;
|
|
165
|
+
}): TypeSafeProvider<OllamaConfig$1> & {
|
|
166
|
+
provider: OllamaProvider;
|
|
167
|
+
};
|
|
168
|
+
type ExtractModel<T extends ProviderModelConfig> = T['model'];
|
|
169
|
+
type ExtractProviderName<T extends ProviderModelConfig> = T['provider'];
|
|
170
|
+
type ConfigSupports<T extends ProviderModelConfig, TCapability extends keyof ModelCapabilities> = T extends AnthropicConfig<infer M> ? M extends keyof AnthropicModelCapabilities ? AnthropicModelCapabilities[M][TCapability] extends true ? true : false : false : T extends OpenAIConfig<infer M> ? M extends keyof OpenAIModelCapabilities ? OpenAIModelCapabilities[M][TCapability] extends true ? true : false : false : T extends GeminiConfig<infer M> ? M extends keyof GeminiModelCapabilities ? GeminiModelCapabilities[M][TCapability] extends true ? true : false : false : false;
|
|
171
|
+
type RequireCapability<T extends ProviderModelConfig, TCapability extends keyof ModelCapabilities> = ConfigSupports<T, TCapability> extends true ? T : never;
|
|
172
|
+
|
|
140
173
|
declare class BufferMemory implements MemoryStore {
|
|
141
174
|
private maxMessages?;
|
|
142
175
|
private store;
|
|
@@ -859,9 +892,13 @@ declare class VoiceAgent {
|
|
|
859
892
|
};
|
|
860
893
|
}
|
|
861
894
|
|
|
895
|
+
interface OpenAIWhisperConfig {
|
|
896
|
+
apiKey?: string;
|
|
897
|
+
baseURL?: string;
|
|
898
|
+
}
|
|
862
899
|
declare class OpenAIWhisperProvider implements STTProvider {
|
|
863
900
|
private client;
|
|
864
|
-
constructor(
|
|
901
|
+
constructor(config?: string | OpenAIWhisperConfig);
|
|
865
902
|
transcribe(audio: Buffer | string, config?: STTConfig): Promise<STTResult>;
|
|
866
903
|
supportsStreaming(): boolean;
|
|
867
904
|
getSupportedLanguages(): string[];
|
|
@@ -881,9 +918,17 @@ declare class LocalWhisperProvider implements STTProvider {
|
|
|
881
918
|
getInstallInstructions(): string;
|
|
882
919
|
}
|
|
883
920
|
|
|
921
|
+
declare class LemonFoxSTTProvider extends OpenAIWhisperProvider {
|
|
922
|
+
constructor(apiKey?: string);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
interface OpenAITTSConfig {
|
|
926
|
+
apiKey?: string;
|
|
927
|
+
baseURL?: string;
|
|
928
|
+
}
|
|
884
929
|
declare class OpenAITTSProvider implements TTSProvider {
|
|
885
930
|
private client;
|
|
886
|
-
constructor(
|
|
931
|
+
constructor(config?: string | OpenAITTSConfig);
|
|
887
932
|
synthesize(text: string, config?: TTSConfig): Promise<TTSResult>;
|
|
888
933
|
synthesizeStream(text: string, config?: TTSConfig): AsyncIterable<Buffer>;
|
|
889
934
|
supportsStreaming(): boolean;
|
|
@@ -939,6 +984,18 @@ declare class PiperTTSProvider implements TTSProvider {
|
|
|
939
984
|
}>>;
|
|
940
985
|
}
|
|
941
986
|
|
|
987
|
+
declare class LemonFoxTTSProvider extends OpenAITTSProvider {
|
|
988
|
+
constructor(apiKey?: string);
|
|
989
|
+
getVoices(): Promise<Array<{
|
|
990
|
+
id: string;
|
|
991
|
+
name: string;
|
|
992
|
+
language?: string;
|
|
993
|
+
gender?: 'male' | 'female' | 'neutral';
|
|
994
|
+
}>>;
|
|
995
|
+
getModels(): string[];
|
|
996
|
+
getFormats(): AudioFormat[];
|
|
997
|
+
}
|
|
998
|
+
|
|
942
999
|
interface TenantManagerConfig {
|
|
943
1000
|
storage: TenantStorage;
|
|
944
1001
|
defaultSettings?: Tenant['settings'];
|
|
@@ -1015,4 +1072,4 @@ declare class MemoryTenantStorage implements TenantStorage {
|
|
|
1015
1072
|
clear(): void;
|
|
1016
1073
|
}
|
|
1017
1074
|
|
|
1018
|
-
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, 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, OpenAITTSProvider, 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 };
|
|
1075
|
+
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, type ConfigSupports, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ExtractModel, type ExtractProviderName, 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, type RequireCapability, SSETransport, SequentialWorkflow, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, ToolRegistry, Tracer, type TypeSafeProvider, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorTool, createACPTools, createAnthropicProvider, createGeminiProvider, createOllamaProvider, createOpenAIProvider, createProvider, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, globalMetrics, globalTracer, httpRequestTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, stringTransformTool, textSummaryTool };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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';
|
|
1
|
+
import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, Message, ProviderConfig, LLMResponse, LLMStreamChunk, ProviderModelConfig, ModelInfo, ModelCapabilities, AnthropicModel, AnthropicConfig, OpenAIModel, OpenAIConfig, GeminiModel, GeminiConfig, OllamaConfig as OllamaConfig$1, AnthropicModelCapabilities, OpenAIModelCapabilities, GeminiModelCapabilities, 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
2
|
export * from '@lov3kaizen/agentsea-types';
|
|
3
3
|
export { AudioFormat, STTConfig, STTProvider, STTResult, TTSConfig, TTSProvider, TTSResult, Tenant, TenantApiKey, TenantContext, TenantQuota, TenantResolver, TenantSettings, TenantStatus, TenantStorage, VoiceAgentConfig, VoiceMessage, VoiceType } from '@lov3kaizen/agentsea-types';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
@@ -137,6 +137,39 @@ declare class VLLMProvider extends OpenAICompatibleProvider {
|
|
|
137
137
|
constructor(config?: Partial<OpenAICompatibleConfig>);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
interface TypeSafeProvider<TConfig extends ProviderModelConfig> {
|
|
141
|
+
readonly config: TConfig;
|
|
142
|
+
readonly provider: AnthropicProvider | OpenAIProvider | GeminiProvider | OllamaProvider;
|
|
143
|
+
getModelInfo(): ModelInfo | undefined;
|
|
144
|
+
supportsCapability(capability: keyof ModelCapabilities): boolean;
|
|
145
|
+
}
|
|
146
|
+
declare function createProvider<TConfig extends ProviderModelConfig>(config: TConfig): TypeSafeProvider<TConfig>;
|
|
147
|
+
declare function createAnthropicProvider<TModel extends AnthropicModel>(config: AnthropicConfig<TModel>, options?: {
|
|
148
|
+
apiKey?: string;
|
|
149
|
+
}): TypeSafeProvider<AnthropicConfig<TModel>> & {
|
|
150
|
+
provider: AnthropicProvider;
|
|
151
|
+
};
|
|
152
|
+
declare function createOpenAIProvider<TModel extends OpenAIModel>(config: OpenAIConfig<TModel>, options?: {
|
|
153
|
+
apiKey?: string;
|
|
154
|
+
}): TypeSafeProvider<OpenAIConfig<TModel>> & {
|
|
155
|
+
provider: OpenAIProvider;
|
|
156
|
+
};
|
|
157
|
+
declare function createGeminiProvider<TModel extends GeminiModel>(config: GeminiConfig<TModel>, options?: {
|
|
158
|
+
apiKey?: string;
|
|
159
|
+
}): TypeSafeProvider<GeminiConfig<TModel>> & {
|
|
160
|
+
provider: GeminiProvider;
|
|
161
|
+
};
|
|
162
|
+
declare function createOllamaProvider(config: OllamaConfig$1, options?: {
|
|
163
|
+
baseUrl?: string;
|
|
164
|
+
timeout?: number;
|
|
165
|
+
}): TypeSafeProvider<OllamaConfig$1> & {
|
|
166
|
+
provider: OllamaProvider;
|
|
167
|
+
};
|
|
168
|
+
type ExtractModel<T extends ProviderModelConfig> = T['model'];
|
|
169
|
+
type ExtractProviderName<T extends ProviderModelConfig> = T['provider'];
|
|
170
|
+
type ConfigSupports<T extends ProviderModelConfig, TCapability extends keyof ModelCapabilities> = T extends AnthropicConfig<infer M> ? M extends keyof AnthropicModelCapabilities ? AnthropicModelCapabilities[M][TCapability] extends true ? true : false : false : T extends OpenAIConfig<infer M> ? M extends keyof OpenAIModelCapabilities ? OpenAIModelCapabilities[M][TCapability] extends true ? true : false : false : T extends GeminiConfig<infer M> ? M extends keyof GeminiModelCapabilities ? GeminiModelCapabilities[M][TCapability] extends true ? true : false : false : false;
|
|
171
|
+
type RequireCapability<T extends ProviderModelConfig, TCapability extends keyof ModelCapabilities> = ConfigSupports<T, TCapability> extends true ? T : never;
|
|
172
|
+
|
|
140
173
|
declare class BufferMemory implements MemoryStore {
|
|
141
174
|
private maxMessages?;
|
|
142
175
|
private store;
|
|
@@ -859,9 +892,13 @@ declare class VoiceAgent {
|
|
|
859
892
|
};
|
|
860
893
|
}
|
|
861
894
|
|
|
895
|
+
interface OpenAIWhisperConfig {
|
|
896
|
+
apiKey?: string;
|
|
897
|
+
baseURL?: string;
|
|
898
|
+
}
|
|
862
899
|
declare class OpenAIWhisperProvider implements STTProvider {
|
|
863
900
|
private client;
|
|
864
|
-
constructor(
|
|
901
|
+
constructor(config?: string | OpenAIWhisperConfig);
|
|
865
902
|
transcribe(audio: Buffer | string, config?: STTConfig): Promise<STTResult>;
|
|
866
903
|
supportsStreaming(): boolean;
|
|
867
904
|
getSupportedLanguages(): string[];
|
|
@@ -881,9 +918,17 @@ declare class LocalWhisperProvider implements STTProvider {
|
|
|
881
918
|
getInstallInstructions(): string;
|
|
882
919
|
}
|
|
883
920
|
|
|
921
|
+
declare class LemonFoxSTTProvider extends OpenAIWhisperProvider {
|
|
922
|
+
constructor(apiKey?: string);
|
|
923
|
+
}
|
|
924
|
+
|
|
925
|
+
interface OpenAITTSConfig {
|
|
926
|
+
apiKey?: string;
|
|
927
|
+
baseURL?: string;
|
|
928
|
+
}
|
|
884
929
|
declare class OpenAITTSProvider implements TTSProvider {
|
|
885
930
|
private client;
|
|
886
|
-
constructor(
|
|
931
|
+
constructor(config?: string | OpenAITTSConfig);
|
|
887
932
|
synthesize(text: string, config?: TTSConfig): Promise<TTSResult>;
|
|
888
933
|
synthesizeStream(text: string, config?: TTSConfig): AsyncIterable<Buffer>;
|
|
889
934
|
supportsStreaming(): boolean;
|
|
@@ -939,6 +984,18 @@ declare class PiperTTSProvider implements TTSProvider {
|
|
|
939
984
|
}>>;
|
|
940
985
|
}
|
|
941
986
|
|
|
987
|
+
declare class LemonFoxTTSProvider extends OpenAITTSProvider {
|
|
988
|
+
constructor(apiKey?: string);
|
|
989
|
+
getVoices(): Promise<Array<{
|
|
990
|
+
id: string;
|
|
991
|
+
name: string;
|
|
992
|
+
language?: string;
|
|
993
|
+
gender?: 'male' | 'female' | 'neutral';
|
|
994
|
+
}>>;
|
|
995
|
+
getModels(): string[];
|
|
996
|
+
getFormats(): AudioFormat[];
|
|
997
|
+
}
|
|
998
|
+
|
|
942
999
|
interface TenantManagerConfig {
|
|
943
1000
|
storage: TenantStorage;
|
|
944
1001
|
defaultSettings?: Tenant['settings'];
|
|
@@ -1015,4 +1072,4 @@ declare class MemoryTenantStorage implements TenantStorage {
|
|
|
1015
1072
|
clear(): void;
|
|
1016
1073
|
}
|
|
1017
1074
|
|
|
1018
|
-
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, 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, OpenAITTSProvider, 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 };
|
|
1075
|
+
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, type ConfigSupports, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ExtractModel, type ExtractProviderName, 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, type RequireCapability, SSETransport, SequentialWorkflow, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, ToolRegistry, Tracer, type TypeSafeProvider, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorTool, createACPTools, createAnthropicProvider, createGeminiProvider, createOllamaProvider, createOpenAIProvider, createProvider, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, globalMetrics, globalTracer, httpRequestTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, stringTransformTool, textSummaryTool };
|
package/dist/index.js
CHANGED
|
@@ -45,6 +45,8 @@ __export(index_exports, {
|
|
|
45
45
|
GeminiProvider: () => GeminiProvider,
|
|
46
46
|
LMStudioProvider: () => LMStudioProvider,
|
|
47
47
|
LRUCache: () => LRUCache,
|
|
48
|
+
LemonFoxSTTProvider: () => LemonFoxSTTProvider,
|
|
49
|
+
LemonFoxTTSProvider: () => LemonFoxTTSProvider,
|
|
48
50
|
LocalAIProvider: () => LocalAIProvider,
|
|
49
51
|
LocalWhisperProvider: () => LocalWhisperProvider,
|
|
50
52
|
Logger: () => Logger,
|
|
@@ -95,6 +97,11 @@ __export(index_exports, {
|
|
|
95
97
|
WorkflowFactory: () => WorkflowFactory,
|
|
96
98
|
calculatorTool: () => calculatorTool,
|
|
97
99
|
createACPTools: () => createACPTools,
|
|
100
|
+
createAnthropicProvider: () => createAnthropicProvider,
|
|
101
|
+
createGeminiProvider: () => createGeminiProvider,
|
|
102
|
+
createOllamaProvider: () => createOllamaProvider,
|
|
103
|
+
createOpenAIProvider: () => createOpenAIProvider,
|
|
104
|
+
createProvider: () => createProvider,
|
|
98
105
|
defaultLogger: () => defaultLogger,
|
|
99
106
|
figmaGetCommentsTool: () => figmaGetCommentsTool,
|
|
100
107
|
figmaGetFileTool: () => figmaGetFileTool,
|
|
@@ -2343,6 +2350,91 @@ var VLLMProvider = class extends OpenAICompatibleProvider {
|
|
|
2343
2350
|
}
|
|
2344
2351
|
};
|
|
2345
2352
|
|
|
2353
|
+
// src/providers/type-safe-provider.ts
|
|
2354
|
+
function createProvider(config) {
|
|
2355
|
+
let provider;
|
|
2356
|
+
switch (config.provider) {
|
|
2357
|
+
case "anthropic":
|
|
2358
|
+
provider = new AnthropicProvider();
|
|
2359
|
+
break;
|
|
2360
|
+
case "openai":
|
|
2361
|
+
provider = new OpenAIProvider();
|
|
2362
|
+
break;
|
|
2363
|
+
case "gemini":
|
|
2364
|
+
provider = new GeminiProvider();
|
|
2365
|
+
break;
|
|
2366
|
+
case "ollama":
|
|
2367
|
+
provider = new OllamaProvider();
|
|
2368
|
+
break;
|
|
2369
|
+
default: {
|
|
2370
|
+
const exhaustiveCheck = config;
|
|
2371
|
+
throw new Error(`Unknown provider: ${exhaustiveCheck.provider}`);
|
|
2372
|
+
}
|
|
2373
|
+
}
|
|
2374
|
+
return {
|
|
2375
|
+
config,
|
|
2376
|
+
provider,
|
|
2377
|
+
getModelInfo() {
|
|
2378
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2379
|
+
},
|
|
2380
|
+
supportsCapability(capability) {
|
|
2381
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2382
|
+
}
|
|
2383
|
+
};
|
|
2384
|
+
}
|
|
2385
|
+
function createAnthropicProvider(config, options) {
|
|
2386
|
+
const provider = new AnthropicProvider(options?.apiKey);
|
|
2387
|
+
return {
|
|
2388
|
+
config,
|
|
2389
|
+
provider,
|
|
2390
|
+
getModelInfo() {
|
|
2391
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2392
|
+
},
|
|
2393
|
+
supportsCapability(capability) {
|
|
2394
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2395
|
+
}
|
|
2396
|
+
};
|
|
2397
|
+
}
|
|
2398
|
+
function createOpenAIProvider(config, options) {
|
|
2399
|
+
const provider = new OpenAIProvider(options?.apiKey);
|
|
2400
|
+
return {
|
|
2401
|
+
config,
|
|
2402
|
+
provider,
|
|
2403
|
+
getModelInfo() {
|
|
2404
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2405
|
+
},
|
|
2406
|
+
supportsCapability(capability) {
|
|
2407
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2408
|
+
}
|
|
2409
|
+
};
|
|
2410
|
+
}
|
|
2411
|
+
function createGeminiProvider(config, options) {
|
|
2412
|
+
const provider = new GeminiProvider(options?.apiKey);
|
|
2413
|
+
return {
|
|
2414
|
+
config,
|
|
2415
|
+
provider,
|
|
2416
|
+
getModelInfo() {
|
|
2417
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2418
|
+
},
|
|
2419
|
+
supportsCapability(capability) {
|
|
2420
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2421
|
+
}
|
|
2422
|
+
};
|
|
2423
|
+
}
|
|
2424
|
+
function createOllamaProvider(config, options) {
|
|
2425
|
+
const provider = new OllamaProvider(options);
|
|
2426
|
+
return {
|
|
2427
|
+
config,
|
|
2428
|
+
provider,
|
|
2429
|
+
getModelInfo() {
|
|
2430
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2431
|
+
},
|
|
2432
|
+
supportsCapability(capability) {
|
|
2433
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2434
|
+
}
|
|
2435
|
+
};
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2346
2438
|
// src/memory/buffer-memory.ts
|
|
2347
2439
|
var BufferMemory = class {
|
|
2348
2440
|
constructor(maxMessages) {
|
|
@@ -5120,12 +5212,18 @@ var VoiceAgent = class {
|
|
|
5120
5212
|
|
|
5121
5213
|
// src/voice/stt/openai-whisper.ts
|
|
5122
5214
|
var import_fs3 = require("fs");
|
|
5123
|
-
var
|
|
5215
|
+
var import_openai4 = __toESM(require("openai"));
|
|
5124
5216
|
var OpenAIWhisperProvider = class {
|
|
5125
5217
|
client;
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5218
|
+
/**
|
|
5219
|
+
* Create an OpenAI Whisper provider
|
|
5220
|
+
* @param config - Configuration object or API key string (for backward compatibility)
|
|
5221
|
+
*/
|
|
5222
|
+
constructor(config) {
|
|
5223
|
+
const resolvedConfig = typeof config === "string" ? { apiKey: config } : config || {};
|
|
5224
|
+
this.client = new import_openai4.default({
|
|
5225
|
+
apiKey: resolvedConfig.apiKey || process.env.OPENAI_API_KEY,
|
|
5226
|
+
baseURL: resolvedConfig.baseURL
|
|
5129
5227
|
});
|
|
5130
5228
|
}
|
|
5131
5229
|
/**
|
|
@@ -5135,7 +5233,7 @@ var OpenAIWhisperProvider = class {
|
|
|
5135
5233
|
try {
|
|
5136
5234
|
let audioFile;
|
|
5137
5235
|
if (Buffer.isBuffer(audio)) {
|
|
5138
|
-
audioFile =
|
|
5236
|
+
audioFile = await (0, import_openai4.toFile)(audio, "audio.mp3", { type: "audio/mpeg" });
|
|
5139
5237
|
} else if (typeof audio === "string") {
|
|
5140
5238
|
audioFile = (0, import_fs3.createReadStream)(audio);
|
|
5141
5239
|
} else {
|
|
@@ -5403,13 +5501,34 @@ Then configure the provider with the correct path.
|
|
|
5403
5501
|
}
|
|
5404
5502
|
};
|
|
5405
5503
|
|
|
5504
|
+
// src/voice/stt/lemonfox-stt.ts
|
|
5505
|
+
var LEMONFOX_BASE_URL = "https://api.lemonfox.ai/v1";
|
|
5506
|
+
var LemonFoxSTTProvider = class extends OpenAIWhisperProvider {
|
|
5507
|
+
/**
|
|
5508
|
+
* Create a LemonFox STT provider
|
|
5509
|
+
* @param apiKey - LemonFox API key (defaults to LEMONFOX_API_KEY env var)
|
|
5510
|
+
*/
|
|
5511
|
+
constructor(apiKey) {
|
|
5512
|
+
super({
|
|
5513
|
+
apiKey: apiKey || process.env.LEMONFOX_API_KEY,
|
|
5514
|
+
baseURL: LEMONFOX_BASE_URL
|
|
5515
|
+
});
|
|
5516
|
+
}
|
|
5517
|
+
};
|
|
5518
|
+
|
|
5406
5519
|
// src/voice/tts/openai-tts.ts
|
|
5407
|
-
var
|
|
5520
|
+
var import_openai5 = __toESM(require("openai"));
|
|
5408
5521
|
var OpenAITTSProvider = class {
|
|
5409
5522
|
client;
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5523
|
+
/**
|
|
5524
|
+
* Create an OpenAI TTS provider
|
|
5525
|
+
* @param config - Configuration object or API key string (for backward compatibility)
|
|
5526
|
+
*/
|
|
5527
|
+
constructor(config) {
|
|
5528
|
+
const resolvedConfig = typeof config === "string" ? { apiKey: config } : config || {};
|
|
5529
|
+
this.client = new import_openai5.default({
|
|
5530
|
+
apiKey: resolvedConfig.apiKey || process.env.OPENAI_API_KEY,
|
|
5531
|
+
baseURL: resolvedConfig.baseURL
|
|
5413
5532
|
});
|
|
5414
5533
|
}
|
|
5415
5534
|
/**
|
|
@@ -5790,6 +5909,53 @@ Example:
|
|
|
5790
5909
|
}
|
|
5791
5910
|
};
|
|
5792
5911
|
|
|
5912
|
+
// src/voice/tts/lemonfox-tts.ts
|
|
5913
|
+
var LEMONFOX_BASE_URL2 = "https://api.lemonfox.ai/v1";
|
|
5914
|
+
var LemonFoxTTSProvider = class extends OpenAITTSProvider {
|
|
5915
|
+
/**
|
|
5916
|
+
* Create a LemonFox TTS provider
|
|
5917
|
+
* @param apiKey - LemonFox API key (defaults to LEMONFOX_API_KEY env var)
|
|
5918
|
+
*/
|
|
5919
|
+
constructor(apiKey) {
|
|
5920
|
+
super({
|
|
5921
|
+
apiKey: apiKey || process.env.LEMONFOX_API_KEY,
|
|
5922
|
+
baseURL: LEMONFOX_BASE_URL2
|
|
5923
|
+
});
|
|
5924
|
+
}
|
|
5925
|
+
/**
|
|
5926
|
+
* Get available LemonFox voices
|
|
5927
|
+
*
|
|
5928
|
+
* LemonFox offers 50+ voices across 8 languages.
|
|
5929
|
+
* This returns a sample of common voices; the full list is available at:
|
|
5930
|
+
* https://lemonfox.ai/docs
|
|
5931
|
+
*/
|
|
5932
|
+
getVoices() {
|
|
5933
|
+
return Promise.resolve([
|
|
5934
|
+
// OpenAI-compatible voices
|
|
5935
|
+
{ id: "alloy", name: "Alloy", gender: "neutral" },
|
|
5936
|
+
{ id: "echo", name: "Echo", gender: "male" },
|
|
5937
|
+
{ id: "fable", name: "Fable", gender: "neutral" },
|
|
5938
|
+
{ id: "onyx", name: "Onyx", gender: "male" },
|
|
5939
|
+
{ id: "nova", name: "Nova", gender: "female" },
|
|
5940
|
+
{ id: "shimmer", name: "Shimmer", gender: "female" },
|
|
5941
|
+
// LemonFox-specific voices (sample)
|
|
5942
|
+
{ id: "sarah", name: "Sarah", gender: "female" }
|
|
5943
|
+
]);
|
|
5944
|
+
}
|
|
5945
|
+
/**
|
|
5946
|
+
* Get available models
|
|
5947
|
+
*/
|
|
5948
|
+
getModels() {
|
|
5949
|
+
return ["tts-1"];
|
|
5950
|
+
}
|
|
5951
|
+
/**
|
|
5952
|
+
* Get supported formats
|
|
5953
|
+
*/
|
|
5954
|
+
getFormats() {
|
|
5955
|
+
return ["mp3", "opus", "aac", "flac", "wav", "pcm"];
|
|
5956
|
+
}
|
|
5957
|
+
};
|
|
5958
|
+
|
|
5793
5959
|
// src/tenant/tenant-manager.ts
|
|
5794
5960
|
var import_crypto2 = require("crypto");
|
|
5795
5961
|
|
|
@@ -6134,6 +6300,8 @@ var MemoryTenantStorage = class {
|
|
|
6134
6300
|
GeminiProvider,
|
|
6135
6301
|
LMStudioProvider,
|
|
6136
6302
|
LRUCache,
|
|
6303
|
+
LemonFoxSTTProvider,
|
|
6304
|
+
LemonFoxTTSProvider,
|
|
6137
6305
|
LocalAIProvider,
|
|
6138
6306
|
LocalWhisperProvider,
|
|
6139
6307
|
Logger,
|
|
@@ -6184,6 +6352,11 @@ var MemoryTenantStorage = class {
|
|
|
6184
6352
|
WorkflowFactory,
|
|
6185
6353
|
calculatorTool,
|
|
6186
6354
|
createACPTools,
|
|
6355
|
+
createAnthropicProvider,
|
|
6356
|
+
createGeminiProvider,
|
|
6357
|
+
createOllamaProvider,
|
|
6358
|
+
createOpenAIProvider,
|
|
6359
|
+
createProvider,
|
|
6187
6360
|
defaultLogger,
|
|
6188
6361
|
figmaGetCommentsTool,
|
|
6189
6362
|
figmaGetFileTool,
|
package/dist/index.mjs
CHANGED
|
@@ -33,6 +33,8 @@ __export(index_exports, {
|
|
|
33
33
|
GeminiProvider: () => GeminiProvider,
|
|
34
34
|
LMStudioProvider: () => LMStudioProvider,
|
|
35
35
|
LRUCache: () => LRUCache,
|
|
36
|
+
LemonFoxSTTProvider: () => LemonFoxSTTProvider,
|
|
37
|
+
LemonFoxTTSProvider: () => LemonFoxTTSProvider,
|
|
36
38
|
LocalAIProvider: () => LocalAIProvider,
|
|
37
39
|
LocalWhisperProvider: () => LocalWhisperProvider,
|
|
38
40
|
Logger: () => Logger,
|
|
@@ -83,6 +85,11 @@ __export(index_exports, {
|
|
|
83
85
|
WorkflowFactory: () => WorkflowFactory,
|
|
84
86
|
calculatorTool: () => calculatorTool,
|
|
85
87
|
createACPTools: () => createACPTools,
|
|
88
|
+
createAnthropicProvider: () => createAnthropicProvider,
|
|
89
|
+
createGeminiProvider: () => createGeminiProvider,
|
|
90
|
+
createOllamaProvider: () => createOllamaProvider,
|
|
91
|
+
createOpenAIProvider: () => createOpenAIProvider,
|
|
92
|
+
createProvider: () => createProvider,
|
|
86
93
|
defaultLogger: () => defaultLogger,
|
|
87
94
|
figmaGetCommentsTool: () => figmaGetCommentsTool,
|
|
88
95
|
figmaGetFileTool: () => figmaGetFileTool,
|
|
@@ -2333,6 +2340,91 @@ var VLLMProvider = class extends OpenAICompatibleProvider {
|
|
|
2333
2340
|
}
|
|
2334
2341
|
};
|
|
2335
2342
|
|
|
2343
|
+
// src/providers/type-safe-provider.ts
|
|
2344
|
+
function createProvider(config) {
|
|
2345
|
+
let provider;
|
|
2346
|
+
switch (config.provider) {
|
|
2347
|
+
case "anthropic":
|
|
2348
|
+
provider = new AnthropicProvider();
|
|
2349
|
+
break;
|
|
2350
|
+
case "openai":
|
|
2351
|
+
provider = new OpenAIProvider();
|
|
2352
|
+
break;
|
|
2353
|
+
case "gemini":
|
|
2354
|
+
provider = new GeminiProvider();
|
|
2355
|
+
break;
|
|
2356
|
+
case "ollama":
|
|
2357
|
+
provider = new OllamaProvider();
|
|
2358
|
+
break;
|
|
2359
|
+
default: {
|
|
2360
|
+
const exhaustiveCheck = config;
|
|
2361
|
+
throw new Error(`Unknown provider: ${exhaustiveCheck.provider}`);
|
|
2362
|
+
}
|
|
2363
|
+
}
|
|
2364
|
+
return {
|
|
2365
|
+
config,
|
|
2366
|
+
provider,
|
|
2367
|
+
getModelInfo() {
|
|
2368
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2369
|
+
},
|
|
2370
|
+
supportsCapability(capability) {
|
|
2371
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2372
|
+
}
|
|
2373
|
+
};
|
|
2374
|
+
}
|
|
2375
|
+
function createAnthropicProvider(config, options) {
|
|
2376
|
+
const provider = new AnthropicProvider(options?.apiKey);
|
|
2377
|
+
return {
|
|
2378
|
+
config,
|
|
2379
|
+
provider,
|
|
2380
|
+
getModelInfo() {
|
|
2381
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2382
|
+
},
|
|
2383
|
+
supportsCapability(capability) {
|
|
2384
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2385
|
+
}
|
|
2386
|
+
};
|
|
2387
|
+
}
|
|
2388
|
+
function createOpenAIProvider(config, options) {
|
|
2389
|
+
const provider = new OpenAIProvider(options?.apiKey);
|
|
2390
|
+
return {
|
|
2391
|
+
config,
|
|
2392
|
+
provider,
|
|
2393
|
+
getModelInfo() {
|
|
2394
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2395
|
+
},
|
|
2396
|
+
supportsCapability(capability) {
|
|
2397
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2398
|
+
}
|
|
2399
|
+
};
|
|
2400
|
+
}
|
|
2401
|
+
function createGeminiProvider(config, options) {
|
|
2402
|
+
const provider = new GeminiProvider(options?.apiKey);
|
|
2403
|
+
return {
|
|
2404
|
+
config,
|
|
2405
|
+
provider,
|
|
2406
|
+
getModelInfo() {
|
|
2407
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2408
|
+
},
|
|
2409
|
+
supportsCapability(capability) {
|
|
2410
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2411
|
+
}
|
|
2412
|
+
};
|
|
2413
|
+
}
|
|
2414
|
+
function createOllamaProvider(config, options) {
|
|
2415
|
+
const provider = new OllamaProvider(options);
|
|
2416
|
+
return {
|
|
2417
|
+
config,
|
|
2418
|
+
provider,
|
|
2419
|
+
getModelInfo() {
|
|
2420
|
+
return (0, types_exports.getModelInfo)(config.model);
|
|
2421
|
+
},
|
|
2422
|
+
supportsCapability(capability) {
|
|
2423
|
+
return (0, types_exports.modelSupportsCapability)(config.model, capability);
|
|
2424
|
+
}
|
|
2425
|
+
};
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2336
2428
|
// src/memory/buffer-memory.ts
|
|
2337
2429
|
var BufferMemory = class {
|
|
2338
2430
|
constructor(maxMessages) {
|
|
@@ -5121,12 +5213,18 @@ var VoiceAgent = class {
|
|
|
5121
5213
|
|
|
5122
5214
|
// src/voice/stt/openai-whisper.ts
|
|
5123
5215
|
import { createReadStream } from "fs";
|
|
5124
|
-
import OpenAI3 from "openai";
|
|
5216
|
+
import OpenAI3, { toFile } from "openai";
|
|
5125
5217
|
var OpenAIWhisperProvider = class {
|
|
5126
5218
|
client;
|
|
5127
|
-
|
|
5219
|
+
/**
|
|
5220
|
+
* Create an OpenAI Whisper provider
|
|
5221
|
+
* @param config - Configuration object or API key string (for backward compatibility)
|
|
5222
|
+
*/
|
|
5223
|
+
constructor(config) {
|
|
5224
|
+
const resolvedConfig = typeof config === "string" ? { apiKey: config } : config || {};
|
|
5128
5225
|
this.client = new OpenAI3({
|
|
5129
|
-
apiKey: apiKey || process.env.OPENAI_API_KEY
|
|
5226
|
+
apiKey: resolvedConfig.apiKey || process.env.OPENAI_API_KEY,
|
|
5227
|
+
baseURL: resolvedConfig.baseURL
|
|
5130
5228
|
});
|
|
5131
5229
|
}
|
|
5132
5230
|
/**
|
|
@@ -5136,7 +5234,7 @@ var OpenAIWhisperProvider = class {
|
|
|
5136
5234
|
try {
|
|
5137
5235
|
let audioFile;
|
|
5138
5236
|
if (Buffer.isBuffer(audio)) {
|
|
5139
|
-
audioFile =
|
|
5237
|
+
audioFile = await toFile(audio, "audio.mp3", { type: "audio/mpeg" });
|
|
5140
5238
|
} else if (typeof audio === "string") {
|
|
5141
5239
|
audioFile = createReadStream(audio);
|
|
5142
5240
|
} else {
|
|
@@ -5404,13 +5502,34 @@ Then configure the provider with the correct path.
|
|
|
5404
5502
|
}
|
|
5405
5503
|
};
|
|
5406
5504
|
|
|
5505
|
+
// src/voice/stt/lemonfox-stt.ts
|
|
5506
|
+
var LEMONFOX_BASE_URL = "https://api.lemonfox.ai/v1";
|
|
5507
|
+
var LemonFoxSTTProvider = class extends OpenAIWhisperProvider {
|
|
5508
|
+
/**
|
|
5509
|
+
* Create a LemonFox STT provider
|
|
5510
|
+
* @param apiKey - LemonFox API key (defaults to LEMONFOX_API_KEY env var)
|
|
5511
|
+
*/
|
|
5512
|
+
constructor(apiKey) {
|
|
5513
|
+
super({
|
|
5514
|
+
apiKey: apiKey || process.env.LEMONFOX_API_KEY,
|
|
5515
|
+
baseURL: LEMONFOX_BASE_URL
|
|
5516
|
+
});
|
|
5517
|
+
}
|
|
5518
|
+
};
|
|
5519
|
+
|
|
5407
5520
|
// src/voice/tts/openai-tts.ts
|
|
5408
5521
|
import OpenAI4 from "openai";
|
|
5409
5522
|
var OpenAITTSProvider = class {
|
|
5410
5523
|
client;
|
|
5411
|
-
|
|
5524
|
+
/**
|
|
5525
|
+
* Create an OpenAI TTS provider
|
|
5526
|
+
* @param config - Configuration object or API key string (for backward compatibility)
|
|
5527
|
+
*/
|
|
5528
|
+
constructor(config) {
|
|
5529
|
+
const resolvedConfig = typeof config === "string" ? { apiKey: config } : config || {};
|
|
5412
5530
|
this.client = new OpenAI4({
|
|
5413
|
-
apiKey: apiKey || process.env.OPENAI_API_KEY
|
|
5531
|
+
apiKey: resolvedConfig.apiKey || process.env.OPENAI_API_KEY,
|
|
5532
|
+
baseURL: resolvedConfig.baseURL
|
|
5414
5533
|
});
|
|
5415
5534
|
}
|
|
5416
5535
|
/**
|
|
@@ -5791,6 +5910,53 @@ Example:
|
|
|
5791
5910
|
}
|
|
5792
5911
|
};
|
|
5793
5912
|
|
|
5913
|
+
// src/voice/tts/lemonfox-tts.ts
|
|
5914
|
+
var LEMONFOX_BASE_URL2 = "https://api.lemonfox.ai/v1";
|
|
5915
|
+
var LemonFoxTTSProvider = class extends OpenAITTSProvider {
|
|
5916
|
+
/**
|
|
5917
|
+
* Create a LemonFox TTS provider
|
|
5918
|
+
* @param apiKey - LemonFox API key (defaults to LEMONFOX_API_KEY env var)
|
|
5919
|
+
*/
|
|
5920
|
+
constructor(apiKey) {
|
|
5921
|
+
super({
|
|
5922
|
+
apiKey: apiKey || process.env.LEMONFOX_API_KEY,
|
|
5923
|
+
baseURL: LEMONFOX_BASE_URL2
|
|
5924
|
+
});
|
|
5925
|
+
}
|
|
5926
|
+
/**
|
|
5927
|
+
* Get available LemonFox voices
|
|
5928
|
+
*
|
|
5929
|
+
* LemonFox offers 50+ voices across 8 languages.
|
|
5930
|
+
* This returns a sample of common voices; the full list is available at:
|
|
5931
|
+
* https://lemonfox.ai/docs
|
|
5932
|
+
*/
|
|
5933
|
+
getVoices() {
|
|
5934
|
+
return Promise.resolve([
|
|
5935
|
+
// OpenAI-compatible voices
|
|
5936
|
+
{ id: "alloy", name: "Alloy", gender: "neutral" },
|
|
5937
|
+
{ id: "echo", name: "Echo", gender: "male" },
|
|
5938
|
+
{ id: "fable", name: "Fable", gender: "neutral" },
|
|
5939
|
+
{ id: "onyx", name: "Onyx", gender: "male" },
|
|
5940
|
+
{ id: "nova", name: "Nova", gender: "female" },
|
|
5941
|
+
{ id: "shimmer", name: "Shimmer", gender: "female" },
|
|
5942
|
+
// LemonFox-specific voices (sample)
|
|
5943
|
+
{ id: "sarah", name: "Sarah", gender: "female" }
|
|
5944
|
+
]);
|
|
5945
|
+
}
|
|
5946
|
+
/**
|
|
5947
|
+
* Get available models
|
|
5948
|
+
*/
|
|
5949
|
+
getModels() {
|
|
5950
|
+
return ["tts-1"];
|
|
5951
|
+
}
|
|
5952
|
+
/**
|
|
5953
|
+
* Get supported formats
|
|
5954
|
+
*/
|
|
5955
|
+
getFormats() {
|
|
5956
|
+
return ["mp3", "opus", "aac", "flac", "wav", "pcm"];
|
|
5957
|
+
}
|
|
5958
|
+
};
|
|
5959
|
+
|
|
5794
5960
|
// src/tenant/tenant-manager.ts
|
|
5795
5961
|
import { randomBytes, createHash } from "crypto";
|
|
5796
5962
|
|
|
@@ -6143,6 +6309,8 @@ export {
|
|
|
6143
6309
|
GeminiProvider,
|
|
6144
6310
|
LMStudioProvider,
|
|
6145
6311
|
LRUCache,
|
|
6312
|
+
LemonFoxSTTProvider,
|
|
6313
|
+
LemonFoxTTSProvider,
|
|
6146
6314
|
LocalAIProvider,
|
|
6147
6315
|
LocalWhisperProvider,
|
|
6148
6316
|
Logger,
|
|
@@ -6193,6 +6361,11 @@ export {
|
|
|
6193
6361
|
WorkflowFactory,
|
|
6194
6362
|
calculatorTool,
|
|
6195
6363
|
createACPTools,
|
|
6364
|
+
createAnthropicProvider,
|
|
6365
|
+
createGeminiProvider,
|
|
6366
|
+
createOllamaProvider,
|
|
6367
|
+
createOpenAIProvider,
|
|
6368
|
+
createProvider,
|
|
6196
6369
|
defaultLogger,
|
|
6197
6370
|
figmaGetCommentsTool,
|
|
6198
6371
|
figmaGetFileTool,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lov3kaizen/agentsea-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "AgentSea - Unite and orchestrate AI agents. A production-ready ADK for building agentic AI applications with multi-provider support.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"winston": "^3.11.0",
|
|
25
25
|
"ioredis": "^5.3.2",
|
|
26
26
|
"marked": "^12.0.0",
|
|
27
|
-
"@lov3kaizen/agentsea-types": "0.
|
|
27
|
+
"@lov3kaizen/agentsea-types": "0.4.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^20.11.0",
|