queenruva-sockets 5.6.23

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 (205) hide show
  1. package/LICENSE +31 -0
  2. package/README.md +1082 -0
  3. package/WAProto/GenerateStatics.sh +3 -0
  4. package/WAProto/WAProto.proto +5479 -0
  5. package/WAProto/fix-imports.js +85 -0
  6. package/WAProto/index.d.ts +14017 -0
  7. package/WAProto/index.js +97691 -0
  8. package/engine-requirements.js +11 -0
  9. package/lib/Defaults/index.d.ts +75 -0
  10. package/lib/Defaults/index.js +129 -0
  11. package/lib/Signal/Group/ciphertext-message.d.ts +10 -0
  12. package/lib/Signal/Group/ciphertext-message.js +12 -0
  13. package/lib/Signal/Group/group-session-builder.d.ts +15 -0
  14. package/lib/Signal/Group/group-session-builder.js +30 -0
  15. package/lib/Signal/Group/group_cipher.d.ts +17 -0
  16. package/lib/Signal/Group/group_cipher.js +82 -0
  17. package/lib/Signal/Group/index.d.ts +12 -0
  18. package/lib/Signal/Group/index.js +12 -0
  19. package/lib/Signal/Group/keyhelper.d.ts +11 -0
  20. package/lib/Signal/Group/keyhelper.js +18 -0
  21. package/lib/Signal/Group/sender-chain-key.d.ts +14 -0
  22. package/lib/Signal/Group/sender-chain-key.js +26 -0
  23. package/lib/Signal/Group/sender-key-distribution-message.d.ts +17 -0
  24. package/lib/Signal/Group/sender-key-distribution-message.js +63 -0
  25. package/lib/Signal/Group/sender-key-message.d.ts +19 -0
  26. package/lib/Signal/Group/sender-key-message.js +66 -0
  27. package/lib/Signal/Group/sender-key-name.d.ts +18 -0
  28. package/lib/Signal/Group/sender-key-name.js +48 -0
  29. package/lib/Signal/Group/sender-key-record.d.ts +31 -0
  30. package/lib/Signal/Group/sender-key-record.js +41 -0
  31. package/lib/Signal/Group/sender-key-state.d.ts +39 -0
  32. package/lib/Signal/Group/sender-key-state.js +84 -0
  33. package/lib/Signal/Group/sender-message-key.d.ts +12 -0
  34. package/lib/Signal/Group/sender-message-key.js +26 -0
  35. package/lib/Signal/libsignal.d.ts +5 -0
  36. package/lib/Signal/libsignal.js +431 -0
  37. package/lib/Signal/lid-mapping.d.ts +23 -0
  38. package/lib/Signal/lid-mapping.js +277 -0
  39. package/lib/Socket/Client/index.d.ts +3 -0
  40. package/lib/Socket/Client/index.js +3 -0
  41. package/lib/Socket/Client/types.d.ts +16 -0
  42. package/lib/Socket/Client/types.js +11 -0
  43. package/lib/Socket/Client/websocket.d.ts +13 -0
  44. package/lib/Socket/Client/websocket.js +54 -0
  45. package/lib/Socket/business.d.ts +217 -0
  46. package/lib/Socket/business.js +379 -0
  47. package/lib/Socket/chats.d.ts +124 -0
  48. package/lib/Socket/chats.js +1193 -0
  49. package/lib/Socket/communities.d.ts +273 -0
  50. package/lib/Socket/communities.js +431 -0
  51. package/lib/Socket/groups.d.ts +161 -0
  52. package/lib/Socket/groups.js +347 -0
  53. package/lib/Socket/index.d.ts +260 -0
  54. package/lib/Socket/index.js +12 -0
  55. package/lib/Socket/messages-recv.d.ts +203 -0
  56. package/lib/Socket/messages-recv.js +1772 -0
  57. package/lib/Socket/messages-send.d.ts +199 -0
  58. package/lib/Socket/messages-send.js +1160 -0
  59. package/lib/Socket/mex.d.ts +3 -0
  60. package/lib/Socket/mex.js +42 -0
  61. package/lib/Socket/newsletter.d.ts +170 -0
  62. package/lib/Socket/newsletter.js +181 -0
  63. package/lib/Socket/socket.d.ts +59 -0
  64. package/lib/Socket/socket.js +1029 -0
  65. package/lib/Types/Auth.d.ts +117 -0
  66. package/lib/Types/Auth.js +2 -0
  67. package/lib/Types/Bussines.d.ts +25 -0
  68. package/lib/Types/Bussines.js +2 -0
  69. package/lib/Types/Call.d.ts +15 -0
  70. package/lib/Types/Call.js +2 -0
  71. package/lib/Types/Chat.d.ts +124 -0
  72. package/lib/Types/Chat.js +8 -0
  73. package/lib/Types/Contact.d.ts +26 -0
  74. package/lib/Types/Contact.js +2 -0
  75. package/lib/Types/Events.d.ts +256 -0
  76. package/lib/Types/Events.js +2 -0
  77. package/lib/Types/GroupMetadata.d.ts +71 -0
  78. package/lib/Types/GroupMetadata.js +2 -0
  79. package/lib/Types/Label.d.ts +47 -0
  80. package/lib/Types/Label.js +25 -0
  81. package/lib/Types/LabelAssociation.d.ts +30 -0
  82. package/lib/Types/LabelAssociation.js +7 -0
  83. package/lib/Types/Message.d.ts +320 -0
  84. package/lib/Types/Message.js +11 -0
  85. package/lib/Types/Mex.d.ts +141 -0
  86. package/lib/Types/Mex.js +37 -0
  87. package/lib/Types/Product.d.ts +79 -0
  88. package/lib/Types/Product.js +2 -0
  89. package/lib/Types/Signal.d.ts +87 -0
  90. package/lib/Types/Signal.js +2 -0
  91. package/lib/Types/Socket.d.ts +136 -0
  92. package/lib/Types/Socket.js +3 -0
  93. package/lib/Types/State.d.ts +97 -0
  94. package/lib/Types/State.js +56 -0
  95. package/lib/Types/USync.d.ts +26 -0
  96. package/lib/Types/USync.js +2 -0
  97. package/lib/Types/index.d.ts +65 -0
  98. package/lib/Types/index.js +26 -0
  99. package/lib/Utils/auth-utils.d.ts +24 -0
  100. package/lib/Utils/auth-utils.js +302 -0
  101. package/lib/Utils/browser-utils.d.ts +4 -0
  102. package/lib/Utils/browser-utils.js +28 -0
  103. package/lib/Utils/business.d.ts +23 -0
  104. package/lib/Utils/business.js +231 -0
  105. package/lib/Utils/chat-utils.d.ts +100 -0
  106. package/lib/Utils/chat-utils.js +872 -0
  107. package/lib/Utils/companion-reg-client-utils.d.ts +17 -0
  108. package/lib/Utils/companion-reg-client-utils.js +35 -0
  109. package/lib/Utils/crypto.d.ts +37 -0
  110. package/lib/Utils/crypto.js +118 -0
  111. package/lib/Utils/decode-wa-message.d.ts +66 -0
  112. package/lib/Utils/decode-wa-message.js +311 -0
  113. package/lib/Utils/event-buffer.d.ts +36 -0
  114. package/lib/Utils/event-buffer.js +622 -0
  115. package/lib/Utils/generics.d.ts +91 -0
  116. package/lib/Utils/generics.js +378 -0
  117. package/lib/Utils/history.d.ts +24 -0
  118. package/lib/Utils/history.js +134 -0
  119. package/lib/Utils/identity-change-handler.d.ts +44 -0
  120. package/lib/Utils/identity-change-handler.js +50 -0
  121. package/lib/Utils/index.d.ts +22 -0
  122. package/lib/Utils/index.js +22 -0
  123. package/lib/Utils/link-preview.d.ts +21 -0
  124. package/lib/Utils/link-preview.js +85 -0
  125. package/lib/Utils/logger.d.ts +12 -0
  126. package/lib/Utils/logger.js +3 -0
  127. package/lib/Utils/lt-hash.d.ts +8 -0
  128. package/lib/Utils/lt-hash.js +8 -0
  129. package/lib/Utils/make-mutex.d.ts +9 -0
  130. package/lib/Utils/make-mutex.js +33 -0
  131. package/lib/Utils/message-retry-manager.d.ts +115 -0
  132. package/lib/Utils/message-retry-manager.js +265 -0
  133. package/lib/Utils/messages-media.d.ts +133 -0
  134. package/lib/Utils/messages-media.js +786 -0
  135. package/lib/Utils/messages.d.ts +91 -0
  136. package/lib/Utils/messages.js +893 -0
  137. package/lib/Utils/noise-handler.d.ts +20 -0
  138. package/lib/Utils/noise-handler.js +201 -0
  139. package/lib/Utils/offline-node-processor.d.ts +17 -0
  140. package/lib/Utils/offline-node-processor.js +40 -0
  141. package/lib/Utils/pre-key-manager.d.ts +28 -0
  142. package/lib/Utils/pre-key-manager.js +106 -0
  143. package/lib/Utils/process-message.d.ts +60 -0
  144. package/lib/Utils/process-message.js +597 -0
  145. package/lib/Utils/reporting-utils.d.ts +11 -0
  146. package/lib/Utils/reporting-utils.js +258 -0
  147. package/lib/Utils/signal.d.ts +47 -0
  148. package/lib/Utils/signal.js +201 -0
  149. package/lib/Utils/stanza-ack.d.ts +11 -0
  150. package/lib/Utils/stanza-ack.js +38 -0
  151. package/lib/Utils/sync-action-utils.d.ts +19 -0
  152. package/lib/Utils/sync-action-utils.js +49 -0
  153. package/lib/Utils/tc-token-utils.d.ts +37 -0
  154. package/lib/Utils/tc-token-utils.js +163 -0
  155. package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
  156. package/lib/Utils/use-multi-file-auth-state.js +121 -0
  157. package/lib/Utils/validate-connection.d.ts +11 -0
  158. package/lib/Utils/validate-connection.js +203 -0
  159. package/lib/WABinary/constants.d.ts +28 -0
  160. package/lib/WABinary/constants.js +1301 -0
  161. package/lib/WABinary/decode.d.ts +7 -0
  162. package/lib/WABinary/decode.js +262 -0
  163. package/lib/WABinary/encode.d.ts +3 -0
  164. package/lib/WABinary/encode.js +220 -0
  165. package/lib/WABinary/generic-utils.d.ts +15 -0
  166. package/lib/WABinary/generic-utils.js +113 -0
  167. package/lib/WABinary/index.d.ts +6 -0
  168. package/lib/WABinary/index.js +6 -0
  169. package/lib/WABinary/jid-utils.d.ts +48 -0
  170. package/lib/WABinary/jid-utils.js +96 -0
  171. package/lib/WABinary/types.d.ts +19 -0
  172. package/lib/WABinary/types.js +2 -0
  173. package/lib/WAM/BinaryInfo.d.ts +9 -0
  174. package/lib/WAM/BinaryInfo.js +10 -0
  175. package/lib/WAM/constants.d.ts +40 -0
  176. package/lib/WAM/constants.js +22853 -0
  177. package/lib/WAM/encode.d.ts +3 -0
  178. package/lib/WAM/encode.js +150 -0
  179. package/lib/WAM/index.d.ts +4 -0
  180. package/lib/WAM/index.js +4 -0
  181. package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
  182. package/lib/WAUSync/Protocols/USyncContactProtocol.js +52 -0
  183. package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
  184. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +54 -0
  185. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
  186. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +27 -0
  187. package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
  188. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +38 -0
  189. package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
  190. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +25 -0
  191. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +26 -0
  192. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +51 -0
  193. package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +10 -0
  194. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +29 -0
  195. package/lib/WAUSync/Protocols/index.d.ts +6 -0
  196. package/lib/WAUSync/Protocols/index.js +6 -0
  197. package/lib/WAUSync/USyncQuery.d.ts +30 -0
  198. package/lib/WAUSync/USyncQuery.js +98 -0
  199. package/lib/WAUSync/USyncUser.d.ts +17 -0
  200. package/lib/WAUSync/USyncUser.js +31 -0
  201. package/lib/WAUSync/index.d.ts +4 -0
  202. package/lib/WAUSync/index.js +4 -0
  203. package/lib/index.d.ts +12 -0
  204. package/lib/index.js +11 -0
  205. package/package.json +160 -0
