kage-baileys 3.0.6 → 3.2.4

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 (217) hide show
  1. package/Example/connection.cjs +4 -0
  2. package/README.MD +4726 -48
  3. package/README.md +5941 -0
  4. package/WAProto/WAProto.proto +3395 -415
  5. package/WAProto/compat.cjs +12 -0
  6. package/WAProto/index.d.ts +47104 -19888
  7. package/WAProto/index.js +131979 -57361
  8. package/lib/Addon/http-error.js +43 -0
  9. package/lib/Addon/index.js +32 -0
  10. package/lib/Addon/keyed-db.js +250 -0
  11. package/lib/Addon/link-preview.js +82 -0
  12. package/lib/Defaults/baileys-version.json +3 -0
  13. package/lib/Defaults/connection.js +110 -0
  14. package/lib/Defaults/constants.js +156 -0
  15. package/lib/Defaults/history.js +46 -0
  16. package/lib/Defaults/index.js +230 -0
  17. package/lib/Defaults/media.js +104 -0
  18. package/lib/Defaults/phonenumber-mcc.json +223 -0
  19. package/lib/Defaults/prefix.js +44 -0
  20. package/lib/Extensions/business-advanced.js +382 -0
  21. package/lib/Extensions/business.js +159 -0
  22. package/lib/Extensions/chats-advanced.js +1106 -0
  23. package/lib/Extensions/chats.js +349 -0
  24. package/lib/Extensions/communities-advanced.js +430 -0
  25. package/lib/Extensions/community.js +94 -0
  26. package/lib/Extensions/groups-advanced.js +343 -0
  27. package/lib/Extensions/index.js +30 -0
  28. package/lib/Extensions/messages-recv-advanced.js +1690 -0
  29. package/lib/Extensions/messages-send-advanced.js +622 -0
  30. package/lib/Extensions/messages-send.js +1380 -0
  31. package/lib/Extensions/newsletter-advanced.js +228 -0
  32. package/lib/Extensions/newsletter.js +72 -0
  33. package/lib/Extensions/socket.js +389 -0
  34. package/lib/Modded/message_builder.js +2084 -4
  35. package/lib/Signal/Group/ciphertext-message.js +54 -0
  36. package/lib/Signal/Group/group-session-builder.js +124 -0
  37. package/lib/Signal/Group/group_cipher.js +216 -0
  38. package/lib/Signal/Group/index.js +124 -0
  39. package/lib/Signal/Group/keyhelper.js +108 -0
  40. package/lib/Signal/Group/sender-chain-key.js +83 -0
  41. package/lib/Signal/Group/sender-key-distribution-message.js +157 -0
  42. package/lib/Signal/Group/sender-key-message.js +166 -0
  43. package/lib/Signal/Group/sender-key-name.js +130 -0
  44. package/lib/Signal/Group/sender-key-record.js +113 -0
  45. package/lib/Signal/Group/sender-key-state.js +208 -0
  46. package/lib/Signal/Group/sender-message-key.js +82 -0
  47. package/lib/Signal/libsignal.js +935 -0
  48. package/lib/Signal/lid-mapping.js +545 -1
  49. package/lib/Socket/Client/index.js +60 -0
  50. package/lib/Socket/Client/types.js +51 -0
  51. package/lib/Socket/Client/websocket.js +152 -0
  52. package/lib/Socket/business.js +831 -0
  53. package/lib/Socket/chats.js +2535 -49
  54. package/lib/Socket/communities.js +450 -1
  55. package/lib/Socket/community.js +1022 -0
  56. package/lib/Socket/dugong.js +1 -1
  57. package/lib/Socket/groups.js +747 -0
  58. package/lib/Socket/index.js +60 -2
  59. package/lib/Socket/messages-recv.js +3450 -5
  60. package/lib/Socket/messages-send.js +3123 -0
  61. package/lib/Socket/mex.js +126 -1
  62. package/lib/Socket/newsletter.js +465 -0
  63. package/lib/Socket/socket.js +2217 -1
  64. package/lib/Store/index.js +79 -0
  65. package/lib/Store/make-cache-manager-store.js +186 -0
  66. package/lib/Store/make-in-memory-store.js +878 -0
  67. package/lib/Store/make-ordered-dictionary.js +187 -0
  68. package/lib/Store/object-repository.js +78 -0
  69. package/lib/Types/Auth.js +25 -0
  70. package/lib/Types/Bussines.js +25 -1
  71. package/lib/Types/Call.js +25 -0
  72. package/lib/Types/Chat.js +39 -0
  73. package/lib/Types/Contact.js +25 -0
  74. package/lib/Types/Events.js +25 -0
  75. package/lib/Types/GroupMetadata.js +25 -0
  76. package/lib/Types/Label.js +76 -0
  77. package/lib/Types/LabelAssociation.js +40 -0
  78. package/lib/Types/Message.js +57 -0
  79. package/lib/Types/Mex.js +56 -1
  80. package/lib/Types/MexUpdates.js +46 -0
  81. package/lib/Types/Newsletter.js +56 -0
  82. package/lib/Types/Product.js +25 -0
  83. package/lib/Types/RichType.js +23 -0
  84. package/lib/Types/Signal.js +25 -0
  85. package/lib/Types/Socket.js +25 -0
  86. package/lib/Types/State.js +92 -0
  87. package/lib/Types/USync.js +25 -0
  88. package/lib/Types/index.js +133 -0
  89. package/lib/Utils/auth-utils.js +703 -0
  90. package/lib/Utils/automation-tools.js +51 -16
  91. package/lib/Utils/baileys-event-stream.js +146 -0
  92. package/lib/Utils/browser-utils.js +95 -0
  93. package/lib/Utils/business.js +525 -0
  94. package/lib/Utils/chat-utils.js +1861 -0
  95. package/lib/Utils/companion-reg-client-utils.js +55 -1
  96. package/lib/Utils/crypto.js +355 -0
  97. package/lib/Utils/decode-wa-message.js +709 -0
  98. package/lib/Utils/event-buffer.js +1323 -8
  99. package/lib/Utils/generics.js +945 -1
  100. package/lib/Utils/history.js +266 -0
  101. package/lib/Utils/identity-change-handler.js +62 -1
  102. package/lib/Utils/index.js +114 -0
  103. package/lib/Utils/link-preview.js +179 -0
  104. package/lib/Utils/logger.js +42 -0
  105. package/lib/Utils/lt-hash.js +73 -0
  106. package/lib/Utils/make-mutex.js +104 -0
  107. package/lib/Utils/message-inspector.js +110 -0
  108. package/lib/Utils/message-retry-manager.js +507 -2
  109. package/lib/Utils/messages-media.js +1931 -1
  110. package/lib/Utils/messages.js +3748 -0
  111. package/lib/Utils/noise-handler.js +423 -0
  112. package/lib/Utils/offline-node-processor.js +53 -1
  113. package/lib/Utils/pre-key-manager.js +255 -1
  114. package/lib/Utils/process-message.js +1592 -0
  115. package/lib/Utils/reporting-utils.js +272 -1
  116. package/lib/Utils/rich-message-utils.js +377 -0
  117. package/lib/Utils/rich-messages.js +1 -1
  118. package/lib/Utils/signal.js +437 -0
  119. package/lib/Utils/stanza-ack.js +51 -1
  120. package/lib/Utils/status-refresh.js +37 -0
  121. package/lib/Utils/status-tools.js +4 -2
  122. package/lib/Utils/sync-action-utils.js +63 -1
  123. package/lib/Utils/tc-token-utils.js +185 -1
  124. package/lib/Utils/terminal-banner.js +31 -0
  125. package/lib/Utils/use-multi-file-auth-state.js +271 -0
  126. package/lib/Utils/use-single-file-auth-state.js +108 -0
  127. package/lib/Utils/use-sqlite-auth-state.js +142 -0
  128. package/lib/Utils/validate-connection.js +497 -1
  129. package/lib/Utils/view-once-compat.js +13 -5
  130. package/lib/VoIP/audio-feeder.js +150 -0
  131. package/lib/VoIP/index.js +289 -0
  132. package/lib/VoIP/relay-transport.js +608 -0
  133. package/lib/VoIP/signaling.js +583 -0
  134. package/lib/VoIP/types.js +30 -0
  135. package/lib/VoIP/wasm-engine.js +1261 -2
  136. package/lib/VoIP/worker-bootstrap.js +1090 -2
  137. package/lib/WABinary/constants.js +2805 -0
  138. package/lib/WABinary/decode.js +649 -2
  139. package/lib/WABinary/encode.js +564 -2
  140. package/lib/WABinary/generic-utils.js +401 -0
  141. package/lib/WABinary/index.js +82 -0
  142. package/lib/WABinary/jid-utils.js +290 -0
  143. package/lib/WABinary/types.js +25 -0
  144. package/lib/WAM/BinaryInfo.js +50 -0
  145. package/lib/WAM/constants.js +45747 -0
  146. package/lib/WAM/encode.js +393 -0
  147. package/lib/WAM/index.js +78 -0
  148. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +135 -0
  149. package/lib/WAUSync/Protocols/USyncContactProtocol.js +110 -0
  150. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +142 -0
  151. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +85 -0
  152. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +69 -0
  153. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +107 -0
  154. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +38 -1
  155. package/lib/WAUSync/Protocols/index.js +83 -0
  156. package/lib/WAUSync/USyncQuery.js +241 -2
  157. package/lib/WAUSync/USyncUser.js +86 -0
  158. package/lib/WAUSync/index.js +78 -0
  159. package/lib/assets/wasm/loader.js +1875 -1
  160. package/lib/assets/wasm/worker-modules.js +11047 -1
  161. package/lib/index.d.ts +126 -0
  162. package/lib/index.js +53 -21
  163. package/lib/index.mjs +437 -0
  164. package/licenses/upstream-MIT.txt +22 -0
  165. package/maintenance/api-coverage.json +1642 -0
  166. package/maintenance/archivos-sha256.json +207 -0
  167. package/maintenance/consumer-validation.log +3 -0
  168. package/maintenance/dependency-audit.json +4 -4
  169. package/maintenance/extension-inventory.json +57 -0
  170. package/maintenance/protocol-update.json +1101 -0
  171. package/maintenance/protocol-wire-audit.json +4 -0
  172. package/maintenance/reference-socket-surface.json +209 -0
  173. package/maintenance/resumen-validacion.json +50 -0
  174. package/maintenance/validation.log +2725 -0
  175. package/maintenance/verification.json +566 -0
  176. package/package.json +107 -9
  177. package/scripts/check-imports.cjs +10 -0
  178. package/scripts/check-package.cjs +40 -0
  179. package/scripts/check-syntax.cjs +1 -1
  180. package/scripts/generate-protobuf.cjs +6 -1
  181. package/scripts/generate-public-types.cjs +9 -0
  182. package/scripts/kage-base64-fix.cjs +45 -0
  183. package/scripts/maintenance.cjs +10 -0
  184. package/test/advanced.test.cjs +24 -0
  185. package/test/base64-fix.test.cjs +49 -0
  186. package/test/maintenance.test.cjs +1 -1
  187. package/test/npm-publication.test.cjs +141 -0
  188. package/test/recepcion-reparada.test.cjs +98 -0
  189. package/test/resilience-binary.test.cjs +69 -0
  190. package/test/resilience-transport.test.cjs +34 -0
  191. package/test/types.test.ts +5 -0
  192. package/test/upgrade.test.cjs +104 -0
  193. package/tsconfig.json +20 -0
  194. package/WAProto/p.html +0 -1
  195. package/lib/KageExtra/Modded/message_builder.js +0 -2330
  196. package/lib/KageExtra/VoIP/audio-feeder.js +0 -136
  197. package/lib/KageExtra/VoIP/index.js +0 -282
  198. package/lib/KageExtra/VoIP/relay-transport.js +0 -559
  199. package/lib/KageExtra/VoIP/signaling.js +0 -603
  200. package/lib/KageExtra/VoIP/types.js +0 -17
  201. package/lib/KageExtra/VoIP/wasm-engine.js +0 -1214
  202. package/lib/KageExtra/VoIP/worker-bootstrap.js +0 -1042
  203. package/lib/KageExtra/assets/wasm/loader.js +0 -5
  204. package/lib/KageExtra/assets/wasm/whatsapp.wasm +0 -0
  205. package/lib/KageExtra/assets/wasm/worker-modules.js +0 -273
  206. package/lib/KageExtra/index.js +0 -3
  207. package/lib/KageExtra/package.json +0 -1
  208. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -53
  209. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -24
  210. package/maintenance/revision-full-check.txt +0 -1097
  211. package/maintenance/revision-library-tests.tap +0 -1088
  212. package/maintenance/revision-protobuf.txt +0 -5
  213. package/maintenance/revision-syntax.txt +0 -5
  214. package/maintenance/schema-coverage.json +0 -23
  215. package/maintenance/schema-merge.json +0 -30
  216. package/maintenance/validation-node20.txt +0 -191
  217. package/maintenance/validation-node22.txt +0 -237
