@lov3kaizen/agentsea-core 0.5.2 → 0.8.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/README.md CHANGED
@@ -8,16 +8,19 @@
8
8
 
9
9
  ## Features
10
10
 
11
- - Multi-Provider Support - Anthropic Claude, OpenAI GPT, Google Gemini
12
- - Local & Open Source Models - Ollama, LM Studio, LocalAI, Text Generation WebUI, vLLM
13
- - Voice Support (TTS/STT) - OpenAI Whisper, ElevenLabs, Piper TTS
14
- - MCP Protocol - First-class Model Context Protocol integration
15
- - ACP Protocol - Agentic Commerce Protocol for e-commerce integration
16
- - Multi-Agent Workflows - Sequential, parallel, and supervisor orchestration
17
- - Conversation Schemas - Structured conversational experiences with validation
18
- - Advanced Memory - Buffer, Redis, and summary-based memory stores
19
- - Built-in Tools - 8 production-ready tools + custom tool support
20
- - Full Observability - Logging, metrics, and distributed tracing
11
+ - **Multi-Provider Support** - Anthropic Claude, OpenAI GPT, Google Gemini
12
+ - **Per-Model Type Safety** - Compile-time validation of model-specific options
13
+ - **Local & Open Source Models** - Ollama, LM Studio, LocalAI, Text Generation WebUI, vLLM
14
+ - **Voice Support (TTS/STT)** - OpenAI Whisper, ElevenLabs, Piper TTS, Local Whisper
15
+ - **MCP Protocol** - First-class Model Context Protocol integration
16
+ - **ACP Protocol** - Agentic Commerce Protocol for e-commerce (14 operations)
17
+ - **Multi-Agent Workflows** - Sequential, parallel, and supervisor orchestration
18
+ - **Conversation Schemas** - Structured conversational experiences with validation
19
+ - **Advanced Memory** - Buffer, Redis, summary, and tenant-based memory stores
20
+ - **Built-in Tools** - 13 coding tools + 8 general tools + custom tool support
21
+ - **Isomorphic Tool Definitions** - Server, client, and hybrid tool types
22
+ - **Multi-Tenancy** - Built-in tenant isolation for SaaS applications
23
+ - **Full Observability** - Logging, metrics, and distributed tracing
21
24
 
22
25
  ## Installation
23
26
 
@@ -40,11 +43,10 @@ import {
40
43
  calculatorTool,
41
44
  } from '@lov3kaizen/agentsea-core';
42
45
 
