@neelegirl/baileys 1.5.2 → 1.5.3

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 (193) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +195 -187
  3. package/WAProto/WAProto.proto +537 -236
  4. package/WAProto/index.d.ts +5971 -2388
  5. package/WAProto/index.js +17298 -6513
  6. package/lib/Defaults/baileys-version.json +3 -3
  7. package/lib/Defaults/index.d.ts +77 -67
  8. package/lib/Defaults/index.js +148 -136
  9. package/lib/Defaults/phonenumber-mcc.json +223 -223
  10. package/lib/Signal/WASignalGroup/GroupProtocol.js +1908 -1908
  11. package/lib/Signal/WASignalGroup/ciphertext-message.d.ts +9 -0
  12. package/lib/Signal/WASignalGroup/ciphertext-message.js +19 -0
  13. package/lib/Signal/WASignalGroup/ciphertext_message.js +15 -15
  14. package/lib/Signal/WASignalGroup/group-session-builder.d.ts +17 -0
  15. package/lib/Signal/WASignalGroup/group-session-builder.js +72 -0
  16. package/lib/Signal/WASignalGroup/group.proto +41 -41
  17. package/lib/Signal/WASignalGroup/group_cipher.d.ts +19 -0
  18. package/lib/Signal/WASignalGroup/group_cipher.js +101 -110
  19. package/lib/Signal/WASignalGroup/group_session_builder.js +45 -45
  20. package/lib/Signal/WASignalGroup/index.d.ts +11 -0
  21. package/lib/Signal/WASignalGroup/index.js +61 -6
  22. package/lib/Signal/WASignalGroup/keyhelper.d.ts +16 -0
  23. package/lib/Signal/WASignalGroup/keyhelper.js +58 -13
  24. package/lib/Signal/WASignalGroup/protobufs.js +2 -2
  25. package/lib/Signal/WASignalGroup/queue_job.js +68 -68
  26. package/lib/Signal/WASignalGroup/readme.md +5 -5
  27. package/lib/Signal/WASignalGroup/sender-chain-key.d.ts +14 -0
  28. package/lib/Signal/WASignalGroup/sender-chain-key.js +47 -0
  29. package/lib/Signal/WASignalGroup/sender-key-distribution-message.d.ts +17 -0
  30. package/lib/Signal/WASignalGroup/sender-key-distribution-message.js +71 -0
  31. package/lib/Signal/WASignalGroup/sender-key-message.d.ts +19 -0
  32. package/lib/Signal/WASignalGroup/sender-key-message.js +73 -0
  33. package/lib/Signal/WASignalGroup/sender-key-name.d.ts +19 -0
  34. package/lib/Signal/WASignalGroup/sender-key-name.js +59 -0
  35. package/lib/Signal/WASignalGroup/sender-key-record.d.ts +32 -0
  36. package/lib/Signal/WASignalGroup/sender-key-record.js +58 -0
  37. package/lib/Signal/WASignalGroup/sender-key-state.d.ts +44 -0
  38. package/lib/Signal/WASignalGroup/sender-key-state.js +147 -0
  39. package/lib/Signal/WASignalGroup/sender-message-key.d.ts +11 -0
  40. package/lib/Signal/WASignalGroup/sender-message-key.js +33 -0
  41. package/lib/Signal/WASignalGroup/sender_chain_key.js +49 -49
  42. package/lib/Signal/WASignalGroup/sender_key_distribution_message.js +77 -77
  43. package/lib/Signal/WASignalGroup/sender_key_message.js +91 -91
  44. package/lib/Signal/WASignalGroup/sender_key_name.js +69 -69
  45. package/lib/Signal/WASignalGroup/sender_key_record.js +55 -55
  46. package/lib/Signal/WASignalGroup/sender_key_state.js +128 -128
  47. package/lib/Signal/WASignalGroup/sender_message_key.js +38 -38
  48. package/lib/Signal/libsignal.d.ts +5 -1
  49. package/lib/Signal/libsignal.js +390 -161
  50. package/lib/Signal/lid-mapping.d.ts +28 -0
  51. package/lib/Signal/lid-mapping.js +184 -0
  52. package/lib/Socket/Client/abstract-socket-client.d.ts +15 -15
  53. package/lib/Socket/Client/abstract-socket-client.js +13 -13
  54. package/lib/Socket/Client/index.d.ts +2 -2
  55. package/lib/Socket/Client/mobile-socket-client.d.ts +12 -12
  56. package/lib/Socket/Client/mobile-socket-client.js +65 -65
  57. package/lib/Socket/Client/types.d.ts +1 -1
  58. package/lib/Socket/Client/websocket.d.ts +1 -1
  59. package/lib/Socket/business.d.ts +6 -6
  60. package/lib/Socket/business.js +152 -5
  61. package/lib/Socket/chats.d.ts +3 -4
  62. package/lib/Socket/chats.js +31 -26
  63. package/lib/Socket/communities.d.ts +223 -223
  64. package/lib/Socket/communities.js +432 -432
  65. package/lib/Socket/groups.d.ts +2 -4
  66. package/lib/Socket/groups.js +22 -14
  67. package/lib/Socket/index.d.ts +69 -69
  68. package/lib/Socket/index.js +3 -2
  69. package/lib/Socket/messages-recv.d.ts +3 -6
  70. package/lib/Socket/messages-recv.js +1449 -1707
  71. package/lib/Socket/messages-send.d.ts +2 -4
  72. package/lib/Socket/messages-send.js +617 -126
  73. package/lib/Socket/mex.d.ts +2 -2
  74. package/lib/Socket/mex.js +46 -46
  75. package/lib/Socket/newsletter.d.ts +2 -4
  76. package/lib/Socket/newsletter.js +294 -285
  77. package/lib/Socket/socket.js +318 -132
  78. package/lib/Socket/usync.js +3 -3
  79. package/lib/Store/index.d.ts +4 -4
  80. package/lib/Store/index.js +23 -23
  81. package/lib/Store/make-cache-manager-store.d.ts +13 -13
  82. package/lib/Store/make-cache-manager-store.js +89 -89
  83. package/lib/Store/make-in-memory-store.d.ts +122 -122
  84. package/lib/Store/make-in-memory-store.js +428 -428
  85. package/lib/Store/make-ordered-dictionary.d.ts +11 -11
  86. package/lib/Store/make-ordered-dictionary.js +85 -85
  87. package/lib/Store/object-repository.d.ts +9 -9
  88. package/lib/Store/object-repository.js +30 -30
  89. package/lib/Types/Auth.d.ts +5 -4
  90. package/lib/Types/Bussines.js +3 -0
  91. package/lib/Types/Bussiness.d.ts +28 -0
  92. package/lib/Types/Chat.d.ts +13 -8
  93. package/lib/Types/Contact.d.ts +4 -1
  94. package/lib/Types/Events.d.ts +13 -16
  95. package/lib/Types/GroupMetadata.d.ts +1 -1
  96. package/lib/Types/Message.d.ts +18 -7
  97. package/lib/Types/Message.js +7 -1
  98. package/lib/Types/MexUpdates.d.ts +8 -8
  99. package/lib/Types/MexUpdates.js +17 -17
  100. package/lib/Types/Newsletter.d.ts +1 -1
  101. package/lib/Types/Product.d.ts +1 -1
  102. package/lib/Types/Signal.d.ts +31 -1
  103. package/lib/Types/Socket.d.ts +34 -13
  104. package/lib/Types/State.d.ts +1 -1
  105. package/lib/Types/USync.d.ts +2 -2
  106. package/lib/Types/index.d.ts +16 -15
  107. package/lib/Types/index.js +4 -2
  108. package/lib/Utils/auth-utils.d.ts +20 -20
  109. package/lib/Utils/auth-utils.js +527 -204
  110. package/lib/Utils/baileys-event-stream.d.ts +17 -17
  111. package/lib/Utils/baileys-event-stream.js +69 -69
  112. package/lib/Utils/business.d.ts +28 -28
  113. package/lib/Utils/business.js +254 -254
  114. package/lib/Utils/chat-utils.d.ts +81 -81
  115. package/lib/Utils/chat-utils.js +808 -780
  116. package/lib/Utils/crypto.d.ts +55 -55
  117. package/lib/Utils/crypto.js +188 -178
  118. package/lib/Utils/decode-wa-message.d.ts +52 -40
  119. package/lib/Utils/decode-wa-message.js +322 -252
  120. package/lib/Utils/event-buffer.d.ts +38 -38
  121. package/lib/Utils/event-buffer.js +594 -564
  122. package/lib/Utils/generics.d.ts +131 -129
  123. package/lib/Utils/generics.js +629 -623
  124. package/lib/Utils/history.d.ts +22 -22
  125. package/lib/Utils/history.js +103 -109
  126. package/lib/Utils/index.d.ts +20 -19
  127. package/lib/Utils/index.js +39 -38
  128. package/lib/Utils/link-preview.d.ts +22 -22
  129. package/lib/Utils/link-preview.js +119 -119
  130. package/lib/Utils/logger.d.ts +13 -13
  131. package/lib/Utils/logger.js +7 -7
  132. package/lib/Utils/lt-hash.d.ts +13 -13
  133. package/lib/Utils/lt-hash.js +57 -57
  134. package/lib/Utils/make-mutex.d.ts +8 -8
  135. package/lib/Utils/make-mutex.js +48 -48
  136. package/lib/Utils/message-retry-manager.d.ts +88 -0
  137. package/lib/Utils/message-retry-manager.js +160 -0
  138. package/lib/Utils/messages-media.d.ts +134 -128
  139. package/lib/Utils/messages-media.js +868 -805
  140. package/lib/Utils/messages.d.ts +104 -102
  141. package/lib/Utils/messages.js +1744 -1578
  142. package/lib/Utils/noise-handler.d.ts +20 -19
  143. package/lib/Utils/noise-handler.js +164 -154
  144. package/lib/Utils/process-message.d.ts +48 -48
  145. package/lib/Utils/process-message.js +427 -428
  146. package/lib/Utils/signal.d.ts +41 -41
  147. package/lib/Utils/signal.js +165 -165
  148. package/lib/Utils/use-mongo-file-auth-state.d.ts +5 -5
  149. package/lib/Utils/use-mongo-file-auth-state.js +83 -83
  150. package/lib/Utils/use-multi-file-auth-state.d.ts +17 -17
  151. package/lib/Utils/use-multi-file-auth-state.js +237 -237
  152. package/lib/Utils/use-single-file-auth-state.d.ts +12 -12
  153. package/lib/Utils/use-single-file-auth-state.js +79 -79
  154. package/lib/Utils/validate-connection.d.ts +12 -12
  155. package/lib/Utils/validate-connection.js +219 -186
  156. package/lib/WABinary/constants.d.ts +29 -29
  157. package/lib/WABinary/constants.js +1315 -1315
  158. package/lib/WABinary/decode.d.ts +8 -8
  159. package/lib/WABinary/decode.js +287 -287
  160. package/lib/WABinary/encode.d.ts +2 -2
  161. package/lib/WABinary/encode.js +264 -264
  162. package/lib/WABinary/generic-utils.d.ts +27 -27
  163. package/lib/WABinary/generic-utils.js +141 -141
  164. package/lib/WABinary/index.d.ts +5 -5
  165. package/lib/WABinary/index.js +24 -24
  166. package/lib/WABinary/jid-utils.d.ts +58 -53
  167. package/lib/WABinary/jid-utils.js +103 -91
  168. package/lib/WABinary/types.d.ts +21 -21
  169. package/lib/WABinary/types.js +2 -2
  170. package/lib/WAM/BinaryInfo.d.ts +15 -15
  171. package/lib/WAM/BinaryInfo.js +16 -16
  172. package/lib/WAM/constants.d.ts +46 -46
  173. package/lib/WAM/constants.js +15370 -15370
  174. package/lib/WAM/encode.d.ts +2 -2
  175. package/lib/WAM/encode.js +163 -164
  176. package/lib/WAM/index.d.ts +3 -3
  177. package/lib/WAM/index.js +22 -22
  178. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +27 -27
  179. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +68 -68
  180. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +3 -3
  181. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +2 -2
  182. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +2 -2
  183. package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +9 -8
  184. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +37 -29
  185. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +2 -2
  186. package/lib/WAUSync/Protocols/index.d.ts +6 -6
  187. package/lib/WAUSync/USyncQuery.d.ts +3 -3
  188. package/lib/WAUSync/index.d.ts +3 -3
  189. package/lib/index.d.ts +13 -13
  190. package/lib/index.js +33 -33
  191. package/package.json +96 -94
  192. package/lib/Socket/registration.d.ts +0 -266
  193. package/lib/Socket/registration.js +0 -166
