@genuxofficial/baileys 1.0.0

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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/WAProto/GenerateStatics.sh +4 -0
  4. package/WAProto/WAProto.proto +3344 -0
  5. package/WAProto/index.d.ts +37016 -0
  6. package/WAProto/index.js +101044 -0
  7. package/WASignalGroup/GroupProtocol.js +1697 -0
  8. package/WASignalGroup/ciphertext_message.js +16 -0
  9. package/WASignalGroup/group_cipher.js +120 -0
  10. package/WASignalGroup/group_session_builder.js +46 -0
  11. package/WASignalGroup/index.js +5 -0
  12. package/WASignalGroup/keyhelper.js +21 -0
  13. package/WASignalGroup/protobufs.js +3 -0
  14. package/WASignalGroup/queue_job.js +69 -0
  15. package/WASignalGroup/sender_chain_key.js +50 -0
  16. package/WASignalGroup/sender_key_distribution_message.js +78 -0
  17. package/WASignalGroup/sender_key_message.js +92 -0
  18. package/WASignalGroup/sender_key_name.js +70 -0
  19. package/WASignalGroup/sender_key_record.js +56 -0
  20. package/WASignalGroup/sender_key_state.js +129 -0
  21. package/WASignalGroup/sender_message_key.js +39 -0
  22. package/lib/Defaults/baileys-version.json +3 -0
  23. package/lib/Defaults/index.d.ts +53 -0
  24. package/lib/Defaults/index.js +106 -0
  25. package/lib/Signal/libsignal.d.ts +3 -0
  26. package/lib/Signal/libsignal.js +152 -0
  27. package/lib/Socket/Client/index.d.ts +2 -0
  28. package/lib/Socket/Client/index.js +18 -0
  29. package/lib/Socket/Client/types.d.ts +17 -0
  30. package/lib/Socket/Client/types.js +13 -0
  31. package/lib/Socket/Client/websocket.d.ts +12 -0
  32. package/lib/Socket/Client/websocket.js +62 -0
  33. package/lib/Socket/business.d.ts +149 -0
  34. package/lib/Socket/business.js +260 -0
  35. package/lib/Socket/chats.d.ts +85 -0
  36. package/lib/Socket/chats.js +850 -0
  37. package/lib/Socket/groups.d.ts +124 -0
  38. package/lib/Socket/groups.js +314 -0
  39. package/lib/Socket/index.d.ts +149 -0
  40. package/lib/Socket/index.js +10 -0
  41. package/lib/Socket/messages-recv.d.ts +136 -0
  42. package/lib/Socket/messages-recv.js +912 -0
  43. package/lib/Socket/messages-send.d.ts +130 -0
  44. package/lib/Socket/messages-send.js +673 -0
  45. package/lib/Socket/socket.d.ts +45 -0
  46. package/lib/Socket/socket.js +622 -0
  47. package/lib/Socket/usync.d.ts +38 -0
  48. package/lib/Socket/usync.js +70 -0
  49. package/lib/Store/index.d.ts +3 -0
  50. package/lib/Store/index.js +10 -0
  51. package/lib/Store/make-cache-manager-store.d.ts +14 -0
  52. package/lib/Store/make-cache-manager-store.js +83 -0
  53. package/lib/Store/make-in-memory-store.d.ts +118 -0
  54. package/lib/Store/make-in-memory-store.js +420 -0
  55. package/lib/Store/make-ordered-dictionary.d.ts +13 -0
  56. package/lib/Store/make-ordered-dictionary.js +81 -0
  57. package/lib/Store/object-repository.d.ts +10 -0
  58. package/lib/Store/object-repository.js +27 -0
  59. package/lib/Types/Auth.d.ts +105 -0
  60. package/lib/Types/Auth.js +2 -0
  61. package/lib/Types/Call.d.ts +13 -0
  62. package/lib/Types/Call.js +2 -0
  63. package/lib/Types/Chat.d.ts +108 -0
  64. package/lib/Types/Chat.js +4 -0
  65. package/lib/Types/Contact.d.ts +19 -0
  66. package/lib/Types/Contact.js +2 -0
  67. package/lib/Types/Events.d.ts +172 -0
  68. package/lib/Types/Events.js +2 -0
  69. package/lib/Types/GroupMetadata.d.ts +56 -0
  70. package/lib/Types/GroupMetadata.js +2 -0
  71. package/lib/Types/Label.d.ts +46 -0
  72. package/lib/Types/Label.js +27 -0
  73. package/lib/Types/LabelAssociation.d.ts +29 -0
  74. package/lib/Types/LabelAssociation.js +9 -0
  75. package/lib/Types/Message.d.ts +271 -0
  76. package/lib/Types/Message.js +9 -0
  77. package/lib/Types/Product.d.ts +78 -0
  78. package/lib/Types/Product.js +2 -0
  79. package/lib/Types/Signal.d.ts +57 -0
  80. package/lib/Types/Signal.js +2 -0
  81. package/lib/Types/Socket.d.ts +118 -0
  82. package/lib/Types/Socket.js +2 -0
  83. package/lib/Types/State.d.ts +27 -0
  84. package/lib/Types/State.js +2 -0
  85. package/lib/Types/USync.d.ts +25 -0
  86. package/lib/Types/USync.js +2 -0
  87. package/lib/Types/index.d.ts +63 -0
  88. package/lib/Types/index.js +41 -0
  89. package/lib/Utils/auth-utils.d.ts +18 -0
  90. package/lib/Utils/auth-utils.js +200 -0
  91. package/lib/Utils/baileys-event-stream.d.ts +16 -0
  92. package/lib/Utils/baileys-event-stream.js +63 -0
  93. package/lib/Utils/business.d.ts +22 -0
  94. package/lib/Utils/business.js +234 -0
  95. package/lib/Utils/chat-utils.d.ts +72 -0
  96. package/lib/Utils/chat-utils.js +745 -0
  97. package/lib/Utils/crypto.d.ts +42 -0
  98. package/lib/Utils/crypto.js +181 -0
  99. package/lib/Utils/decode-wa-message.d.ts +36 -0
  100. package/lib/Utils/decode-wa-message.js +205 -0
  101. package/lib/Utils/event-buffer.d.ts +35 -0
  102. package/lib/Utils/event-buffer.js +520 -0
  103. package/lib/Utils/generics.d.ts +94 -0
  104. package/lib/Utils/generics.js +433 -0
  105. package/lib/Utils/history.d.ts +19 -0
  106. package/lib/Utils/history.js +94 -0
  107. package/lib/Utils/index.d.ts +17 -0
  108. package/lib/Utils/index.js +33 -0
  109. package/lib/Utils/link-preview.d.ts +21 -0
  110. package/lib/Utils/link-preview.js +116 -0
  111. package/lib/Utils/logger.d.ts +11 -0
  112. package/lib/Utils/logger.js +7 -0
  113. package/lib/Utils/lt-hash.d.ts +12 -0
  114. package/lib/Utils/lt-hash.js +51 -0
  115. package/lib/Utils/make-mutex.d.ts +7 -0
  116. package/lib/Utils/make-mutex.js +44 -0
  117. package/lib/Utils/messages-media.d.ts +108 -0
  118. package/lib/Utils/messages-media.js +667 -0
  119. package/lib/Utils/messages.d.ts +78 -0
  120. package/lib/Utils/messages.js +760 -0
  121. package/lib/Utils/noise-handler.d.ts +21 -0
  122. package/lib/Utils/noise-handler.js +150 -0
  123. package/lib/Utils/process-message.d.ts +42 -0
  124. package/lib/Utils/process-message.js +373 -0
  125. package/lib/Utils/signal.d.ts +33 -0
  126. package/lib/Utils/signal.js +153 -0
  127. package/lib/Utils/use-multi-file-auth-state.d.ts +12 -0
  128. package/lib/Utils/use-multi-file-auth-state.js +94 -0
  129. package/lib/Utils/validate-connection.d.ts +10 -0
  130. package/lib/Utils/validate-connection.js +175 -0
  131. package/lib/WABinary/constants.d.ts +27 -0
  132. package/lib/WABinary/constants.js +40 -0
  133. package/lib/WABinary/decode.d.ts +8 -0
  134. package/lib/WABinary/decode.js +254 -0
  135. package/lib/WABinary/encode.d.ts +4 -0
  136. package/lib/WABinary/encode.js +234 -0
  137. package/lib/WABinary/generic-utils.d.ts +16 -0
  138. package/lib/WABinary/generic-utils.js +110 -0
  139. package/lib/WABinary/index.d.ts +5 -0
  140. package/lib/WABinary/index.js +21 -0
  141. package/lib/WABinary/jid-utils.d.ts +31 -0
  142. package/lib/WABinary/jid-utils.js +62 -0
  143. package/lib/WABinary/types.d.ts +18 -0
  144. package/lib/WABinary/types.js +2 -0
  145. package/lib/WAM/BinaryInfo.d.ts +18 -0
  146. package/lib/WAM/BinaryInfo.js +13 -0
  147. package/lib/WAM/constants.d.ts +39 -0
  148. package/lib/WAM/constants.js +15350 -0
  149. package/lib/WAM/encode.d.ts +4 -0
  150. package/lib/WAM/encode.js +155 -0
  151. package/lib/WAM/index.d.ts +3 -0
  152. package/lib/WAM/index.js +19 -0
  153. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
  154. package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
  155. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
  156. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
  157. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
  158. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
  159. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
  160. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
  161. package/lib/WAUSync/Protocols/index.d.ts +4 -0
  162. package/lib/WAUSync/Protocols/index.js +20 -0
  163. package/lib/WAUSync/USyncQuery.d.ts +26 -0
  164. package/lib/WAUSync/USyncQuery.js +79 -0
  165. package/lib/WAUSync/USyncUser.d.ts +10 -0
  166. package/lib/WAUSync/USyncUser.js +22 -0
  167. package/lib/WAUSync/index.d.ts +3 -0
  168. package/lib/WAUSync/index.js +19 -0
  169. package/lib/index.d.ts +12 -0
  170. package/lib/index.js +31 -0
  171. package/package.json +104 -0