43
- // Create agent
44
46
  const agent = new Agent(
45
47
  {
46
48
  name: 'assistant',
47
- model: 'claude-sonnet-4-20250514',
49
+ model: 'claude-sonnet-4-6',
48
50
  provider: 'anthropic',
49
51
  systemPrompt: 'You are a helpful assistant.',
50
52
  tools: [calculatorTool],
@@ -54,7 +56,6 @@ const agent = new Agent(
54
56
  new BufferMemory(50),
55
57
  );
56
58
 
57
- // Execute
58
59
  const response = await agent.execute('What is 42 * 58?', {
59
60
  conversationId: 'user-123',
60
61
  sessionData: {},
@@ -64,44 +65,380 @@ const response = await agent.execute('What is 42 * 58?', {
64
65
  console.log(response.content);
65
66
  ```
66
67
 
67
- ## Multi-Provider Support
68
+ ## Providers
69
+
70
+ ### Cloud Providers
68
71
 
69
72
  ```typescript
70
73
  import {
71
- GeminiProvider,
72
- OpenAIProvider,
73
74
  AnthropicProvider,
75
+ OpenAIProvider,
76
+ GeminiProvider,
77
+ } from '@lov3kaizen/agentsea-core';
78
+
79
+ // Anthropic Claude (Opus 4.6, Sonnet 4.5, Haiku 4.5, and earlier)
80
+ const claude = new AnthropicProvider(process.env.ANTHROPIC_API_KEY);
81
+
82
+ // OpenAI (GPT-5, GPT-4.1, o3, o4-mini, GPT-4o, and more)
83
+ const openai = new OpenAIProvider(process.env.OPENAI_API_KEY);
84
+
85
+ // Google Gemini
86
+ const gemini = new GeminiProvider(process.env.GEMINI_API_KEY);
87
+ ```
88
+
89
+ ### Local Providers
90
+
91
+ ```typescript
92
+ import {
74
93
  OllamaProvider,
94
+ LMStudioProvider,
95
+ LocalAIProvider,
96
+ TextGenerationWebUIProvider,
97
+ VLLMProvider,
98
+ OpenAICompatibleProvider,
75
99
  } from '@lov3kaizen/agentsea-core';
76
100
 
77
- // Use any provider
78
- const geminiAgent = new Agent(config, new GeminiProvider(apiKey), toolRegistry);
79
- const openaiAgent = new Agent(config, new OpenAIProvider(apiKey), toolRegistry);
80
- const claudeAgent = new Agent(
81
- config,
82
- new AnthropicProvider(apiKey),
83
- toolRegistry,
84
- );
85
- const ollamaAgent = new Agent(config, new OllamaProvider(), toolRegistry);
101
+ // Ollama
102
+ const ollama = new OllamaProvider({ baseUrl: 'http://localhost:11434' });
103
+
104
+ // LM Studio
105
+ const lmstudio = new LMStudioProvider({ baseUrl: 'http://localhost:1234/v1' });
106
+
107
+ // LocalAI
108
+ const localai = new LocalAIProvider({ baseUrl: 'http://localhost:8080/v1' });
109
+
110
+ // Any OpenAI-compatible endpoint
111
+ const custom = new OpenAICompatibleProvider({
112
+ baseUrl: 'http://your-server/v1',
113
+ apiKey: 'optional-key',
114
+ });
115
+ ```
116
+
117
+ ### Per-Model Type Safety
118
+
119
+ Get compile-time validation for model-specific options:
120
+
121
+ ```typescript
122
+ import { anthropic, openai, createProvider } from '@lov3kaizen/agentsea-core';
123
+
124
+ // Claude supports tools, system prompts, and extended thinking
125
+ const claudeConfig = anthropic('claude-sonnet-4-6', {
126
+ tools: [myTool],
127
+ systemPrompt: 'You are a helpful assistant',
128
+ thinking: { type: 'enabled', budgetTokens: 10000 },
129
+ });
130
+
131
+ // o3 supports tools and reasoning effort
132
+ const o3Config = openai('o3', {
133
+ tools: [myTool],
134
+ reasoningEffort: 'high',
135
+ });
136
+
137
+ // Create type-safe provider from config
138
+ const provider = createProvider(claudeConfig);
139
+ ```
140
+
141
+ ## Tools
142
+
143
+ ### Built-in Tools
144
+
145
+ ```typescript
146
+ import {
147
+ // General tools
148
+ calculatorTool,
149
+ // Coding tools
150
+ fileReadTool,
151
+ fileWriteTool,
152
+ fileListTool,
153
+ shellExecuteTool,
154
+ codeEditTool,
155
+ globTool,
156
+ grepTool,
157
+ gitStatusTool,
158
+ gitDiffTool,
159
+ gitAddTool,
160
+ gitCommitTool,
161
+ gitLogTool,
162
+ gitBranchTool,
163
+ } from '@lov3kaizen/agentsea-core';
164
+ ```
165
+
166
+ ### Custom Tools
167
+
168
+ ```typescript
169
+ import { z } from 'zod';
170
+
171
+ const weatherTool = {
172
+ name: 'get_weather',
173
+ description: 'Get current weather for a location',
174
+ parameters: z.object({
175
+ location: z.string().describe('City name'),
176
+ }),
177
+ execute: async (params) => {
178
+ return `Weather in ${params.location}: Sunny, 72°F`;
179
+ },
180
+ };
181
+
182
+ toolRegistry.register(weatherTool);
183
+ ```
184
+
185
+ ### Isomorphic Tool Definitions
186
+
187
+ Define tools that work on server, client, or both:
188
+
189
+ ```typescript
190
+ import { serverTool, clientTool, hybridTool } from '@lov3kaizen/agentsea-core';
191
+ import { z } from 'zod';
192
+
193
+ // Server-only tool
194
+ const dbQuery = serverTool({
195
+ name: 'db_query',
196
+ description: 'Query the database',
197
+ parameters: z.object({ sql: z.string() }),
198
+ execute: async (params) => {
199
+ /* server-side only */
200
+ },
201
+ });
202
+
203
+ // Client-only tool (runs in browser)
204
+ const showModal = clientTool({
205
+ name: 'show_modal',
206
+ description: 'Show a modal dialog',
207
+ parameters: z.object({ message: z.string() }),
208
+ execute: async (params) => {
209
+ /* client-side only */
210
+ },
211
+ });
212
+
213
+ // Hybrid tool (runs on both)
214
+ const logger = hybridTool({
215
+ name: 'log',
216
+ description: 'Log a message',
217
+ parameters: z.object({ message: z.string() }),
218
+ executeServer: async (params) => {
219
+ /* server impl */
220
+ },
221
+ executeClient: async (params) => {
222
+ /* client impl */
223
+ },
224
+ });
225
+ ```
226
+
227
+ ## Memory
228
+
229
+ ```typescript
230
+ import {
231
+ BufferMemory,
232
+ RedisMemory,
233
+ SummaryMemory,
234
+ TenantBufferMemory,
235
+ } from '@lov3kaizen/agentsea-core';
236
+
237
+ // Simple buffer (keep last N messages)
238
+ const buffer = new BufferMemory(50);
239
+
240
+ // Redis-backed for persistence
241
+ const redis = new RedisMemory({ url: 'redis://localhost:6379' });
242
+
243
+ // Summary-based (compresses old conversations)
244
+ const summary = new SummaryMemory(provider);
245
+
246
+ // Multi-tenant (isolates memory per tenant)
247
+ const tenant = new TenantBufferMemory(100);
248
+ ```
249
+
250
+ ## Workflows
251
+
252
+ Orchestrate multiple agents in different patterns:
253
+
254
+ ```typescript
255
+ import {
256
+ SequentialWorkflow,
257
+ ParallelWorkflow,
258
+ SupervisorWorkflow,
259
+ } from '@lov3kaizen/agentsea-core';
260
+
261
+ // Sequential: agents run one after another
262
+ const sequential = new SequentialWorkflow({
263
+ name: 'research-pipeline',
264
+ agents: [researchAgent, analyzeAgent, summaryAgent],
265
+ });
266
+
267
+ // Parallel: agents run simultaneously
268
+ const parallel = new ParallelWorkflow({
269
+ name: 'multi-analysis',
270
+ agents: [sentimentAgent, topicAgent, entityAgent],
271
+ });
272
+
273
+ // Supervisor: one agent delegates to others
274
+ const supervised = new SupervisorWorkflow({
275
+ name: 'managed-team',
276
+ supervisor: managerAgent,
277
+ workers: [codeAgent, testAgent, reviewAgent],
278
+ });
279
+
280
+ const result = await sequential.execute('Research AI trends', context);
281
+ ```
282
+
283
+ ## MCP Integration
284
+
285
+ ```typescript
286
+ import { MCPRegistry } from '@lov3kaizen/agentsea-core';
287
+
288
+ const mcpRegistry = new MCPRegistry();
289
+
290
+ await mcpRegistry.addServer({
291
+ name: 'filesystem',
292
+ command: 'npx',
293
+ args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'],
294
+ transport: 'stdio',
295
+ });
296
+
297
+ const mcpTools = mcpRegistry.getTools();
298
+ const agent = new Agent({ tools: mcpTools }, provider, toolRegistry);
299
+ ```
300
+
301
+ ## ACP (Agentic Commerce Protocol)
302
+
303
+ ```typescript
304
+ import { ACPClient, createACPTools } from '@lov3kaizen/agentsea-core';
305
+
306
+ const acpClient = new ACPClient({
307
+ baseUrl: 'https://api.yourcommerce.com/v1',
308
+ apiKey: process.env.ACP_API_KEY,
309
+ merchantId: process.env.ACP_MERCHANT_ID,
310
+ });
311
+
312
+ // 14 commerce operations: search, cart, checkout, payments, orders
313
+ const acpTools = createACPTools(acpClient);
314
+ ```
315
+
316
+ ## Voice
317
+
318
+ ```typescript
319
+ import {
320
+ VoiceAgent,
321
+ OpenAIWhisperProvider,
322
+ OpenAITTSProvider,
323
+ } from '@lov3kaizen/agentsea-core';
324
+
325
+ const voiceAgent = new VoiceAgent(agent, {
326
+ sttProvider: new OpenAIWhisperProvider(process.env.OPENAI_API_KEY),
327
+ ttsProvider: new OpenAITTSProvider(process.env.OPENAI_API_KEY),
328
+ ttsConfig: { voice: 'nova' },
329
+ });
330
+
331
+ const result = await voiceAgent.processVoice(audioBuffer, context);
332
+ ```
333
+
334
+ **Supported Providers:**
335
+
336
+ - **STT:** OpenAI Whisper, Local Whisper
337
+ - **TTS:** OpenAI TTS, ElevenLabs, Piper TTS
338
+
339
+ ## Conversation Schemas
340
+
341
+ ```typescript
342
+ import { ConversationSchema } from '@lov3kaizen/agentsea-core';
343
+ import { z } from 'zod';
344
+
345
+ const schema = new ConversationSchema({
346
+ name: 'booking',
347
+ startStep: 'destination',
348
+ steps: [
349
+ {
350
+ id: 'destination',
351
+ prompt: 'Where would you like to go?',
352
+ schema: z.object({ city: z.string() }),
353
+ next: 'dates',
354
+ },
355
+ {
356
+ id: 'dates',
357
+ prompt: 'What dates?',
358
+ schema: z.object({ checkIn: z.string(), checkOut: z.string() }),
359
+ next: 'confirm',
360
+ },
361
+ ],
362
+ });
363
+ ```
364
+
365
+ ## Observability
366
+
367
+ ```typescript
368
+ import {
369
+ Logger,
370
+ defaultLogger,
371
+ MetricsCollector,
372
+ globalMetrics,
373
+ Tracer,
374
+ globalTracer,
375
+ } from '@lov3kaizen/agentsea-core';
376
+
377
+ // Structured logging
378
+ const logger = new Logger({ level: 'info', pretty: true });
379
+ logger.info('Agent started', { agent: 'assistant' });
380
+
381
+ // Metrics collection
382
+ globalMetrics.increment('agent.requests');
383
+ globalMetrics.histogram('agent.latency', 150);
384
+
385
+ // Distributed tracing
386
+ const span = globalTracer.startSpan('agent.execute');
387
+ span.end();
86
388
  ```
87
389
 
88
- ## Documentation
390
+ ## Utilities
391
+
392
+ ```typescript
393
+ import {
394
+ RateLimiter,
395
+ LRUCache,
396
+ ContentFormatter,
397
+ } from '@lov3kaizen/agentsea-core';
398
+
399
+ // Rate limiting
400
+ const limiter = new RateLimiter({ maxRequests: 100, windowMs: 60000 });
401
+
402
+ // LRU caching
403
+ const cache = new LRUCache<string>({ maxSize: 1000 });
404
+
405
+ // Content formatting
406
+ const formatted = ContentFormatter.format(response);
407
+ ```
408
+
409
+ ## API Reference
410
+
411
+ ### Agent
412
+
413
+ | Method | Description |
414
+ | ---------------------------------- | -------------------------------------------- |
415
+ | `execute(input, context)` | Execute agent with input and return response |
416
+ | `executeStream(input, context)` | Stream agent response chunks |
417
+ | `registerProvider(name, provider)` | Register a provider |
89
418
 
90
- Full documentation available at [agentsea.dev](https://agentsea.dev)
419
+ ### ToolRegistry
91
420
 
92
- - [Quick Start](https://agentsea.dev/docs/quick-start)
93
- - [Agents](https://agentsea.dev/docs/agents)
94
- - [Tools](https://agentsea.dev/docs/tools)
95
- - [Workflows](https://agentsea.dev/docs/workflows)
96
- - [Memory](https://agentsea.dev/docs/memory)
97
- - [MCP Integration](https://agentsea.dev/docs/mcp-overview)
98
- - [API Reference](https://agentsea.dev/api)
421
+ | Method | Description |
422
+ | -------------------------------- | ------------------------- |
423
+ | `register(tool)` | Register a tool |
424
+ | `get(name)` | Get a tool by name |
425
+ | `list()` | List all registered tools |
426
+ | `execute(name, params, context)` | Execute a tool |
99
427
 
100
428
  ## Related Packages
101
429
 
102
- - [@lov3kaizen/agentsea-cli](https://www.npmjs.com/package/@lov3kaizen/agentsea-cli) - Command-line interface
103
- - [@lov3kaizen/agentsea-nestjs](https://www.npmjs.com/package/@lov3kaizen/agentsea-nestjs) - NestJS integration
104
- - [@lov3kaizen/agentsea-react](https://www.npmjs.com/package/@lov3kaizen/agentsea-react) - React components
430
+ | Package | Description |
431
+ | ------------------------------------------------ | ------------------------------------------ |
432
+ | [@lov3kaizen/agentsea-cli](../cli) | Command-line interface with agentic coding |
433
+ | [@lov3kaizen/agentsea-nestjs](../nestjs) | NestJS integration |
434
+ | [@lov3kaizen/agentsea-crews](../crews) | Multi-agent orchestration |
435
+ | [@lov3kaizen/agentsea-memory](../memory) | Advanced memory systems |
436
+ | [@lov3kaizen/agentsea-cache](../cache) | Intelligent LLM caching |
437
+ | [@lov3kaizen/agentsea-guardrails](../guardrails) | Safety & validation |
438
+ | [@lov3kaizen/agentsea-evaluate](../evaluate) | LLM evaluation |
439
+ | [@lov3kaizen/agentsea-redteam](../redteam) | Red teaming & security |
440
+ | [@lov3kaizen/agentsea-analytics](../analytics) | Conversation analytics |
441
+ | [@lov3kaizen/agentsea-react](../react) | React components |
105
442
 
106
443
  ## License
107
444
 
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, RetryConfig, 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';
1
+ import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, RetryConfig, Message, ProviderConfig, LLMResponse, LLMStreamChunk, ProviderModelConfig, ModelCapabilities, AnthropicConfig, AnthropicModelCapabilities, OpenAIConfig, OpenAIModelCapabilities, GeminiConfig, GeminiModelCapabilities, MistralConfig, MistralModelCapabilities, DeepSeekConfig, DeepSeekModelCapabilities, XAIConfig, XAIModelCapabilities, ModelInfo, AnthropicModel, GeminiModel, OllamaConfig as OllamaConfig$1, OpenAIModel, 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 { z } from 'zod';
@@ -59,6 +59,21 @@ declare const n8nListWorkflowsTool: Tool;
59
59
  declare const n8nTriggerWebhookTool: Tool;
60
60
  declare const n8nGetWorkflowTool: Tool;
61
61
 
62
+ declare const shellExecuteTool: Tool;
63
+
64
+ declare const codeEditTool: Tool;
65
+
66
+ declare const globTool: Tool;
67
+
68
+ declare const grepTool: Tool;
69
+
70
+ declare const gitStatusTool: Tool;
71
+ declare const gitDiffTool: Tool;
72
+ declare const gitAddTool: Tool;
73
+ declare const gitCommitTool: Tool;
74
+ declare const gitLogTool: Tool;
75
+ declare const gitBranchTool: Tool;
76
+
62
77
  interface ToolDefinitionOptions<TInput extends z.ZodSchema, TOutput extends z.ZodSchema = z.ZodUnknown> {
63
78
  name: string;
64
79
  description: string;
@@ -178,6 +193,7 @@ declare const calculatorClient: ClientTool<z.ZodObject<{
178
193
  declare class AnthropicProvider implements LLMProvider {
179
194
  private client;
180
195
  constructor(apiKey?: string);
196
+ private buildRequestParams;
181
197
  generateResponse(messages: Message[], config: ProviderConfig): Promise<LLMResponse>;
182
198
  streamResponse(messages: Message[], config: ProviderConfig): AsyncIterable<LLMStreamChunk>;
183
199
  parseToolCalls(response: LLMResponse): ToolCall[];
@@ -255,7 +271,7 @@ declare class VLLMProvider extends OpenAICompatibleProvider {
255
271
 
256
272
  interface TypeSafeProvider<TConfig extends ProviderModelConfig> {
257
273
  readonly config: TConfig;
258
- readonly provider: AnthropicProvider | OpenAIProvider | GeminiProvider | OllamaProvider;
274
+ readonly provider: AnthropicProvider | OpenAIProvider | GeminiProvider | OpenAICompatibleProvider | OllamaProvider;
259
275
  getModelInfo(): ModelInfo | undefined;
260
276
  supportsCapability(capability: keyof ModelCapabilities): boolean;
261
277
  }
@@ -283,7 +299,7 @@ declare function createOllamaProvider(config: OllamaConfig$1, options?: {
283
299
  };
284
300
  type ExtractModel<T extends ProviderModelConfig> = T['model'];
285
301
  type ExtractProviderName<T extends ProviderModelConfig> = T['provider'];
286
- 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;
302
+ 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 : T extends MistralConfig<infer M> ? M extends keyof MistralModelCapabilities ? MistralModelCapabilities[M][TCapability] extends true ? true : false : false : T extends DeepSeekConfig<infer M> ? M extends keyof DeepSeekModelCapabilities ? DeepSeekModelCapabilities[M][TCapability] extends true ? true : false : false : T extends XAIConfig<infer M> ? M extends keyof XAIModelCapabilities ? XAIModelCapabilities[M][TCapability] extends true ? true : false : false : false;
287
303
  type RequireCapability<T extends ProviderModelConfig, TCapability extends keyof ModelCapabilities> = ConfigSupports<T, TCapability> extends true ? T : never;
288
304
 
289
305
  declare class BufferMemory implements MemoryStore {
@@ -1188,4 +1204,4 @@ declare class MemoryTenantStorage implements TenantStorage {
1188
1204
  clear(): void;
1189
1205
  }
1190
1206
 
1191
- 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 ClientExecuteFn, type ClientTool, type ConfigSupports, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ExtractModel, type ExtractProviderName, GeminiProvider, type HybridTool, 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, type ServerExecuteFn, type ServerTool, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, type ToolDefinition, type ToolDefinitionOptions, type ToolInput, type ToolOutput, ToolRegistry, Tracer, type TypeSafeProvider, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorClient, calculatorDef, calculatorServer, calculatorTool, clientTool, createACPTools, createAnthropicProvider, createGeminiProvider, createOllamaProvider, createOpenAIProvider, createProvider, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, globalMetrics, globalTracer, httpRequestTool, hybridTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, serverTool, stringTransformTool, textSummaryTool, toLegacyTool, toLegacyTools, toolDefinition };
1207
+ 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 ClientExecuteFn, type ClientTool, type ConfigSupports, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ExtractModel, type ExtractProviderName, GeminiProvider, type HybridTool, 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, type ServerExecuteFn, type ServerTool, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, type ToolDefinition, type ToolDefinitionOptions, type ToolInput, type ToolOutput, ToolRegistry, Tracer, type TypeSafeProvider, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorClient, calculatorDef, calculatorServer, calculatorTool, clientTool, codeEditTool, createACPTools, createAnthropicProvider, createGeminiProvider, createOllamaProvider, createOpenAIProvider, createProvider, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, gitAddTool, gitBranchTool, gitCommitTool, gitDiffTool, gitLogTool, gitStatusTool, globTool, globalMetrics, globalTracer, grepTool, httpRequestTool, hybridTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, serverTool, shellExecuteTool, stringTransformTool, textSummaryTool, toLegacyTool, toLegacyTools, toolDefinition };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, RetryConfig, 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';
1
+ import { Tool, ToolCall, ToolContext, AgentConfig, LLMProvider, MemoryStore, AgentContext, AgentResponse, StreamEvent, RetryConfig, Message, ProviderConfig, LLMResponse, LLMStreamChunk, ProviderModelConfig, ModelCapabilities, AnthropicConfig, AnthropicModelCapabilities, OpenAIConfig, OpenAIModelCapabilities, GeminiConfig, GeminiModelCapabilities, MistralConfig, MistralModelCapabilities, DeepSeekConfig, DeepSeekModelCapabilities, XAIConfig, XAIModelCapabilities, ModelInfo, AnthropicModel, GeminiModel, OllamaConfig as OllamaConfig$1, OpenAIModel, 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 { z } from 'zod';
@@ -59,6 +59,21 @@ declare const n8nListWorkflowsTool: Tool;
59
59
  declare const n8nTriggerWebhookTool: Tool;
60
60
  declare const n8nGetWorkflowTool: Tool;
61
61
 
62
+ declare const shellExecuteTool: Tool;
63
+
64
+ declare const codeEditTool: Tool;
65
+
66
+ declare const globTool: Tool;
67
+
68
+ declare const grepTool: Tool;
69
+
70
+ declare const gitStatusTool: Tool;
71
+ declare const gitDiffTool: Tool;
72
+ declare const gitAddTool: Tool;
73
+ declare const gitCommitTool: Tool;
74
+ declare const gitLogTool: Tool;
75
+ declare const gitBranchTool: Tool;
76
+
62
77
  interface ToolDefinitionOptions<TInput extends z.ZodSchema, TOutput extends z.ZodSchema = z.ZodUnknown> {
63
78
  name: string;
64
79
  description: string;
@@ -178,6 +193,7 @@ declare const calculatorClient: ClientTool<z.ZodObject<{
178
193
  declare class AnthropicProvider implements LLMProvider {
179
194
  private client;
180
195
  constructor(apiKey?: string);
196
+ private buildRequestParams;
181
197
  generateResponse(messages: Message[], config: ProviderConfig): Promise<LLMResponse>;
182
198
  streamResponse(messages: Message[], config: ProviderConfig): AsyncIterable<LLMStreamChunk>;
183
199
  parseToolCalls(response: LLMResponse): ToolCall[];
@@ -255,7 +271,7 @@ declare class VLLMProvider extends OpenAICompatibleProvider {
255
271
 
256
272
  interface TypeSafeProvider<TConfig extends ProviderModelConfig> {
257
273
  readonly config: TConfig;
258
- readonly provider: AnthropicProvider | OpenAIProvider | GeminiProvider | OllamaProvider;
274
+ readonly provider: AnthropicProvider | OpenAIProvider | GeminiProvider | OpenAICompatibleProvider | OllamaProvider;
259
275
  getModelInfo(): ModelInfo | undefined;
260
276
  supportsCapability(capability: keyof ModelCapabilities): boolean;
261
277
  }
@@ -283,7 +299,7 @@ declare function createOllamaProvider(config: OllamaConfig$1, options?: {
283
299
  };
284
300
  type ExtractModel<T extends ProviderModelConfig> = T['model'];
285
301
  type ExtractProviderName<T extends ProviderModelConfig> = T['provider'];
286
- 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;
302
+ 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 : T extends MistralConfig<infer M> ? M extends keyof MistralModelCapabilities ? MistralModelCapabilities[M][TCapability] extends true ? true : false : false : T extends DeepSeekConfig<infer M> ? M extends keyof DeepSeekModelCapabilities ? DeepSeekModelCapabilities[M][TCapability] extends true ? true : false : false : T extends XAIConfig<infer M> ? M extends keyof XAIModelCapabilities ? XAIModelCapabilities[M][TCapability] extends true ? true : false : false : false;
287
303
  type RequireCapability<T extends ProviderModelConfig, TCapability extends keyof ModelCapabilities> = ConfigSupports<T, TCapability> extends true ? T : never;
288
304
 
289
305
  declare class BufferMemory implements MemoryStore {
@@ -1188,4 +1204,4 @@ declare class MemoryTenantStorage implements TenantStorage {
1188
1204
  clear(): void;
1189
1205
  }
1190
1206
 
1191
- 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 ClientExecuteFn, type ClientTool, type ConfigSupports, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ExtractModel, type ExtractProviderName, GeminiProvider, type HybridTool, 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, type ServerExecuteFn, type ServerTool, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, type ToolDefinition, type ToolDefinitionOptions, type ToolInput, type ToolOutput, ToolRegistry, Tracer, type TypeSafeProvider, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorClient, calculatorDef, calculatorServer, calculatorTool, clientTool, createACPTools, createAnthropicProvider, createGeminiProvider, createOllamaProvider, createOpenAIProvider, createProvider, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, globalMetrics, globalTracer, httpRequestTool, hybridTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, serverTool, stringTransformTool, textSummaryTool, toLegacyTool, toLegacyTools, toolDefinition };
1207
+ 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 ClientExecuteFn, type ClientTool, type ConfigSupports, ContentFormatter, ConversationManager, ConversationSchema, ConversationSchemaBuilder, type ConversationSchemaConfig, type ConversationState, type ConversationStep, type ConversationTurn, ElevenLabsTTSProvider, type ExtractModel, type ExtractProviderName, GeminiProvider, type HybridTool, 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, type ServerExecuteFn, type ServerTool, SlidingWindowRateLimiter, type Span, StdioTransport, SummaryMemory, SupervisorWorkflow, TenantBufferMemory, TenantManager, type TenantManagerConfig, TextGenerationWebUIProvider, type ToolDefinition, type ToolDefinitionOptions, type ToolInput, type ToolOutput, ToolRegistry, Tracer, type TypeSafeProvider, VLLMProvider, VoiceAgent, Workflow, WorkflowFactory, calculatorClient, calculatorDef, calculatorServer, calculatorTool, clientTool, codeEditTool, createACPTools, createAnthropicProvider, createGeminiProvider, createOllamaProvider, createOpenAIProvider, createProvider, defaultLogger, figmaGetCommentsTool, figmaGetFileTool, figmaGetImagesTool, figmaGetNodesTool, figmaPostCommentTool, fileListTool, fileReadTool, fileWriteTool, gitAddTool, gitBranchTool, gitCommitTool, gitDiffTool, gitLogTool, gitStatusTool, globTool, globalMetrics, globalTracer, grepTool, httpRequestTool, hybridTool, mcpToolToAgenticTool, n8nExecuteWorkflowTool, n8nGetExecutionTool, n8nGetWorkflowTool, n8nListWorkflowsTool, n8nTriggerWebhookTool, serverTool, shellExecuteTool, stringTransformTool, textSummaryTool, toLegacyTool, toLegacyTools, toolDefinition };