@@ -30,3 +30,113 @@ class USyncContactProtocol {
30
30
  }
31
31
  }
32
32
  exports.USyncContactProtocol = USyncContactProtocol;
33
+
34
+ // Kage: compatibilidad de API.
35
+ const __kageModule93 = (() => {
36
+ const module = { exports: {} }; const exports = module.exports;
37
+ "use strict"
38
+
39
+ Object.defineProperty(exports, "__esModule", { value: true })
40
+
41
+ const { assertNodeErrorFree } = require("../../WABinary")
42
+
43
+ class USyncContactProtocol {
44
+ constructor() {
45
+ this.name = 'contact'
46
+ }
47
+ getQueryElement() {
48
+ return {
49
+ tag: 'contact',
50
+ attrs: {},
51
+ }
52
+ }
53
+ getUserElement(user) {
54
+ //TODO: Implement type / username fields (not yet supported)
55
+ return {
56
+ tag: 'contact',
57
+ attrs: {},
58
+ content: user.phone,
59
+ }
60
+ }
61
+ parser(node) {
62
+ if (node.tag === 'contact') {
63
+ assertNodeErrorFree(node)
64
+ return node?.attrs?.type === 'in'
65
+ }
66
+ return false
67
+ }
68
+ }
69
+
70
+ module.exports = {
71
+ USyncContactProtocol
72
+ }
73
+ return module.exports;
74
+ })();
75
+ for (const key of Object.keys(__kageModule93)) {
76
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule93[key]});
77
+ }
78
+
79
+ // Kage: funciones avanzadas.
80
+ const __kageModule201 = (() => {
81
+ const module = { exports: {} }; const exports = module.exports;
82
+ "use strict";
83
+ Object.defineProperty(exports, "__esModule", { value: true });
84
+ exports.USyncContactProtocol = void 0;
85
+ const index_js_1 = require("../../WABinary/index.js");
86
+ class USyncContactProtocol {
87
+ constructor() {
88
+ this.name = 'contact';
89
+ }
90
+ getQueryElement() {
91
+ return {
92
+ tag: 'contact',
93
+ attrs: {}
94
+ };
95
+ }
96
+ getUserElement(user) {
97
+ if (user.phone) {
98
+ return {
99
+ tag: 'contact',
100
+ attrs: {},
101
+ content: user.phone
102
+ };
103
+ }
104
+ if (user.username) {
105
+ return {
106
+ tag: 'contact',
107
+ attrs: {
108
+ username: user.username,
109
+ ...(user.usernameKey ? { pin: user.usernameKey } : {}),
110
+ ...(user.lid ? { lid: user.lid } : {})
111
+ }
112
+ };
113
+ }
114
+ if (user.type) {
115
+ return {
116
+ tag: 'contact',
117
+ attrs: {
118
+ type: user.type
119
+ }
120
+ };
121
+ }
122
+ return {
123
+ tag: 'contact',
124
+ attrs: {}
125
+ };
126
+ }
127
+ parser(node) {
128
+ if (node.tag === 'contact') {
129
+ (0, index_js_1.assertNodeErrorFree)(node);
130
+ return node?.attrs?.type === 'in';
131
+ }
132
+ return false;
133
+ }
134
+ }
135
+ exports.USyncContactProtocol = USyncContactProtocol;
136
+
137
+ return module.exports;
138
+ })();
139
+ for (const key of Object.keys(__kageModule201)) {
140
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule201[key]});
141
+ }
142
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule201, configurable:true});
@@ -55,3 +55,145 @@ class USyncDeviceProtocol {
55
55
  }