@@ -0,0 +1,78 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ import { type Transform } from 'stream';
5
+ import { proto } from '../../WAProto';
6
+ import { AnyMediaMessageContent, AnyMessageContent, MediaGenerationOptions, MessageContentGenerationOptions, MessageGenerationOptions, MessageGenerationOptionsFromContent, MessageUserReceipt, WAMessage, WAMessageContent, WAProto } from '../Types';
7
+ import { ILogger } from './logger';
8
+ import { MediaDownloadOptions } from './messages-media';
9
+ /**
10
+ * Uses a regex to test whether the string contains a URL, and returns the URL if it does.
11
+ * @param text eg. hello https://google.com
12
+ * @returns the URL, eg. https://google.com
13
+ */
14
+ export declare const extractUrlFromText: (text: string) => string | undefined;
15
+ export declare const generateLinkPreviewIfRequired: (text: string, getUrlInfo: MessageGenerationOptions['getUrlInfo'], logger: MessageGenerationOptions['logger']) => Promise<import("../Types").WAUrlInfo | undefined>;
16
+ export declare const prepareWAMessageMedia: (message: AnyMediaMessageContent, options: MediaGenerationOptions) => Promise<proto.Message>;
17
+ export declare const prepareDisappearingMessageSettingContent: (ephemeralExpiration?: number) => proto.Message;
18
+ /**
19
+ * Generate forwarded message content like WA does
20
+ * @param message the message to forward
21
+ * @param options.forceForward will show the message as forwarded even if it is from you
22
+ */
23
+ export declare const generateForwardMessageContent: (message: WAMessage, forceForward?: boolean) => proto.IMessage;
24
+ export declare const generateWAMessageContent: (message: AnyMessageContent, options: MessageContentGenerationOptions) => Promise<proto.Message>;
25
+ export declare const generateWAMessageFromContent: (jid: string, message: WAMessageContent, options: MessageGenerationOptionsFromContent) => proto.WebMessageInfo;
26
+ export declare const generateWAMessage: (jid: string, content: AnyMessageContent, options: MessageGenerationOptions) => Promise<proto.WebMessageInfo>;
27
+ /** Get the key to access the true type of content */
28
+ export declare const getContentType: (content: WAProto.IMessage | undefined) => keyof proto.IMessage | undefined;
29
+ /**
30
+ * Normalizes ephemeral, view once messages to regular message content
31
+ * Eg. image messages in ephemeral messages, in view once messages etc.
32
+ * @param content
33
+ * @returns
34
+ */
35
+ export declare const normalizeMessageContent: (content: WAMessageContent | null | undefined) => WAMessageContent | undefined;
36
+ /**
37
+ * Extract the true message content from a message
38
+ * Eg. extracts the inner message from a disappearing message/view once message
39
+ */
40
+ export declare const extractMessageContent: (content: WAMessageContent | undefined | null) => WAMessageContent | undefined;
41
+ /**
42
+ * Returns the device predicted by message ID
43
+ */
44
+ export declare const getDevice: (id: string) => "android" | "unknown" | "web" | "ios" | "desktop";
45
+ /** Upserts a receipt in the message */
46
+ export declare const updateMessageWithReceipt: (msg: Pick<WAMessage, 'userReceipt'>, receipt: MessageUserReceipt) => void;
47
+ /** Update the message with a new reaction */
48
+ export declare const updateMessageWithReaction: (msg: Pick<WAMessage, 'reactions'>, reaction: proto.IReaction) => void;
49
+ /** Update the message with a new poll update */
50
+ export declare const updateMessageWithPollUpdate: (msg: Pick<WAMessage, 'pollUpdates'>, update: proto.IPollUpdate) => void;
51
+ type VoteAggregation = {
52
+ name: string;
53
+ voters: string[];
54
+ };
55
+ /**
56
+ * Aggregates all poll updates in a poll.
57
+ * @param msg the poll creation message
58
+ * @param meId your jid
59
+ * @returns A list of options & their voters
60
+ */
61
+ export declare function getAggregateVotesInPollMessage({ message, pollUpdates }: Pick<WAMessage, 'pollUpdates' | 'message'>, meId?: string): VoteAggregation[];
62
+ /** Given a list of message keys, aggregates them by chat & sender. Useful for sending read receipts in bulk */
63
+ export declare const aggregateMessageKeysNotFromMe: (keys: proto.IMessageKey[]) => {
64
+ jid: string;
65
+ participant: string | undefined;
66
+ messageIds: string[];
67
+ }[];
68
+ type DownloadMediaMessageContext = {
69
+ reuploadRequest: (msg: WAMessage) => Promise<WAMessage>;
70
+ logger: ILogger;
71
+ };
72
+ /**
73
+ * Downloads the given message. Throws an error if it's not a media message
74
+ */
75
+ export declare const downloadMediaMessage: <Type extends "stream" | "buffer">(message: WAMessage, type: Type, options: MediaDownloadOptions, ctx?: DownloadMediaMessageContext) => Promise<Type extends "buffer" ? Buffer : Transform>;
76
+ /** Checks whether the given message is a media message; if it is returns the inner content */
77
+ export declare const assertMediaContent: (content: proto.IMessage | null | undefined) => proto.Message.IVideoMessage | proto.Message.IImageMessage | proto.Message.IAudioMessage | proto.Message.IDocumentMessage | proto.Message.IStickerMessage;
78
+ export {};