@@ -0,0 +1,98 @@
1
+ import { getBinaryNodeChild } from '../WABinary/index.js';
2
+ import { USyncBotProfileProtocol } from './Protocols/UsyncBotProfileProtocol.js';
3
+ import { USyncLIDProtocol } from './Protocols/UsyncLIDProtocol.js';
4
+ import { USyncContactProtocol, USyncDeviceProtocol, USyncDisappearingModeProtocol, USyncStatusProtocol, USyncUsernameProtocol } from './Protocols/index.js';
5
+ import { USyncUser } from './USyncUser.js';
6
+ export class USyncQuery {
7
+ constructor() {
8
+ this.protocols = [];
9
+ this.users = [];
10
+ this.context = 'interactive';
11
+ this.mode = 'query';
12
+ }
13
+ withMode(mode) {
14
+ this.mode = mode;
15
+ return this;
16
+ }
17
+ withContext(context) {
18
+ this.context = context;
19
+ return this;
20
+ }
21
+ withUser(user) {
22
+ this.users.push(user);
23
+ return this;
24
+ }
25
+ parseUSyncQueryResult(result) {
26
+ if (result?.attrs.type !== 'result') {
27
+ return;
28
+ }
29
+ const protocolMap = Object.fromEntries(this.protocols.map(protocol => {
30
+ return [protocol.name, protocol.parser];
31
+ }));
32
+ const queryResult = {
33
+ // TODO: implement errors etc.
34
+ list: [],
35
+ sideList: []
36
+ };
37
+ const usyncNode = getBinaryNodeChild(result, 'usync');
38
+ //TODO: implement error backoff, refresh etc.
39
+ //TODO: see if there are any errors in the result node
40
+ //const resultNode = getBinaryNodeChild(usyncNode, 'result')
41
+ const listNode = usyncNode ? getBinaryNodeChild(usyncNode, 'list') : undefined;
42
+ if (listNode?.content && Array.isArray(listNode.content)) {
43
+ queryResult.list = listNode.content.reduce((acc, node) => {
44
+ const id = node?.attrs.jid;
45
+ if (id) {
46
+ const data = Array.isArray(node?.content)
47
+ ? Object.fromEntries(node.content
48
+ .map(content => {
49
+ const protocol = content.tag;
50
+ const parser = protocolMap[protocol];
51
+ if (parser) {
52
+ return [protocol, parser(content)];
53
+ }
54
+ else {
55
+ return [protocol, null];
56
+ }
57
+ })
58
+ .filter(([, b]) => b !== null))
59
+ : {};
60
+ acc.push({ ...data, id });
61
+ }
62
+ return acc;
63
+ }, []);
64
+ }
65
+ //TODO: implement side list
66
+ //const sideListNode = getBinaryNodeChild(usyncNode, 'side_list')
67
+ return queryResult;
68
+ }
69
+ withDeviceProtocol() {
70
+ this.protocols.push(new USyncDeviceProtocol());
71
+ return this;
72
+ }
73
+ withContactProtocol() {
74
+ this.protocols.push(new USyncContactProtocol());
75
+ return this;
76
+ }
77
+ withStatusProtocol() {
78
+ this.protocols.push(new USyncStatusProtocol());
79
+ return this;
80
+ }
81
+ withDisappearingModeProtocol() {
82
+ this.protocols.push(new USyncDisappearingModeProtocol());
83
+ return this;
84
+ }
85
+ withBotProfileProtocol() {
86
+ this.protocols.push(new USyncBotProfileProtocol());
87
+ return this;
88
+ }
89
+ withLIDProtocol() {
90
+ this.protocols.push(new USyncLIDProtocol());
91
+ return this;
92
+ }
93
+ withUsernameProtocol() {
94
+ this.protocols.push(new USyncUsernameProtocol());
95
+ return this;
96
+ }
97
+ }
98
+ //# sourceMappingURL=USyncQuery.js.map
@@ -0,0 +1,17 @@
1
+ export declare class USyncUser {
2
+ id?: string;
3
+ lid?: string;
4
+ phone?: string;
5
+ username?: string;
6
+ usernameKey?: string;
7
+ type?: string;
8
+ personaId?: string;
9
+ withId(id: string): this;
10
+ withLid(lid: string): this;
11
+ withPhone(phone: string): this;
12
+ withUsername(username: string): this;
13
+ withUsernameKey(usernameKey: string): this;
14
+ withType(type: string): this;
15
+ withPersonaId(personaId: string): this;
16
+ }
17
+ //# sourceMappingURL=USyncUser.d.ts.map
@@ -0,0 +1,31 @@
1
+ export class USyncUser {
2
+ withId(id) {
3
+ this.id = id;
4
+ return this;
5
+ }
6
+ withLid(lid) {
7
+ this.lid = lid;
8
+ return this;
9
+ }
10
+ withPhone(phone) {
11
+ this.phone = phone;
12
+ return this;
13
+ }
14
+ withUsername(username) {
15
+ this.username = username;
16
+ return this;
17
+ }
18
+ withUsernameKey(usernameKey) {
19
+ this.usernameKey = usernameKey;
20
+ return this;
21
+ }
22
+ withType(type) {
23
+ this.type = type;
24
+ return this;
25
+ }
26
+ withPersonaId(personaId) {
27
+ this.personaId = personaId;
28
+ return this;
29
+ }
30
+ }
31
+ //# sourceMappingURL=USyncUser.js.map
@@ -0,0 +1,4 @@
1
+ export * from './Protocols/index.js';
2
+ export * from './USyncQuery.js';
3
+ export * from './USyncUser.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from './Protocols/index.js';
2
+ export * from './USyncQuery.js';
3
+ export * from './USyncUser.js';
4
+ //# sourceMappingURL=index.js.map
package/lib/index.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import makeWASocket from './Socket/index.js';
2
+ export * from '../WAProto/index.js';
3
+ export * from './Utils/index.js';
4
+ export * from './Types/index.js';
5
+ export * from './Defaults/index.js';
6
+ export * from './WABinary/index.js';
7
+ export * from './WAM/index.js';
8
+ export * from './WAUSync/index.js';
9
+ export type WASocket = ReturnType<typeof makeWASocket>;
10
+ export { makeWASocket };
11
+ export default makeWASocket;
12
+ //# sourceMappingURL=index.d.ts.map
package/lib/index.js ADDED
@@ -0,0 +1,11 @@
1
+ import makeWASocket from './Socket/index.js';
2
+ export * from '../WAProto/index.js';
3
+ export * from './Utils/index.js';
4
+ export * from './Types/index.js';
5
+ export * from './Defaults/index.js';
6
+ export * from './WABinary/index.js';
7
+ export * from './WAM/index.js';
8
+ export * from './WAUSync/index.js';
9
+ export { makeWASocket };
10
+ export default makeWASocket;
11
+ //# sourceMappingURL=index.js.map
package/package.json ADDED
@@ -0,0 +1,160 @@
1
+ {
2
+ "name": "queenruva-sockets",
3
+ "type": "module",
4
+ "version": "5.6.23",
5
+ "description": "A modern WebSocket engine for WhatsApp Web automation and bot development. Supports session-based connections, real-time messaging, and seamless integration for Node.js WhatsApp bots, web session bots, and Telegram automation systems. Built for speed, stability, and scalability by Iconic Tech.",
6
+ "keywords": [
7
+ "whatsapp",
8
+ "whatsapp api",
9
+ "whatsapp automation",
10
+ "whatsapp bot",
11
+ "whatsapp chatbot",
12
+ "baileys",
13
+ "baileys library",
14
+ "nodejs",
15
+ "nodejs bot",
16
+ "javascript",
17
+ "websocket",
18
+ "websocket api",
19
+ "messaging",
20
+ "real-time messaging",
21
+ "chat automation",
22
+ "multi-device",
23
+ "whatsapp multi device",
24
+ "pairing code",
25
+ "no qr whatsapp",
26
+ "ai chatbot",
27
+ "ai messaging",
28
+ "automation bot",
29
+ "queen-ruva",
30
+ "queen ruva baileys",
31
+ "iconic-tech",
32
+ "whatsapp sdk",
33
+ "whatsapp integration"
34
+ ],
35
+ "homepage": "https://silentbyte-plantforms-inc.zone.id",
36
+ "repository": {
37
+ "url": "git@github.com:iconictech-dev/queenruva-socket.git"
38
+ },
39
+ "license": "MIT",
40
+ "author": "Iconic Tech <https://silentbyte-plantforms-inc.zone.id>",
41
+ "main": "lib/index.js",
42
+ "types": "lib/index.d.ts",
43
+ "files": [
44
+ "lib/**/*",
45
+ "WAProto/**/*",
46
+ "engine-requirements.js"
47
+ ],
48
+ "scripts": {
49
+ "build:all": "npm run build && npm run build:docs",
50
+ "build:docs": "typedoc",
51
+ "build": "tsc -P tsconfig.build.json && tsc-esm-fix --tsconfig=tsconfig.build.json --ext=.js",
52
+ "changelog:last": "conventional-changelog -p angular -r 2",
53
+ "changelog:preview": "conventional-changelog -p angular -u",
54
+ "changelog:update": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
55
+ "example": "tsx ./Example/example.ts",
56
+ "gen:protobuf": "sh WAProto/GenerateStatics.sh",
57
+ "format": "prettier --write \"src/**/*.{ts,js,json,md}\"",
58
+ "lint": "tsc && eslint src --ext .js,.ts",
59
+ "lint:fix": "npm run format && npm run lint -- --fix",
60
+ "preinstall": "node ./engine-requirements.js",
61
+ "release": "release-it",
62
+ "test": "node --experimental-vm-modules ./node_modules/.bin/jest --testMatch '**/*.test.ts'",
63
+ "test:e2e": "NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules ./node_modules/.bin/jest --runInBand --forceExit --testMatch '**/*.test-e2e.ts'"
64
+ },
65
+ "dependencies": {
66
+ "@cacheable/node-cache": "^1.4.0",
67
+ "@hapi/boom": "^9.1.3",
68
+ "async-mutex": "^0.5.0",
69
+ "libsignal": "^6.0.0",
70
+ "lru-cache": "^11.1.0",
71
+ "music-metadata": "^11.12.3",
72
+ "p-queue": "^9.0.0",
73
+ "pino": "^9.6",
74
+ "protobufjs": "^7.5.6",
75
+ "whatsapp-rust-bridge": "0.5.4",
76
+ "ws": "^8.13.0"
77
+ },
78
+ "devDependencies": {
79
+ "@eslint/eslintrc": "^3.3.1",
80
+ "@eslint/js": "^9.31.0",
81
+ "@types/jest": "^30.0.0",
82
+ "@types/node": "^20.9.0",
83
+ "@types/ws": "^8.0.0",
84
+ "@typescript-eslint/eslint-plugin": "^8",
85
+ "@typescript-eslint/parser": "^8",
86
+ "conventional-changelog": "^7.1.1",
87
+ "conventional-changelog-angular": "^8.0.0",
88
+ "esbuild-register": "^3.6.0",
89
+ "eslint": "^9",
90
+ "eslint-config-prettier": "^10.1.2",
91
+ "eslint-plugin-prettier": "^5.4.0",
92
+ "jest": "^30.0.5",
93
+ "jimp": "^1.6.1",
94
+ "jiti": "^2.4.2",
95
+ "json": "^11.0.0",
96
+ "link-preview-js": "^3.0.0",
97
+ "lru-cache": "^11.1.0",
98
+ "open": "^8.4.2",
99
+ "pino-pretty": "^13.1.1",
100
+ "prettier": "^3.5.3",
101
+ "protobufjs-cli": "^1.1.3",
102
+ "release-it": "^20.0.1",
103
+ "ts-jest": "^29.4.0",
104
+ "tsc-esm-fix": "^3.1.2",
105
+ "tsx": "^4.20.3",
106
+ "typedoc": "^0.27.9",
107
+ "typedoc-plugin-markdown": "4.4.2",
108
+ "typescript": "^5.8.2"
109
+ },
110
+ "peerDependencies": {
111
+ "audio-decode": "^2.1.3",
112
+ "jimp": "^1.6.1",
113
+ "link-preview-js": "^3.0.0",
114
+ "sharp": "*"
115
+ },
116
+ "resolutions": {
117
+ "ajv@npm:^6.12.4": "^6.14.0",
118
+ "basic-ftp": "^5.2.4",
119
+ "brace-expansion@npm:^1.1.7": "^1.1.13",
120
+ "brace-expansion@npm:^2.0.1": "^2.0.3",
121
+ "flatted": "^3.4.2",
122
+ "glob@npm:^10.2.2": "^10.5.0",
123
+ "glob@npm:^10.3.10": "^10.5.0",
124
+ "glob@npm:^10.5.0": "^10.5.0",
125
+ "handlebars": "^4.7.9",
126
+ "ip-address": "^10.1.1",
127
+ "js-yaml@npm:^3.13.1": "^3.14.2",
128
+ "js-yaml@npm:^4.1.0": "^4.1.1",
129
+ "markdown-it": "^14.1.1",
130
+ "minimatch@npm:^3.0.4": "^3.1.5",
131
+ "minimatch@npm:^3.1.2": "^3.1.5",
132
+ "minimatch@npm:^5.0.1": "^5.1.8",
133
+ "minimatch@npm:^9.0.4": "^9.0.9",
134
+ "minimatch@npm:^9.0.5": "^9.0.9",
135
+ "picomatch@npm:^2.0.4": "^2.3.2",
136
+ "picomatch@npm:^2.3.1": "^2.3.2",
137
+ "picomatch@npm:^4.0.0": "^4.0.4",
138
+ "picomatch@npm:^4.0.2": "^4.0.4",
139
+ "socks": "^2.8.8",
140
+ "tar": "^7.5.11",
141
+ "tmp": "^0.2.5",
142
+ "underscore": "^1.13.8",
143
+ "yaml@npm:^2.6.1": "^2.8.4"
144
+ },
145
+ "peerDependenciesMeta": {
146
+ "audio-decode": {
147
+ "optional": true
148
+ },
149
+ "jimp": {
150
+ "optional": true
151
+ },
152
+ "link-preview-js": {
153
+ "optional": true
154
+ }
155
+ },
156
+ "packageManager": "yarn@4.9.2",
157
+ "engines": {
158
+ "node": ">=20.0.0"
159
+ }
160
+ }