trompot 1.5.0 → 1.6.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 +195 -20
- package/lib/bot/BotEvents.d.ts +2 -0
- package/lib/bot/BotEvents.js.map +1 -1
- package/lib/client/Client.js +93 -28
- package/lib/client/Client.js.map +1 -1
- package/lib/client/ClientFunctionHandler.js +39 -3
- package/lib/client/ClientFunctionHandler.js.map +1 -1
- package/lib/telegram/TelegramAuth.js +36 -1
- package/lib/telegram/TelegramAuth.js.map +1 -1
- package/lib/telegram/TelegramBot.d.ts +11 -0
- package/lib/telegram/TelegramBot.js +101 -15
- package/lib/telegram/TelegramBot.js.map +1 -1
- package/lib/telegram/TelegramEvents.d.ts +8 -1
- package/lib/telegram/TelegramEvents.js +67 -30
- package/lib/telegram/TelegramEvents.js.map +1 -1
- package/lib/telegram/TelegramSendingController.js +59 -17
- package/lib/telegram/TelegramSendingController.js.map +1 -1
- package/lib/telegram/TelegramToRompotConverter.js +44 -14
- package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
- package/lib/wa/Auth.js +17 -5
- package/lib/wa/Auth.js.map +1 -1
- package/lib/wa/ConfigWAEvents.d.ts +6 -10
- package/lib/wa/ConfigWAEvents.js +220 -426
- package/lib/wa/ConfigWAEvents.js.map +1 -1
- package/lib/wa/ConvertWAMessage.js +28 -19
- package/lib/wa/ConvertWAMessage.js.map +1 -1
- package/lib/wa/ID.d.ts +10 -1
- package/lib/wa/ID.js +22 -2
- package/lib/wa/ID.js.map +1 -1
- package/lib/wa/WhatsAppBot.d.ts +58 -11
- package/lib/wa/WhatsAppBot.js +365 -648
- package/lib/wa/WhatsAppBot.js.map +1 -1
- package/lib/wa/constants/ConfigDefaults.d.ts +23 -0
- package/lib/wa/constants/ConfigDefaults.js +27 -0
- package/lib/wa/constants/ConfigDefaults.js.map +1 -0
- package/lib/wa/constants/DisconnectReasons.d.ts +24 -0
- package/lib/wa/constants/DisconnectReasons.js +36 -0
- package/lib/wa/constants/DisconnectReasons.js.map +1 -0
- package/lib/wa/constants/ErrorCodes.d.ts +28 -0
- package/lib/wa/constants/ErrorCodes.js +32 -0
- package/lib/wa/constants/ErrorCodes.js.map +1 -0
- package/lib/wa/constants/JIDPatterns.d.ts +23 -0
- package/lib/wa/constants/JIDPatterns.js +38 -0
- package/lib/wa/constants/JIDPatterns.js.map +1 -0
- package/lib/wa/constants/Timeouts.d.ts +11 -0
- package/lib/wa/constants/Timeouts.js +15 -0
- package/lib/wa/constants/Timeouts.js.map +1 -0
- package/lib/wa/core/ConnectionManager.d.ts +84 -0
- package/lib/wa/core/ConnectionManager.js +256 -0
- package/lib/wa/core/ConnectionManager.js.map +1 -0
- package/lib/wa/core/SessionManager.d.ts +29 -0
- package/lib/wa/core/SessionManager.js +155 -0
- package/lib/wa/core/SessionManager.js.map +1 -0
- package/lib/wa/core/StateManager.d.ts +49 -0
- package/lib/wa/core/StateManager.js +135 -0
- package/lib/wa/core/StateManager.js.map +1 -0
- package/lib/wa/events/CallEventHandler.d.ts +17 -0
- package/lib/wa/events/CallEventHandler.js +155 -0
- package/lib/wa/events/CallEventHandler.js.map +1 -0
- package/lib/wa/events/ChatEventHandler.d.ts +12 -0
- package/lib/wa/events/ChatEventHandler.js +74 -0
- package/lib/wa/events/ChatEventHandler.js.map +1 -0
- package/lib/wa/events/ConnectionEventHandler.d.ts +43 -0
- package/lib/wa/events/ConnectionEventHandler.js +305 -0
- package/lib/wa/events/ConnectionEventHandler.js.map +1 -0
- package/lib/wa/events/ContactEventHandler.d.ts +12 -0
- package/lib/wa/events/ContactEventHandler.js +55 -0
- package/lib/wa/events/ContactEventHandler.js.map +1 -0
- package/lib/wa/events/EventManager.d.ts +43 -0
- package/lib/wa/events/EventManager.js +198 -0
- package/lib/wa/events/EventManager.js.map +1 -0
- package/lib/wa/events/GroupEventHandler.d.ts +12 -0
- package/lib/wa/events/GroupEventHandler.js +74 -0
- package/lib/wa/events/GroupEventHandler.js.map +1 -0
- package/lib/wa/events/HistoryEventHandler.d.ts +16 -0
- package/lib/wa/events/HistoryEventHandler.js +101 -0
- package/lib/wa/events/HistoryEventHandler.js.map +1 -0
- package/lib/wa/events/LIDMappingEventHandler.d.ts +20 -0
- package/lib/wa/events/LIDMappingEventHandler.js +39 -0
- package/lib/wa/events/LIDMappingEventHandler.js.map +1 -0
- package/lib/wa/events/MessageEventHandler.d.ts +16 -0
- package/lib/wa/events/MessageEventHandler.js +218 -0
- package/lib/wa/events/MessageEventHandler.js.map +1 -0
- package/lib/wa/interfaces/ICacheService.d.ts +12 -0
- package/lib/wa/interfaces/ICacheService.js +3 -0
- package/lib/wa/interfaces/ICacheService.js.map +1 -0
- package/lib/wa/interfaces/IConnectionManager.d.ts +15 -0
- package/lib/wa/interfaces/IConnectionManager.js +3 -0
- package/lib/wa/interfaces/IConnectionManager.js.map +1 -0
- package/lib/wa/interfaces/IErrorHandler.d.ts +9 -0
- package/lib/wa/interfaces/IErrorHandler.js +3 -0
- package/lib/wa/interfaces/IErrorHandler.js.map +1 -0
- package/lib/wa/interfaces/ILoggerService.d.ts +13 -0
- package/lib/wa/interfaces/ILoggerService.js +3 -0
- package/lib/wa/interfaces/ILoggerService.js.map +1 -0
- package/lib/wa/interfaces/ISessionManager.d.ts +16 -0
- package/lib/wa/interfaces/ISessionManager.js +3 -0
- package/lib/wa/interfaces/ISessionManager.js.map +1 -0
- package/lib/wa/interfaces/IStateManager.d.ts +41 -0
- package/lib/wa/interfaces/IStateManager.js +3 -0
- package/lib/wa/interfaces/IStateManager.js.map +1 -0
- package/lib/wa/operations/ChatOperations.d.ts +117 -0
- package/lib/wa/operations/ChatOperations.js +349 -0
- package/lib/wa/operations/ChatOperations.js.map +1 -0
- package/lib/wa/operations/GroupOperations.d.ts +31 -0
- package/lib/wa/operations/GroupOperations.js +128 -0
- package/lib/wa/operations/GroupOperations.js.map +1 -0
- package/lib/wa/operations/MessageOperations.d.ts +69 -0
- package/lib/wa/operations/MessageOperations.js +335 -0
- package/lib/wa/operations/MessageOperations.js.map +1 -0
- package/lib/wa/operations/UserOperations.d.ts +100 -0
- package/lib/wa/operations/UserOperations.js +216 -0
- package/lib/wa/operations/UserOperations.js.map +1 -0
- package/lib/wa/services/CacheService.d.ts +45 -0
- package/lib/wa/services/CacheService.js +93 -0
- package/lib/wa/services/CacheService.js.map +1 -0
- package/lib/wa/services/ErrorHandler.d.ts +26 -0
- package/lib/wa/services/ErrorHandler.js +73 -0
- package/lib/wa/services/ErrorHandler.js.map +1 -0
- package/lib/wa/services/LIDMappingService.d.ts +42 -0
- package/lib/wa/services/LIDMappingService.js +132 -0
- package/lib/wa/services/LIDMappingService.js.map +1 -0
- package/lib/wa/services/LIDNormalizationService.d.ts +30 -0
- package/lib/wa/services/LIDNormalizationService.js +136 -0
- package/lib/wa/services/LIDNormalizationService.js.map +1 -0
- package/lib/wa/services/LoggerService.d.ts +44 -0
- package/lib/wa/services/LoggerService.js +85 -0
- package/lib/wa/services/LoggerService.js.map +1 -0
- package/lib/wa/services/PendingMessageQueue.d.ts +46 -0
- package/lib/wa/services/PendingMessageQueue.js +119 -0
- package/lib/wa/services/PendingMessageQueue.js.map +1 -0
- package/lib/wa/services/RetryService.d.ts +25 -0
- package/lib/wa/services/RetryService.js +59 -0
- package/lib/wa/services/RetryService.js.map +1 -0
- package/lib/wa/utils/ConfigValidator.d.ts +15 -0
- package/lib/wa/utils/ConfigValidator.js +66 -0
- package/lib/wa/utils/ConfigValidator.js.map +1 -0
- package/lib/wa/utils/ErrorUtils.d.ts +29 -0
- package/lib/wa/utils/ErrorUtils.js +66 -0
- package/lib/wa/utils/ErrorUtils.js.map +1 -0
- package/lib/wa/utils/Validation.d.ts +18 -0
- package/lib/wa/utils/Validation.js +40 -0
- package/lib/wa/utils/Validation.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserOperations.js","sourceRoot":"","sources":["../../../src/wa/operations/UserOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import NodeCache from 'node-cache';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import { ICacheService } from '../interfaces/ICacheService';
|
|
4
|
+
export declare class CacheService implements ICacheService {
|
|
5
|
+
private caches;
|
|
6
|
+
private logger;
|
|
7
|
+
private defaultTTL;
|
|
8
|
+
constructor(logger: ILoggerService);
|
|
9
|
+
/**
|
|
10
|
+
* Obtém ou cria um cache
|
|
11
|
+
*/
|
|
12
|
+
getCache(name: string, ttl?: number, maxKeys?: number): NodeCache;
|
|
13
|
+
/**
|
|
14
|
+
* Limpa um cache específico
|
|
15
|
+
*/
|
|
16
|
+
clearCache(name: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Limpa todos os caches
|
|
19
|
+
*/
|
|
20
|
+
clearAll(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Remove um cache
|
|
23
|
+
*/
|
|
24
|
+
removeCache(name: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Cache para retry de mensagens
|
|
27
|
+
*/
|
|
28
|
+
getMessageRetryCache(): NodeCache;
|
|
29
|
+
/**
|
|
30
|
+
* Cache para metadata de grupos (CRÍTICO: para cachedGroupMetadata)
|
|
31
|
+
*/
|
|
32
|
+
getGroupMetadataCache(): NodeCache;
|
|
33
|
+
/**
|
|
34
|
+
* Cache para chaves de sinal
|
|
35
|
+
*/
|
|
36
|
+
getSignalKeyCache(): NodeCache;
|
|
37
|
+
/**
|
|
38
|
+
* Cache para mensagens
|
|
39
|
+
*/
|
|
40
|
+
getMessageCache(): NodeCache;
|
|
41
|
+
/**
|
|
42
|
+
* Cache para mapeamentos LID/PN (v7.0.0)
|
|
43
|
+
*/
|
|
44
|
+
getLIDMappingCache(): NodeCache;
|
|
45
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CacheService = void 0;
|
|
7
|
+
const node_cache_1 = __importDefault(require("node-cache"));
|
|
8
|
+
class CacheService {
|
|
9
|
+
constructor(logger) {
|
|
10
|
+
this.caches = new Map();
|
|
11
|
+
this.defaultTTL = 3600; // 1 hora
|
|
12
|
+
this.logger = logger;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Obtém ou cria um cache
|
|
16
|
+
*/
|
|
17
|
+
getCache(name, ttl, maxKeys) {
|
|
18
|
+
if (!this.caches.has(name)) {
|
|
19
|
+
const cache = new node_cache_1.default({
|
|
20
|
+
stdTTL: ttl || this.defaultTTL,
|
|
21
|
+
maxKeys: maxKeys || 10000, // Limite padrão de 10k chaves para evitar vazamento
|
|
22
|
+
useClones: false,
|
|
23
|
+
checkperiod: 600, // Verifica expiração a cada 10 minutos
|
|
24
|
+
});
|
|
25
|
+
this.caches.set(name, cache);
|
|
26
|
+
// Log removido para reduzir verbosidade
|
|
27
|
+
}
|
|
28
|
+
return this.caches.get(name);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Limpa um cache específico
|
|
32
|
+
*/
|
|
33
|
+
clearCache(name) {
|
|
34
|
+
const cache = this.caches.get(name);
|
|
35
|
+
if (cache) {
|
|
36
|
+
cache.flushAll();
|
|
37
|
+
// Log removido para reduzir verbosidade
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Limpa todos os caches
|
|
42
|
+
*/
|
|
43
|
+
clearAll() {
|
|
44
|
+
this.caches.forEach((cache) => {
|
|
45
|
+
cache.flushAll();
|
|
46
|
+
// Log removido para reduzir verbosidade
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Remove um cache
|
|
51
|
+
*/
|
|
52
|
+
removeCache(name) {
|
|
53
|
+
const cache = this.caches.get(name);
|
|
54
|
+
if (cache) {
|
|
55
|
+
cache.flushAll();
|
|
56
|
+
this.caches.delete(name);
|
|
57
|
+
// Log removido para reduzir verbosidade
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Caches específicos (v7.0.0)
|
|
61
|
+
/**
|
|
62
|
+
* Cache para retry de mensagens
|
|
63
|
+
*/
|
|
64
|
+
getMessageRetryCache() {
|
|
65
|
+
return this.getCache('message-retry', 3600); // 1 hora
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Cache para metadata de grupos (CRÍTICO: para cachedGroupMetadata)
|
|
69
|
+
*/
|
|
70
|
+
getGroupMetadataCache() {
|
|
71
|
+
return this.getCache('group-metadata', 300); // 5 minutos
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Cache para chaves de sinal
|
|
75
|
+
*/
|
|
76
|
+
getSignalKeyCache() {
|
|
77
|
+
return this.getCache('signal-keys', 300); // 5 minutos
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Cache para mensagens
|
|
81
|
+
*/
|
|
82
|
+
getMessageCache() {
|
|
83
|
+
return this.getCache('messages', 3600); // 1 hora
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Cache para mapeamentos LID/PN (v7.0.0)
|
|
87
|
+
*/
|
|
88
|
+
getLIDMappingCache() {
|
|
89
|
+
return this.getCache('lid-mapping', 86400); // 24 horas
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.CacheService = CacheService;
|
|
93
|
+
//# sourceMappingURL=CacheService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../../../src/wa/services/CacheService.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAmC;AAInC,MAAa,YAAY;IAKvB,YAAY,MAAsB;QAJ1B,WAAM,GAA2B,IAAI,GAAG,EAAE,CAAC;QAE3C,eAAU,GAAW,IAAI,CAAC,CAAC,SAAS;QAG1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,IAAY,EAAE,GAAY,EAAE,OAAgB;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,oBAAS,CAAC;gBAC1B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,oDAAoD;gBAC/E,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,GAAG,EAAE,uCAAuC;aAC1D,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7B,wCAAwC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,wCAAwC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,wCAAwC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,wCAAwC;QAC1C,CAAC;IACH,CAAC;IAED,8BAA8B;IAE9B;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IACxD,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;IAC3D,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;IACxD,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IACnD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW;IACzD,CAAC;CACF;AAjGD,oCAiGC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
2
|
+
import { IErrorHandler } from '../interfaces/IErrorHandler';
|
|
3
|
+
export declare class ErrorHandler implements IErrorHandler {
|
|
4
|
+
private logger;
|
|
5
|
+
constructor(logger: ILoggerService);
|
|
6
|
+
/**
|
|
7
|
+
* Trata um erro de forma centralizada
|
|
8
|
+
*/
|
|
9
|
+
handle(error: unknown, context?: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Trata um erro e retorna uma mensagem amigável
|
|
12
|
+
*/
|
|
13
|
+
handleAndGetMessage(error: unknown, context?: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Extrai mensagem de erro de forma segura
|
|
16
|
+
*/
|
|
17
|
+
private getErrorMessage;
|
|
18
|
+
/**
|
|
19
|
+
* Verifica se um erro é de um tipo específico
|
|
20
|
+
*/
|
|
21
|
+
isErrorOfType(error: unknown, type: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Cria um erro customizado com contexto
|
|
24
|
+
*/
|
|
25
|
+
createError(message: string, context?: string, originalError?: unknown): Error;
|
|
26
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorHandler = void 0;
|
|
4
|
+
class ErrorHandler {
|
|
5
|
+
constructor(logger) {
|
|
6
|
+
this.logger = logger;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Trata um erro de forma centralizada
|
|
10
|
+
*/
|
|
11
|
+
handle(error, context) {
|
|
12
|
+
const errorMessage = this.getErrorMessage(error);
|
|
13
|
+
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
14
|
+
const contextInfo = context ? `[${context}]` : '';
|
|
15
|
+
// Log estruturado
|
|
16
|
+
this.logger.error({
|
|
17
|
+
error: errorMessage,
|
|
18
|
+
stack: errorStack,
|
|
19
|
+
context: contextInfo,
|
|
20
|
+
timestamp: new Date().toISOString(),
|
|
21
|
+
}, `Erro ${contextInfo}`);
|
|
22
|
+
// Em produção, você pode adicionar:
|
|
23
|
+
// - Envio para serviço de monitoramento (Sentry, etc)
|
|
24
|
+
// - Alertas
|
|
25
|
+
// - Métricas
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Trata um erro e retorna uma mensagem amigável
|
|
29
|
+
*/
|
|
30
|
+
handleAndGetMessage(error, context) {
|
|
31
|
+
this.handle(error, context);
|
|
32
|
+
return this.getErrorMessage(error);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Extrai mensagem de erro de forma segura
|
|
36
|
+
*/
|
|
37
|
+
getErrorMessage(error) {
|
|
38
|
+
if (error instanceof Error) {
|
|
39
|
+
return error.message;
|
|
40
|
+
}
|
|
41
|
+
if (typeof error === 'string') {
|
|
42
|
+
return error;
|
|
43
|
+
}
|
|
44
|
+
if (error && typeof error === 'object' && 'message' in error) {
|
|
45
|
+
return String(error.message);
|
|
46
|
+
}
|
|
47
|
+
return 'Erro desconhecido';
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Verifica se um erro é de um tipo específico
|
|
51
|
+
*/
|
|
52
|
+
isErrorOfType(error, type) {
|
|
53
|
+
if (error instanceof Error) {
|
|
54
|
+
return error.name === type || error.constructor.name === type;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Cria um erro customizado com contexto
|
|
60
|
+
*/
|
|
61
|
+
createError(message, context, originalError) {
|
|
62
|
+
const contextInfo = context ? `[${context}] ` : '';
|
|
63
|
+
const error = new Error(`${contextInfo}${message}`);
|
|
64
|
+
if (originalError instanceof Error) {
|
|
65
|
+
error.stack = originalError.stack;
|
|
66
|
+
// Nota: error.cause não está disponível no target es2018
|
|
67
|
+
// Se necessário, pode ser adicionado como propriedade customizada
|
|
68
|
+
}
|
|
69
|
+
return error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.ErrorHandler = ErrorHandler;
|
|
73
|
+
//# sourceMappingURL=ErrorHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHandler.js","sourceRoot":"","sources":["../../../src/wa/services/ErrorHandler.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IAGvB,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAc,EAAE,OAAgB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAElD,kBAAkB;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAChB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,EAAE,QAAQ,WAAW,EAAE,CAAC,CAAC;QAE1B,oCAAoC;QACpC,sDAAsD;QACtD,YAAY;QACZ,aAAa;IACf,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,KAAc,EAAE,OAAgB;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,KAAc;QACpC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAc,EAAE,IAAY;QACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAAe,EAAE,OAAgB,EAAE,aAAuB;QACpE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,WAAW,GAAG,OAAO,EAAE,CAAC,CAAC;QAEpD,IAAI,aAAa,YAAY,KAAK,EAAE,CAAC;YACnC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAClC,yDAAyD;YACzD,kEAAkE;QACpE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA9ED,oCA8EC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { WASocket } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import { ICacheService } from '../interfaces/ICacheService';
|
|
4
|
+
export interface LIDMapping {
|
|
5
|
+
lid: string;
|
|
6
|
+
pn: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class LIDMappingService {
|
|
9
|
+
private socket;
|
|
10
|
+
private logger;
|
|
11
|
+
private cache;
|
|
12
|
+
private cacheKey;
|
|
13
|
+
constructor(logger: ILoggerService, cache: ICacheService);
|
|
14
|
+
/**
|
|
15
|
+
* Configura o socket para acessar o lidMapping store
|
|
16
|
+
*/
|
|
17
|
+
setSocket(socket: WASocket): void;
|
|
18
|
+
/**
|
|
19
|
+
* Obtém LID para um PN usando o store interno do Baileys
|
|
20
|
+
*/
|
|
21
|
+
getLIDForPN(pn: string): Promise<string | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Obtém PN para um LID usando o store interno do Baileys
|
|
24
|
+
*/
|
|
25
|
+
getPNForLID(lid: string): Promise<string | undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Armazena mapeamento LID/PN
|
|
28
|
+
*/
|
|
29
|
+
storeLIDPNMapping(lid: string, pn: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Armazena múltiplos mapeamentos
|
|
32
|
+
*/
|
|
33
|
+
storeLIDPNMappings(mappings: LIDMapping[]): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Handler para evento lid-mapping.update
|
|
36
|
+
*/
|
|
37
|
+
handleLIDMappingUpdate(mapping: LIDMapping): void;
|
|
38
|
+
/**
|
|
39
|
+
* Limpa cache
|
|
40
|
+
*/
|
|
41
|
+
clearCache(): void;
|
|
42
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LIDMappingService = void 0;
|
|
4
|
+
class LIDMappingService {
|
|
5
|
+
constructor(logger, cache) {
|
|
6
|
+
this.socket = null;
|
|
7
|
+
this.cacheKey = 'lid-mapping';
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
this.cache = cache;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Configura o socket para acessar o lidMapping store
|
|
13
|
+
*/
|
|
14
|
+
setSocket(socket) {
|
|
15
|
+
this.socket = socket;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Obtém LID para um PN usando o store interno do Baileys
|
|
19
|
+
*/
|
|
20
|
+
async getLIDForPN(pn) {
|
|
21
|
+
if (!this.socket) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
// Verifica cache primeiro
|
|
26
|
+
const cache = this.cache.getLIDMappingCache();
|
|
27
|
+
const cachedLID = cache.get(`pn:${pn}`);
|
|
28
|
+
if (cachedLID) {
|
|
29
|
+
return cachedLID;
|
|
30
|
+
}
|
|
31
|
+
// Usa o store interno do Baileys
|
|
32
|
+
const lid = await this.socket.signalRepository.lidMapping.getLIDForPN(pn);
|
|
33
|
+
if (lid) {
|
|
34
|
+
// Armazena no cache
|
|
35
|
+
cache.set(`pn:${pn}`, lid);
|
|
36
|
+
cache.set(`lid:${lid}`, pn);
|
|
37
|
+
// Log removido para reduzir verbosidade
|
|
38
|
+
}
|
|
39
|
+
return lid || undefined;
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
this.logger.error('Erro ao obter LID para PN', error);
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Obtém PN para um LID usando o store interno do Baileys
|
|
48
|
+
*/
|
|
49
|
+
async getPNForLID(lid) {
|
|
50
|
+
if (!this.socket) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
// Verifica cache primeiro
|
|
55
|
+
const cache = this.cache.getLIDMappingCache();
|
|
56
|
+
const cachedPN = cache.get(`lid:${lid}`);
|
|
57
|
+
if (cachedPN) {
|
|
58
|
+
return cachedPN;
|
|
59
|
+
}
|
|
60
|
+
// Usa o store interno do Baileys
|
|
61
|
+
const pn = await this.socket.signalRepository.lidMapping.getPNForLID(lid);
|
|
62
|
+
if (pn) {
|
|
63
|
+
// Armazena no cache
|
|
64
|
+
cache.set(`lid:${lid}`, pn);
|
|
65
|
+
cache.set(`pn:${pn}`, lid);
|
|
66
|
+
// Log removido para reduzir verbosidade
|
|
67
|
+
}
|
|
68
|
+
return pn || undefined;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
this.logger.error('Erro ao obter PN para LID', error);
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Armazena mapeamento LID/PN
|
|
77
|
+
*/
|
|
78
|
+
async storeLIDPNMapping(lid, pn) {
|
|
79
|
+
if (!this.socket) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
// Armazena no store interno do Baileys (usa storeLIDPNMappings com array)
|
|
84
|
+
await this.socket.signalRepository.lidMapping.storeLIDPNMappings([{ lid, pn }]);
|
|
85
|
+
// Atualiza cache local
|
|
86
|
+
const cache = this.cache.getLIDMappingCache();
|
|
87
|
+
cache.set(`lid:${lid}`, pn);
|
|
88
|
+
cache.set(`pn:${pn}`, lid);
|
|
89
|
+
// Log removido para reduzir verbosidade
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
this.logger.error('Erro ao armazenar mapeamento LID/PN', error);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Armazena múltiplos mapeamentos
|
|
97
|
+
*/
|
|
98
|
+
async storeLIDPNMappings(mappings) {
|
|
99
|
+
if (!this.socket) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
// Armazena no store interno do Baileys
|
|
104
|
+
await this.socket.signalRepository.lidMapping.storeLIDPNMappings(mappings.map(m => ({ lid: m.lid, pn: m.pn })));
|
|
105
|
+
// Atualiza cache local
|
|
106
|
+
const cache = this.cache.getLIDMappingCache();
|
|
107
|
+
for (const mapping of mappings) {
|
|
108
|
+
cache.set(`lid:${mapping.lid}`, mapping.pn);
|
|
109
|
+
cache.set(`pn:${mapping.pn}`, mapping.lid);
|
|
110
|
+
}
|
|
111
|
+
// Log removido para reduzir verbosidade
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
this.logger.error('Erro ao armazenar mapeamentos LID/PN', error);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Handler para evento lid-mapping.update
|
|
119
|
+
*/
|
|
120
|
+
handleLIDMappingUpdate(mapping) {
|
|
121
|
+
// Log removido para reduzir verbosidade
|
|
122
|
+
this.storeLIDPNMapping(mapping.lid, mapping.pn);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Limpa cache
|
|
126
|
+
*/
|
|
127
|
+
clearCache() {
|
|
128
|
+
this.cache.clearCache(this.cacheKey);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.LIDMappingService = LIDMappingService;
|
|
132
|
+
//# sourceMappingURL=LIDMappingService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LIDMappingService.js","sourceRoot":"","sources":["../../../src/wa/services/LIDMappingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { WASocket } from '@whiskeysockets/baileys';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
import { LIDMappingService } from './LIDMappingService';
|
|
4
|
+
/**
|
|
5
|
+
* Serviço especializado para normalização rápida de JIDs LID
|
|
6
|
+
* Tenta múltiplas estratégias para obter o PN o mais rápido possível
|
|
7
|
+
*/
|
|
8
|
+
export declare class LIDNormalizationService {
|
|
9
|
+
private socket;
|
|
10
|
+
private logger;
|
|
11
|
+
private lidMappingService;
|
|
12
|
+
constructor(logger: ILoggerService, lidMappingService: LIDMappingService);
|
|
13
|
+
/**
|
|
14
|
+
* Configura o socket
|
|
15
|
+
*/
|
|
16
|
+
setSocket(socket: WASocket): void;
|
|
17
|
+
/**
|
|
18
|
+
* Normaliza JID LID usando múltiplas estratégias para máxima velocidade
|
|
19
|
+
* 1. Cache do LIDMappingService (mais rápido)
|
|
20
|
+
* 2. Store do Baileys (rápido se disponível)
|
|
21
|
+
* 3. Tenta extrair do próprio LID (se for um número válido)
|
|
22
|
+
* 4. Retorna null se não conseguir
|
|
23
|
+
*/
|
|
24
|
+
normalizeJID(jid: string, quickOnly?: boolean): Promise<string | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Normaliza JID LID de forma síncrona quando possível (usando apenas cache)
|
|
27
|
+
* Retorna o JID original se não conseguir normalizar
|
|
28
|
+
*/
|
|
29
|
+
normalizeJIDSync(jid: string): string;
|
|
30
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LIDNormalizationService = void 0;
|
|
4
|
+
const ID_1 = require("../ID");
|
|
5
|
+
const JIDPatterns_1 = require("../constants/JIDPatterns");
|
|
6
|
+
/**
|
|
7
|
+
* Serviço especializado para normalização rápida de JIDs LID
|
|
8
|
+
* Tenta múltiplas estratégias para obter o PN o mais rápido possível
|
|
9
|
+
*/
|
|
10
|
+
class LIDNormalizationService {
|
|
11
|
+
constructor(logger, lidMappingService) {
|
|
12
|
+
this.socket = null;
|
|
13
|
+
this.logger = logger;
|
|
14
|
+
this.lidMappingService = lidMappingService;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Configura o socket
|
|
18
|
+
*/
|
|
19
|
+
setSocket(socket) {
|
|
20
|
+
this.socket = socket;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Normaliza JID LID usando múltiplas estratégias para máxima velocidade
|
|
24
|
+
* 1. Cache do LIDMappingService (mais rápido)
|
|
25
|
+
* 2. Store do Baileys (rápido se disponível)
|
|
26
|
+
* 3. Tenta extrair do próprio LID (se for um número válido)
|
|
27
|
+
* 4. Retorna null se não conseguir
|
|
28
|
+
*/
|
|
29
|
+
async normalizeJID(jid, quickOnly = false) {
|
|
30
|
+
var _a, _b, _c, _d;
|
|
31
|
+
if (!jid || (0, JIDPatterns_1.isValidJID)(jid)) {
|
|
32
|
+
return jid;
|
|
33
|
+
}
|
|
34
|
+
if (!jid.endsWith('@lid')) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
const lid = jid.replace('@lid', '');
|
|
38
|
+
// Estratégia 1: Cache do LIDMappingService (mais rápido - instantâneo)
|
|
39
|
+
try {
|
|
40
|
+
if (this.lidMappingService) {
|
|
41
|
+
const pn = await this.lidMappingService.getPNForLID(lid);
|
|
42
|
+
if (pn) {
|
|
43
|
+
return (0, ID_1.getID)(pn);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
// Ignora erro
|
|
49
|
+
}
|
|
50
|
+
// Estratégia 2: Store do Baileys (rápido se disponível)
|
|
51
|
+
try {
|
|
52
|
+
if ((_b = (_a = this.socket) === null || _a === void 0 ? void 0 : _a.signalRepository) === null || _b === void 0 ? void 0 : _b.lidMapping) {
|
|
53
|
+
const pn = await this.socket.signalRepository.lidMapping.getPNForLID(lid);
|
|
54
|
+
if (pn) {
|
|
55
|
+
// Armazena no cache para próxima vez
|
|
56
|
+
if (this.lidMappingService) {
|
|
57
|
+
await this.lidMappingService.storeLIDPNMapping(lid, pn);
|
|
58
|
+
}
|
|
59
|
+
return (0, ID_1.getID)(pn);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
// Ignora erro
|
|
65
|
+
}
|
|
66
|
+
// Estratégia 3: Verifica se o LID é um número válido (alguns LIDs são números de telefone)
|
|
67
|
+
// IMPORTANTE: Isso NÃO funciona na maioria dos casos - LIDs não são números de telefone
|
|
68
|
+
// Removido para evitar falsos positivos que podem causar envio para número errado
|
|
69
|
+
// O LID é um identificador interno do WhatsApp, não o número de telefone
|
|
70
|
+
// Se quickOnly, retorna null imediatamente (não tenta mais)
|
|
71
|
+
if (quickOnly) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
// Estratégia 4: Tenta algumas vezes com delays pequenos (para casos onde o mapeamento está sendo atualizado)
|
|
75
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
76
|
+
try {
|
|
77
|
+
if ((_d = (_c = this.socket) === null || _c === void 0 ? void 0 : _c.signalRepository) === null || _d === void 0 ? void 0 : _d.lidMapping) {
|
|
78
|
+
const pn = await this.socket.signalRepository.lidMapping.getPNForLID(lid);
|
|
79
|
+
if (pn) {
|
|
80
|
+
// Armazena no cache
|
|
81
|
+
if (this.lidMappingService) {
|
|
82
|
+
await this.lidMappingService.storeLIDPNMapping(lid, pn);
|
|
83
|
+
}
|
|
84
|
+
return (0, ID_1.getID)(pn);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Aguarda um pouco antes de tentar novamente
|
|
88
|
+
if (attempt < 2) {
|
|
89
|
+
await new Promise(resolve => setTimeout(resolve, 100 * (attempt + 1)));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
// Ignora erro
|
|
94
|
+
if (attempt < 2) {
|
|
95
|
+
await new Promise(resolve => setTimeout(resolve, 100 * (attempt + 1)));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Normaliza JID LID de forma síncrona quando possível (usando apenas cache)
|
|
103
|
+
* Retorna o JID original se não conseguir normalizar
|
|
104
|
+
*/
|
|
105
|
+
normalizeJIDSync(jid) {
|
|
106
|
+
if (!jid || (0, JIDPatterns_1.isValidJID)(jid)) {
|
|
107
|
+
return jid;
|
|
108
|
+
}
|
|
109
|
+
if (!jid.endsWith('@lid')) {
|
|
110
|
+
return jid;
|
|
111
|
+
}
|
|
112
|
+
const lid = jid.replace('@lid', '');
|
|
113
|
+
// Tenta obter do cache síncronamente
|
|
114
|
+
try {
|
|
115
|
+
// Acessa o cache através do ICacheService
|
|
116
|
+
const cacheService = this.lidMappingService.cache;
|
|
117
|
+
if (cacheService && typeof cacheService.getLIDMappingCache === 'function') {
|
|
118
|
+
const cache = cacheService.getLIDMappingCache();
|
|
119
|
+
if (cache) {
|
|
120
|
+
const cachedPN = cache.get(`lid:${lid}`);
|
|
121
|
+
if (cachedPN && typeof cachedPN === 'string') {
|
|
122
|
+
return (0, ID_1.getID)(cachedPN);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
// Ignora erro
|
|
129
|
+
}
|
|
130
|
+
// IMPORTANTE: Não tenta extrair número do LID - LIDs não são números de telefone
|
|
131
|
+
// Isso pode causar envio para número errado
|
|
132
|
+
return jid;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.LIDNormalizationService = LIDNormalizationService;
|
|
136
|
+
//# sourceMappingURL=LIDNormalizationService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LIDNormalizationService.js","sourceRoot":"","sources":["../../../src/wa/services/LIDNormalizationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Logger } from 'pino';
|
|
2
|
+
import { ILoggerService } from '../interfaces/ILoggerService';
|
|
3
|
+
export type LogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent';
|
|
4
|
+
export declare class LoggerService implements ILoggerService {
|
|
5
|
+
private logger;
|
|
6
|
+
private level;
|
|
7
|
+
constructor(level?: LogLevel);
|
|
8
|
+
/**
|
|
9
|
+
* Obtém o logger pino (para uso direto se necessário)
|
|
10
|
+
*/
|
|
11
|
+
getLogger(): Logger;
|
|
12
|
+
/**
|
|
13
|
+
* Log fatal
|
|
14
|
+
*/
|
|
15
|
+
fatal(obj: any, msg?: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Log error
|
|
18
|
+
*/
|
|
19
|
+
error(obj: any, msg?: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Log warn
|
|
22
|
+
*/
|
|
23
|
+
warn(obj: any, msg?: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Log info
|
|
26
|
+
*/
|
|
27
|
+
info(obj: any, msg?: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Log debug
|
|
30
|
+
*/
|
|
31
|
+
debug(obj: any, msg?: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Log trace
|
|
34
|
+
*/
|
|
35
|
+
trace(obj: any, msg?: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Define o nível de log
|
|
38
|
+
*/
|
|
39
|
+
setLevel(level: LogLevel): void;
|
|
40
|
+
/**
|
|
41
|
+
* Retorna o nível atual
|
|
42
|
+
*/
|
|
43
|
+
getLevel(): LogLevel;
|
|
44
|
+
}
|