@misgara/ai-agent 1.0.0 → 1.2.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 ADDED
@@ -0,0 +1,171 @@
1
+ # 🤖 @misgara/ai-agent
2
+
3
+ Una librería ligera, flexible y agnóstica para construir Agentes de IA en Node.js/TypeScript. Diseñada con arquitectura hexagonal, soporta múltiples proveedores (OpenAI, Google Gemini), gestión de memoria persistente (Redis) y ejecución de herramientas (Function Calling).
4
+
5
+ ![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)
6
+ ![AI SDK](https://img.shields.io/badge/Vercel_AI_SDK-000000?style=for-the-badge&logo=vercel&logoColor=white)
7
+
8
+ ## ✨ Características
9
+
10
+ - **Fluent Interface**: API intuitiva con `AgentBuilder` para configurar agentes rápidamente.
11
+ - **Multi-Modelo**: Soporte nativo para Google Gemini y OpenAI (fácilmente extensible).
12
+ - **Memoria Persistente**:
13
+ - `InMemoryAdapter` para desarrollo.
14
+ - `RedisMemory` para producción (escalable).
15
+ - **Herramientas (Tools)**: Sistema robusto de *Function Calling* utilizando esquemas Zod.
16
+ - **Modos de Ejecución**:
17
+ - `run`: Chat con estado (memoria).
18
+ - `runStateless`: Ejecución única sin memoria.
19
+ - `stream`: Respuestas en tiempo real.
20
+ - **Multi-paso (Agentic)**: Capacidad de resolver problemas complejos ejecutando múltiples herramientas en bucle.
21
+
22
+ ## 📦 Instalación
23
+
24
+ ```bash
25
+ npm install @misgara/ai-agent
26
+ # o
27
+ yarn add @misgara/ai-agent
28
+ ```
29
+
30
+ Asegúrate de configurar tus variables de entorno en un archivo `.env`:
31
+
32
+ ```env
33
+ GOOGLE_GENERATIVE_AI_API_KEY=tu_clave_aqui
34
+ OPENAI_API_KEY=tu_clave_aqui
35
+ DEEPINFRA_API_KEY=tu_clave_aqui
36
+ REDIS_URL=redis://localhost:6379
37
+ ```
38
+
39
+ ## 🚀 Uso Rápido
40
+
41
+ ### 1. Chat Básico
42
+
43
+ ```typescript
44
+ import { AgentBuilder } from '@misgara/ai-agent';
45
+
46
+ const agent = new AgentBuilder()
47
+ .useOpenAI('gpt-4o-mini')
48
+ .setSystem('Eres un asistente experto en programación.');
49
+
50
+ const response = await agent.runStateless('¿Qué es una promesa en JS?');
51
+ console.log(response.text);
52
+ ```
53
+
54
+ ### 2. Chat con Memoria y Herramientas
55
+
56
+ ```typescript
57
+ import { AgentBuilder, InMemoryAdapter, CommonTools } from '@misgara/ai-agent';
58
+
59
+ const memory = new InMemoryAdapter();
60
+
61
+ const agent = new AgentBuilder()
62
+ .useGemini('gemini-1.5-flash')
63
+ .withMemory(memory, 'session-user-123')
64
+ .addTools({
65
+ hora: CommonTools.time,
66
+ calcular: CommonTools.calculator
67
+ });
68
+
69
+ const res = await agent.run('¿Qué hora es y cuánto es 25 * 40?');
70
+ console.log(res.text);
71
+
72
+ ```
73
+
74
+
75
+ ### 3. OCR (DeepSeek) + Audio a Texto (Whisper)
76
+
77
+ ```typescript
78
+ import { MediaBuilder } from '@misgara/ai-agent';
79
+
80
+ const media = new MediaBuilder()
81
+ .useDeepSeekOCR('deepseek-ai/DeepSeek-OCR')
82
+ .useOpenAIWhisper('whisper-1');
83
+
84
+ const ocr = await media.extractTextFromImage(
85
+ 'https://example.com/factura.png'
86
+ );
87
+ console.log(ocr.text);
88
+
89
+ const audio = await media.transcribeAudio(
90
+ 'https://example.com/audio.wav'
91
+ );
92
+ console.log(audio.text);
93
+ ```
94
+
95
+ ## 🛠 Creación de Tools Personalizadas
96
+
97
+ Puedes conectar el agente a tu lógica de negocio (bases de datos, APIs externas) fácilmente:
98
+
99
+ ```typescript
100
+ import { tool } from 'ai';
101
+ import { z } from 'zod';
102
+
103
+ const myTool = tool({
104
+ description: 'Busca el estado de un pedido',
105
+ inputSchema: z.object({
106
+ orderId: z.string().describe('ID del pedido (ej: ORD-001)')
107
+ }),
108
+ execute: async ({ orderId }) => {
109
+ return JSON.stringify({ status: 'En camino', eta: '2 horas' });
110
+ }
111
+ });
112
+
113
+ agent.addTools({ buscarPedido: myTool });
114
+ ```
115
+
116
+ ## 📚 Ejemplos
117
+
118
+ El repositorio incluye una carpeta `examples/` con casos de uso detallados:
119
+
120
+ - `01-basic-chat.ts`: Chat simple.
121
+ - `02-with-memory.ts`: Persistencia de contexto.
122
+ - `03-with-tools.ts`: Uso de herramientas predefinidas.
123
+ - `04-custom-tools.ts`: E-commerce simulado.
124
+ - `05-multi-step-agent.ts`: Resolución de problemas complejos.
125
+ - `10-streaming.ts`: Respuestas en tiempo real.
126
+ - `11-media-ocr-whisper.ts`: OCR con DeepSeek y transcripcion con Whisper.
127
+
128
+ Para correr los ejemplos:
129
+
130
+ ```bash
131
+ npx tsx examples/run-all.ts
132
+ ```
133
+
134
+ Demo directo de OCR + Whisper:
135
+
136
+ ```bash
137
+ npm run demo:media
138
+ ```
139
+
140
+ Nota: el demo acepta URLs remotas para imagen/audio y la libreria ahora las normaliza internamente.
141
+
142
+ Opcionalmente puedes pasar tus propias URLs:
143
+
144
+ ```bash
145
+ npm run demo:media -- "https://tu-sitio.com/imagen.png" "https://tu-sitio.com/audio.wav"
146
+ ```
147
+
148
+ ## 🏗 Arquitectura
149
+
150
+ El proyecto sigue principios de **Arquitectura Hexagonal**:
151
+
152
+ - **Core**: Logica del agente (`AgentBuilder`) y tareas de media (`MediaBuilder`).
153
+ - **Puertos**: Interfaces como `IMemoryAdapter`.
154
+ - **Adaptadores**: Implementaciones concretas (`RedisMemory`, `GeminiProvider`).
155
+
156
+ Esto permite cambiar la base de datos o el proveedor de IA sin tocar la lógica de negocio.
157
+
158
+ ## Produccion y Publicacion
159
+
160
+ Antes de publicar en npm:
161
+
162
+ ```bash
163
+ npm run release:verify
164
+ ```
165
+
166
+ Este comando ejecuta:
167
+
168
+ - `clean`
169
+ - `typecheck`
170
+ - `build`
171
+ - `npm pack --dry-run` (verifica el contenido real del paquete)
@@ -2,12 +2,12 @@ import { type ToolSet, type LanguageModel, type StreamTextResult } from 'ai';
2
2
  import type { IMemoryAdapter, AgentResult } from './types.js';
3
3
  type GeminiModel = 'gemini-1.5-pro' | 'gemini-1.5-flash' | 'gemini-2.0-flash' | 'gemini-3-flash-preview';
4
4
  type OpenAIModel = 'gpt-4o' | 'gpt-4o-mini' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.2' | 'o1' | 'o1-mini' | 'o3' | 'o3-mini' | 'o3-pro' | 'o4-mini';
5
+ type DeepSeekModel = 'deepseek-ai/DeepSeek-OCR' | 'deepseek-ai/DeepSeek-V3' | 'deepseek-ai/DeepSeek-R1' | 'deepseek-ai/DeepSeek-V3.2';
5
6
  /**
6
7
  * AgentBuilder - Fluent interface for building AI agents
7
- * Supports both Google Gemini and OpenAI models
8
+ * Supports Google Gemini, OpenAI, and DeepSeek models
8
9
  *
9
10
  * @example
10
- * ```typescript
11
11
  * // Using Gemini
12
12
  * const agent = new AgentBuilder()
13
13
  * .useGemini('gemini-3-flash-preview')
@@ -22,7 +22,6 @@ type OpenAIModel = 'gpt-4o' | 'gpt-4o-mini' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-na
22
22
  *
23
23
  * const result = await agent.run('Hello!');
24
24
  * console.log(result.text);
25
- * ```
26
25
  */
27
26
  export declare class AgentBuilder {
28
27
  private model;
@@ -41,6 +40,15 @@ export declare class AgentBuilder {
41
40
  * Sets an OpenAI model
42
41
  */
43
42
  useOpenAI(modelId: OpenAIModel): this;
43
+ /**
44
+ * Sets a DeepSeek model via DeepInfra
45
+ * Uses DEEPINFRA_API_KEY from environment variables automatically
46
+ */
47
+ useDeepSeek(modelId: DeepSeekModel): this;
48
+ /**
49
+ * Shortcut for DeepSeek OCR model via DeepInfra
50
+ */
51
+ useDeepSeekOCR(): this;
44
52
  /**
45
53
  * @deprecated Use useGemini() instead
46
54
  * Sets the Gemini model to use (legacy method)
@@ -76,6 +84,7 @@ export declare class AgentBuilder {
76
84
  * Sets maximum output tokens for generation
77
85
  */
78
86
  setMaxOutputTokens(tokens: number): this;
87
+ private createUserMessage;
79
88
  private formatStepResult;
80
89
  /**
81
90
  * Runs the agent with a user prompt
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.d.ts","sourceRoot":"","sources":["../../src/core/AgentBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAA4D,KAAK,OAAO,EAAE,KAAK,aAAa,EAAsB,KAAK,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAI3J,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAA0C,MAAM,YAAY,CAAC;AAOtG,KAAK,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;AACzG,KAAK,WAAW,GACV,QAAQ,GAAG,aAAa,GACxB,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GACjD,IAAI,GAAG,SAAS,GAChB,IAAI,GAAG,SAAS,GAAG,QAAQ,GAC3B,SAAS,CAAC;AAEhB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAS;IAIjC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKrC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKrC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAK1C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM5D;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS9B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOxC,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoDtE;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmC/E;;;OAGG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IA2C5F;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;CAuBxG"}
1
+ {"version":3,"file":"AgentBuilder.d.ts","sourceRoot":"","sources":["../../src/core/AgentBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4D,KAAK,OAAO,EAAE,KAAK,aAAa,EAAsB,KAAK,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAI3J,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAA0C,MAAM,YAAY,CAAC;AAGtG,KAAK,WAAW,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,wBAAwB,CAAC;AACzG,KAAK,WAAW,GACV,QAAQ,GAAG,aAAa,GACxB,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GACjD,IAAI,GAAG,SAAS,GAChB,IAAI,GAAG,SAAS,GAAG,QAAQ,GAC3B,SAAS,CAAC;AAEhB,KAAK,aAAa,GACZ,0BAA0B,GAC1B,yBAAyB,GACzB,yBAAyB,GACzB,2BAA2B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,KAAK,CAAmD;IAChE,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAS;IAIjC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKrC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAKrC;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIpC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAK1C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM5D;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS9B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKlC;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMxC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACG,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CtE;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2B/E;;;OAGG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAmC5F;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;CAexG"}
@@ -1,13 +1,12 @@
1
- // src/core/AgentBuilder.ts
2
1
  import { generateText, streamText, stepCountIs } from 'ai';
3
2
  import { google } from '@ai-sdk/google';
4
3
  import { openai } from '@ai-sdk/openai';
4
+ import { deepinfra } from '@ai-sdk/deepinfra';
5
5
  /**
6
6
  * AgentBuilder - Fluent interface for building AI agents
7
- * Supports both Google Gemini and OpenAI models
7
+ * Supports Google Gemini, OpenAI, and DeepSeek models
8
8
  *
9
9
  * @example
10
- * ```typescript
11
10
  * // Using Gemini
12
11
  * const agent = new AgentBuilder()
13
12
  * .useGemini('gemini-3-flash-preview')
@@ -22,7 +21,6 @@ import { openai } from '@ai-sdk/openai';
22
21
  *
23
22
  * const result = await agent.run('Hello!');
24
23
  * console.log(result.text);
25
- * ```
26
24
  */
27
25
  export class AgentBuilder {
28
26
  model = google('gemini-3-flash-preview');
@@ -30,7 +28,7 @@ export class AgentBuilder {
30
28
  tools = {};
31
29
  memory;
32
30
  sessionId;
33
- maxSteps = 1; // 1 = Single turn, >1 = Agent mode with tool loops
31
+ maxSteps = 1;
34
32
  temperature = 0.5;
35
33
  maxOutputTokens;
36
34
  // --- CONFIGURATION (Fluent Interface) ---
@@ -48,6 +46,20 @@ export class AgentBuilder {
48
46
  this.model = openai(modelId);
49
47
  return this;
50
48
  }
49
+ /**
50
+ * Sets a DeepSeek model via DeepInfra
51
+ * Uses DEEPINFRA_API_KEY from environment variables automatically
52
+ */
53
+ useDeepSeek(modelId) {
54
+ this.model = deepinfra(modelId);
55
+ return this;
56
+ }
57
+ /**
58
+ * Shortcut for DeepSeek OCR model via DeepInfra
59
+ */
60
+ useDeepSeekOCR() {
61
+ return this.useDeepSeek('deepseek-ai/DeepSeek-OCR');
62
+ }
51
63
  /**
52
64
  * @deprecated Use useGemini() instead
53
65
  * Sets the Gemini model to use (legacy method)
@@ -112,6 +124,17 @@ export class AgentBuilder {
112
124
  return this;
113
125
  }
114
126
  // --- PRIVATE HELPERS ---
127
+ createUserMessage(userPrompt, imageUrl) {
128
+ return {
129
+ role: 'user',
130
+ content: imageUrl
131
+ ? [
132
+ { type: 'text', text: userPrompt },
133
+ { type: 'image', image: imageUrl },
134
+ ]
135
+ : userPrompt,
136
+ };
137
+ }
115
138
  formatStepResult(steps) {
116
139
  return steps.map((step) => ({
117
140
  text: step.text,
@@ -139,15 +162,7 @@ export class AgentBuilder {
139
162
  history = await this.memory.get(this.sessionId);
140
163
  }
141
164
  // 2. Prepare Current Message (supports multimodal)
142
- const currentMessage = {
143
- role: 'user',
144
- content: imageUrl
145
- ? [
146
- { type: 'text', text: userPrompt },
147
- { type: 'image', image: imageUrl },
148
- ]
149
- : userPrompt,
150
- };
165
+ const currentMessage = this.createUserMessage(userPrompt, imageUrl);
151
166
  // 3. Call AI SDK with generateText
152
167
  // In v6, stopWhen with stepCountIs controls the multi-step behavior
153
168
  const hasTools = Object.keys(this.tools).length > 0;
@@ -182,15 +197,7 @@ export class AgentBuilder {
182
197
  * Runs the agent without saving to memory (stateless)
183
198
  */
184
199
  async runStateless(userPrompt, imageUrl) {
185
- const currentMessage = {
186
- role: 'user',
187
- content: imageUrl
188
- ? [
189
- { type: 'text', text: userPrompt },
190
- { type: 'image', image: imageUrl },
191
- ]
192
- : userPrompt,
193
- };
200
+ const currentMessage = this.createUserMessage(userPrompt, imageUrl);
194
201
  const hasTools = Object.keys(this.tools).length > 0;
195
202
  const result = await generateText({
196
203
  model: this.model,
@@ -223,15 +230,7 @@ export class AgentBuilder {
223
230
  history = await this.memory.get(this.sessionId);
224
231
  }
225
232
  // 2. Prepare Current Message
226
- const currentMessage = {
227
- role: 'user',
228
- content: imageUrl
229
- ? [
230
- { type: 'text', text: userPrompt },
231
- { type: 'image', image: imageUrl },
232
- ]
233
- : userPrompt,
234
- };
233
+ const currentMessage = this.createUserMessage(userPrompt, imageUrl);
235
234
  const hasTools = Object.keys(this.tools).length > 0;
236
235
  // 3. Start Stream
237
236
  const result = streamText({
@@ -257,15 +256,7 @@ export class AgentBuilder {
257
256
  * Stateless version of Streaming (no persistence)
258
257
  */
259
258
  async streamStateless(userPrompt, imageUrl) {
260
- const currentMessage = {
261
- role: 'user',
262
- content: imageUrl
263
- ? [
264
- { type: 'text', text: userPrompt },
265
- { type: 'image', image: imageUrl },
266
- ]
267
- : userPrompt,
268
- };
259
+ const currentMessage = this.createUserMessage(userPrompt, imageUrl);
269
260
  const hasTools = Object.keys(this.tools).length > 0;
270
261
  return streamText({
271
262
  model: this.model,
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../src/core/AgentBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sourceRoot":"","sources":["../../src/core/AgentBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type LanguageModel, type TranscriptionModel } from 'ai';
2
+ import type { AudioTranscriptionResult, MediaInput, OCRResult } from './types.js';
3
+ type DeepSeekOCRModel = 'deepseek-ai/DeepSeek-OCR' | (string & {});
4
+ type OpenAIWhisperModel = 'whisper-1' | 'gpt-4o-mini-transcribe' | 'gpt-4o-transcribe';
5
+ /**
6
+ * MediaBuilder - Fluent interface for OCR and audio transcription tasks.
7
+ * Keeps media workflows separated from the conversational AgentBuilder.
8
+ */
9
+ export declare class MediaBuilder {
10
+ private ocrModel;
11
+ private transcriptionModel;
12
+ private ocrSystemPrompt;
13
+ private ocrTemperature;
14
+ private ocrMaxOutputTokens;
15
+ private normalizeMediaInput;
16
+ /**
17
+ * Sets a DeepSeek OCR model via DeepInfra.
18
+ */
19
+ useDeepSeekOCR(modelId?: DeepSeekOCRModel): this;
20
+ /**
21
+ * Sets an OpenAI Whisper/transcription model.
22
+ */
23
+ useOpenAIWhisper(modelId?: OpenAIWhisperModel): this;
24
+ /**
25
+ * Sets a custom OCR language model.
26
+ */
27
+ useCustomOCRModel(model: LanguageModel): this;
28
+ /**
29
+ * Sets a custom transcription model.
30
+ */
31
+ useCustomTranscriptionModel(model: TranscriptionModel): this;
32
+ /**
33
+ * Sets the OCR system prompt.
34
+ */
35
+ setOCRSystem(prompt: string): this;
36
+ /**
37
+ * Sets OCR temperature (0-2). Defaults to 0 for deterministic extraction.
38
+ */
39
+ setOCRTemperature(temp: number): this;
40
+ /**
41
+ * Sets OCR max output tokens.
42
+ */
43
+ setOCRMaxOutputTokens(tokens: number): this;
44
+ /**
45
+ * Extracts text from an image using the configured OCR model.
46
+ * Accepts URL, data URL/base64, or binary data.
47
+ */
48
+ extractTextFromImage(image: MediaInput, prompt?: string): Promise<OCRResult>;
49
+ /**
50
+ * Transcribes audio to text using the configured transcription model (Whisper by default).
51
+ * Accepts URL, data URL/base64, or binary data.
52
+ */
53
+ transcribeAudio(audio: MediaInput): Promise<AudioTranscriptionResult>;
54
+ }
55
+ export {};
56
+ //# sourceMappingURL=MediaBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaBuilder.d.ts","sourceRoot":"","sources":["../../src/core/MediaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAGtH,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElF,KAAK,gBAAgB,GAAG,0BAA0B,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACnE,KAAK,kBAAkB,GAAG,WAAW,GAAG,wBAAwB,GAAG,mBAAmB,CAAC;AAEvF;;;GAGG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAwD;IACxE,OAAO,CAAC,kBAAkB,CAAyD;IACnF,OAAO,CAAC,eAAe,CAAgF;IACvG,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,kBAAkB,CAAQ;IAElC,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,cAAc,CAAC,OAAO,GAAE,gBAA6C,GAAG,IAAI;IAK5E;;OAEG;IACH,gBAAgB,CAAC,OAAO,GAAE,kBAAgC,GAAG,IAAI;IAKjE;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAK7C;;OAEG;IACH,2BAA2B,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAK5D;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3C;;;OAGG;IACG,oBAAoB,CACtB,KAAK,EAAE,UAAU,EACjB,MAAM,SAAwG,GAC/G,OAAO,CAAC,SAAS,CAAC;IA8BrB;;;OAGG;IACG,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAQ9E"}
@@ -0,0 +1,121 @@
1
+ import { experimental_transcribe as transcribe, generateText } from 'ai';
2
+ import { deepinfra } from '@ai-sdk/deepinfra';
3
+ import { openai } from '@ai-sdk/openai';
4
+ /**
5
+ * MediaBuilder - Fluent interface for OCR and audio transcription tasks.
6
+ * Keeps media workflows separated from the conversational AgentBuilder.
7
+ */
8
+ export class MediaBuilder {
9
+ ocrModel = deepinfra('deepseek-ai/DeepSeek-OCR');
10
+ transcriptionModel = openai.transcription('whisper-1');
11
+ ocrSystemPrompt = 'Eres un motor OCR preciso. Extrae texto fielmente, sin inventar contenido.';
12
+ ocrTemperature = 0;
13
+ ocrMaxOutputTokens = 1200;
14
+ normalizeMediaInput(input) {
15
+ if (typeof input !== 'string') {
16
+ return input;
17
+ }
18
+ const trimmed = input.trim();
19
+ if (/^https?:\/\//i.test(trimmed)) {
20
+ try {
21
+ return new URL(trimmed);
22
+ }
23
+ catch {
24
+ return input;
25
+ }
26
+ }
27
+ return input;
28
+ }
29
+ /**
30
+ * Sets a DeepSeek OCR model via DeepInfra.
31
+ */
32
+ useDeepSeekOCR(modelId = 'deepseek-ai/DeepSeek-OCR') {
33
+ this.ocrModel = deepinfra(modelId);
34
+ return this;
35
+ }
36
+ /**
37
+ * Sets an OpenAI Whisper/transcription model.
38
+ */
39
+ useOpenAIWhisper(modelId = 'whisper-1') {
40
+ this.transcriptionModel = openai.transcription(modelId);
41
+ return this;
42
+ }
43
+ /**
44
+ * Sets a custom OCR language model.
45
+ */
46
+ useCustomOCRModel(model) {
47
+ this.ocrModel = model;
48
+ return this;
49
+ }
50
+ /**
51
+ * Sets a custom transcription model.
52
+ */
53
+ useCustomTranscriptionModel(model) {
54
+ this.transcriptionModel = model;
55
+ return this;
56
+ }
57
+ /**
58
+ * Sets the OCR system prompt.
59
+ */
60
+ setOCRSystem(prompt) {
61
+ this.ocrSystemPrompt = prompt;
62
+ return this;
63
+ }
64
+ /**
65
+ * Sets OCR temperature (0-2). Defaults to 0 for deterministic extraction.
66
+ */
67
+ setOCRTemperature(temp) {
68
+ this.ocrTemperature = Math.max(0, Math.min(2, temp));
69
+ return this;
70
+ }
71
+ /**
72
+ * Sets OCR max output tokens.
73
+ */
74
+ setOCRMaxOutputTokens(tokens) {
75
+ this.ocrMaxOutputTokens = Math.max(64, Math.floor(tokens));
76
+ return this;
77
+ }
78
+ /**
79
+ * Extracts text from an image using the configured OCR model.
80
+ * Accepts URL, data URL/base64, or binary data.
81
+ */
82
+ async extractTextFromImage(image, prompt = 'Extrae todo el texto visible exactamente como aparece. Conserva saltos de linea cuando sea posible.') {
83
+ const normalizedImage = this.normalizeMediaInput(image);
84
+ const result = await generateText({
85
+ model: this.ocrModel,
86
+ system: this.ocrSystemPrompt,
87
+ messages: [
88
+ {
89
+ role: 'user',
90
+ content: [
91
+ { type: 'text', text: prompt },
92
+ { type: 'image', image: normalizedImage },
93
+ ],
94
+ },
95
+ ],
96
+ temperature: this.ocrTemperature,
97
+ maxOutputTokens: this.ocrMaxOutputTokens,
98
+ });
99
+ return {
100
+ text: result.text,
101
+ usage: {
102
+ inputTokens: result.usage.inputTokens,
103
+ outputTokens: result.usage.outputTokens,
104
+ totalTokens: result.usage.totalTokens,
105
+ },
106
+ totalUsage: result.usage,
107
+ };
108
+ }
109
+ /**
110
+ * Transcribes audio to text using the configured transcription model (Whisper by default).
111
+ * Accepts URL, data URL/base64, or binary data.
112
+ */
113
+ async transcribeAudio(audio) {
114
+ const normalizedAudio = this.normalizeMediaInput(audio);
115
+ return transcribe({
116
+ model: this.transcriptionModel,
117
+ audio: normalizedAudio,
118
+ });
119
+ }
120
+ }
121
+ //# sourceMappingURL=MediaBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaBuilder.js","sourceRoot":"","sources":["../../src/core/MediaBuilder.ts"],"names":[],"mappings":"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"}
@@ -57,4 +57,36 @@ export interface AgentResult {
57
57
  /** Total usage across all steps */
58
58
  totalUsage: LanguageModelUsage;
59
59
  }
60
+ /**
61
+ * Shared binary/text input format used by OCR and audio transcription.
62
+ */
63
+ export type MediaInput = string | URL | Uint8Array | ArrayBuffer | Buffer;
64
+ /**
65
+ * OCR extraction result.
66
+ */
67
+ export interface OCRResult {
68
+ /** Extracted text from the input image */
69
+ text: string;
70
+ /** Token usage statistics */
71
+ usage: {
72
+ inputTokens: number | undefined;
73
+ outputTokens: number | undefined;
74
+ totalTokens: number | undefined;
75
+ };
76
+ /** Total usage across the OCR call */
77
+ totalUsage: LanguageModelUsage;
78
+ }
79
+ /**
80
+ * Audio transcription result (Whisper/OpenAI Transcription API).
81
+ */
82
+ export interface AudioTranscriptionResult {
83
+ text: string;
84
+ segments: Array<{
85
+ text: string;
86
+ startSecond: number;
87
+ endSecond: number;
88
+ }>;
89
+ language: string | undefined;
90
+ durationInSeconds: number | undefined;
91
+ }
60
92
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,6BAA6B;IAC7B,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,mCAAmC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhD;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,6BAA6B;IAC7B,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,mCAAmC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,KAAK,EAAE;QACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACnC,CAAC;IACF,sCAAsC;IACtC,UAAU,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,7 @@
1
- import 'dotenv/config';
1
+ export * from './core/AgentBuilder.js';
2
+ export * from './core/MediaBuilder.js';
3
+ export * from './core/types.js';
4
+ export * from './infrastructure/InMemory.js';
5
+ export * from './infrastructure/RedisMemory.js';
6
+ export * from './tools/common.js';
2
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,76 +1,7 @@
1
- // src/index.ts - Example usage of the AI Agent Library
2
- import 'dotenv/config';
3
- import { tool } from 'ai';
4
- import { z } from 'zod/v4';
5
- import { AgentBuilder } from './core/AgentBuilder.js';
6
- import { InMemoryAdapter } from './infrastructure/InMemory.js';
7
- import { CommonTools } from './tools/common.js';
8
- async function main() {
9
- const userId = 'usuario-dev-01';
10
- // Choose your memory adapter:
11
- // Option 1: Redis (requires Redis running)
12
- // const memory = new RedisMemory();
13
- // Option 2: In-Memory (for development, no external deps)
14
- const memory = new InMemoryAdapter();
15
- // Build the agent with fluent interface
16
- const agent = new AgentBuilder()
17
- .useModel('gemini-3-flash-preview')
18
- .setSystem('Eres un asistente financiero sarcástico pero muy útil.')
19
- .withMemory(memory, userId)
20
- .setTemperature(0.7)
21
- // 1. Inject pre-built common tools
22
- .addTools({
23
- hora: CommonTools.time,
24
- web: CommonTools.webSearchMock,
25
- calcular: CommonTools.calculator,
26
- })
27
- // 2. Inject an ad-hoc project-specific tool
28
- .addTools({
29
- comprarCripto: tool({
30
- description: 'Compra una criptomoneda específica',
31
- inputSchema: z.object({
32
- moneda: z.string().describe('El símbolo de la criptomoneda (BTC, ETH, etc.)'),
33
- cantidad: z.number().describe('La cantidad a comprar'),
34
- }),
35
- execute: async ({ moneda, cantidad }) => {
36
- // Simulated order - replace with actual exchange API
37
- const orderId = Math.random().toString(36).substring(7);
38
- return JSON.stringify({
39
- success: true,
40
- orderId,
41
- message: `Orden de compra creada: ${cantidad} ${moneda.toUpperCase()}`,
42
- estimatedPrice: `$${(Math.random() * 50000 + 20000).toFixed(2)} USD`,
43
- });
44
- },
45
- }),
46
- });
47
- console.log('--- 🤖 Inicio del Chat ---\n');
48
- // Prompt 1: Requires web search and time
49
- console.log('👤 Usuario: Hola, ¿qué hora es y busca en internet a cuánto está el Bitcoin hoy?');
50
- const resp1 = await agent.run('Hola, ¿qué hora es y busca en internet a cuánto está el Bitcoin hoy?');
51
- console.log('🤖 IA:', resp1.text);
52
- console.log('📊 Tokens usados:', resp1.usage.totalTokens);
53
- console.log('🔧 Tools usadas:', resp1.steps.flatMap((s) => s.toolCalls.map((t) => t.toolName)).join(', ') || 'ninguna');
54
- console.log();
55
- // Prompt 2: Context + new tool (Buy crypto)
56
- // Thanks to memory, the agent knows we were talking about Bitcoin
57
- console.log('👤 Usuario: Ok, compra 5 unidades de esa moneda entonces.');
58
- const resp2 = await agent.run('Ok, compra 5 unidades de esa moneda entonces.');
59
- console.log('🤖 IA:', resp2.text);
60
- console.log('📊 Tokens usados:', resp2.usage.totalTokens);
61
- console.log('🔧 Tools usadas:', resp2.steps.flatMap((s) => s.toolCalls.map((t) => t.toolName)).join(', ') || 'ninguna');
62
- console.log();
63
- // Prompt 3: Using calculator
64
- console.log('👤 Usuario: Si compré a $45000, ¿cuánto gasto en total?');
65
- const resp3 = await agent.run('Si compré a $45000, ¿cuánto gasto en total por las 5 unidades?');
66
- console.log('🤖 IA:', resp3.text);
67
- console.log('📊 Tokens usados:', resp3.usage.totalTokens);
68
- console.log('🔧 Tools usadas:', resp3.steps.flatMap((s) => s.toolCalls.map((t) => t.toolName)).join(', ') || 'ninguna');
69
- console.log('\n--- ✅ Chat Finalizado ---');
70
- process.exit(0);
71
- }
72
- main().catch((err) => {
73
- console.error('❌ Error:', err);
74
- process.exit(1);
75
- });
1
+ export * from './core/AgentBuilder.js';
2
+ export * from './core/MediaBuilder.js';
3
+ export * from './core/types.js';
4
+ export * from './infrastructure/InMemory.js';
5
+ export * from './infrastructure/RedisMemory.js';
6
+ export * from './tools/common.js';
76
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InMemory.d.ts","sourceRoot":"","sources":["../../src/infrastructure/InMemory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,YAAW,cAAc;IAClD,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI/C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACH,QAAQ,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"InMemory.d.ts","sourceRoot":"","sources":["../../src/infrastructure/InMemory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAgB,YAAW,cAAc;IAClD,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAI/C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACH,QAAQ,IAAI,IAAI;CAGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InMemory.js","sourceRoot":"","sources":["../../src/infrastructure/InMemory.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,OAAO,eAAe;IAChB,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1C,WAAW,CAAS;IAE5B,YAAY,OAAkC;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,QAAwB;QACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACJ"}
1
+ {"version":3,"file":"InMemory.js","sourceRoot":"","sources":["../../src/infrastructure/InMemory.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,eAAe;IAChB,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC1C,WAAW,CAAS;IAE5B,YAAY,OAAkC;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,QAAwB;QACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"RedisMemory.d.ts","sourceRoot":"","sources":["../../src/infrastructure/RedisMemory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,WAAY,YAAW,cAAc;IAC9C,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,CAAC,EAAE;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB;IAOD,OAAO,CAAC,MAAM;IAIR,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK/C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
1
+ {"version":3,"file":"RedisMemory.d.ts","sourceRoot":"","sources":["../../src/infrastructure/RedisMemory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,WAAY,YAAW,cAAc;IAC9C,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,CAAC,EAAE;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB;IAOD,OAAO,CAAC,MAAM;IAIR,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK/C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
@@ -1,4 +1,3 @@
1
- // src/infrastructure/RedisMemory.ts
2
1
  import { Redis } from 'ioredis';
3
2
  /**
4
3
  * Redis-based memory adapter for conversation persistence
@@ -1 +1 @@
1
- {"version":3,"file":"RedisMemory.js","sourceRoot":"","sources":["../../src/infrastructure/RedisMemory.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC;;GAEG;AACH,MAAM,OAAO,WAAW;IACZ,MAAM,CAAQ;IACd,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,UAAU,CAAS;IAE3B,YAAY,OAKX;QACG,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,mBAAmB;IACvE,CAAC;IAEO,MAAM,CAAC,SAAiB;QAC5B,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,WAA2B;QACpD,wEAAwE;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACJ"}
1
+ {"version":3,"file":"RedisMemory.js","sourceRoot":"","sources":["../../src/infrastructure/RedisMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC;;GAEG;AACH,MAAM,OAAO,WAAW;IACZ,MAAM,CAAQ;IACd,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,UAAU,CAAS;IAE3B,YAAY,OAKX;QACG,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,gBAAgB,IAAI,wBAAwB,CAAC,CAAC;QAC/E,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,mBAAmB;IACvE,CAAC;IAEO,MAAM,CAAC,SAAiB;QAC5B,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB,EAAE,WAA2B;QACpD,wEAAwE;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,SAAiB;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;CACJ"}
@@ -27,7 +27,7 @@ export declare const CommonTools: {
27
27
  */
28
28
  textUtils: import("ai").Tool<{
29
29
  text: string;
30
- operation: "reverse" | "wordCount" | "charCount" | "uppercase" | "lowercase";
30
+ operation: string;
31
31
  }, string>;
32
32
  };
33
33
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,WAAW;IACpB;;OAEG;;;;;IA+BH;;OAEG;;;;IAqBH;;OAEG;;;;;IAaH;;OAEG;;;;;CAyBN,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,WAAW;IACpB;;OAEG;;;;;IA+BH;;OAEG;;;;IAqBH;;OAEG;;;;;IAaH;;OAEG;;cAQ8C,MAAM;mBAAa,MAAM;;CAiB7E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;QACP,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE;gBACtB,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ;aAC7D,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IAEF,uCAAuC;IACvC,UAAU,EAAE,IAAI,CAAC;QACb,WAAW,EAAE,0FAA0F;QACvG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;SAClH,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACD,kDAAkD;gBAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wDAAwD,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7G,CAAC;QACL,CAAC;KACJ,CAAC;IAEF;;OAEG;IACH,aAAa,EAAE,IAAI,CAAC;QAChB,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SAC5D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,GAAG,CAAC,CAAC;YACjD,yEAAyE;YACzE,OAAO,IAAI,CAAC,SAAS,CAAC;gBAClB,KAAK;gBACL,OAAO,EAAE;oBACL,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,KAAK,EAAE,EAAE;oBACzE,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,kCAAkC,EAAE;oBAC9E,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,2BAA2B,EAAE;iBAC1E;gBACD,IAAI,EAAE,wEAAwE;aACjF,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;IAEF;;OAEG;IACH,YAAY,EAAE,IAAI,CAAC;QACf,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACnD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACtD,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACjE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;KACJ,CAAC;IAEF;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;QACZ,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;iBAC7E,QAAQ,CAAC,yBAAyB,CAAC;SAC3C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YACnC,QAAQ,SAAS,EAAE,CAAC;gBAChB,KAAK,WAAW;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvG,KAAK,WAAW;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC9D,KAAK,WAAW;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACrE,KAAK,WAAW;oBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACrE,KAAK,SAAS;oBACV,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF;oBACI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;KACJ,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,23 +1,42 @@
1
1
  {
2
2
  "name": "@misgara/ai-agent",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Librería hexagonal para agentes de IA",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
8
- "dev": "tsx src/index.ts",
8
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
9
+ "dev": "tsx src/demo.ts",
10
+ "demo:media": "tsx src/demo-media.ts",
9
11
  "build": "tsc",
12
+ "check:package": "npm pack --dry-run",
13
+ "release:verify": "npm run clean && npm run typecheck && npm run build && npm run check:package",
10
14
  "start": "node dist/index.js",
11
15
  "typecheck": "tsc --noEmit",
12
- "prepublishOnly": "npm run build"
16
+ "prepublishOnly": "npm run release:verify"
17
+ },
18
+ "exports": {
19
+ ".": {
20
+ "types": "./dist/index.d.ts",
21
+ "import": "./dist/index.js",
22
+ "require": "./dist/index.js"
23
+ }
13
24
  },
14
25
  "files": [
15
26
  "dist"
16
27
  ],
28
+ "sideEffects": false,
29
+ "engines": {
30
+ "node": ">=18.0.0"
31
+ },
17
32
  "keywords": [
18
33
  "ai",
19
34
  "agent",
20
35
  "gemini",
36
+ "openai",
37
+ "whisper",
38
+ "deepseek",
39
+ "ocr",
21
40
  "vercel-ai-sdk"
22
41
  ],
23
42
  "publishConfig": {
@@ -27,6 +46,7 @@
27
46
  "license": "ISC",
28
47
  "type": "module",
29
48
  "dependencies": {
49
+ "@ai-sdk/deepinfra": "^2.0.26",
30
50
  "@ai-sdk/google": "^3.0.6",
31
51
  "@ai-sdk/openai": "^3.0.7",
32
52
  "ai": "^6.0.27",
@@ -41,4 +61,4 @@
41
61
  "tsx": "^4.21.0",
42
62
  "typescript": "^5.9.3"
43
63
  }
44
- }
64
+ }