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.
Files changed (144) hide show
  1. package/README.md +195 -20
  2. package/lib/bot/BotEvents.d.ts +2 -0
  3. package/lib/bot/BotEvents.js.map +1 -1
  4. package/lib/client/Client.js +93 -28
  5. package/lib/client/Client.js.map +1 -1
  6. package/lib/client/ClientFunctionHandler.js +39 -3
  7. package/lib/client/ClientFunctionHandler.js.map +1 -1
  8. package/lib/telegram/TelegramAuth.js +36 -1
  9. package/lib/telegram/TelegramAuth.js.map +1 -1
  10. package/lib/telegram/TelegramBot.d.ts +11 -0
  11. package/lib/telegram/TelegramBot.js +101 -15
  12. package/lib/telegram/TelegramBot.js.map +1 -1
  13. package/lib/telegram/TelegramEvents.d.ts +8 -1
  14. package/lib/telegram/TelegramEvents.js +67 -30
  15. package/lib/telegram/TelegramEvents.js.map +1 -1
  16. package/lib/telegram/TelegramSendingController.js +59 -17
  17. package/lib/telegram/TelegramSendingController.js.map +1 -1
  18. package/lib/telegram/TelegramToRompotConverter.js +44 -14
  19. package/lib/telegram/TelegramToRompotConverter.js.map +1 -1
  20. package/lib/wa/Auth.js +17 -5
  21. package/lib/wa/Auth.js.map +1 -1
  22. package/lib/wa/ConfigWAEvents.d.ts +6 -10
  23. package/lib/wa/ConfigWAEvents.js +220 -426
  24. package/lib/wa/ConfigWAEvents.js.map +1 -1
  25. package/lib/wa/ConvertWAMessage.js +28 -19
  26. package/lib/wa/ConvertWAMessage.js.map +1 -1
  27. package/lib/wa/ID.d.ts +10 -1
  28. package/lib/wa/ID.js +22 -2
  29. package/lib/wa/ID.js.map +1 -1
  30. package/lib/wa/WhatsAppBot.d.ts +58 -11
  31. package/lib/wa/WhatsAppBot.js +365 -648
  32. package/lib/wa/WhatsAppBot.js.map +1 -1
  33. package/lib/wa/constants/ConfigDefaults.d.ts +23 -0
  34. package/lib/wa/constants/ConfigDefaults.js +27 -0
  35. package/lib/wa/constants/ConfigDefaults.js.map +1 -0
  36. package/lib/wa/constants/DisconnectReasons.d.ts +24 -0
  37. package/lib/wa/constants/DisconnectReasons.js +36 -0
  38. package/lib/wa/constants/DisconnectReasons.js.map +1 -0
  39. package/lib/wa/constants/ErrorCodes.d.ts +28 -0
  40. package/lib/wa/constants/ErrorCodes.js +32 -0
  41. package/lib/wa/constants/ErrorCodes.js.map +1 -0
  42. package/lib/wa/constants/JIDPatterns.d.ts +23 -0
  43. package/lib/wa/constants/JIDPatterns.js +38 -0
  44. package/lib/wa/constants/JIDPatterns.js.map +1 -0
  45. package/lib/wa/constants/Timeouts.d.ts +11 -0
  46. package/lib/wa/constants/Timeouts.js +15 -0
  47. package/lib/wa/constants/Timeouts.js.map +1 -0
  48. package/lib/wa/core/ConnectionManager.d.ts +84 -0
  49. package/lib/wa/core/ConnectionManager.js +256 -0
  50. package/lib/wa/core/ConnectionManager.js.map +1 -0
  51. package/lib/wa/core/SessionManager.d.ts +29 -0
  52. package/lib/wa/core/SessionManager.js +155 -0
  53. package/lib/wa/core/SessionManager.js.map +1 -0
  54. package/lib/wa/core/StateManager.d.ts +49 -0
  55. package/lib/wa/core/StateManager.js +135 -0
  56. package/lib/wa/core/StateManager.js.map +1 -0
  57. package/lib/wa/events/CallEventHandler.d.ts +17 -0
  58. package/lib/wa/events/CallEventHandler.js +155 -0
  59. package/lib/wa/events/CallEventHandler.js.map +1 -0
  60. package/lib/wa/events/ChatEventHandler.d.ts +12 -0
  61. package/lib/wa/events/ChatEventHandler.js +74 -0
  62. package/lib/wa/events/ChatEventHandler.js.map +1 -0
  63. package/lib/wa/events/ConnectionEventHandler.d.ts +43 -0
  64. package/lib/wa/events/ConnectionEventHandler.js +305 -0
  65. package/lib/wa/events/ConnectionEventHandler.js.map +1 -0
  66. package/lib/wa/events/ContactEventHandler.d.ts +12 -0
  67. package/lib/wa/events/ContactEventHandler.js +55 -0
  68. package/lib/wa/events/ContactEventHandler.js.map +1 -0
  69. package/lib/wa/events/EventManager.d.ts +43 -0
  70. package/lib/wa/events/EventManager.js +198 -0
  71. package/lib/wa/events/EventManager.js.map +1 -0
  72. package/lib/wa/events/GroupEventHandler.d.ts +12 -0
  73. package/lib/wa/events/GroupEventHandler.js +74 -0
  74. package/lib/wa/events/GroupEventHandler.js.map +1 -0
  75. package/lib/wa/events/HistoryEventHandler.d.ts +16 -0
  76. package/lib/wa/events/HistoryEventHandler.js +101 -0
  77. package/lib/wa/events/HistoryEventHandler.js.map +1 -0
  78. package/lib/wa/events/LIDMappingEventHandler.d.ts +20 -0
  79. package/lib/wa/events/LIDMappingEventHandler.js +39 -0
  80. package/lib/wa/events/LIDMappingEventHandler.js.map +1 -0
  81. package/lib/wa/events/MessageEventHandler.d.ts +16 -0
  82. package/lib/wa/events/MessageEventHandler.js +218 -0
  83. package/lib/wa/events/MessageEventHandler.js.map +1 -0
  84. package/lib/wa/interfaces/ICacheService.d.ts +12 -0
  85. package/lib/wa/interfaces/ICacheService.js +3 -0
  86. package/lib/wa/interfaces/ICacheService.js.map +1 -0
  87. package/lib/wa/interfaces/IConnectionManager.d.ts +15 -0
  88. package/lib/wa/interfaces/IConnectionManager.js +3 -0
  89. package/lib/wa/interfaces/IConnectionManager.js.map +1 -0
  90. package/lib/wa/interfaces/IErrorHandler.d.ts +9 -0
  91. package/lib/wa/interfaces/IErrorHandler.js +3 -0
  92. package/lib/wa/interfaces/IErrorHandler.js.map +1 -0
  93. package/lib/wa/interfaces/ILoggerService.d.ts +13 -0
  94. package/lib/wa/interfaces/ILoggerService.js +3 -0
  95. package/lib/wa/interfaces/ILoggerService.js.map +1 -0
  96. package/lib/wa/interfaces/ISessionManager.d.ts +16 -0
  97. package/lib/wa/interfaces/ISessionManager.js +3 -0
  98. package/lib/wa/interfaces/ISessionManager.js.map +1 -0
  99. package/lib/wa/interfaces/IStateManager.d.ts +41 -0
  100. package/lib/wa/interfaces/IStateManager.js +3 -0
  101. package/lib/wa/interfaces/IStateManager.js.map +1 -0
  102. package/lib/wa/operations/ChatOperations.d.ts +117 -0
  103. package/lib/wa/operations/ChatOperations.js +349 -0
  104. package/lib/wa/operations/ChatOperations.js.map +1 -0
  105. package/lib/wa/operations/GroupOperations.d.ts +31 -0
  106. package/lib/wa/operations/GroupOperations.js +128 -0
  107. package/lib/wa/operations/GroupOperations.js.map +1 -0
  108. package/lib/wa/operations/MessageOperations.d.ts +69 -0
  109. package/lib/wa/operations/MessageOperations.js +335 -0
  110. package/lib/wa/operations/MessageOperations.js.map +1 -0
  111. package/lib/wa/operations/UserOperations.d.ts +100 -0
  112. package/lib/wa/operations/UserOperations.js +216 -0
  113. package/lib/wa/operations/UserOperations.js.map +1 -0
  114. package/lib/wa/services/CacheService.d.ts +45 -0
  115. package/lib/wa/services/CacheService.js +93 -0
  116. package/lib/wa/services/CacheService.js.map +1 -0
  117. package/lib/wa/services/ErrorHandler.d.ts +26 -0
  118. package/lib/wa/services/ErrorHandler.js +73 -0
  119. package/lib/wa/services/ErrorHandler.js.map +1 -0
  120. package/lib/wa/services/LIDMappingService.d.ts +42 -0
  121. package/lib/wa/services/LIDMappingService.js +132 -0
  122. package/lib/wa/services/LIDMappingService.js.map +1 -0
  123. package/lib/wa/services/LIDNormalizationService.d.ts +30 -0
  124. package/lib/wa/services/LIDNormalizationService.js +136 -0
  125. package/lib/wa/services/LIDNormalizationService.js.map +1 -0
  126. package/lib/wa/services/LoggerService.d.ts +44 -0
  127. package/lib/wa/services/LoggerService.js +85 -0
  128. package/lib/wa/services/LoggerService.js.map +1 -0
  129. package/lib/wa/services/PendingMessageQueue.d.ts +46 -0
  130. package/lib/wa/services/PendingMessageQueue.js +119 -0
  131. package/lib/wa/services/PendingMessageQueue.js.map +1 -0
  132. package/lib/wa/services/RetryService.d.ts +25 -0
  133. package/lib/wa/services/RetryService.js +59 -0
  134. package/lib/wa/services/RetryService.js.map +1 -0
  135. package/lib/wa/utils/ConfigValidator.d.ts +15 -0
  136. package/lib/wa/utils/ConfigValidator.js +66 -0
  137. package/lib/wa/utils/ConfigValidator.js.map +1 -0
  138. package/lib/wa/utils/ErrorUtils.d.ts +29 -0
  139. package/lib/wa/utils/ErrorUtils.js +66 -0
  140. package/lib/wa/utils/ErrorUtils.js.map +1 -0
  141. package/lib/wa/utils/Validation.d.ts +18 -0
  142. package/lib/wa/utils/Validation.js +40 -0
  143. package/lib/wa/utils/Validation.js.map +1 -0
  144. 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
+ }