@runflow-ai/sdk 1.0.0 → 1.0.1

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,656 @@
1
+ # Runflow SDK
2
+
3
+ Uma SDK completa para desenvolvimento de agentes na plataforma Runflow, oferecendo integração fácil e poderosa com os serviços da plataforma.
4
+
5
+ ## 📦 Instalação
6
+
7
+ ```bash
8
+ npm install @runflow-ai/sdk
9
+ ```
10
+
11
+ ## ⚙️ Configuração
12
+
13
+ ### Arquivo .runflow
14
+
15
+ Para usar o SDK, crie um arquivo `.runflow` na raiz do seu projeto com as seguintes configurações:
16
+
17
+ ```json
18
+ {
19
+ "agentId": "123-456-789",
20
+ "tenantId": "tenant-123",
21
+ "apiKey": "sk-...",
22
+ "apiUrl": "https://api.runflow.ai"
23
+ }
24
+ ```
25
+
26
+ O SDK carregará automaticamente essas configurações e definirá as seguintes variáveis de ambiente:
27
+ - `RUNFLOW_AGENT_ID`
28
+ - `RUNFLOW_TENANT_ID`
29
+ - `RUNFLOW_API_KEY`
30
+ - `RUNFLOW_API_URL`
31
+
32
+ > **Nota:** O arquivo `.runflow` é buscado a partir do diretório atual, subindo na hierarquia até encontrar o arquivo ou chegar na raiz do sistema.
33
+
34
+ ### Configuração Manual (Alternativa)
35
+
36
+ Se preferir, você pode definir as variáveis de ambiente manualmente:
37
+
38
+ ```bash
39
+ export RUNFLOW_AGENT_ID="123-456-789"
40
+ export RUNFLOW_TENANT_ID="tenant-123"
41
+ export RUNFLOW_API_KEY="sk-..."
42
+ export RUNFLOW_API_URL="https://api.runflow.ai"
43
+ ```
44
+
45
+ ### Utilitários de Configuração
46
+
47
+ O SDK fornece funções utilitárias para gerenciar configurações:
48
+
49
+ ```typescript
50
+ import {
51
+ loadRunflowConfig,
52
+ ensureRunflowConfig,
53
+ checkEnvironmentVariables
54
+ } from '@runflow-ai/sdk';
55
+
56
+ // Carregar configurações manualmente (opcional - feito automaticamente no construtor)
57
+ const config = loadRunflowConfig();
58
+
59
+ // Forçar carregamento e falhar se não encontrar
60
+ const config = ensureRunflowConfig();
61
+
62
+ // Verificar se todas as variáveis estão definidas
63
+ const hasAllVars = checkEnvironmentVariables();
64
+ ```
65
+
66
+ ## 🚀 Início Rápido
67
+
68
+ Agora você tem **4 formas diferentes** de usar o SDK, desde a mais simples até a mais avançada:
69
+
70
+ ### 1. 🎯 **Forma Ultra-Simples** (Recomendada para iniciantes)
71
+
72
+ ```typescript
73
+ import { getPrompt, getCredential, log } from '@runflow-ai/sdk';
74
+
75
+ export const handler = async (input, context) => {
76
+ // Usa singleton interno - sem "new" necessário!
77
+ const prompt = await getPrompt('welcome-message');
78
+ const credential = await getCredential('azure-gpt4');
79
+
80
+ log('Handler executado', { message: input.message });
81
+
82
+ return {
83
+ success: true,
84
+ data: {
85
+ answer: prompt,
86
+ answered_by: "assistant"
87
+ }
88
+ };
89
+ };
90
+ ```
91
+
92
+ ### 2. ⚡ **Forma Simplificada com Helper**
93
+
94
+ ```typescript
95
+ import { createAgentHandler } from '@runflow-ai/sdk';
96
+
97
+ export const handler = createAgentHandler(async (sdk, input, context) => {
98
+ // SDK já vem pronto, sem instanciar!
99
+ const prompt = await sdk.getPrompt('welcome-message');
100
+
101
+ return {
102
+ success: true,
103
+ data: {
104
+ answer: prompt,
105
+ answered_by: "assistant"
106
+ }
107
+ };
108
+ });
109
+ ```
110
+
111
+ ### 3. 🔄 **Forma com Singleton Explícito**
112
+
113
+ ```typescript
114
+ import { getSDK } from '@runflow-ai/sdk';
115
+
116
+ export const handler = async (input, context) => {
117
+ const sdk = getSDK(context); // Reutiliza a mesma instância
118
+ const prompt = await sdk.getPrompt('welcome-message');
119
+
120
+ return {
121
+ success: true,
122
+ data: {
123
+ answer: prompt,
124
+ answered_by: "assistant"
125
+ }
126
+ };
127
+ };
128
+ ```
129
+
130
+ ### 4. 🛠️ **Forma Tradicional** (Para casos avançados)
131
+
132
+ ```typescript
133
+ import { RunflowSDK, createHandler } from '@runflow-ai/sdk';
134
+
135
+ export const handler = createHandler(async (input, context) => {
136
+ const sdk = new RunflowSDK(context); // Nova instância sempre
137
+
138
+ return {
139
+ success: true,
140
+ data: {
141
+ answer: "Olá! Como posso ajudar?",
142
+ answered_by: "assistant"
143
+ }
144
+ };
145
+ });
146
+ ```
147
+
148
+ ### 🤔 **Qual Forma Usar?**
149
+
150
+ | Cenário | Forma Recomendada | Por que? |
151
+ |---------|-------------------|-----------|
152
+ | **Agente simples, poucos métodos** | 🎯 Ultra-Simples | Menos código, mais direto |
153
+ | **Agente complexo, muitos métodos SDK** | ⚡ Helper `createAgentHandler` | SDK injetado, tipagem completa |
154
+ | **Múltiplos handlers no mesmo arquivo** | 🔄 Singleton Explícito | Reutiliza instância, melhor performance |
155
+ | **Controle total sobre instância** | 🛠️ Tradicional | Máxima flexibilidade |
156
+ | **Testes unitários** | 🛠️ Tradicional + `resetSDK()` | Isolamento entre testes |
157
+
158
+ ### 💡 **Funções de Conveniência Disponíveis**
159
+
160
+ ```typescript
161
+ // Todas essas funções usam o singleton interno
162
+ import {
163
+ getCredential, // Buscar credencial
164
+ getPrompt, // Buscar prompt
165
+ searchVectorStore, // Buscar em knowledge base
166
+ getSession, // Gerenciar sessão
167
+ log, // Log estruturado
168
+ trace // Tracing para LangSmith
169
+ } from '@runflow-ai/sdk';
170
+ ```
171
+
172
+ ## 🔧 Funcionalidades Principais
173
+
174
+ ### 🔐 Gerenciamento de Credenciais
175
+
176
+ O SDK fornece acesso seguro às credenciais configuradas na plataforma:
177
+
178
+ ```typescript
179
+ // Buscar uma credencial específica
180
+ const credential = await sdk.getCredential('api-key-openai');
181
+
182
+ console.log(credential.name); // 'api-key-openai'
183
+ console.log(credential.type); // 'API_KEY', 'OAUTH', ou 'JWT'
184
+ console.log(credential.apiKey); // A chave de acesso
185
+ console.log(credential.config); // Configurações adicionais
186
+ ```
187
+
188
+ **Tipos de Credenciais Suportadas:**
189
+ - `API_KEY`: Chaves de API simples
190
+ - `OAUTH`: Tokens OAuth
191
+ - `JWT`: JSON Web Tokens
192
+
193
+ ### 📝 Sistema de Prompts
194
+
195
+ Gerencie e utilize prompts dinâmicos com variáveis:
196
+
197
+ ```typescript
198
+ // Prompt simples
199
+ consgit stt prompt = await sdk.getPrompt('greeting');
200
+
201
+ // Prompt com variáveis
202
+ const prompt = await sdk.getPrompt('personalized-greeting', {
203
+ name: 'João',
204
+ company: 'Acme Corp'
205
+ });
206
+
207
+ // O prompt pode conter: "Olá {{name}}, bem-vindo à {{company}}!"
208
+ // Resultado: "Olá João, bem-vindo à Acme Corp!"
209
+ ```
210
+
211
+ ### 🔍 Busca em Vector Stores
212
+
213
+ Realize buscas semânticas em bases de conhecimento:
214
+
215
+ ```typescript
216
+ // Listar vector stores disponíveis
217
+ const vectorStores = await sdk.getAvailableVectorStores();
218
+
219
+ vectorStores.forEach(store => {
220
+ console.log(`${store.name}: ${store.description} (${store.type})`);
221
+ });
222
+
223
+ // Realizar busca semântica
224
+ const searchResults = await sdk.searchVectorStore(
225
+ 'knowledge-base',
226
+ 'Como configurar pagamentos?',
227
+ {
228
+ k: 5, // Número de resultados
229
+ threshold: 0.7 // Threshold de similaridade
230
+ }
231
+ );
232
+
233
+ searchResults.results.forEach(result => {
234
+ console.log(`Score: ${result.score}`);
235
+ console.log(`Conteúdo: ${result.content}`);
236
+ console.log(`Fonte: ${result.metadata.source}`);
237
+ });
238
+ ```
239
+
240
+ **Tipos de Vector Stores Suportados:**
241
+ - Pinecone
242
+ - Weaviate
243
+ - Qdrant
244
+
245
+ ### 💬 Gerenciamento de Sessões
246
+
247
+ Mantenha contexto e histórico de conversas:
248
+
249
+ ```typescript
250
+ // Obter gerenciador de sessão
251
+ const session = sdk.session.get('session-123');
252
+
253
+ // Adicionar mensagens
254
+ await session.addMessage('human', 'Qual é o status do meu pedido?');
255
+ await session.addMessage('ai', 'Seu pedido #1234 está em processamento.');
256
+
257
+ // Buscar histórico
258
+ const history = await session.getHistory({
259
+ limit: 10,
260
+ offset: 0
261
+ });
262
+
263
+ history.forEach(message => {
264
+ console.log(`[${message.role}] ${message.content}`);
265
+ console.log(`Timestamp: ${message.timestamp}`);
266
+ });
267
+
268
+ // Limpar histórico
269
+ await session.clear();
270
+ ```
271
+
272
+ ### 📊 Logs e Tracing
273
+
274
+ Sistema completo de observabilidade:
275
+
276
+ ```typescript
277
+ // Log simples
278
+ sdk.log('Processando requisição do usuário');
279
+
280
+ // Log com dados estruturados
281
+ sdk.log('Busca realizada', {
282
+ query: 'pagamentos',
283
+ results: 5,
284
+ vectorStore: 'knowledge-base'
285
+ });
286
+
287
+ // Enviar trace para LangSmith
288
+ const trace = await sdk.trace({
289
+ operation: 'agent.search',
290
+ inputs: {
291
+ query: 'Como configurar pagamentos?',
292
+ vectorStore: 'knowledge-base'
293
+ },
294
+ outputs: {
295
+ results: searchResults.results.length,
296
+ answered: true
297
+ },
298
+ status: 'success',
299
+ metadata: {
300
+ model: 'gpt-4',
301
+ tokens: 150
302
+ }
303
+ });
304
+
305
+ console.log(`Trace ID: ${trace.traceId}`);
306
+ ```
307
+
308
+ ## 🏗️ Arquitetura
309
+
310
+ ### Classes Principais
311
+
312
+ #### `RunflowSDK`
313
+ Classe principal que oferece acesso a todos os recursos da plataforma:
314
+
315
+ ```typescript
316
+ class RunflowSDK {
317
+ constructor(context?: AgentContext)
318
+
319
+ // Métodos principais
320
+ async getCredential(name: string): Promise<Credential>
321
+ async getPrompt(name: string, variables?: Record<string, any>): Promise<string>
322
+ async getAvailableVectorStores(): Promise<VectorStore[]>
323
+ async searchVectorStore(vectorStore: string, query: string, options?: SearchOptions): Promise<SearchResponse>
324
+ log(message: string, data?: any): void
325
+ async trace(traceData?: TraceData): Promise<TraceResponse>
326
+
327
+ // Propriedades
328
+ session: { get(sessionId: string): SessionManager }
329
+ }
330
+ ```
331
+
332
+ #### `SessionManager`
333
+ Gerenciador de sessões e histórico de conversas:
334
+
335
+ ```typescript
336
+ class SessionManager {
337
+ async addMessage(role: 'human' | 'ai', content: string, metadata?: any): Promise<void>
338
+ async getHistory(options?: SessionHistoryOptions): Promise<SessionMessage[]>
339
+ async clear(): Promise<void>
340
+ }
341
+ ```
342
+
343
+ ### Interfaces e Tipos
344
+
345
+ #### `AgentContext`
346
+ Contexto de execução do agente:
347
+
348
+ ```typescript
349
+ interface AgentContext {
350
+ tenantId: string; // ID do tenant
351
+ agentId: string; // ID do agente
352
+ requestId: string; // ID da requisição
353
+ sessionId?: string; // ID da sessão (opcional)
354
+ companyId?: string; // ID da empresa (opcional)
355
+ }
356
+ ```
357
+
358
+ #### `AgentInput`
359
+ Entrada padrão dos handlers:
360
+
361
+ ```typescript
362
+ interface AgentInput {
363
+ message: string; // Mensagem do usuário
364
+ userId?: string; // ID do usuário
365
+ sessionId?: string; // ID da sessão
366
+ companyId?: string; // ID da empresa
367
+ channel?: string; // Canal de origem
368
+ metadata?: Record<string, any>; // Metadados adicionais
369
+ }
370
+ ```
371
+
372
+ #### `AgentOutput`
373
+ Saída padrão dos handlers:
374
+
375
+ ```typescript
376
+ interface AgentOutput {
377
+ success: boolean;
378
+ data?: {
379
+ answer: string; // Resposta do agente
380
+ answered_by?: string; // Quem respondeu
381
+ sources?: any[]; // Fontes utilizadas
382
+ metadata?: any[]; // Metadados da resposta
383
+ };
384
+ error?: string; // Erro (se houver)
385
+ }
386
+ ```
387
+
388
+ ## 🌍 Variáveis de Ambiente
389
+
390
+ O SDK utiliza as seguintes variáveis de ambiente, automaticamente configuradas pela plataforma Runflow:
391
+
392
+ ### Obrigatórias
393
+ - `RUNFLOW_TENANT_ID`: ID do tenant
394
+ - `RUNFLOW_AGENT_ID`: ID do agente
395
+ - `RUNFLOW_API_KEY`: Chave de API para autenticação
396
+
397
+ ### Opcionais
398
+ - `RUNFLOW_REQUEST_ID`: ID da requisição (gerado automaticamente se não fornecido)
399
+ - `RUNFLOW_SESSION_ID`: ID da sessão
400
+ - `RUNFLOW_API_URL`: URL da API (padrão: `http://localhost:3001`)
401
+
402
+ ## 📚 Exemplos Avançados
403
+
404
+ ### Agente com Busca em Conhecimento
405
+
406
+ ```typescript
407
+ import { createAgentHandler } from '@runflow-ai/sdk';
408
+
409
+ export const handler = createAgentHandler(async (sdk, input, context) => {
410
+ try {
411
+ // Buscar informações relacionadas
412
+ const searchResults = await sdk.searchVectorStore(
413
+ 'company-knowledge',
414
+ input.message,
415
+ { k: 3, threshold: 0.8 }
416
+ );
417
+
418
+ // Preparar contexto para o prompt
419
+ const context_info = searchResults.results
420
+ .map(r => r.content)
421
+ .join('\n\n');
422
+
423
+ // Buscar prompt personalizado
424
+ const prompt = await sdk.getPrompt('answer-with-context', {
425
+ question: input.message,
426
+ context: context_info,
427
+ user_id: input.userId
428
+ });
429
+
430
+ // Log da operação
431
+ sdk.log('Busca realizada', {
432
+ query: input.message,
433
+ results: searchResults.results.length,
434
+ sources: searchResults.results.map(r => r.metadata.source)
435
+ });
436
+
437
+ // Trace para observabilidade
438
+ await sdk.trace({
439
+ operation: 'knowledge.search',
440
+ inputs: { query: input.message },
441
+ outputs: { results: searchResults.results.length },
442
+ status: 'success'
443
+ });
444
+
445
+ return {
446
+ success: true,
447
+ data: {
448
+ answer: prompt,
449
+ answered_by: 'knowledge-agent',
450
+ sources: searchResults.results.map(r => ({
451
+ content: r.content,
452
+ source: r.metadata.source,
453
+ score: r.score
454
+ }))
455
+ }
456
+ };
457
+
458
+ } catch (error) {
459
+ sdk.log('Erro no agente', error);
460
+
461
+ await sdk.trace({
462
+ operation: 'knowledge.search',
463
+ inputs: { query: input.message },
464
+ status: 'error',
465
+ error: error.message
466
+ });
467
+
468
+ return {
469
+ success: false,
470
+ error: 'Desculpe, ocorreu um erro interno.'
471
+ };
472
+ }
473
+ });
474
+ ```
475
+
476
+ ### Agente com Integração Externa
477
+
478
+ ```typescript
479
+ import { createAgentHandler } from '@runflow-ai/sdk';
480
+
481
+ export const handler = createAgentHandler(async (sdk, input, context) => {
482
+ // Buscar credenciais para API externa
483
+ const apiCredential = await sdk.getCredential('external-api-key');
484
+
485
+ // Fazer chamada para API externa
486
+ const response = await fetch('https://api.externa.com/data', {
487
+ headers: {
488
+ 'Authorization': `Bearer ${apiCredential.apiKey}`,
489
+ 'Content-Type': 'application/json'
490
+ },
491
+ method: 'POST',
492
+ body: JSON.stringify({ query: input.message })
493
+ });
494
+
495
+ const data = await response.json();
496
+
497
+ // Gerenciar sessão
498
+ const session = sdk.session.get(input.sessionId || 'default');
499
+ await session.addMessage('human', input.message);
500
+
501
+ const answer = `Baseado nos dados externos: ${data.result}`;
502
+ await session.addMessage('ai', answer);
503
+
504
+ return {
505
+ success: true,
506
+ data: {
507
+ answer,
508
+ answered_by: 'external-api-agent',
509
+ metadata: [{ external_data: data }]
510
+ }
511
+ };
512
+ });
513
+ ```
514
+
515
+ ## 🔧 Desenvolvimento e Debug
516
+
517
+ ### Configuração Local
518
+
519
+ Para desenvolvimento local, você pode configurar as variáveis de ambiente manualmente:
520
+
521
+ ```bash
522
+ export RUNFLOW_TENANT_ID="your-tenant-id"
523
+ export RUNFLOW_AGENT_ID="your-agent-id"
524
+ export RUNFLOW_API_KEY="your-api-key"
525
+ export RUNFLOW_API_URL="http://localhost:3001"
526
+ ```
527
+
528
+ ### Debug de Sessões
529
+
530
+ ```typescript
531
+ // Verificar estado da sessão
532
+ const history = await session.getHistory({ limit: 50 });
533
+ console.log(`Sessão tem ${history.length} mensagens`);
534
+
535
+ // Log detalhado
536
+ sdk.log('Estado da sessão', {
537
+ sessionId: input.sessionId,
538
+ messageCount: history.length,
539
+ lastMessage: history[0]?.content
540
+ });
541
+ ```
542
+
543
+ ## 🚨 Tratamento de Erros
544
+
545
+ O SDK fornece tratamento robusto de erros:
546
+
547
+ ```typescript
548
+ try {
549
+ const credential = await sdk.getCredential('non-existent');
550
+ } catch (error) {
551
+ if (error.message.includes('HTTP 404')) {
552
+ console.log('Credencial não encontrada');
553
+ } else if (error.message.includes('RUNFLOW_API_KEY')) {
554
+ console.log('SDK não configurado corretamente');
555
+ } else {
556
+ console.log('Erro desconhecido:', error.message);
557
+ }
558
+ }
559
+ ```
560
+
561
+ ### Erros Comuns
562
+
563
+ 1. **Variáveis de ambiente não configuradas**: Certifique-se de que o agente está sendo executado na plataforma Runflow
564
+ 2. **Credencial não encontrada**: Verifique se a credencial foi configurada na plataforma
565
+ 3. **Vector store indisponível**: Confirme se o vector store está ativo e acessível
566
+ 4. **Prompt não encontrado**: Verifique se o prompt foi criado na plataforma
567
+
568
+ ## 🌐 English Version
569
+
570
+ For English speakers, here's a concise overview of the SDK:
571
+
572
+ ### Basic Usage
573
+
574
+ ```typescript
575
+ import { createHandler } from '@runflow-ai/sdk';
576
+
577
+ export const handler = createHandler(async (input, context) => {
578
+ return { success: true };
579
+ });
580
+ ```
581
+
582
+ ### Available Commands
583
+
584
+ The SDK provides helper methods for common operations:
585
+
586
+ - `login`
587
+ - `tenants`
588
+ - `agents` – list, get, create, update, delete, clone, deploy
589
+ - `health`
590
+ - `prompts`
591
+ - `connectors`
592
+ - `credentials`
593
+ - `getCredential`
594
+ - `datasources`
595
+ - `triggers`
596
+ - `executions`
597
+ - `users` – list, get, create, update, delete
598
+ - `searchTools`
599
+ - `searchVectorStore`
600
+ - `session`
601
+ - `trace`
602
+
603
+ ### Example: health check
604
+
605
+ ```typescript
606
+ import { RunflowSDK } from '@runflow-ai/sdk';
607
+
608
+ const sdk = new RunflowSDK({ tenantId: 't', agentId: 'a', requestId: 'r' });
609
+ const status = await sdk.health();
610
+ console.log(status);
611
+ ```
612
+
613
+ ### Example: fetch prompt
614
+
615
+ ```typescript
616
+ import { RunflowSDK } from '@runflow-ai/sdk';
617
+
618
+ const sdk = new RunflowSDK({ tenantId: 't', agentId: 'a', requestId: 'r' });
619
+ const content = await sdk.getPrompt('welcome');
620
+ console.log(content);
621
+ ```
622
+
623
+ ### Example: create user
624
+
625
+ ```typescript
626
+ import { RunflowSDK } from '@runflow-ai/sdk';
627
+
628
+ const sdk = new RunflowSDK({ tenantId: 't', agentId: 'a', requestId: 'r' });
629
+ const user = await sdk.createUser({ email: 'user@example.com' });
630
+ console.log(user);
631
+ ```
632
+
633
+ ### Flow Diagram
634
+
635
+ ```mermaid
636
+ sequenceDiagram
637
+ participant Client
638
+ participant SDK
639
+ participant API
640
+ Client->>SDK: createHandler(fn)
641
+ SDK->>API: calls /sdk endpoints
642
+ API-->>SDK: responses
643
+ ```
644
+
645
+ ## 📄 Licença
646
+
647
+ MIT License - veja o arquivo LICENSE para detalhes.
648
+
649
+ ## 🤝 Contribuindo
650
+
651
+ Contribuições são bem-vindas! Por favor, abra uma issue ou pull request no repositório do projeto.
652
+
653
+ ## 📞 Suporte
654
+
655
+ Para suporte técnico, entre em contato através dos canais oficiais da Runflow ou consulte a documentação completa da plataforma.
656
+ >>>>>>> 6435d75437a22d2d974b5406d5c881d3d016d76d
@@ -0,0 +1,53 @@
1
+ import { RunflowSDK } from '../runflow-sdk';
2
+ import { AgentInput, AgentOutput } from '../types';
3
+ export interface RunflowTool {
4
+ name: string;
5
+ description: string;
6
+ parameters: Record<string, {
7
+ type: 'string' | 'number' | 'boolean';
8
+ required?: boolean;
9
+ description?: string;
10
+ }>;
11
+ execute: (params: any, context: ToolContext) => Promise<any>;
12
+ }
13
+ export interface ToolContext {
14
+ sdk: RunflowSDK;
15
+ companyId: string;
16
+ userId?: string;
17
+ sessionId?: string;
18
+ }
19
+ export interface RunflowAgentConfig {
20
+ llm: {
21
+ provider: 'anthropic' | 'openai';
22
+ model: string;
23
+ credential: string;
24
+ temperature?: number;
25
+ };
26
+ systemPrompt: string;
27
+ toolsPath?: string;
28
+ tools?: string[];
29
+ customTools?: Record<string, RunflowTool>;
30
+ session?: {
31
+ enabled?: boolean;
32
+ historyLimit?: number;
33
+ };
34
+ }
35
+ export declare class RunflowAgent {
36
+ private sdk;
37
+ private config;
38
+ private llm;
39
+ private tools;
40
+ private systemPromptContent;
41
+ constructor(config: RunflowAgentConfig);
42
+ private initialize;
43
+ private loadTools;
44
+ private loadCustomToolsFromPath;
45
+ private isRunflowTool;
46
+ private createDynamicTool;
47
+ private currentCompanyId;
48
+ private currentUserId?;
49
+ private currentSessionId?;
50
+ process(input: AgentInput): Promise<AgentOutput>;
51
+ createHandler(): (input: AgentInput) => Promise<AgentOutput>;
52
+ }
53
+ //# sourceMappingURL=runflow-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runflow-agent.d.ts","sourceRoot":"","sources":["../../src/agents/runflow-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAUnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,UAAU,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE;QACH,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,mBAAmB,CAAc;gBAE7B,MAAM,EAAE,kBAAkB;YAKxB,UAAU;YA6BV,SAAS;YAkCT,uBAAuB;IA4BrC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAE5B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA4FtD,aAAa,KACG,OAAO,UAAU,KAAG,OAAO,CAAC,WAAW,CAAC;CAIzD"}