56
56
  }
57
57
  exports.USyncDeviceProtocol = USyncDeviceProtocol;
58
+
59
+ // Kage: compatibilidad de API.
60
+ const __kageModule94 = (() => {
61
+ const module = { exports: {} }; const exports = module.exports;
62
+ "use strict"
63
+
64
+ Object.defineProperty(exports, "__esModule", { value: true })
65
+
66
+ const {
67
+ getBinaryNodeChild,
68
+ assertNodeErrorFree
69
+ } = require("../../WABinary")
70
+
71
+ class USyncDeviceProtocol {
72
+ constructor() {
73
+ this.name = 'devices'
74
+ }
75
+ getQueryElement() {
76
+ return {
77
+ tag: 'devices',
78
+ attrs: {
79
+ version: '2',
80
+ },
81
+ }
82
+ }
83
+ getUserElement( /* user: USyncUser */) {
84
+ //TODO: Implement device phashing, ts and expectedTs
85
+ //TODO: if all are not present, return null <- current behavior
86
+ //TODO: otherwise return a node w tag 'devices' w those as attrs
87
+ return null
88
+ }
89
+ parser(node) {
90
+ const deviceList = []
91
+ let keyIndex = undefined
92
+ if (node.tag === 'devices') {
93
+ assertNodeErrorFree(node)
94
+ const deviceListNode = getBinaryNodeChild(node, 'device-list')
95
+ const keyIndexNode = getBinaryNodeChild(node, 'key-index-list')
96
+ if (Array.isArray(deviceListNode?.content)) {
97
+ for (const { tag, attrs } of deviceListNode.content) {
98
+ const id = +attrs.id
99
+ const keyIndex = +attrs['key-index']
100
+ if (tag === 'device') {
101
+ deviceList.push({
102
+ id,
103
+ keyIndex,
104
+ isHosted: !!(attrs['is_hosted'] && attrs['is_hosted'] === 'true')
105
+ })
106
+ }
107
+ }
108
+ }
109
+ if (keyIndexNode?.tag === 'key-index-list') {
110
+ keyIndex = {
111
+ timestamp: +keyIndexNode.attrs['ts'],
112
+ signedKeyIndex: keyIndexNode?.content,
113
+ expectedTimestamp: keyIndexNode.attrs['expected_ts'] ? +keyIndexNode.attrs['expected_ts'] : undefined
114
+ }
115
+ }
116
+ }
117
+ return {
118
+ deviceList,
119
+ keyIndex
120
+ }
121
+ }
122
+ }
123
+
124
+ module.exports = {
125
+ USyncDeviceProtocol
126
+ }
127
+ return module.exports;
128
+ })();
129
+ for (const key of Object.keys(__kageModule94)) {
130
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule94[key]});
131
+ }
132
+
133
+ // Kage: funciones avanzadas.
134
+ const __kageModule202 = (() => {
135
+ const module = { exports: {} }; const exports = module.exports;
136
+ "use strict";
137
+ Object.defineProperty(exports, "__esModule", { value: true });
138
+ exports.USyncDeviceProtocol = void 0;
139
+ const index_js_1 = require("../../WABinary/index.js");
140
+ class USyncDeviceProtocol {
141
+ constructor() {
142
+ this.name = 'devices';
143
+ }
144
+ getQueryElement() {
145
+ return {
146
+ tag: 'devices',
147
+ attrs: {
148
+ version: '2'
149
+ }
150
+ };
151
+ }
152
+ getUserElement( /* user: USyncUser */) {
153
+ //TODO: Implement device phashing, ts and expectedTs
154
+ //TODO: if all are not present, return null <- current behavior
155
+ //TODO: otherwise return a node w tag 'devices' w those as attrs
156
+ return null;
157
+ }
158
+ parser(node) {
159
+ const deviceList = [];
160
+ let keyIndex = undefined;
161
+ if (node.tag === 'devices') {
162
+ (0, index_js_1.assertNodeErrorFree)(node);
163
+ const deviceListNode = (0, index_js_1.getBinaryNodeChild)(node, 'device-list');
164
+ const keyIndexNode = (0, index_js_1.getBinaryNodeChild)(node, 'key-index-list');
165
+ if (Array.isArray(deviceListNode?.content)) {
166
+ for (const { tag, attrs } of deviceListNode.content) {
167
+ const id = +attrs.id;
168
+ const keyIndex = +attrs['key-index'];
169
+ if (tag === 'device') {
170
+ deviceList.push({
171
+ id,
172
+ keyIndex,
173
+ isHosted: !!(attrs['is_hosted'] && attrs['is_hosted'] === 'true')
174
+ });
175
+ }
176
+ }
177
+ }
178
+ if (keyIndexNode?.tag === 'key-index-list') {
179
+ keyIndex = {
180
+ timestamp: +keyIndexNode.attrs['ts'],
181
+ signedKeyIndex: keyIndexNode?.content,
182
+ expectedTimestamp: keyIndexNode.attrs['expected_ts'] ? +keyIndexNode.attrs['expected_ts'] : undefined
183
+ };
184
+ }
185
+ }
186
+ return {
187
+ deviceList,
188
+ keyIndex
189
+ };
190
+ }
191
+ }
192
+ exports.USyncDeviceProtocol = USyncDeviceProtocol;
193
+
194
+ return module.exports;
195
+ })();
196
+ for (const key of Object.keys(__kageModule202)) {
197
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule202[key]});
198
+ }
199
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule202, configurable:true});
@@ -28,3 +28,88 @@ class USyncDisappearingModeProtocol {
28
28
  }
