@runflow-ai/sdk 1.0.0 → 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/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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"}
package/package.json CHANGED
@@ -1,38 +1,50 @@
1
- {
2
- "name": "@runflow-ai/sdk",
3
- "version": "1.0.0",
4
- "description": "A SDK for Runflow Agents",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "dev": "tsc --watch",
10
- "prepublishOnly": "npm run build",
11
- "test": "echo \"No tests specified\" && exit 0"
12
- },
13
- "dependencies": {},
14
- "devDependencies": {
15
- "@types/node": "^20.0.0",
16
- "typescript": "^5.0.0"
17
- },
18
- "files": [
19
- "dist/**/*",
20
- "README.md"
21
- ],
22
- "keywords": [
23
- "runflow",
24
- "sdk",
25
- "automation",
26
- "agents"
27
- ],
28
- "author": "",
29
- "license": "MIT",
30
- "repository": {
31
- "type": "git",
32
- "url": "git+https://github.com/your-username/runflow-sdk.git"
33
- },
34
- "bugs": {
35
- "url": "https://github.com/your-username/runflow-sdk/issues"
36
- },
37
- "homepage": "https://github.com/your-username/runflow-sdk#readme"
38
- }
1
+ {
2
+ "name": "@runflow-ai/sdk",
3
+ "version": "1.0.2",
4
+ "description": "A SDK for Runflow Agents",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "commonjs",
8
+ "scripts": {
9
+ "build": "tsc",
10
+ "dev": "tsc --watch",
11
+ "prepublishOnly": "npm run build",
12
+ "test": "jest"
13
+ },
14
+ "dependencies": {
15
+ "langchain": "^0.2.0",
16
+ "@langchain/openai": "^0.2.0",
17
+ "@langchain/anthropic": "^0.2.0",
18
+ "@langchain/core": "^0.2.0",
19
+ "@langchain/langgraph": "^0.0.26",
20
+ "express": "^4.18.0"
21
+ },
22
+ "devDependencies": {
23
+ "@types/jest": "^30.0.0",
24
+ "@types/node": "^20.0.0",
25
+ "@types/express": "^4.17.0",
26
+ "jest": "^30.0.5",
27
+ "ts-jest": "^29.4.1",
28
+ "typescript": "^5.0.0"
29
+ },
30
+ "files": [
31
+ "dist/**/*",
32
+ "README.md"
33
+ ],
34
+ "keywords": [
35
+ "runflow",
36
+ "sdk",
37
+ "automation",
38
+ "agents"
39
+ ],
40
+ "author": "",
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/your-username/runflow-sdk.git"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/your-username/runflow-sdk/issues"
48
+ },
49
+ "homepage": "https://github.com/your-username/runflow-sdk#readme"
50
+ }