@@ -1,3 +1,3 @@
1
- import { BinaryInfo } from './BinaryInfo'
2
-
1
+ import { BinaryInfo } from '@neelegirl/baileys/lib/WAM/BinaryInfo'
2
+
3
3
  export declare const encodeWAM: (binaryInfo: BinaryInfo) => Buffer
package/lib/WAM/encode.js CHANGED
@@ -1,165 +1,164 @@
1
- "use strict"
2
-
3
- Object.defineProperty(exports, "__esModule", { value: true })
4
-
5
- const constants_1 = require("./constants")
6
- const getHeaderBitLength = (key) => (key < 256 ? 2 : 3)
7
-
8
- const encodeWAM = (binaryInfo) => {
9
- binaryInfo.buffer = []
10
- encodeWAMHeader(binaryInfo)
11
- encodeEvents(binaryInfo)
12
- console.log(binaryInfo.buffer)
13
- const totalSize = binaryInfo.buffer
14
- .map((a) => a.length)
15
- .reduce((a, b) => a + b)
16
- const buffer = Buffer.alloc(totalSize)
17
- let offset = 0
18
- for (const buffer_ of binaryInfo.buffer) {
19
- buffer_.copy(buffer, offset)
20
- offset += buffer_.length
21
- }
22
- return buffer
23
- }
24
-
25
- function encodeWAMHeader(binaryInfo) {
26
- const headerBuffer = Buffer.alloc(8) // starting buffer
27
- headerBuffer.write('WAM', 0, 'utf8')
28
- headerBuffer.writeUInt8(binaryInfo.protocolVersion, 3)
29
- headerBuffer.writeUInt8(1, 4) //random flag
30
- headerBuffer.writeUInt16BE(binaryInfo.sequence, 5)
31
- headerBuffer.writeUInt8(0, 7) // regular channel
32
- binaryInfo.buffer.push(headerBuffer)
33
- }
34
-
35
- function encodeGlobalAttributes(binaryInfo, globals) {
36
- for (const [key, _value] of Object.entries(globals)) {
37
- const id = constants_1.WEB_GLOBALS.find(a => a?.name === key)?.id
38
- let value = _value
39
- if (typeof value === 'boolean') {
40
- value = value ? 1 : 0
41
- }
42
- binaryInfo.buffer.push(serializeData(id, value, constants_1.FLAG_GLOBAL))
43
- }
44
- }
45
-
46
- function encodeEvents(binaryInfo) {
47
- for (const [name, { props, globals },] of binaryInfo.events.map((a) => Object.entries(a)[0])) {
48
- encodeGlobalAttributes(binaryInfo, globals)
49
- const event = constants_1.WEB_EVENTS.find((a) => a.name === name)
50
- const props_ = Object.entries(props)
51
- let extended = false
52
- for (const [, value] of props_) {
53
- extended || (extended = value !== null)
54
- }
55
- const eventFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_EVENT | constants_1.FLAG_EXTENDED
56
- binaryInfo.buffer.push(serializeData(event.id, -event.weight, eventFlag))
57
- for (let i = 0; i < props_.length; i++) {
58
- const [key, _value] = props_[i]
59
- const id = (event.props)[key][0]
60
- extended = i < (props_.length - 1)
61
- let value = _value
62
- if (typeof value === 'boolean') {
63
- value = value ? 1 : 0
64
- }
65
- const fieldFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_FIELD | constants_1.FLAG_EXTENDED
66
- binaryInfo.buffer.push(serializeData(id, value, fieldFlag))
67
- }
68
- }
69
- }
70
-
71
- function serializeData(key, value, flag) {
72
- const bufferLength = getHeaderBitLength(key)
73
- let buffer
74
- let offset = 0
75
- if (value === null) {
76
- if (flag === constants_1.FLAG_GLOBAL) {
77
- buffer = Buffer.alloc(bufferLength)
78
- offset = serializeHeader(buffer, offset, key, flag)
79
- return buffer
80
- }
81
- }
82
- else if (typeof value === 'number' && Number.isInteger(value)) {
83
- // is number
84
- if (value === 0 || value === 1) {
85
- buffer = Buffer.alloc(bufferLength)
86
- offset = serializeHeader(buffer, offset, key, flag | ((value + 1) << 4))
87
- return buffer
88
- }
89
- else if (-128 <= value && value < 128) {
90
- buffer = Buffer.alloc(bufferLength + 1)
91
- offset = serializeHeader(buffer, offset, key, flag | (3 << 4))
92
- buffer.writeInt8(value, offset)
93
- return buffer
94
- }
95
- else if (-32768 <= value && value < 32768) {
96
- buffer = Buffer.alloc(bufferLength + 2)
97
- offset = serializeHeader(buffer, offset, key, flag | (4 << 4))
98
- buffer.writeInt16LE(value, offset)
99
- return buffer
100
- }
101
- else if (-2147483648 <= value && value < 2147483648) {
102
- buffer = Buffer.alloc(bufferLength + 4)
103
- offset = serializeHeader(buffer, offset, key, flag | (5 << 4))
104
- buffer.writeInt32LE(value, offset)
105
- return buffer
106
- }
107
- else {
108
- buffer = Buffer.alloc(bufferLength + 8)
109
- offset = serializeHeader(buffer, offset, key, flag | (7 << 4))
110
- buffer.writeDoubleLE(value, offset)
111
- return buffer
112
- }
113
- }
114
- else if (typeof value === 'number') {
115
- // is float
116
- buffer = Buffer.alloc(bufferLength + 8)
117
- offset = serializeHeader(buffer, offset, key, flag | (7 << 4))
118
- buffer.writeDoubleLE(value, offset)
119
- return buffer
120
- }
121
- else if (typeof value === 'string') {
122
- // is string
123
- const utf8Bytes = Buffer.byteLength(value, 'utf8')
124
- if (utf8Bytes < 256) {
125
- buffer = Buffer.alloc(bufferLength + 1 + utf8Bytes)
126
- offset = serializeHeader(buffer, offset, key, flag | (8 << 4))
127
- buffer.writeUint8(utf8Bytes, offset++)
128
- }
129
- else if (utf8Bytes < 65536) {
130
- buffer = Buffer.alloc(bufferLength + 2 + utf8Bytes)
131
- offset = serializeHeader(buffer, offset, key, flag | (9 << 4))
132
- buffer.writeUInt16LE(utf8Bytes, offset)
133
- offset += 2
134
- }
135
- else {
136
- buffer = Buffer.alloc(bufferLength + 4 + utf8Bytes)
137
- offset = serializeHeader(buffer, offset, key, flag | (10 << 4))
138
- buffer.writeUInt32LE(utf8Bytes, offset)
139
- offset += 4
140
- }
141
- buffer.write(value, offset, 'utf8')
142
- return buffer
143
- }
144
- throw 'missing'
145
- }
146
-
147
- function serializeHeader(buffer, offset, key, flag) {
148
- if (key < 256) {
149
- buffer.writeUInt8(flag, offset)
150
- offset += 1
151
- buffer.writeUInt8(key, offset)
152
- offset += 1
153
- }
154
- else {
155
- buffer.writeUInt8(flag | constants_1.FLAG_BYTE, offset)
156
- offset += 1
157
- buffer.writeUInt16LE(key, offset)
158
- offset += 2
159
- }
160
- return offset
161
- }
162
-
163
- module.exports = {
164
- encodeWAM
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const constants_1 = require("./constants")
6
+ const getHeaderBitLength = (key) => (key < 256 ? 2 : 3)
7
+
8
+ const encodeWAM = (binaryInfo) => {
9
+ binaryInfo.buffer = []
10
+ encodeWAMHeader(binaryInfo)
11
+ encodeEvents(binaryInfo)
12
+ const totalSize = binaryInfo.buffer
13
+ .map((a) => a.length)
14
+ .reduce((a, b) => a + b)
15
+ const buffer = Buffer.alloc(totalSize)
16
+ let offset = 0
17
+ for (const buffer_ of binaryInfo.buffer) {
18
+ buffer_.copy(buffer, offset)
19
+ offset += buffer_.length
20
+ }
21
+ return buffer
22
+ }
23
+
24
+ function encodeWAMHeader(binaryInfo) {
25
+ const headerBuffer = Buffer.alloc(8) // starting buffer
26
+ headerBuffer.write('WAM', 0, 'utf8')
27
+ headerBuffer.writeUInt8(binaryInfo.protocolVersion, 3)
28
+ headerBuffer.writeUInt8(1, 4) //random flag
29
+ headerBuffer.writeUInt16BE(binaryInfo.sequence, 5)
30
+ headerBuffer.writeUInt8(0, 7) // regular channel
31
+ binaryInfo.buffer.push(headerBuffer)
32
+ }
33
+
34
+ function encodeGlobalAttributes(binaryInfo, globals) {
35
+ for (const [key, _value] of Object.entries(globals)) {
36
+ const id = constants_1.WEB_GLOBALS.find(a => a?.name === key)?.id
37
+ let value = _value
38
+ if (typeof value === 'boolean') {
39
+ value = value ? 1 : 0
40
+ }
41
+ binaryInfo.buffer.push(serializeData(id, value, constants_1.FLAG_GLOBAL))
42
+ }
43
+ }
44
+
45
+ function encodeEvents(binaryInfo) {
46
+ for (const [name, { props, globals },] of binaryInfo.events.map((a) => Object.entries(a)[0])) {
47
+ encodeGlobalAttributes(binaryInfo, globals)
48
+ const event = constants_1.WEB_EVENTS.find((a) => a.name === name)
49
+ const props_ = Object.entries(props)
50
+ let extended = false
51
+ for (const [, value] of props_) {
52
+ extended || (extended = value !== null)
53
+ }
54
+ const eventFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_EVENT | constants_1.FLAG_EXTENDED
55
+ binaryInfo.buffer.push(serializeData(event.id, -event.weight, eventFlag))
56
+ for (let i = 0; i < props_.length; i++) {
57
+ const [key, _value] = props_[i]
58
+ const id = (event.props)[key][0]
59
+ extended = i < (props_.length - 1)
60
+ let value = _value
61
+ if (typeof value === 'boolean') {
62
+ value = value ? 1 : 0
63
+ }
64
+ const fieldFlag = extended ? constants_1.FLAG_EVENT : constants_1.FLAG_FIELD | constants_1.FLAG_EXTENDED
65
+ binaryInfo.buffer.push(serializeData(id, value, fieldFlag))
66
+ }
67
+ }
68
+ }
69
+
70
+ function serializeData(key, value, flag) {
71
+ const bufferLength = getHeaderBitLength(key)
72
+ let buffer
73
+ let offset = 0
74
+ if (value === null) {
75
+ if (flag === constants_1.FLAG_GLOBAL) {
76
+ buffer = Buffer.alloc(bufferLength)
77
+ offset = serializeHeader(buffer, offset, key, flag)
78
+ return buffer
79
+ }
80
+ }
81
+ else if (typeof value === 'number' && Number.isInteger(value)) {
82
+ // is number
83
+ if (value === 0 || value === 1) {
84
+ buffer = Buffer.alloc(bufferLength)
85
+ offset = serializeHeader(buffer, offset, key, flag | ((value + 1) << 4))
86
+ return buffer
87
+ }
88
+ else if (-128 <= value && value < 128) {
89
+ buffer = Buffer.alloc(bufferLength + 1)
90
+ offset = serializeHeader(buffer, offset, key, flag | (3 << 4))
91
+ buffer.writeInt8(value, offset)
92
+ return buffer
93
+ }
94
+ else if (-32768 <= value && value < 32768) {
95
+ buffer = Buffer.alloc(bufferLength + 2)
96
+ offset = serializeHeader(buffer, offset, key, flag | (4 << 4))
97
+ buffer.writeInt16LE(value, offset)
98
+ return buffer
99
+ }
100
+ else if (-2147483648 <= value && value < 2147483648) {
101
+ buffer = Buffer.alloc(bufferLength + 4)
102
+ offset = serializeHeader(buffer, offset, key, flag | (5 << 4))
103
+ buffer.writeInt32LE(value, offset)
104
+ return buffer
105
+ }
106
+ else {
107
+ buffer = Buffer.alloc(bufferLength + 8)
108
+ offset = serializeHeader(buffer, offset, key, flag | (7 << 4))
109
+ buffer.writeDoubleLE(value, offset)
110
+ return buffer
111
+ }
112
+ }
113
+ else if (typeof value === 'number') {
114
+ // is float
115
+ buffer = Buffer.alloc(bufferLength + 8)
116
+ offset = serializeHeader(buffer, offset, key, flag | (7 << 4))
117
+ buffer.writeDoubleLE(value, offset)
118
+ return buffer
119
+ }
120
+ else if (typeof value === 'string') {
121
+ // is string
122
+ const utf8Bytes = Buffer.byteLength(value, 'utf8')
123
+ if (utf8Bytes < 256) {
124
+ buffer = Buffer.alloc(bufferLength + 1 + utf8Bytes)
125
+ offset = serializeHeader(buffer, offset, key, flag | (8 << 4))
126
+ buffer.writeUint8(utf8Bytes, offset++)
127
+ }
128
+ else if (utf8Bytes < 65536) {
129
+ buffer = Buffer.alloc(bufferLength + 2 + utf8Bytes)
130
+ offset = serializeHeader(buffer, offset, key, flag | (9 << 4))
131
+ buffer.writeUInt16LE(utf8Bytes, offset)
132
+ offset += 2
133
+ }
134
+ else {
135
+ buffer = Buffer.alloc(bufferLength + 4 + utf8Bytes)
136
+ offset = serializeHeader(buffer, offset, key, flag | (10 << 4))
137
+ buffer.writeUInt32LE(utf8Bytes, offset)
138
+ offset += 4
139
+ }
140
+ buffer.write(value, offset, 'utf8')
141
+ return buffer
142
+ }
143
+ throw 'missing'
144
+ }
145
+
146
+ function serializeHeader(buffer, offset, key, flag) {
147
+ if (key < 256) {
148
+ buffer.writeUInt8(flag, offset)
149
+ offset += 1
150
+ buffer.writeUInt8(key, offset)
151
+ offset += 1
152
+ }
153
+ else {
154
+ buffer.writeUInt8(flag | constants_1.FLAG_BYTE, offset)
155
+ offset += 1
156
+ buffer.writeUInt16LE(key, offset)
157
+ offset += 2
158
+ }
159
+ return offset
160
+ }
161
+
162
+ module.exports = {
163
+ encodeWAM
165
164
  }
@@ -1,3 +1,3 @@
1
- export * from './constants'
2
- export * from './encode'
3
- export * from './BinaryInfo'
1
+ export * from '@neelegirl/baileys/lib/WAM/constants'
2
+ export * from '@neelegirl/baileys/lib/WAM/encode'
3
+ export * from '@neelegirl/baileys/lib/WAM/BinaryInfo'
package/lib/WAM/index.js CHANGED
@@ -1,23 +1,23 @@
1
- "use strict"
2
-
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k
5
- var desc = Object.getOwnPropertyDescriptor(m, k)
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k] } }
8
- }
9
- Object.defineProperty(o, k2, desc)
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k
12
- o[k2] = m[k]
13
- }))
14
-
15
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p)
17
- }
18
-
19
- Object.defineProperty(exports, "__esModule", { value: true })
20
-
21
- __exportStar(require("./constants"), exports)
22
- __exportStar(require("./encode"), exports)
1
+ "use strict"
2
+
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k
5
+ var desc = Object.getOwnPropertyDescriptor(m, k)
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k] } }
8
+ }
9
+ Object.defineProperty(o, k2, desc)
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k
12
+ o[k2] = m[k]
13
+ }))
14
+
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p)
17
+ }
18
+
19
+ Object.defineProperty(exports, "__esModule", { value: true })
20
+
21
+ __exportStar(require("./constants"), exports)
22
+ __exportStar(require("./encode"), exports)
23
23
  __exportStar(require("./BinaryInfo"), exports)