29
29
  }
30
30
  exports.USyncDisappearingModeProtocol = USyncDisappearingModeProtocol;
31
+
32
+ // Kage: compatibilidad de API.
33
+ const __kageModule95 = (() => {
34
+ const module = { exports: {} }; const exports = module.exports;
35
+ "use strict"
36
+
37
+ Object.defineProperty(exports, "__esModule", { value: true })
38
+
39
+ const { assertNodeErrorFree } = require("../../WABinary")
40
+
41
+ class USyncDisappearingModeProtocol {
42
+ constructor() {
43
+ this.name = 'disappearing_mode'
44
+ }
45
+ getQueryElement() {
46
+ return {
47
+ tag: 'disappearing_mode',
48
+ attrs: {},
49
+ }
50
+ }
51
+ getUserElement() {
52
+ return null
53
+ }
54
+ parser(node) {
55
+ if (node.tag === 'disappearing_mode') {
56
+ assertNodeErrorFree(node)
57
+ const duration = +node?.attrs?.duration
58
+ const setAt = new Date(+(node?.attrs?.t || 0) * 1000)
59
+ return {
60
+ duration,
61
+ setAt,
62
+ }
63
+ }
64
+ }
65
+ }
66
+
67
+ module.exports = {
68
+ USyncDisappearingModeProtocol
69
+ }
70
+ return module.exports;
71
+ })();
72
+ for (const key of Object.keys(__kageModule95)) {
73
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule95[key]});
74
+ }
75
+
76
+ // Kage: funciones avanzadas.
77
+ const __kageModule203 = (() => {
78
+ const module = { exports: {} }; const exports = module.exports;
79
+ "use strict";
80
+ Object.defineProperty(exports, "__esModule", { value: true });
81
+ exports.USyncDisappearingModeProtocol = void 0;
82
+ const index_js_1 = require("../../WABinary/index.js");
83
+ class USyncDisappearingModeProtocol {
84
+ constructor() {
85
+ this.name = 'disappearing_mode';
86
+ }
87
+ getQueryElement() {
88
+ return {
89
+ tag: 'disappearing_mode',
90
+ attrs: {}
91
+ };
92
+ }
93
+ getUserElement() {
94
+ return null;
95
+ }
96
+ parser(node) {
97
+ if (node.tag === 'disappearing_mode') {
98
+ (0, index_js_1.assertNodeErrorFree)(node);
99
+ const duration = +node?.attrs.duration;
100
+ const setAt = new Date(+(node?.attrs.t || 0) * 1000);
101
+ return {
102
+ duration,
103
+ setAt
104
+ };
105
+ }
106
+ }
107
+ }
108
+ exports.USyncDisappearingModeProtocol = USyncDisappearingModeProtocol;
109
+
110
+ return module.exports;
111
+ })();
112
+ for (const key of Object.keys(__kageModule203)) {
113
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule203[key]});
114
+ }
115
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule203, configurable:true});
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USyncLIDProtocol = void 0;
4
+ class USyncLIDProtocol {
5
+ constructor() {
6
+ this.name = 'lid';
7
+ }
8
+ getQueryElement() {
9
+ return {
10
+ tag: 'lid',
11
+ attrs: {},
12
+ };
13
+ }
14
+ getUserElement(user = {}) {
15
+ return user.lid ? { tag: 'lid', attrs: { jid: user.lid } } : null;
16
+ }
17
+ parser(node) {
18
+ if (node.tag === 'lid') {
19
+ return node.attrs.val;
20
+ }
21
+ return null;
22
+ }
23
+ }
24
+ exports.USyncLIDProtocol = USyncLIDProtocol;
25
+
26
+ // Kage: compatibilidad de API.
27
+ const __kageModule96 = (() => {
28
+ const module = { exports: {} }; const exports = module.exports;
29
+ "use strict"
30
+
31
+ Object.defineProperty(exports, "__esModule", { value: true })
32
+
33
+ class USyncLIDProtocol {
34
+ constructor() {
35
+ this.name = 'lid'
36
+ }
37
+ getQueryElement() {
38
+ return {
39
+ tag: 'lid',
40
+ attrs: {}
41
+ }
42
+ }
43
+ getUserElement(user) {
44
+ if (user.lid) {
45
+ return {
46
+ tag: 'lid',
47
+ attrs: { jid: user.lid }
48
+ }
49
+ }
50
+ else {
51
+ return null
52
+ }
53
+ }
54
+ parser(node) {
55
+ if (node.tag === 'lid') {
56
+ return node.attrs.val
57
+ }
58
+ return null
59
+ }
60
+ }
61
+
62
+ module.exports = {
63
+ USyncLIDProtocol
64
+ }
65
+ return module.exports;
66
+ })();
67
+ for (const key of Object.keys(__kageModule96)) {
68
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule96[key]});
69
+ }
@@ -40,3 +40,110 @@ class USyncStatusProtocol {
40
40
  }
