@lov3kaizen/agentsea-core 0.3.1 → 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 +35 -2
- package/dist/index.d.ts +35 -2
- package/dist/index.js +100 -5
- package/dist/index.mjs +95 -0
- 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;
|
|
@@ -1039,4 +1072,4 @@ declare class MemoryTenantStorage implements TenantStorage {
|
|
|
1039
1072
|
clear(): void;
|
|
1040
1073
|
}
|
|
1041
1074
|
|
|
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 };
|
|
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;
|
|
@@ -1039,4 +1072,4 @@ declare class MemoryTenantStorage implements TenantStorage {
|
|
|
1039
1072
|
clear(): void;
|
|
1040
1073
|
}
|
|
1041
1074
|
|
|
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 };
|
|
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
|
@@ -97,6 +97,11 @@ __export(index_exports, {
|
|
|
97
97
|
WorkflowFactory: () => WorkflowFactory,
|
|
98
98
|
calculatorTool: () => calculatorTool,
|
|
99
99
|
createACPTools: () => createACPTools,
|
|
100
|
+
createAnthropicProvider: () => createAnthropicProvider,
|
|
101
|
+
createGeminiProvider: () => createGeminiProvider,
|
|
102
|
+
createOllamaProvider: () => createOllamaProvider,
|
|
103
|
+
createOpenAIProvider: () => createOpenAIProvider,
|
|
104
|
+
createProvider: () => createProvider,
|
|
100
105
|
defaultLogger: () => defaultLogger,
|
|
101
106
|
figmaGetCommentsTool: () => figmaGetCommentsTool,
|
|
102
107
|
figmaGetFileTool: () => figmaGetFileTool,
|
|
@@ -2345,6 +2350,91 @@ var VLLMProvider = class extends OpenAICompatibleProvider {
|
|
|
2345
2350
|
}
|
|
2346
2351
|
};
|
|
2347
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
|
+
|
|
2348
2438
|
// src/memory/buffer-memory.ts
|
|
2349
2439
|
var BufferMemory = class {
|
|
2350
2440
|
constructor(maxMessages) {
|
|
@@ -5122,7 +5212,7 @@ var VoiceAgent = class {
|
|
|
5122
5212
|
|
|
5123
5213
|
// src/voice/stt/openai-whisper.ts
|
|
5124
5214
|
var import_fs3 = require("fs");
|
|
5125
|
-
var
|
|
5215
|
+
var import_openai4 = __toESM(require("openai"));
|
|
5126
5216
|
var OpenAIWhisperProvider = class {
|
|
5127
5217
|
client;
|
|
5128
5218
|
/**
|
|
@@ -5131,7 +5221,7 @@ var OpenAIWhisperProvider = class {
|
|
|
5131
5221
|
*/
|
|
5132
5222
|
constructor(config) {
|
|
5133
5223
|
const resolvedConfig = typeof config === "string" ? { apiKey: config } : config || {};
|
|
5134
|
-
this.client = new
|
|
5224
|
+
this.client = new import_openai4.default({
|
|
5135
5225
|
apiKey: resolvedConfig.apiKey || process.env.OPENAI_API_KEY,
|
|
5136
5226
|
baseURL: resolvedConfig.baseURL
|
|
5137
5227
|
});
|
|
@@ -5143,7 +5233,7 @@ var OpenAIWhisperProvider = class {
|
|
|
5143
5233
|
try {
|
|
5144
5234
|
let audioFile;
|
|
5145
5235
|
if (Buffer.isBuffer(audio)) {
|
|
5146
|
-
audioFile = await (0,
|
|
5236
|
+
audioFile = await (0, import_openai4.toFile)(audio, "audio.mp3", { type: "audio/mpeg" });
|
|
5147
5237
|
} else if (typeof audio === "string") {
|
|
5148
5238
|
audioFile = (0, import_fs3.createReadStream)(audio);
|
|
5149
5239
|
} else {
|
|
@@ -5427,7 +5517,7 @@ var LemonFoxSTTProvider = class extends OpenAIWhisperProvider {
|
|
|
5427
5517
|
};
|
|
5428
5518
|
|
|
5429
5519
|
// src/voice/tts/openai-tts.ts
|
|
5430
|
-
var
|
|
5520
|
+
var import_openai5 = __toESM(require("openai"));
|
|
5431
5521
|
var OpenAITTSProvider = class {
|
|
5432
5522
|
client;
|
|
5433
5523
|
/**
|
|
@@ -5436,7 +5526,7 @@ var OpenAITTSProvider = class {
|
|
|
5436
5526
|
*/
|
|
5437
5527
|
constructor(config) {
|
|
5438
5528
|
const resolvedConfig = typeof config === "string" ? { apiKey: config } : config || {};
|
|
5439
|
-
this.client = new
|
|
5529
|
+
this.client = new import_openai5.default({
|
|
5440
5530
|
apiKey: resolvedConfig.apiKey || process.env.OPENAI_API_KEY,
|
|
5441
5531
|
baseURL: resolvedConfig.baseURL
|
|
5442
5532
|
});
|
|
@@ -6262,6 +6352,11 @@ var MemoryTenantStorage = class {
|
|
|
6262
6352
|
WorkflowFactory,
|
|
6263
6353
|
calculatorTool,
|
|
6264
6354
|
createACPTools,
|
|
6355
|
+
createAnthropicProvider,
|
|
6356
|
+
createGeminiProvider,
|
|
6357
|
+
createOllamaProvider,
|
|
6358
|
+
createOpenAIProvider,
|
|
6359
|
+
createProvider,
|
|
6265
6360
|
defaultLogger,
|
|
6266
6361
|
figmaGetCommentsTool,
|
|
6267
6362
|
figmaGetFileTool,
|
package/dist/index.mjs
CHANGED
|
@@ -85,6 +85,11 @@ __export(index_exports, {
|
|
|
85
85
|
WorkflowFactory: () => WorkflowFactory,
|
|
86
86
|
calculatorTool: () => calculatorTool,
|
|
87
87
|
createACPTools: () => createACPTools,
|
|
88
|
+
createAnthropicProvider: () => createAnthropicProvider,
|
|
89
|
+
createGeminiProvider: () => createGeminiProvider,
|
|
90
|
+
createOllamaProvider: () => createOllamaProvider,
|
|
91
|
+
createOpenAIProvider: () => createOpenAIProvider,
|
|
92
|
+
createProvider: () => createProvider,
|
|
88
93
|
defaultLogger: () => defaultLogger,
|
|
89
94
|
figmaGetCommentsTool: () => figmaGetCommentsTool,
|
|
90
95
|
figmaGetFileTool: () => figmaGetFileTool,
|
|
@@ -2335,6 +2340,91 @@ var VLLMProvider = class extends OpenAICompatibleProvider {
|
|
|
2335
2340
|
}
|
|
2336
2341
|
};
|
|
2337
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
|
+
|
|
2338
2428
|
// src/memory/buffer-memory.ts
|
|
2339
2429
|
var BufferMemory = class {
|
|
2340
2430
|
constructor(maxMessages) {
|
|
@@ -6271,6 +6361,11 @@ export {
|
|
|
6271
6361
|
WorkflowFactory,
|
|
6272
6362
|
calculatorTool,
|
|
6273
6363
|
createACPTools,
|
|
6364
|
+
createAnthropicProvider,
|
|
6365
|
+
createGeminiProvider,
|
|
6366
|
+
createOllamaProvider,
|
|
6367
|
+
createOpenAIProvider,
|
|
6368
|
+
createProvider,
|
|
6274
6369
|
defaultLogger,
|
|
6275
6370
|
figmaGetCommentsTool,
|
|
6276
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",
|