@runflow-ai/sdk 1.0.1 → 1.0.2
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 +290 -53
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/runflow-sdk.d.ts +1 -0
- package/dist/runflow-sdk.d.ts.map +1 -1
- package/dist/runflow-sdk.js +6 -1
- package/dist/runflow-sdk.js.map +1 -1
- package/dist/utils.d.ts +74 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +312 -0
- package/dist/utils.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -162,10 +162,22 @@ export const handler = createHandler(async (input, context) => {
|
|
|
162
162
|
import {
|
|
163
163
|
getCredential, // Buscar credencial
|
|
164
164
|
getPrompt, // Buscar prompt
|
|
165
|
+
getAvailableVectorStores, // Listar vector stores
|
|
165
166
|
searchVectorStore, // Buscar em knowledge base
|
|
167
|
+
addDocument, // Adicionar documento ao vector store
|
|
168
|
+
listDocuments, // Listar documentos do vector store
|
|
169
|
+
deleteDocument, // Remover documento do vector store
|
|
166
170
|
getSession, // Gerenciar sessão
|
|
167
171
|
log, // Log estruturado
|
|
168
|
-
trace
|
|
172
|
+
trace, // Tracing e observabilidade
|
|
173
|
+
// Utilitários
|
|
174
|
+
validateAgentInput, // Validação de entrada
|
|
175
|
+
sanitizeMetadata, // Limpeza de metadados
|
|
176
|
+
maskSensitiveData, // Mascarar dados sensíveis
|
|
177
|
+
HttpClient, // Cliente HTTP com retry
|
|
178
|
+
batchRequests, // Requests em lote
|
|
179
|
+
withTimeout, // Timeout para promises
|
|
180
|
+
debounce // Debounce para funções
|
|
169
181
|
} from '@runflow-ai/sdk';
|
|
170
182
|
```
|
|
171
183
|
|
|
@@ -242,6 +254,40 @@ searchResults.results.forEach(result => {
|
|
|
242
254
|
- Weaviate
|
|
243
255
|
- Qdrant
|
|
244
256
|
|
|
257
|
+
### 📄 Gerenciamento de Documentos
|
|
258
|
+
|
|
259
|
+
Gerencie documentos nos vector stores:
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
// Adicionar um documento
|
|
263
|
+
const documentResponse = await sdk.addDocument({
|
|
264
|
+
vectorStore: 'knowledge-base',
|
|
265
|
+
content: 'Como configurar pagamentos via PIX...',
|
|
266
|
+
metadata: {
|
|
267
|
+
source: 'manual-pagamentos.pdf',
|
|
268
|
+
category: 'financeiro',
|
|
269
|
+
version: '1.0'
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
console.log(`Documento adicionado: ${documentResponse.id}`);
|
|
274
|
+
|
|
275
|
+
// Listar documentos
|
|
276
|
+
const documents = await sdk.listDocuments('knowledge-base', {
|
|
277
|
+
limit: 20,
|
|
278
|
+
offset: 0
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
console.log(`Total de documentos: ${documents.total}`);
|
|
282
|
+
documents.documents.forEach(doc => {
|
|
283
|
+
console.log(`${doc.id}: ${doc.content.substring(0, 100)}...`);
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
// Remover um documento
|
|
287
|
+
const deleteResult = await sdk.deleteDocument('doc-123');
|
|
288
|
+
console.log(`Documento removido: ${deleteResult.success}`);
|
|
289
|
+
```
|
|
290
|
+
|
|
245
291
|
### 💬 Gerenciamento de Sessões
|
|
246
292
|
|
|
247
293
|
Mantenha contexto e histórico de conversas:
|
|
@@ -284,27 +330,96 @@ sdk.log('Busca realizada', {
|
|
|
284
330
|
vectorStore: 'knowledge-base'
|
|
285
331
|
});
|
|
286
332
|
|
|
287
|
-
// Enviar trace
|
|
333
|
+
// Enviar trace - Formato Padrão (Recomendado)
|
|
288
334
|
const trace = await sdk.trace({
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
results: searchResults.results.length,
|
|
296
|
-
answered: true
|
|
297
|
-
},
|
|
298
|
-
status: 'success',
|
|
299
|
-
metadata: {
|
|
300
|
-
model: 'gpt-4',
|
|
301
|
-
tokens: 150
|
|
302
|
-
}
|
|
335
|
+
input: [
|
|
336
|
+
{ type: 'human', content: 'Como configurar pagamentos?' },
|
|
337
|
+
{ type: 'system', content: 'Contexto adicional...' }
|
|
338
|
+
],
|
|
339
|
+
output: 'Para configurar pagamentos via PIX...',
|
|
340
|
+
status: 'success'
|
|
303
341
|
});
|
|
304
342
|
|
|
305
343
|
console.log(`Trace ID: ${trace.traceId}`);
|
|
306
344
|
```
|
|
307
345
|
|
|
346
|
+
## 🛠️ Utilitários
|
|
347
|
+
|
|
348
|
+
### Validação e Segurança
|
|
349
|
+
|
|
350
|
+
```typescript
|
|
351
|
+
import { validateAgentInput, sanitizeMetadata, maskSensitiveData } from '@runflow-ai/sdk';
|
|
352
|
+
|
|
353
|
+
// Validar entrada do agente
|
|
354
|
+
const validation = validateAgentInput(input, {
|
|
355
|
+
requireCompanyId: true,
|
|
356
|
+
maxMessageLength: 5000,
|
|
357
|
+
allowedChannels: ['web', 'whatsapp', 'telegram']
|
|
358
|
+
});
|
|
359
|
+
|
|
360
|
+
if (!validation.isValid) {
|
|
361
|
+
console.log('Errors:', validation.errors);
|
|
362
|
+
return { success: false, error: validation.errors.join(', ') };
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// Usar entrada sanitizada
|
|
366
|
+
const cleanInput = validation.sanitized;
|
|
367
|
+
|
|
368
|
+
// Limpar metadados
|
|
369
|
+
const cleanMetadata = sanitizeMetadata(rawMetadata, {
|
|
370
|
+
allowedKeys: ['source', 'version', 'category'],
|
|
371
|
+
maxDepth: 2,
|
|
372
|
+
maxStringLength: 500
|
|
373
|
+
});
|
|
374
|
+
|
|
375
|
+
// Mascarar dados sensíveis em logs
|
|
376
|
+
const logData = {
|
|
377
|
+
userEmail: 'user@example.com',
|
|
378
|
+
phone: '+5511999999999',
|
|
379
|
+
password: 'secret123'
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
const maskedData = maskSensitiveData(logData);
|
|
383
|
+
// Resultado: { userEmail: 'us***@example.com', phone: '***********', password: '***' }
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### Cliente HTTP Avançado
|
|
387
|
+
|
|
388
|
+
```typescript
|
|
389
|
+
import { HttpClient, batchRequests, withTimeout, debounce } from '@runflow-ai/sdk';
|
|
390
|
+
|
|
391
|
+
// Cliente HTTP com retry automático
|
|
392
|
+
const client = new HttpClient();
|
|
393
|
+
|
|
394
|
+
const response = await client.post('https://api.external.com/data', {
|
|
395
|
+
query: 'example'
|
|
396
|
+
}, {
|
|
397
|
+
timeout: 5000,
|
|
398
|
+
retries: 3,
|
|
399
|
+
retryDelay: 1000
|
|
400
|
+
});
|
|
401
|
+
|
|
402
|
+
// Requests em lote com controle de concorrência
|
|
403
|
+
const requests = [
|
|
404
|
+
() => client.get('/api/data/1'),
|
|
405
|
+
() => client.get('/api/data/2'),
|
|
406
|
+
() => client.get('/api/data/3')
|
|
407
|
+
];
|
|
408
|
+
|
|
409
|
+
const results = await batchRequests(requests, { concurrent: 2 });
|
|
410
|
+
|
|
411
|
+
// Timeout para qualquer Promise
|
|
412
|
+
const timedResult = await withTimeout(
|
|
413
|
+
sdk.searchVectorStore('knowledge', 'query'),
|
|
414
|
+
3000
|
|
415
|
+
);
|
|
416
|
+
|
|
417
|
+
// Debounce para buscas
|
|
418
|
+
const debouncedSearch = debounce(async (query: string) => {
|
|
419
|
+
return await sdk.searchVectorStore('knowledge', query);
|
|
420
|
+
}, 300);
|
|
421
|
+
```
|
|
422
|
+
|
|
308
423
|
## 🏗️ Arquitetura
|
|
309
424
|
|
|
310
425
|
### Classes Principais
|
|
@@ -316,16 +431,30 @@ Classe principal que oferece acesso a todos os recursos da plataforma:
|
|
|
316
431
|
class RunflowSDK {
|
|
317
432
|
constructor(context?: AgentContext)
|
|
318
433
|
|
|
319
|
-
//
|
|
434
|
+
// 🔐 Credenciais
|
|
320
435
|
async getCredential(name: string): Promise<Credential>
|
|
436
|
+
|
|
437
|
+
// 📝 Prompts
|
|
321
438
|
async getPrompt(name: string, variables?: Record<string, any>): Promise<string>
|
|
439
|
+
|
|
440
|
+
// 🔍 Vector Stores & Busca
|
|
322
441
|
async getAvailableVectorStores(): Promise<VectorStore[]>
|
|
323
442
|
async searchVectorStore(vectorStore: string, query: string, options?: SearchOptions): Promise<SearchResponse>
|
|
443
|
+
|
|
444
|
+
// 📄 Gerenciamento de Documentos
|
|
445
|
+
async addDocument(request: AddDocumentRequest): Promise<AddDocumentResponse>
|
|
446
|
+
async listDocuments(vectorStore: string, options?: ListDocumentsOptions): Promise<ListDocumentsResponse>
|
|
447
|
+
async deleteDocument(documentId: string): Promise<DeleteDocumentResponse>
|
|
448
|
+
|
|
449
|
+
// 📊 Observabilidade
|
|
324
450
|
log(message: string, data?: any): void
|
|
325
|
-
async trace(traceData
|
|
451
|
+
async trace(traceData: TraceData): Promise<TraceResponse>
|
|
326
452
|
|
|
327
|
-
//
|
|
453
|
+
// 💬 Sessões
|
|
328
454
|
session: { get(sessionId: string): SessionManager }
|
|
455
|
+
|
|
456
|
+
// ⚙️ Utilitários
|
|
457
|
+
async health(): Promise<any>
|
|
329
458
|
}
|
|
330
459
|
```
|
|
331
460
|
|
|
@@ -361,11 +490,14 @@ Entrada padrão dos handlers:
|
|
|
361
490
|
```typescript
|
|
362
491
|
interface AgentInput {
|
|
363
492
|
message: string; // Mensagem do usuário
|
|
493
|
+
companyId: string; // ID da empresa (obrigatório)
|
|
364
494
|
userId?: string; // ID do usuário
|
|
365
495
|
sessionId?: string; // ID da sessão
|
|
366
|
-
companyId?: string; // ID da empresa
|
|
367
496
|
channel?: string; // Canal de origem
|
|
368
497
|
metadata?: Record<string, any>; // Metadados adicionais
|
|
498
|
+
// Compatibilidade com versões antigas
|
|
499
|
+
tab?: string;
|
|
500
|
+
preChatInfo?: string;
|
|
369
501
|
}
|
|
370
502
|
```
|
|
371
503
|
|
|
@@ -374,14 +506,14 @@ Saída padrão dos handlers:
|
|
|
374
506
|
|
|
375
507
|
```typescript
|
|
376
508
|
interface AgentOutput {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
509
|
+
message: string; // Resposta do agente
|
|
510
|
+
metadata?: {
|
|
511
|
+
llmProvider?: string; // Provedor do LLM usado
|
|
512
|
+
model?: string; // Modelo usado
|
|
513
|
+
toolsUsed?: string[]; // Ferramentas utilizadas
|
|
514
|
+
steps?: number; // Número de passos executados
|
|
515
|
+
[key: string]: any; // Metadados adicionais
|
|
383
516
|
};
|
|
384
|
-
error?: string; // Erro (se houver)
|
|
385
517
|
}
|
|
386
518
|
```
|
|
387
519
|
|
|
@@ -399,6 +531,107 @@ O SDK utiliza as seguintes variáveis de ambiente, automaticamente configuradas
|
|
|
399
531
|
- `RUNFLOW_SESSION_ID`: ID da sessão
|
|
400
532
|
- `RUNFLOW_API_URL`: URL da API (padrão: `http://localhost:3001`)
|
|
401
533
|
|
|
534
|
+
## 🤖 Agentes Avançados
|
|
535
|
+
|
|
536
|
+
O SDK inclui suporte completo para criação de agentes inteligentes:
|
|
537
|
+
|
|
538
|
+
### `RunflowAgent`
|
|
539
|
+
Classe para criar agentes inteligentes com IA e ferramentas:
|
|
540
|
+
|
|
541
|
+
```typescript
|
|
542
|
+
import { RunflowAgent } from '@runflow-ai/sdk';
|
|
543
|
+
|
|
544
|
+
const agent = new RunflowAgent({
|
|
545
|
+
llm: {
|
|
546
|
+
provider: 'anthropic', // ou 'openai'
|
|
547
|
+
model: 'claude-3-sonnet',
|
|
548
|
+
credential: 'claude-api',
|
|
549
|
+
temperature: 0.7
|
|
550
|
+
},
|
|
551
|
+
systemPrompt: 'customer-support', // Nome do prompt na plataforma
|
|
552
|
+
toolsPath: './tools', // Pasta com ferramentas customizadas
|
|
553
|
+
tools: ['search-knowledge'], // Ferramentas built-in
|
|
554
|
+
session: {
|
|
555
|
+
enabled: true,
|
|
556
|
+
historyLimit: 10
|
|
557
|
+
}
|
|
558
|
+
});
|
|
559
|
+
|
|
560
|
+
// Processar mensagem
|
|
561
|
+
const response = await agent.process({
|
|
562
|
+
message: 'Como posso cancelar meu pedido?',
|
|
563
|
+
companyId: 'company-123',
|
|
564
|
+
userId: 'user-456',
|
|
565
|
+
sessionId: 'session-789'
|
|
566
|
+
});
|
|
567
|
+
|
|
568
|
+
console.log(response.message);
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
### Ferramentas Customizadas
|
|
572
|
+
Crie ferramentas que o agente pode usar:
|
|
573
|
+
|
|
574
|
+
```typescript
|
|
575
|
+
// tools/order-lookup.ts
|
|
576
|
+
export const orderLookup = {
|
|
577
|
+
name: 'order_lookup',
|
|
578
|
+
description: 'Busca informações de um pedido pelo ID',
|
|
579
|
+
parameters: {
|
|
580
|
+
orderId: {
|
|
581
|
+
type: 'string',
|
|
582
|
+
required: true,
|
|
583
|
+
description: 'ID do pedido'
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
execute: async (params: { orderId: string }, context: ToolContext) => {
|
|
587
|
+
// Usar o SDK dentro da ferramenta
|
|
588
|
+
const orderData = await fetch(`/api/orders/${params.orderId}`);
|
|
589
|
+
|
|
590
|
+
// Log da operação
|
|
591
|
+
context.sdk.log('Pedido consultado', {
|
|
592
|
+
orderId: params.orderId,
|
|
593
|
+
companyId: context.companyId
|
|
594
|
+
});
|
|
595
|
+
|
|
596
|
+
return orderData;
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
### Servidor de Agente
|
|
602
|
+
Crie um servidor HTTP completo para seu agente:
|
|
603
|
+
|
|
604
|
+
```typescript
|
|
605
|
+
import { createAgentServer } from '@runflow-ai/sdk';
|
|
606
|
+
|
|
607
|
+
const server = createAgentServer({
|
|
608
|
+
llm: {
|
|
609
|
+
provider: 'anthropic',
|
|
610
|
+
model: 'claude-3-sonnet',
|
|
611
|
+
credential: 'claude-api'
|
|
612
|
+
},
|
|
613
|
+
systemPrompt: 'customer-support',
|
|
614
|
+
toolsPath: './tools'
|
|
615
|
+
}, {
|
|
616
|
+
port: 3000,
|
|
617
|
+
cors: true,
|
|
618
|
+
rateLimiting: true,
|
|
619
|
+
tracing: true, // Trace automático
|
|
620
|
+
hooks: {
|
|
621
|
+
beforeChat: async (req, res) => {
|
|
622
|
+
// Validações customizadas
|
|
623
|
+
console.log('Nova conversa iniciada');
|
|
624
|
+
},
|
|
625
|
+
afterChat: async (input, output, ctx) => {
|
|
626
|
+
// Pós-processamento
|
|
627
|
+
console.log(`Conversa processada em ${ctx.durationMs}ms`);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
});
|
|
631
|
+
|
|
632
|
+
server.start(); // Inicia na porta 3000
|
|
633
|
+
```
|
|
634
|
+
|
|
402
635
|
## 📚 Exemplos Avançados
|
|
403
636
|
|
|
404
637
|
### Agente com Busca em Conhecimento
|
|
@@ -579,28 +812,23 @@ export const handler = createHandler(async (input, context) => {
|
|
|
579
812
|
});
|
|
580
813
|
```
|
|
581
814
|
|
|
582
|
-
### Available
|
|
815
|
+
### Available Methods
|
|
583
816
|
|
|
584
|
-
The SDK provides
|
|
817
|
+
The SDK provides essential methods for daily development:
|
|
585
818
|
|
|
586
|
-
- `
|
|
587
|
-
- `
|
|
588
|
-
- `
|
|
589
|
-
- `
|
|
590
|
-
- `
|
|
591
|
-
- `
|
|
592
|
-
- `
|
|
593
|
-
- `
|
|
594
|
-
- `
|
|
595
|
-
- `
|
|
596
|
-
- `
|
|
597
|
-
- `users` – list, get, create, update, delete
|
|
598
|
-
- `searchTools`
|
|
599
|
-
- `searchVectorStore`
|
|
600
|
-
- `session`
|
|
601
|
-
- `trace`
|
|
819
|
+
- `getCredential` – Get API credentials
|
|
820
|
+
- `getPrompt` – Get prompts with variable substitution
|
|
821
|
+
- `getAvailableVectorStores` – List available vector stores
|
|
822
|
+
- `searchVectorStore` – Semantic search in knowledge base
|
|
823
|
+
- `addDocument` – Add documents to vector store
|
|
824
|
+
- `listDocuments` – List documents in vector store
|
|
825
|
+
- `deleteDocument` – Remove documents from vector store
|
|
826
|
+
- `session.get()` – Session management
|
|
827
|
+
- `log` – Structured logging
|
|
828
|
+
- `trace` – Send traces for observability
|
|
829
|
+
- `health` – Health check
|
|
602
830
|
|
|
603
|
-
### Example:
|
|
831
|
+
### Example: Health check
|
|
604
832
|
|
|
605
833
|
```typescript
|
|
606
834
|
import { RunflowSDK } from '@runflow-ai/sdk';
|
|
@@ -610,24 +838,33 @@ const status = await sdk.health();
|
|
|
610
838
|
console.log(status);
|
|
611
839
|
```
|
|
612
840
|
|
|
613
|
-
### Example:
|
|
841
|
+
### Example: Fetch prompt with variables
|
|
614
842
|
|
|
615
843
|
```typescript
|
|
616
844
|
import { RunflowSDK } from '@runflow-ai/sdk';
|
|
617
845
|
|
|
618
846
|
const sdk = new RunflowSDK({ tenantId: 't', agentId: 'a', requestId: 'r' });
|
|
619
|
-
const content = await sdk.getPrompt('welcome'
|
|
847
|
+
const content = await sdk.getPrompt('welcome', {
|
|
848
|
+
userName: 'João',
|
|
849
|
+
company: 'Acme Corp'
|
|
850
|
+
});
|
|
620
851
|
console.log(content);
|
|
621
852
|
```
|
|
622
853
|
|
|
623
|
-
### Example:
|
|
854
|
+
### Example: Search knowledge base
|
|
624
855
|
|
|
625
856
|
```typescript
|
|
626
|
-
import {
|
|
857
|
+
import { searchVectorStore } from '@runflow-ai/sdk';
|
|
627
858
|
|
|
628
|
-
const
|
|
629
|
-
|
|
630
|
-
|
|
859
|
+
const results = await searchVectorStore(
|
|
860
|
+
'knowledge-base',
|
|
861
|
+
'How to configure payments?',
|
|
862
|
+
{ k: 5, threshold: 0.8 }
|
|
863
|
+
);
|
|
864
|
+
|
|
865
|
+
results.results.forEach(result => {
|
|
866
|
+
console.log(`${result.score}: ${result.content}`);
|
|
867
|
+
});
|
|
631
868
|
```
|
|
632
869
|
|
|
633
870
|
### Flow Diagram
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { loadRunflowConfig, ensureRunflowConfig, checkEnvironmentVariables } fro
|
|
|
4
4
|
export { RunflowAgent, RunflowAgentConfig, RunflowTool, ToolContext } from './agents/runflow-agent';
|
|
5
5
|
export { createAgentServer, startAgent, AgentServerConfig, AgentServerOptions } from './agents/server';
|
|
6
6
|
export { getSDK, resetSDK, hasSDKInstance, getCredential, getPrompt, getAvailableVectorStores, searchVectorStore, addDocument, listDocuments, deleteDocument, getSession, log, trace } from './singleton';
|
|
7
|
+
export { validateAgentInput, sanitizeMetadata, maskSensitiveData, HttpClient, batchRequests, withTimeout, debounce, SimpleCache, credentialCache, sessionCache } from './utils';
|
|
7
8
|
export declare function createHandler(fn: (input: import('./types').AgentInput, context: import('./types').AgentContext) => Promise<import('./types').AgentOutput>): (input: import("./types").AgentInput, context: import("./types").AgentContext) => Promise<import("./types").AgentOutput>;
|
|
8
9
|
export declare function createAgentHandler(agentFn: (sdk: import('./runflow-sdk').RunflowSDK, input: import('./types').AgentInput, context: import('./types').AgentContext) => Promise<import('./types').AgentOutput>): (input: import("./types").AgentInput, context: import("./types").AgentContext) => Promise<import("./types").AgentOutput>;
|
|
9
10
|
export declare function createSDK(context?: import('./types').AgentContext): import('./runflow-sdk').RunflowSDK;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,EACV,GAAG,EACH,KAAK,EACN,MAAM,aAAa,CAAC;AAGrB,wBAAgB,aAAa,CAC3B,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,WAAhH,OAAO,SAAS,EAAE,UAAU,WAAW,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,CAG7H;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,IAE5J,OAAO,OAAO,SAAS,EAAE,UAAU,EAAE,SAAS,OAAO,SAAS,EAAE,YAAY,4CAK3F;AAGD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,SAAS,EAAE,YAAY,GAAG,OAAO,eAAe,EAAE,UAAU,CAEtG;AAGD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,GAClI,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,CAQ1H"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC3D,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,EACV,GAAG,EACH,KAAK,EACN,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,QAAQ,EACR,WAAW,EACX,eAAe,EACf,YAAY,EACb,MAAM,SAAS,CAAC;AAGjB,wBAAgB,aAAa,CAC3B,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,WAAhH,OAAO,SAAS,EAAE,UAAU,WAAW,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,CAG7H;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,IAE5J,OAAO,OAAO,SAAS,EAAE,UAAU,EAAE,SAAS,OAAO,SAAS,EAAE,YAAY,4CAK3F;AAGD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,SAAS,EAAE,YAAY,GAAG,OAAO,eAAe,EAAE,UAAU,CAEtG;AAGD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,GAClI,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,SAAS,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,SAAS,EAAE,WAAW,CAAC,CAQ1H"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.trace = exports.log = exports.getSession = exports.deleteDocument = exports.listDocuments = exports.addDocument = exports.searchVectorStore = exports.getAvailableVectorStores = exports.getPrompt = exports.getCredential = exports.hasSDKInstance = exports.resetSDK = exports.getSDK = exports.startAgent = exports.createAgentServer = exports.RunflowAgent = exports.checkEnvironmentVariables = exports.ensureRunflowConfig = exports.loadRunflowConfig = exports.SessionManager = exports.RunflowSDK = void 0;
|
|
39
|
+
exports.sessionCache = exports.credentialCache = exports.SimpleCache = exports.debounce = exports.withTimeout = exports.batchRequests = exports.HttpClient = exports.maskSensitiveData = exports.sanitizeMetadata = exports.validateAgentInput = exports.trace = exports.log = exports.getSession = exports.deleteDocument = exports.listDocuments = exports.addDocument = exports.searchVectorStore = exports.getAvailableVectorStores = exports.getPrompt = exports.getCredential = exports.hasSDKInstance = exports.resetSDK = exports.getSDK = exports.startAgent = exports.createAgentServer = exports.RunflowAgent = exports.checkEnvironmentVariables = exports.ensureRunflowConfig = exports.loadRunflowConfig = exports.SessionManager = exports.RunflowSDK = void 0;
|
|
40
40
|
exports.createHandler = createHandler;
|
|
41
41
|
exports.createAgentHandler = createAgentHandler;
|
|
42
42
|
exports.createSDK = createSDK;
|
|
@@ -70,6 +70,18 @@ Object.defineProperty(exports, "deleteDocument", { enumerable: true, get: functi
|
|
|
70
70
|
Object.defineProperty(exports, "getSession", { enumerable: true, get: function () { return singleton_1.getSession; } });
|
|
71
71
|
Object.defineProperty(exports, "log", { enumerable: true, get: function () { return singleton_1.log; } });
|
|
72
72
|
Object.defineProperty(exports, "trace", { enumerable: true, get: function () { return singleton_1.trace; } });
|
|
73
|
+
// Exportar utilities
|
|
74
|
+
var utils_1 = require("./utils");
|
|
75
|
+
Object.defineProperty(exports, "validateAgentInput", { enumerable: true, get: function () { return utils_1.validateAgentInput; } });
|
|
76
|
+
Object.defineProperty(exports, "sanitizeMetadata", { enumerable: true, get: function () { return utils_1.sanitizeMetadata; } });
|
|
77
|
+
Object.defineProperty(exports, "maskSensitiveData", { enumerable: true, get: function () { return utils_1.maskSensitiveData; } });
|
|
78
|
+
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return utils_1.HttpClient; } });
|
|
79
|
+
Object.defineProperty(exports, "batchRequests", { enumerable: true, get: function () { return utils_1.batchRequests; } });
|
|
80
|
+
Object.defineProperty(exports, "withTimeout", { enumerable: true, get: function () { return utils_1.withTimeout; } });
|
|
81
|
+
Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return utils_1.debounce; } });
|
|
82
|
+
Object.defineProperty(exports, "SimpleCache", { enumerable: true, get: function () { return utils_1.SimpleCache; } });
|
|
83
|
+
Object.defineProperty(exports, "credentialCache", { enumerable: true, get: function () { return utils_1.credentialCache; } });
|
|
84
|
+
Object.defineProperty(exports, "sessionCache", { enumerable: true, get: function () { return utils_1.sessionCache; } });
|
|
73
85
|
// Helper para criar handlers simplificados
|
|
74
86
|
function createHandler(fn) {
|
|
75
87
|
return fn;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,sCAIC;AAGD,gDAQC;AAGD,8BAEC;AAGD,kDAUC;AAvFD,6CAA2D;AAAlD,yGAAA,UAAU,OAAA;AAAE,6GAAA,cAAc,OAAA;AACnC,0CAAwB;AACxB,mCAIkB;AAHhB,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AACnB,mHAAA,yBAAyB,OAAA;AAG3B,kBAAkB;AAClB,wDAKgC;AAJ9B,6GAAA,YAAY,OAAA;AAKd,0CAKyB;AAJvB,2GAAA,iBAAiB,OAAA;AACjB,oGAAA,UAAU,OAAA;AAKZ,yDAAyD;AACzD,yCAcqB;AAbnB,mGAAA,MAAM,OAAA;AACN,qGAAA,QAAQ,OAAA;AACR,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,sGAAA,SAAS,OAAA;AACT,qHAAA,wBAAwB,OAAA;AACxB,8GAAA,iBAAiB,OAAA;AACjB,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,gGAAA,GAAG,OAAA;AACH,kGAAA,KAAK,OAAA;AAGP,qBAAqB;AACrB,iCAWiB;AAVf,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,0GAAA,iBAAiB,OAAA;AACjB,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,oGAAA,WAAW,OAAA;AACX,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AAGd,2CAA2C;AAC3C,SAAgB,aAAa,CAC3B,EAA4H;IAE5H,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8DAA8D;AAC9D,SAAgB,kBAAkB,CAChC,OAA0K;IAE1K,OAAO,KAAK,EAAE,KAAmC,EAAE,OAAuC,EAAE,EAAE;QAC5F,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAgB,SAAS,CAAC,OAAwC;IAChE,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,8CAA8C;AAC9C,SAAgB,mBAAmB,CACjC,SAAmI;IAEnI,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,6CAA6C;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhB,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/runflow-sdk.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AgentContext, Credential, VectorStore, SearchResponse, SearchOptions, AddDocumentRequest, AddDocumentResponse, ListDocumentsResponse, ListDocumentsOptions, DeleteDocumentResponse, SessionMessage, SessionHistoryOptions, TraceData, LegacyTraceData, TraceResponse } from "./types";
|
|
2
2
|
export declare class RunflowSDK {
|
|
3
3
|
private context;
|
|
4
|
+
private httpClient;
|
|
4
5
|
constructor(context?: AgentContext);
|
|
5
6
|
private getRequiredEnv;
|
|
6
7
|
private getApiUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runflow-sdk.d.ts","sourceRoot":"","sources":["../src/runflow-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EAEV,WAAW,EACX,cAAc,EACd,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EAEd,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"runflow-sdk.d.ts","sourceRoot":"","sources":["../src/runflow-sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/runflow-sdk.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SessionManager = exports.RunflowSDK = void 0;
|
|
4
4
|
const config_1 = require("./config");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
5
6
|
class RunflowSDK {
|
|
6
7
|
constructor(context) {
|
|
7
8
|
// =============================================================================
|
|
@@ -23,6 +24,8 @@ class RunflowSDK {
|
|
|
23
24
|
requestId: process.env.RUNFLOW_REQUEST_ID || `req_${Date.now()}`,
|
|
24
25
|
sessionId: process.env.RUNFLOW_SESSION_ID,
|
|
25
26
|
};
|
|
27
|
+
// Inicializar HTTP client
|
|
28
|
+
this.httpClient = new utils_1.HttpClient();
|
|
26
29
|
}
|
|
27
30
|
getRequiredEnv(key) {
|
|
28
31
|
const value = process.env[key];
|
|
@@ -447,7 +450,9 @@ class RunflowSDK {
|
|
|
447
450
|
const timestamp = new Date().toISOString();
|
|
448
451
|
const logEntry = `[${timestamp}] [${this.context.agentId}] ${message}`;
|
|
449
452
|
if (data) {
|
|
450
|
-
|
|
453
|
+
// Mascarar dados sensíveis antes de logar
|
|
454
|
+
const maskedData = (0, utils_1.maskSensitiveData)(data);
|
|
455
|
+
console.log(logEntry, maskedData);
|
|
451
456
|
}
|
|
452
457
|
else {
|
|
453
458
|
console.log(logEntry);
|
package/dist/runflow-sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runflow-sdk.js","sourceRoot":"","sources":["../src/runflow-sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runflow-sdk.js","sourceRoot":"","sources":["../src/runflow-sdk.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { AgentInput } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Valida entrada do agente com regras padronizadas
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateAgentInput(input: any, options?: {
|
|
6
|
+
requireCompanyId?: boolean;
|
|
7
|
+
maxMessageLength?: number;
|
|
8
|
+
allowedChannels?: string[];
|
|
9
|
+
}): {
|
|
10
|
+
isValid: boolean;
|
|
11
|
+
errors: string[];
|
|
12
|
+
sanitized?: AgentInput;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Limpa e valida metadados
|
|
16
|
+
*/
|
|
17
|
+
export declare function sanitizeMetadata(metadata: any, options?: {
|
|
18
|
+
allowedKeys?: string[];
|
|
19
|
+
maxDepth?: number;
|
|
20
|
+
maxStringLength?: number;
|
|
21
|
+
}): Record<string, any> | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Mascara dados sensíveis em logs
|
|
24
|
+
*/
|
|
25
|
+
export declare function maskSensitiveData(data: any, patterns?: string[]): any;
|
|
26
|
+
export interface RequestOptions {
|
|
27
|
+
timeout?: number;
|
|
28
|
+
retries?: number;
|
|
29
|
+
retryDelay?: number;
|
|
30
|
+
headers?: Record<string, string>;
|
|
31
|
+
}
|
|
32
|
+
export interface BatchRequestOptions {
|
|
33
|
+
concurrent?: number;
|
|
34
|
+
timeout?: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Cliente HTTP com retry e timeout
|
|
38
|
+
*/
|
|
39
|
+
export declare class HttpClient {
|
|
40
|
+
private defaultTimeout;
|
|
41
|
+
private defaultRetries;
|
|
42
|
+
private defaultRetryDelay;
|
|
43
|
+
request(url: string, options?: RequestInit & RequestOptions): Promise<Response>;
|
|
44
|
+
get(url: string, options?: RequestOptions): Promise<Response>;
|
|
45
|
+
post(url: string, data: any, options?: RequestOptions): Promise<Response>;
|
|
46
|
+
put(url: string, data: any, options?: RequestOptions): Promise<Response>;
|
|
47
|
+
delete(url: string, options?: RequestOptions): Promise<Response>;
|
|
48
|
+
private delay;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Executa múltiplas requests em lote com controle de concorrência
|
|
52
|
+
*/
|
|
53
|
+
export declare function batchRequests<T>(requests: (() => Promise<T>)[], options?: BatchRequestOptions): Promise<T[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Aplica timeout em uma Promise
|
|
56
|
+
*/
|
|
57
|
+
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
|
|
58
|
+
/**
|
|
59
|
+
* Debounce para funções async
|
|
60
|
+
*/
|
|
61
|
+
export declare function debounce<T extends (...args: any[]) => Promise<any>>(func: T, delay: number): T;
|
|
62
|
+
export declare class SimpleCache<T> {
|
|
63
|
+
private cache;
|
|
64
|
+
set(key: string, value: T, ttlMs?: number): void;
|
|
65
|
+
get(key: string): T | null;
|
|
66
|
+
has(key: string): boolean;
|
|
67
|
+
delete(key: string): void;
|
|
68
|
+
clear(): void;
|
|
69
|
+
size(): number;
|
|
70
|
+
private cleanup;
|
|
71
|
+
}
|
|
72
|
+
export declare const credentialCache: SimpleCache<any>;
|
|
73
|
+
export declare const sessionCache: SimpleCache<any>;
|
|
74
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sessionCache = exports.credentialCache = exports.SimpleCache = exports.HttpClient = void 0;
|
|
4
|
+
exports.validateAgentInput = validateAgentInput;
|
|
5
|
+
exports.sanitizeMetadata = sanitizeMetadata;
|
|
6
|
+
exports.maskSensitiveData = maskSensitiveData;
|
|
7
|
+
exports.batchRequests = batchRequests;
|
|
8
|
+
exports.withTimeout = withTimeout;
|
|
9
|
+
exports.debounce = debounce;
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// 🔒 VALIDATION & SECURITY
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Valida entrada do agente com regras padronizadas
|
|
15
|
+
*/
|
|
16
|
+
function validateAgentInput(input, options = {}) {
|
|
17
|
+
const errors = [];
|
|
18
|
+
const { requireCompanyId = true, maxMessageLength = 10000, allowedChannels } = options;
|
|
19
|
+
// Verificar se input existe
|
|
20
|
+
if (!input || typeof input !== 'object') {
|
|
21
|
+
return { isValid: false, errors: ['Input deve ser um objeto válido'] };
|
|
22
|
+
}
|
|
23
|
+
// Validar message (obrigatório)
|
|
24
|
+
if (!input.message || typeof input.message !== 'string') {
|
|
25
|
+
errors.push('Campo "message" é obrigatório e deve ser uma string');
|
|
26
|
+
}
|
|
27
|
+
else if (input.message.trim().length === 0) {
|
|
28
|
+
errors.push('Campo "message" não pode estar vazio');
|
|
29
|
+
}
|
|
30
|
+
else if (input.message.length > maxMessageLength) {
|
|
31
|
+
errors.push(`Campo "message" não pode ter mais de ${maxMessageLength} caracteres`);
|
|
32
|
+
}
|
|
33
|
+
// Validar companyId
|
|
34
|
+
if (requireCompanyId && (!input.companyId || typeof input.companyId !== 'string')) {
|
|
35
|
+
errors.push('Campo "companyId" é obrigatório');
|
|
36
|
+
}
|
|
37
|
+
// Validar channel se fornecido
|
|
38
|
+
if (input.channel && allowedChannels && !allowedChannels.includes(input.channel)) {
|
|
39
|
+
errors.push(`Canal "${input.channel}" não é permitido. Canais válidos: ${allowedChannels.join(', ')}`);
|
|
40
|
+
}
|
|
41
|
+
// Validar IDs se fornecidos
|
|
42
|
+
if (input.userId && typeof input.userId !== 'string') {
|
|
43
|
+
errors.push('Campo "userId" deve ser uma string');
|
|
44
|
+
}
|
|
45
|
+
if (input.sessionId && typeof input.sessionId !== 'string') {
|
|
46
|
+
errors.push('Campo "sessionId" deve ser uma string');
|
|
47
|
+
}
|
|
48
|
+
if (errors.length > 0) {
|
|
49
|
+
return { isValid: false, errors };
|
|
50
|
+
}
|
|
51
|
+
// Criar versão sanitizada
|
|
52
|
+
const sanitized = {
|
|
53
|
+
message: input.message.trim(),
|
|
54
|
+
companyId: input.companyId?.trim(),
|
|
55
|
+
userId: input.userId?.trim(),
|
|
56
|
+
sessionId: input.sessionId?.trim(),
|
|
57
|
+
channel: input.channel?.trim(),
|
|
58
|
+
metadata: sanitizeMetadata(input.metadata),
|
|
59
|
+
tab: input.tab?.trim(),
|
|
60
|
+
preChatInfo: input.preChatInfo?.trim()
|
|
61
|
+
};
|
|
62
|
+
return { isValid: true, errors: [], sanitized };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Limpa e valida metadados
|
|
66
|
+
*/
|
|
67
|
+
function sanitizeMetadata(metadata, options = {}) {
|
|
68
|
+
const { allowedKeys, maxDepth = 3, maxStringLength = 1000 } = options;
|
|
69
|
+
if (!metadata || typeof metadata !== 'object') {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
function sanitizeValue(value, depth) {
|
|
73
|
+
if (depth > maxDepth) {
|
|
74
|
+
return '[Max depth exceeded]';
|
|
75
|
+
}
|
|
76
|
+
if (value === null || value === undefined) {
|
|
77
|
+
return value;
|
|
78
|
+
}
|
|
79
|
+
if (typeof value === 'string') {
|
|
80
|
+
return value.length > maxStringLength
|
|
81
|
+
? value.substring(0, maxStringLength) + '...'
|
|
82
|
+
: value;
|
|
83
|
+
}
|
|
84
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
if (Array.isArray(value)) {
|
|
88
|
+
return value.slice(0, 50).map(item => sanitizeValue(item, depth + 1));
|
|
89
|
+
}
|
|
90
|
+
if (typeof value === 'object') {
|
|
91
|
+
const sanitized = {};
|
|
92
|
+
for (const [key, val] of Object.entries(value)) {
|
|
93
|
+
if (allowedKeys && !allowedKeys.includes(key)) {
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
sanitized[key] = sanitizeValue(val, depth + 1);
|
|
97
|
+
}
|
|
98
|
+
return sanitized;
|
|
99
|
+
}
|
|
100
|
+
return String(value);
|
|
101
|
+
}
|
|
102
|
+
return sanitizeValue(metadata, 0);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Mascara dados sensíveis em logs
|
|
106
|
+
*/
|
|
107
|
+
function maskSensitiveData(data, patterns = ['email', 'phone', 'cpf', 'password', 'token']) {
|
|
108
|
+
if (!data)
|
|
109
|
+
return data;
|
|
110
|
+
function maskValue(key, value) {
|
|
111
|
+
if (typeof value === 'string') {
|
|
112
|
+
const lowerKey = key.toLowerCase();
|
|
113
|
+
for (const pattern of patterns) {
|
|
114
|
+
if (lowerKey.includes(pattern.toLowerCase())) {
|
|
115
|
+
if (pattern === 'email' && value.includes('@')) {
|
|
116
|
+
const [user, domain] = value.split('@');
|
|
117
|
+
return `${user.substring(0, 2)}***@${domain}`;
|
|
118
|
+
}
|
|
119
|
+
if (pattern === 'phone' && /\d/.test(value)) {
|
|
120
|
+
return value.replace(/\d/g, '*');
|
|
121
|
+
}
|
|
122
|
+
if (pattern === 'cpf' && /\d{11}/.test(value.replace(/\D/g, ''))) {
|
|
123
|
+
return value.replace(/\d/g, '*');
|
|
124
|
+
}
|
|
125
|
+
if (pattern === 'password' || pattern === 'token') {
|
|
126
|
+
return '***';
|
|
127
|
+
}
|
|
128
|
+
// Padrão geral: mostrar apenas primeiros 2 caracteres
|
|
129
|
+
return value.length > 2 ? value.substring(0, 2) + '*'.repeat(value.length - 2) : '***';
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return value;
|
|
134
|
+
}
|
|
135
|
+
if (typeof data === 'string') {
|
|
136
|
+
return maskValue('data', data);
|
|
137
|
+
}
|
|
138
|
+
if (Array.isArray(data)) {
|
|
139
|
+
return data.map(item => maskSensitiveData(item, patterns));
|
|
140
|
+
}
|
|
141
|
+
if (typeof data === 'object') {
|
|
142
|
+
const masked = {};
|
|
143
|
+
for (const [key, value] of Object.entries(data)) {
|
|
144
|
+
if (typeof value === 'object' && value !== null) {
|
|
145
|
+
masked[key] = maskSensitiveData(value, patterns);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
masked[key] = maskValue(key, value);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return masked;
|
|
152
|
+
}
|
|
153
|
+
return data;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Cliente HTTP com retry e timeout
|
|
157
|
+
*/
|
|
158
|
+
class HttpClient {
|
|
159
|
+
constructor() {
|
|
160
|
+
this.defaultTimeout = 10000;
|
|
161
|
+
this.defaultRetries = 3;
|
|
162
|
+
this.defaultRetryDelay = 1000;
|
|
163
|
+
}
|
|
164
|
+
async request(url, options = {}) {
|
|
165
|
+
const { timeout = this.defaultTimeout, retries = this.defaultRetries, retryDelay = this.defaultRetryDelay, ...fetchOptions } = options;
|
|
166
|
+
let lastError = new Error('Unknown error');
|
|
167
|
+
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
168
|
+
try {
|
|
169
|
+
const controller = new AbortController();
|
|
170
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
171
|
+
const response = await fetch(url, {
|
|
172
|
+
...fetchOptions,
|
|
173
|
+
signal: controller.signal
|
|
174
|
+
});
|
|
175
|
+
clearTimeout(timeoutId);
|
|
176
|
+
return response;
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
lastError = error;
|
|
180
|
+
if (attempt < retries) {
|
|
181
|
+
await this.delay(retryDelay * Math.pow(2, attempt)); // Exponential backoff
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
throw new Error(`Request failed after ${retries + 1} attempts: ${lastError.message}`);
|
|
186
|
+
}
|
|
187
|
+
async get(url, options = {}) {
|
|
188
|
+
return this.request(url, { ...options, method: 'GET' });
|
|
189
|
+
}
|
|
190
|
+
async post(url, data, options = {}) {
|
|
191
|
+
return this.request(url, {
|
|
192
|
+
...options,
|
|
193
|
+
method: 'POST',
|
|
194
|
+
body: JSON.stringify(data),
|
|
195
|
+
headers: {
|
|
196
|
+
'Content-Type': 'application/json',
|
|
197
|
+
...options.headers
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
async put(url, data, options = {}) {
|
|
202
|
+
return this.request(url, {
|
|
203
|
+
...options,
|
|
204
|
+
method: 'PUT',
|
|
205
|
+
body: JSON.stringify(data),
|
|
206
|
+
headers: {
|
|
207
|
+
'Content-Type': 'application/json',
|
|
208
|
+
...options.headers
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
async delete(url, options = {}) {
|
|
213
|
+
return this.request(url, { ...options, method: 'DELETE' });
|
|
214
|
+
}
|
|
215
|
+
delay(ms) {
|
|
216
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
exports.HttpClient = HttpClient;
|
|
220
|
+
/**
|
|
221
|
+
* Executa múltiplas requests em lote com controle de concorrência
|
|
222
|
+
*/
|
|
223
|
+
async function batchRequests(requests, options = {}) {
|
|
224
|
+
const { concurrent = 3 } = options;
|
|
225
|
+
const results = [];
|
|
226
|
+
for (let i = 0; i < requests.length; i += concurrent) {
|
|
227
|
+
const batch = requests.slice(i, i + concurrent);
|
|
228
|
+
const batchResults = await Promise.all(batch.map(req => req()));
|
|
229
|
+
results.push(...batchResults);
|
|
230
|
+
}
|
|
231
|
+
return results;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Aplica timeout em uma Promise
|
|
235
|
+
*/
|
|
236
|
+
function withTimeout(promise, timeoutMs) {
|
|
237
|
+
return Promise.race([
|
|
238
|
+
promise,
|
|
239
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error(`Operation timed out after ${timeoutMs}ms`)), timeoutMs))
|
|
240
|
+
]);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Debounce para funções async
|
|
244
|
+
*/
|
|
245
|
+
function debounce(func, delay) {
|
|
246
|
+
let timeoutId;
|
|
247
|
+
let lastCall = null;
|
|
248
|
+
return ((...args) => {
|
|
249
|
+
return new Promise((resolve, reject) => {
|
|
250
|
+
clearTimeout(timeoutId);
|
|
251
|
+
timeoutId = setTimeout(async () => {
|
|
252
|
+
try {
|
|
253
|
+
lastCall = func(...args);
|
|
254
|
+
const result = await lastCall;
|
|
255
|
+
resolve(result);
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
reject(error);
|
|
259
|
+
}
|
|
260
|
+
}, delay);
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
// =============================================================================
|
|
265
|
+
// 🔧 CACHE UTILITIES
|
|
266
|
+
// =============================================================================
|
|
267
|
+
class SimpleCache {
|
|
268
|
+
constructor() {
|
|
269
|
+
this.cache = new Map();
|
|
270
|
+
}
|
|
271
|
+
set(key, value, ttlMs = 300000) {
|
|
272
|
+
const expiry = Date.now() + ttlMs;
|
|
273
|
+
this.cache.set(key, { value, expiry });
|
|
274
|
+
}
|
|
275
|
+
get(key) {
|
|
276
|
+
const item = this.cache.get(key);
|
|
277
|
+
if (!item)
|
|
278
|
+
return null;
|
|
279
|
+
if (Date.now() > item.expiry) {
|
|
280
|
+
this.cache.delete(key);
|
|
281
|
+
return null;
|
|
282
|
+
}
|
|
283
|
+
return item.value;
|
|
284
|
+
}
|
|
285
|
+
has(key) {
|
|
286
|
+
return this.get(key) !== null;
|
|
287
|
+
}
|
|
288
|
+
delete(key) {
|
|
289
|
+
this.cache.delete(key);
|
|
290
|
+
}
|
|
291
|
+
clear() {
|
|
292
|
+
this.cache.clear();
|
|
293
|
+
}
|
|
294
|
+
size() {
|
|
295
|
+
// Limpar itens expirados antes de contar
|
|
296
|
+
this.cleanup();
|
|
297
|
+
return this.cache.size;
|
|
298
|
+
}
|
|
299
|
+
cleanup() {
|
|
300
|
+
const now = Date.now();
|
|
301
|
+
for (const [key, item] of this.cache.entries()) {
|
|
302
|
+
if (now > item.expiry) {
|
|
303
|
+
this.cache.delete(key);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
exports.SimpleCache = SimpleCache;
|
|
309
|
+
// Instâncias globais de cache
|
|
310
|
+
exports.credentialCache = new SimpleCache();
|
|
311
|
+
exports.sessionCache = new SimpleCache();
|
|
312
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|