41
41
  }
42
42
  exports.USyncStatusProtocol = USyncStatusProtocol;
43
+
44
+ // Kage: compatibilidad de API.
45
+ const __kageModule97 = (() => {
46
+ const module = { exports: {} }; const exports = module.exports;
47
+ "use strict"
48
+
49
+ Object.defineProperty(exports, "__esModule", { value: true })
50
+
51
+ const { assertNodeErrorFree } = require("../../WABinary")
52
+
53
+ class USyncStatusProtocol {
54
+ constructor() {
55
+ this.name = 'status'
56
+ }
57
+ getQueryElement() {
58
+ return {
59
+ tag: 'status',
60
+ attrs: {},
61
+ }
62
+ }
63
+ getUserElement() {
64
+ return null
65
+ }
66
+ parser(node) {
67
+ if (node.tag === 'status') {
68
+ assertNodeErrorFree(node)
69
+ let status = node?.content?.toString() || null
70
+ const setAt = new Date(+(node?.attrs?.t || 0) * 1000)
71
+ if (!status) {
72
+ if (+node.attrs?.code === 401) {
73
+ status = ''
74
+ }
75
+ else {
76
+ status = null
77
+ }
78
+ }
79
+ else if (typeof status === 'string' && status.length === 0) {
80
+ status = null
81
+ }
82
+ return {
83
+ status,
84
+ setAt,
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ module.exports = {
91
+ USyncStatusProtocol
92
+ }
93
+ return module.exports;
94
+ })();
95
+ for (const key of Object.keys(__kageModule97)) {
96
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule97[key]});
97
+ }
98
+
99
+ // Kage: funciones avanzadas.
100
+ const __kageModule204 = (() => {
101
+ const module = { exports: {} }; const exports = module.exports;
102
+ "use strict";
103
+ Object.defineProperty(exports, "__esModule", { value: true });
104
+ exports.USyncStatusProtocol = void 0;
105
+ const index_js_1 = require("../../WABinary/index.js");
106
+ class USyncStatusProtocol {
107
+ constructor() {
108
+ this.name = 'status';
109
+ }
110
+ getQueryElement() {
111
+ return {
112
+ tag: 'status',
113
+ attrs: {}
114
+ };
115
+ }
116
+ getUserElement() {
117
+ return null;
118
+ }
119
+ parser(node) {
120
+ if (node.tag === 'status') {
121
+ (0, index_js_1.assertNodeErrorFree)(node);
122
+ let status = node?.content?.toString() ?? null;
123
+ const setAt = new Date(+(node?.attrs.t || 0) * 1000);
124
+ if (!status) {
125
+ if (node.attrs?.code && +node.attrs.code === 401) {
126
+ status = '';
127
+ }
128
+ else {
129
+ status = null;
130
+ }
131
+ }
132
+ else if (typeof status === 'string' && status.length === 0) {
133
+ status = null;
134
+ }
135
+ return {
136
+ status,
137
+ setAt
138
+ };
139
+ }
140
+ }
141
+ }
142
+ exports.USyncStatusProtocol = USyncStatusProtocol;
143
+
144
+ return module.exports;
145
+ })();
146
+ for (const key of Object.keys(__kageModule204)) {
147
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule204[key]});
148
+ }
149
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule204, configurable:true});
@@ -22,4 +22,41 @@ var _USyncUserjs = require('../USyncUser.js');
22
22
  return null;
