/** * Ductape Agents Module * * Provides agentic workflow capabilities for building AI-driven, * autonomous multi-step processes where an LLM dynamically decides * the next action based on observations and reasoning. * * @example * ```ts * import { AgentsService } from '@ductape/sdk'; * * // Using the service * const agents = new AgentsService(config); * * // Define an agent * const agent = await agents.define({ * tag: 'customer-support', * name: 'Customer Support Agent', * model: { provider: 'anthropic', model: 'claude-sonnet-4-20250514' }, * systemPrompt: 'You are a helpful customer support agent...', * tools: [ * { * tag: 'lookup-order', * description: 'Look up order details', * parameters: { orderId: { type: 'string', description: 'Order ID' } }, * handler: async (ctx, params) => ctx.database.query({ ... }), * }, * ], * }); * * // Run the agent * const result = await agents.run({ * product: 'my-product', * env: 'production', * tag: 'customer-support', * input: { * ticketId: 'TICKET-123', * message: 'I need help with my order', * }, * }); * ``` */ export { AgentsService, AgentError, agentsService } from './agents.service'; export { default as AgentsServiceDefault } from './agents.service'; export { AgentExecutor, createLLMProvider, AnthropicProvider, OpenAIProvider, StubLLMProvider, ILLMProvider, ILLMResponse, } from './agent-executor'; export { default as AgentExecutorDefault } from './agent-executor'; export { AgentContext, IAgentContextServices, IMemoryAdapter, InMemoryAdapter, } from './agent-context'; export { default as AgentContextDefault } from './agent-context'; export { ToolRegistry, IClaudeToolDefinition, IOpenAIToolDefinition, IToolExecutionOptions, } from './tool-registry'; export { default as ToolRegistryDefault } from './tool-registry'; export { MemoryManager, IVectorStoreAdapter, IEmbeddingProvider, InMemoryVectorStore, StubEmbeddingProvider, SimpleConversationSummarizer, IConversationSummarizer, } from './memory-manager'; export { default as MemoryManagerDefault } from './memory-manager'; export { VectorServiceAdapter, createVectorStoreAdapter, createPineconeAdapter, createQdrantAdapter, createWeaviateAdapter, createMemoryAdapter, type IVectorStoreAdapterConfig, } from './vector-store-adapter'; export { default as VectorServiceAdapterDefault } from './vector-store-adapter'; export * from './types';