@@ -1,28 +1,28 @@
1
- import { USyncQueryProtocol } from '../../Types/USync'
2
- import { BinaryNode } from '../../WABinary'
3
- import { USyncUser } from '../USyncUser'
4
-
5
- export type BotProfileCommand = {
6
- name: string
7
- description: string
8
- }
9
-
10
- export type BotProfileInfo = {
11
- jid: string
12
- name: string
13
- attributes: string
14
- description: string
15
- category: string
16
- isDefault: boolean
17
- prompts: string[]
18
- personaId: string
19
- commands: BotProfileCommand[]
20
- commandsDescription: string
21
- }
22
-
23
- export declare class USyncBotProfileProtocol implements USyncQueryProtocol {
24
- name: string
25
- getQueryElement(): BinaryNode
26
- getUserElement(user: USyncUser): BinaryNode
27
- parser(node: BinaryNode): BotProfileInfo | undefined
1
+ import { USyncQueryProtocol } from '@neelegirl/baileys/lib/Types/USync'
2
+ import { BinaryNode } from '@neelegirl/baileys/lib/WABinary'
3
+ import { USyncUser } from '@neelegirl/baileys/lib/WAUSync/USyncUser'
4
+
5
+ export type BotProfileCommand = {
6
+ name: string
7
+ description: string
8
+ }
9
+
10
+ export type BotProfileInfo = {
11
+ jid: string
12
+ name: string
13
+ attributes: string
14
+ description: string
15
+ category: string
16
+ isDefault: boolean
17
+ prompts: string[]
18
+ personaId: string
19
+ commands: BotProfileCommand[]
20
+ commandsDescription: string
21
+ }
22
+
23
+ export declare class USyncBotProfileProtocol implements USyncQueryProtocol {
24
+ name: string
25
+ getQueryElement(): BinaryNode
26
+ getUserElement(user: USyncUser): BinaryNode
27
+ parser(node: BinaryNode): BotProfileInfo | undefined
28
28
  }
@@ -1,69 +1,69 @@
1
- "use strict"
2
-
3
- Object.defineProperty(exports, "__esModule", { value: true })
4
-
5
- const WABinary_1 = require("../../WABinary")
6
-
7
- class USyncBotProfileProtocol {
8
- constructor() {
9
- this.name = 'bot'
10
- }
11
- getQueryElement() {
12
- return {
13
- tag: 'bot',
14
- attrs: {},
15
- content: [{ tag: 'profile', attrs: { v: '1' } }]
16
- }
17
- }
18
- getUserElement(user) {
19
- return {
20
- tag: 'bot',
21
- attrs: {},
22
- content: [{ tag: 'profile', attrs: { 'persona_id': user.personaId } }]
23
- }
24
- }
25
- parser(node) {
26
- const botNode = WABinary_1.getBinaryNodeChild(node, 'bot')
27
- const profile = WABinary_1.getBinaryNodeChild(botNode, 'profile')
28
-
29
- const commandsNode = WABinary_1.getBinaryNodeChild(profile, 'commands')
30
- const promptsNode = WABinary_1.getBinaryNodeChild(profile, 'prompts')
31
-
32
- const commands = []
33
- const prompts = []
34
-
35
- if (commandsNode) {
36
- for (const command of WABinary_1.getBinaryNodeChildren(commandsNode, 'command')) {
37
- commands.push({
38
- name: WABinary_1.getBinaryNodeChildString(command, 'name') || '',
39
- description: WABinary_1.getBinaryNodeChildString(command, 'description') || ''
40
- })
41
- }
42
- }
43
-
44
- if (promptsNode) {
45
- for (const prompt of WABinary_1.getBinaryNodeChildren(promptsNode, 'prompt')) {
46
- prompts.push(
47
- `${WABinary_1.getBinaryNodeChildString(prompt, 'emoji') || ''} ${WABinary_1.getBinaryNodeChildString(prompt, 'text') || ''}`
48
- )
49
- }
50
- }
51
-
52
- return {
53
- isDefault: !!WABinary_1.getBinaryNodeChild(profile, 'default'),
54
- jid: node.attrs.jid,
55
- name: WABinary_1.getBinaryNodeChildString(profile, 'name') || '',
56
- attributes: WABinary_1.getBinaryNodeChildString(profile, 'attributes') || '',
57
- description: WABinary_1.getBinaryNodeChildString(profile, 'description') || '',
58
- category: WABinary_1.getBinaryNodeChildString(profile, 'category') || '',
59
- personaId: profile.attrs['persona_id'] || '',
60
- commandsDescription: WABinary_1.getBinaryNodeChildString(commandsNode, 'description') || '',
61
- commands,
62
- prompts
63
- }
64
- }
65
- }
66
-
67
- module.exports = {
68
- USyncBotProfileProtocol
1
+ "use strict"
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true })
4
+
5
+ const WABinary_1 = require("../../WABinary")
6
+
7
+ class USyncBotProfileProtocol {
8
+ constructor() {
9
+ this.name = 'bot'
10
+ }
11
+ getQueryElement() {
12
+ return {
13
+ tag: 'bot',
14
+ attrs: {},
15
+ content: [{ tag: 'profile', attrs: { v: '1' } }]
16
+ }
17
+ }
18
+ getUserElement(user) {
19
+ return {
20
+ tag: 'bot',
21
+ attrs: {},
22
+ content: [{ tag: 'profile', attrs: { 'persona_id': user.personaId } }]
23
+ }
24
+ }
25
+ parser(node) {
26
+ const botNode = WABinary_1.getBinaryNodeChild(node, 'bot')
27
+ const profile = WABinary_1.getBinaryNodeChild(botNode, 'profile')
28
+
29
+ const commandsNode = WABinary_1.getBinaryNodeChild(profile, 'commands')
30
+ const promptsNode = WABinary_1.getBinaryNodeChild(profile, 'prompts')
31
+
32
+ const commands = []
33
+ const prompts = []
34
+
35
+ if (commandsNode) {
36
+ for (const command of WABinary_1.getBinaryNodeChildren(commandsNode, 'command')) {
37
+ commands.push({
38
+ name: WABinary_1.getBinaryNodeChildString(command, 'name') || '',
39
+ description: WABinary_1.getBinaryNodeChildString(command, 'description') || ''
40
+ })
41
+ }
42
+ }
43
+
44
+ if (promptsNode) {
45
+ for (const prompt of WABinary_1.getBinaryNodeChildren(promptsNode, 'prompt')) {
46
+ prompts.push(
47
+ `${WABinary_1.getBinaryNodeChildString(prompt, 'emoji') || ''} ${WABinary_1.getBinaryNodeChildString(prompt, 'text') || ''}`
48
+ )
49
+ }
50
+ }
51
+
52
+ return {
53
+ isDefault: !!WABinary_1.getBinaryNodeChild(profile, 'default'),
54
+ jid: node.attrs.jid,
55
+ name: WABinary_1.getBinaryNodeChildString(profile, 'name') || '',
56
+ attributes: WABinary_1.getBinaryNodeChildString(profile, 'attributes') || '',
57
+ description: WABinary_1.getBinaryNodeChildString(profile, 'description') || '',
58
+ category: WABinary_1.getBinaryNodeChildString(profile, 'category') || '',
59
+ personaId: profile.attrs['persona_id'] || '',
60
+ commandsDescription: WABinary_1.getBinaryNodeChildString(commandsNode, 'description') || '',
61
+ commands,
62
+ prompts
63
+ }
64
+ }
65
+ }
66
+
67
+ module.exports = {
68
+ USyncBotProfileProtocol
69
69
  }