23
23
  }
24
24
  } exports.USyncUsernameProtocol = USyncUsernameProtocol;
25
- //# sourceMappingURL=USyncUsernameProtocol.js.map
25
+ //#
26
+ // Kage: funciones avanzadas.
27
+ const __kageModule205 = (() => {
28
+ const module = { exports: {} }; const exports = module.exports;
29
+ "use strict";
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.USyncUsernameProtocol = void 0;
32
+ const index_js_1 = require("../../WABinary/index.js");
33
+ class USyncUsernameProtocol {
34
+ constructor() {
35
+ this.name = 'username';
36
+ }
37
+ getQueryElement() {
38
+ return {
39
+ tag: 'username',
40
+ attrs: {}
41
+ };
42
+ }
43
+ getUserElement(user) {
44
+ void user;
45
+ return null;
46
+ }
47
+ parser(node) {
48
+ if (node.tag === 'username') {
49
+ (0, index_js_1.assertNodeErrorFree)(node);
50
+ return typeof node.content === 'string' ? node.content : null;
51
+ }
52
+ return null;
53
+ }
54
+ }
55
+ exports.USyncUsernameProtocol = USyncUsernameProtocol;
56
+
57
+ return module.exports;
58
+ })();
59
+ for (const key of Object.keys(__kageModule205)) {
60
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule205[key]});
61
+ }
62
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule205, configurable:true});
@@ -18,3 +18,86 @@ __exportStar(require("./USyncDeviceProtocol"), exports);
18
18
  __exportStar(require("./USyncContactProtocol"), exports);
19
19
  __exportStar(require("./USyncStatusProtocol"), exports);
20
20
  __exportStar(require("./USyncDisappearingModeProtocol"), exports);
21
+
22
+ // Kage: compatibilidad de API.
23
+ const __kageModule98 = (() => {
24
+ const module = { exports: {} }; const exports = module.exports;
25
+ "use strict"
26
+
27
+ const __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k
29
+
30
+ let desc = Object.getOwnPropertyDescriptor(m, k)
31
+
32
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
33
+ desc = {
34
+ enumerable: true,
35
+ get: function() {
36
+ return m[k]
37
+ }
38
+ }
39
+ }
40
+
41
+ Object.defineProperty(o, k2, desc)
42
+
43
+ }) : (function(o, m, k, k2) {
44
+ if (k2 === undefined) k2 = k
45
+ o[k2] = m[k]
46
+ }
47
+ ))
48
+
49
+ const __exportStar = (this && this.__exportStar) || function(m, exports) {
50
+ for (var p in m) {
51
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) {
52
+ __createBinding(exports, m, p)
53
+ }
54
+ }
55
+ }
56
+
57
+ Object.defineProperty(exports, "__esModule", {
58
+ value: true
59
+ })
60
+
61
+ __exportStar(require("./USyncBotProfileProtocol"), exports)
62
+ __exportStar(require("./USyncContactProtocol"), exports)
63
+ __exportStar(require("./USyncDeviceProtocol"), exports)
64
+ __exportStar(require("./USyncLIDProtocol"), exports)
65
+ __exportStar(require("./USyncStatusProtocol"), exports)
66
+ __exportStar(require("./USyncDisappearingModeProtocol"), exports)
67
+ return module.exports;
68
+ })();
69
+ for (const key of Object.keys(__kageModule98)) {
70
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule98[key]});
71
+ }
72
+
73
+ // Kage: funciones avanzadas.
74
+ const __kageModule206 = (() => {
75
+ const module = { exports: {} }; const exports = module.exports;
76
+ "use strict";
77
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
78
+ if (k2 === undefined) k2 = k;
79
+ var desc = Object.getOwnPropertyDescriptor(m, k);
80
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
81
+ desc = { enumerable: true, get: function() { return m[k]; } };
82
+ }
83
+ Object.defineProperty(o, k2, desc);
84
+ }) : (function(o, m, k, k2) {
85
+ if (k2 === undefined) k2 = k;
86
+ o[k2] = m[k];
87
+ }));
88
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
89
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
90
+ };
91
+ Object.defineProperty(exports, "__esModule", { value: true });
92
+ __exportStar(require("./USyncDeviceProtocol.js"), exports);
93
+ __exportStar(require("./USyncContactProtocol.js"), exports);
94
+ __exportStar(require("./USyncStatusProtocol.js"), exports);
95
+ __exportStar(require("./USyncDisappearingModeProtocol.js"), exports);
96
+ __exportStar(require("./USyncUsernameProtocol.js"), exports);
97
+
98
+ return module.exports;
99
+ })();
100
+ for (const key of Object.keys(__kageModule206)) {
101
+ if (key !== '__esModule' && !Object.prototype.hasOwnProperty.call(exports,key)) Object.defineProperty(exports,key,{enumerable:true,configurable:true,get:()=>__kageModule206[key]});
102
+ }
103
+ Object.defineProperty(exports, Symbol.for('kage.advanced'), {value:__kageModule206, configurable:true});