@@ -1,6 +1,6 @@
1
- import { USyncQueryProtocol } from '../../Types/USync'
2
- import { BinaryNode } from '../../WABinary'
3
- import { USyncUser } from '../USyncUser'
1
+ import { USyncQueryProtocol } from '@neelegirl/baileys/lib/Types/USync'
2
+ import { BinaryNode } from '@neelegirl/baileys/lib/WABinary'
3
+ import { USyncUser } from '@neelegirl/baileys/lib/WAUSync/USyncUser'
4
4
 
5
5
  export declare class USyncContactProtocol implements USyncQueryProtocol {
6
6
  name: string
@@ -1,5 +1,5 @@
1
- import { USyncQueryProtocol } from '../../Types/USync'
2
- import { BinaryNode } from '../../WABinary'
1
+ import { USyncQueryProtocol } from '@neelegirl/baileys/lib/Types/USync'
2
+ import { BinaryNode } from '@neelegirl/baileys/lib/WABinary'
3
3
 
4
4
  export type KeyIndexData = {
5
5
  timestamp: number
@@ -1,5 +1,5 @@
1
- import { USyncQueryProtocol } from '../../Types/USync'
2
- import { BinaryNode } from '../../WABinary'
1
+ import { USyncQueryProtocol } from '@neelegirl/baileys/lib/Types/USync'
2
+ import { BinaryNode } from '@neelegirl/baileys/lib/WABinary'
3
3
 
4
4
  export type DisappearingModeData = {
5
5
  duration: number
@@ -1,9 +1,10 @@
1
- import { USyncQueryProtocol } from '../../Types/USync'
2
- import { BinaryNode } from '../../WABinary'
3
-
4
- export declare class USyncLIDProtocol implements USyncQueryProtocol {
5
- name: string
6
- getQueryElement(): BinaryNode
7
- getUserElement(): null
8
- parser(node: BinaryNode): string | null
1
+ import { USyncQueryProtocol } from '@neelegirl/baileys/lib/Types/USync'
2
+ import { BinaryNode } from '@neelegirl/baileys/lib/WABinary'
3
+ import { USyncUser } from '@neelegirl/baileys/lib/WAUSync/USyncUser'
4
+
5
+ export declare class USyncLIDProtocol implements USyncQueryProtocol {
6
+ name: string
7
+ getQueryElement(): BinaryNode
8
+ getUserElement(user: USyncUser): BinaryNode | null
9
+ parser(node: BinaryNode): string | null
9
10
  }