apexify.js 4.8.3 → 4.8.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 (229) hide show
  1. package/dist/cjs/ai/ApexAI.d.ts +145 -0
  2. package/dist/cjs/ai/ApexAI.d.ts.map +1 -0
  3. package/dist/cjs/ai/ApexAI.js +494 -0
  4. package/dist/cjs/ai/ApexAI.js.map +1 -0
  5. package/dist/cjs/ai/ApexModules.d.ts +53 -0
  6. package/dist/cjs/ai/ApexModules.d.ts.map +1 -0
  7. package/dist/cjs/ai/ApexModules.js +819 -0
  8. package/dist/cjs/ai/ApexModules.js.map +1 -0
  9. package/dist/cjs/ai/functions/readFiles.d.ts +2 -0
  10. package/dist/cjs/ai/functions/readFiles.d.ts.map +1 -0
  11. package/dist/cjs/ai/functions/readFiles.js +96 -0
  12. package/dist/cjs/ai/functions/readFiles.js.map +1 -0
  13. package/dist/cjs/ai/functions/tokenizer.d.ts +10 -0
  14. package/dist/cjs/ai/functions/tokenizer.d.ts.map +1 -0
  15. package/dist/cjs/ai/functions/tokenizer.js +64 -0
  16. package/dist/cjs/ai/functions/tokenizer.js.map +1 -0
  17. package/dist/cjs/ai/functions/validOptions.d.ts +22 -0
  18. package/dist/cjs/ai/functions/validOptions.d.ts.map +1 -0
  19. package/dist/cjs/ai/functions/validOptions.js +103 -0
  20. package/dist/cjs/ai/functions/validOptions.js.map +1 -0
  21. package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts +7 -0
  22. package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts.map +1 -0
  23. package/dist/cjs/ai/modals/electronHub/chatmodels.js +51 -0
  24. package/dist/cjs/ai/modals/electronHub/chatmodels.js.map +1 -0
  25. package/dist/cjs/ai/modals/electronHub/imageModels.d.ts +12 -0
  26. package/dist/cjs/ai/modals/electronHub/imageModels.d.ts.map +1 -0
  27. package/dist/cjs/ai/modals/electronHub/imageModels.js +92 -0
  28. package/dist/cjs/ai/modals/electronHub/imageModels.js.map +1 -0
  29. package/dist/cjs/ai/modals/electronHub/speechModels.d.ts +7 -0
  30. package/dist/cjs/ai/modals/electronHub/speechModels.d.ts.map +1 -0
  31. package/dist/cjs/ai/modals/electronHub/speechModels.js +63 -0
  32. package/dist/cjs/ai/modals/electronHub/speechModels.js.map +1 -0
  33. package/dist/cjs/ai/modals/electronHub/videoModels.d.ts +6 -0
  34. package/dist/cjs/ai/modals/electronHub/videoModels.d.ts.map +1 -0
  35. package/dist/cjs/ai/modals/electronHub/videoModels.js +63 -0
  36. package/dist/cjs/ai/modals/electronHub/videoModels.js.map +1 -0
  37. package/dist/cjs/ai/modals/groq/chatgroq.d.ts +9 -0
  38. package/dist/cjs/ai/modals/groq/chatgroq.d.ts.map +1 -0
  39. package/dist/cjs/ai/modals/groq/chatgroq.js +64 -0
  40. package/dist/cjs/ai/modals/groq/chatgroq.js.map +1 -0
  41. package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts +8 -0
  42. package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts.map +1 -0
  43. package/dist/cjs/ai/modals/groq/imageAnalyzer.js +82 -0
  44. package/dist/cjs/ai/modals/groq/imageAnalyzer.js.map +1 -0
  45. package/dist/cjs/ai/modals/groq/whisper.d.ts +5 -0
  46. package/dist/cjs/ai/modals/groq/whisper.d.ts.map +1 -0
  47. package/dist/cjs/ai/modals/groq/whisper.js +108 -0
  48. package/dist/cjs/ai/modals/groq/whisper.js.map +1 -0
  49. package/dist/cjs/ai/modals/hercai/chatModels.d.ts +7 -0
  50. package/dist/cjs/ai/modals/hercai/chatModels.d.ts.map +1 -0
  51. package/dist/cjs/ai/modals/hercai/chatModels.js +23 -0
  52. package/dist/cjs/ai/modals/hercai/chatModels.js.map +1 -0
  53. package/dist/cjs/ai/utils.d.ts +5 -0
  54. package/dist/cjs/ai/utils.d.ts.map +1 -0
  55. package/dist/cjs/ai/utils.js +15 -0
  56. package/dist/cjs/ai/utils.js.map +1 -0
  57. package/dist/cjs/canvas/ApexPainter.d.ts +145 -0
  58. package/dist/cjs/canvas/ApexPainter.d.ts.map +1 -0
  59. package/dist/cjs/canvas/ApexPainter.js +908 -0
  60. package/dist/cjs/canvas/ApexPainter.js.map +1 -0
  61. package/dist/cjs/canvas/utils/Background/bg.d.ts +31 -0
  62. package/dist/cjs/canvas/utils/Background/bg.d.ts.map +1 -0
  63. package/dist/cjs/canvas/utils/Background/bg.js +161 -0
  64. package/dist/cjs/canvas/utils/Background/bg.js.map +1 -0
  65. package/dist/cjs/canvas/utils/Charts/charts.d.ts +8 -0
  66. package/dist/cjs/canvas/utils/Charts/charts.d.ts.map +1 -0
  67. package/dist/cjs/canvas/utils/Charts/charts.js +464 -0
  68. package/dist/cjs/canvas/utils/Charts/charts.js.map +1 -0
  69. package/dist/cjs/canvas/utils/Custom/customLines.d.ts +3 -0
  70. package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +1 -0
  71. package/dist/cjs/canvas/utils/Custom/customLines.js +109 -0
  72. package/dist/cjs/canvas/utils/Custom/customLines.js.map +1 -0
  73. package/dist/cjs/canvas/utils/General/conversion.d.ts +6 -0
  74. package/dist/cjs/canvas/utils/General/conversion.d.ts.map +1 -0
  75. package/dist/cjs/canvas/utils/General/conversion.js +34 -0
  76. package/dist/cjs/canvas/utils/General/conversion.js.map +1 -0
  77. package/dist/cjs/canvas/utils/General/general functions.d.ts +39 -0
  78. package/dist/cjs/canvas/utils/General/general functions.d.ts.map +1 -0
  79. package/dist/cjs/canvas/utils/General/general functions.js +606 -0
  80. package/dist/cjs/canvas/utils/General/general functions.js.map +1 -0
  81. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +115 -0
  82. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  83. package/dist/cjs/canvas/utils/Image/imageProperties.js +602 -0
  84. package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -0
  85. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts +17 -0
  86. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  87. package/dist/cjs/canvas/utils/Texts/textProperties.js +160 -0
  88. package/dist/cjs/canvas/utils/Texts/textProperties.js.map +1 -0
  89. package/dist/cjs/canvas/utils/types.d.ts +622 -0
  90. package/dist/cjs/canvas/utils/types.d.ts.map +1 -0
  91. package/dist/cjs/canvas/utils/types.js +7 -0
  92. package/dist/cjs/canvas/utils/types.js.map +1 -0
  93. package/dist/cjs/canvas/utils/utils.d.ts +19 -0
  94. package/dist/cjs/canvas/utils/utils.d.ts.map +1 -0
  95. package/dist/cjs/canvas/utils/utils.js +53 -0
  96. package/dist/cjs/canvas/utils/utils.js.map +1 -0
  97. package/dist/cjs/index.d.ts +29 -0
  98. package/dist/cjs/index.d.ts.map +1 -0
  99. package/dist/cjs/index.js +117 -0
  100. package/dist/cjs/index.js.map +1 -0
  101. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  102. package/dist/cjs/utils.d.ts +5 -0
  103. package/dist/cjs/utils.d.ts.map +1 -0
  104. package/dist/cjs/utils.js +16 -0
  105. package/dist/cjs/utils.js.map +1 -0
  106. package/dist/esm/ai/ApexAI.d.ts +145 -0
  107. package/dist/esm/ai/ApexAI.d.ts.map +1 -0
  108. package/dist/esm/ai/ApexAI.js +494 -0
  109. package/dist/esm/ai/ApexAI.js.map +1 -0
  110. package/dist/esm/ai/ApexModules.d.ts +53 -0
  111. package/dist/esm/ai/ApexModules.d.ts.map +1 -0
  112. package/dist/esm/ai/ApexModules.js +819 -0
  113. package/dist/esm/ai/ApexModules.js.map +1 -0
  114. package/dist/esm/ai/functions/readFiles.d.ts +2 -0
  115. package/dist/esm/ai/functions/readFiles.d.ts.map +1 -0
  116. package/dist/esm/ai/functions/readFiles.js +96 -0
  117. package/dist/esm/ai/functions/readFiles.js.map +1 -0
  118. package/dist/esm/ai/functions/tokenizer.d.ts +10 -0
  119. package/dist/esm/ai/functions/tokenizer.d.ts.map +1 -0
  120. package/dist/esm/ai/functions/tokenizer.js +64 -0
  121. package/dist/esm/ai/functions/tokenizer.js.map +1 -0
  122. package/dist/esm/ai/functions/validOptions.d.ts +22 -0
  123. package/dist/esm/ai/functions/validOptions.d.ts.map +1 -0
  124. package/dist/esm/ai/functions/validOptions.js +103 -0
  125. package/dist/esm/ai/functions/validOptions.js.map +1 -0
  126. package/dist/esm/ai/modals/electronHub/chatmodels.d.ts +7 -0
  127. package/dist/esm/ai/modals/electronHub/chatmodels.d.ts.map +1 -0
  128. package/dist/esm/ai/modals/electronHub/chatmodels.js +51 -0
  129. package/dist/esm/ai/modals/electronHub/chatmodels.js.map +1 -0
  130. package/dist/esm/ai/modals/electronHub/imageModels.d.ts +12 -0
  131. package/dist/esm/ai/modals/electronHub/imageModels.d.ts.map +1 -0
  132. package/dist/esm/ai/modals/electronHub/imageModels.js +92 -0
  133. package/dist/esm/ai/modals/electronHub/imageModels.js.map +1 -0
  134. package/dist/esm/ai/modals/electronHub/speechModels.d.ts +7 -0
  135. package/dist/esm/ai/modals/electronHub/speechModels.d.ts.map +1 -0
  136. package/dist/esm/ai/modals/electronHub/speechModels.js +63 -0
  137. package/dist/esm/ai/modals/electronHub/speechModels.js.map +1 -0
  138. package/dist/esm/ai/modals/electronHub/videoModels.d.ts +6 -0
  139. package/dist/esm/ai/modals/electronHub/videoModels.d.ts.map +1 -0
  140. package/dist/esm/ai/modals/electronHub/videoModels.js +63 -0
  141. package/dist/esm/ai/modals/electronHub/videoModels.js.map +1 -0
  142. package/dist/esm/ai/modals/groq/chatgroq.d.ts +9 -0
  143. package/dist/esm/ai/modals/groq/chatgroq.d.ts.map +1 -0
  144. package/dist/esm/ai/modals/groq/chatgroq.js +64 -0
  145. package/dist/esm/ai/modals/groq/chatgroq.js.map +1 -0
  146. package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts +8 -0
  147. package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts.map +1 -0
  148. package/dist/esm/ai/modals/groq/imageAnalyzer.js +82 -0
  149. package/dist/esm/ai/modals/groq/imageAnalyzer.js.map +1 -0
  150. package/dist/esm/ai/modals/groq/whisper.d.ts +5 -0
  151. package/dist/esm/ai/modals/groq/whisper.d.ts.map +1 -0
  152. package/dist/esm/ai/modals/groq/whisper.js +108 -0
  153. package/dist/esm/ai/modals/groq/whisper.js.map +1 -0
  154. package/dist/esm/ai/modals/hercai/chatModels.d.ts +7 -0
  155. package/dist/esm/ai/modals/hercai/chatModels.d.ts.map +1 -0
  156. package/dist/esm/ai/modals/hercai/chatModels.js +23 -0
  157. package/dist/esm/ai/modals/hercai/chatModels.js.map +1 -0
  158. package/dist/esm/ai/utils.d.ts +5 -0
  159. package/dist/esm/ai/utils.d.ts.map +1 -0
  160. package/dist/esm/ai/utils.js +15 -0
  161. package/dist/esm/ai/utils.js.map +1 -0
  162. package/dist/esm/canvas/ApexPainter.d.ts +145 -0
  163. package/dist/esm/canvas/ApexPainter.d.ts.map +1 -0
  164. package/dist/esm/canvas/ApexPainter.js +908 -0
  165. package/dist/esm/canvas/ApexPainter.js.map +1 -0
  166. package/dist/esm/canvas/utils/Background/bg.d.ts +31 -0
  167. package/dist/esm/canvas/utils/Background/bg.d.ts.map +1 -0
  168. package/dist/esm/canvas/utils/Background/bg.js +161 -0
  169. package/dist/esm/canvas/utils/Background/bg.js.map +1 -0
  170. package/dist/esm/canvas/utils/Charts/charts.d.ts +8 -0
  171. package/dist/esm/canvas/utils/Charts/charts.d.ts.map +1 -0
  172. package/dist/esm/canvas/utils/Charts/charts.js +464 -0
  173. package/dist/esm/canvas/utils/Charts/charts.js.map +1 -0
  174. package/dist/esm/canvas/utils/Custom/customLines.d.ts +3 -0
  175. package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +1 -0
  176. package/dist/esm/canvas/utils/Custom/customLines.js +109 -0
  177. package/dist/esm/canvas/utils/Custom/customLines.js.map +1 -0
  178. package/dist/esm/canvas/utils/General/conversion.d.ts +6 -0
  179. package/dist/esm/canvas/utils/General/conversion.d.ts.map +1 -0
  180. package/dist/esm/canvas/utils/General/conversion.js +34 -0
  181. package/dist/esm/canvas/utils/General/conversion.js.map +1 -0
  182. package/dist/esm/canvas/utils/General/general functions.d.ts +39 -0
  183. package/dist/esm/canvas/utils/General/general functions.d.ts.map +1 -0
  184. package/dist/esm/canvas/utils/General/general functions.js +606 -0
  185. package/dist/esm/canvas/utils/General/general functions.js.map +1 -0
  186. package/dist/esm/canvas/utils/Image/imageProperties.d.ts +115 -0
  187. package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  188. package/dist/esm/canvas/utils/Image/imageProperties.js +602 -0
  189. package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -0
  190. package/dist/esm/canvas/utils/Texts/textProperties.d.ts +17 -0
  191. package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  192. package/dist/esm/canvas/utils/Texts/textProperties.js +160 -0
  193. package/dist/esm/canvas/utils/Texts/textProperties.js.map +1 -0
  194. package/dist/esm/canvas/utils/types.d.ts +622 -0
  195. package/dist/esm/canvas/utils/types.d.ts.map +1 -0
  196. package/dist/esm/canvas/utils/types.js +7 -0
  197. package/dist/esm/canvas/utils/types.js.map +1 -0
  198. package/dist/esm/canvas/utils/utils.d.ts +19 -0
  199. package/dist/esm/canvas/utils/utils.d.ts.map +1 -0
  200. package/dist/esm/canvas/utils/utils.js +53 -0
  201. package/dist/esm/canvas/utils/utils.js.map +1 -0
  202. package/dist/esm/index.d.ts +29 -0
  203. package/dist/esm/index.d.ts.map +1 -0
  204. package/dist/esm/index.js +117 -0
  205. package/dist/esm/index.js.map +1 -0
  206. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  207. package/dist/esm/utils.d.ts +5 -0
  208. package/dist/esm/utils.d.ts.map +1 -0
  209. package/dist/esm/utils.js +16 -0
  210. package/dist/esm/utils.js.map +1 -0
  211. package/lib/ai/ApexAI.ts +2 -2
  212. package/lib/ai/ApexModules.ts +8 -8
  213. package/lib/ai/modals/electronHub/chatmodels.ts +1 -1
  214. package/lib/ai/modals/electronHub/imageModels.ts +2 -2
  215. package/lib/ai/modals/electronHub/speechModels.ts +1 -1
  216. package/lib/ai/utils.ts +3 -3
  217. package/lib/canvas/ApexPainter.ts +1 -1
  218. package/lib/canvas/utils/Background/bg.ts +1 -1
  219. package/lib/canvas/utils/Charts/charts.ts +1 -1
  220. package/lib/canvas/utils/Custom/customLines.ts +2 -2
  221. package/lib/canvas/utils/General/general functions.ts +1 -1
  222. package/lib/canvas/utils/Image/imageProperties.ts +1 -1
  223. package/lib/canvas/utils/Texts/textProperties.ts +1 -1
  224. package/lib/canvas/utils/utils.ts +8 -8
  225. package/lib/index.ts +5 -5
  226. package/lib/utils.ts +3 -3
  227. package/package.json +4 -6
  228. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  229. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -0,0 +1,494 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ApexAI = ApexAI;
7
+ exports.handleVoiceAI = handleVoiceAI;
8
+ const utils_1 = require("./utils");
9
+ const discord_js_1 = require("discord.js");
10
+ const voice_1 = require("@discordjs/voice");
11
+ const whisper_1 = require("./modals/groq/whisper");
12
+ const stream_1 = require("stream");
13
+ const prism_media_1 = __importDefault(require("prism-media"));
14
+ const path_1 = __importDefault(require("path"));
15
+ const fs_1 = __importDefault(require("fs"));
16
+ const child_process_1 = require("child_process");
17
+ function createButtonRows(buttons) {
18
+ if (!Array.isArray(buttons) || buttons.length === 0)
19
+ return [];
20
+ const buttonRows = [];
21
+ let currentRow = new discord_js_1.ActionRowBuilder();
22
+ for (const button of buttons) {
23
+ if (!button.label || !button.style || !button.custom_id)
24
+ continue;
25
+ const buttonComponent = new discord_js_1.ButtonBuilder()
26
+ .setLabel(button.label)
27
+ .setStyle(button.style)
28
+ .setCustomId(button.custom_id);
29
+ if (button.emoji)
30
+ buttonComponent.setEmoji(button.emoji);
31
+ if (button.url && button.style === discord_js_1.ButtonStyle.Link)
32
+ buttonComponent.setURL(button.url);
33
+ currentRow.addComponents(buttonComponent);
34
+ if (currentRow.components.length === 5) {
35
+ buttonRows.push(currentRow);
36
+ currentRow = new discord_js_1.ActionRowBuilder();
37
+ }
38
+ }
39
+ if (currentRow.components.length > 0) {
40
+ buttonRows.push(currentRow);
41
+ }
42
+ return buttonRows.slice(0, 5);
43
+ }
44
+ async function ApexAI(message, ApexOptions) {
45
+ if (!message.guild || message.author.bot)
46
+ return;
47
+ let prompt = message.content || "";
48
+ const { others, chat, voice, imagine, voiceChannel } = ApexOptions;
49
+ const { permissions, channel, messageType, onMention, loader, buttons } = others ?? {};
50
+ const { Api_Keys, typeWriting } = chat ?? {};
51
+ const { nsfw } = imagine ?? {};
52
+ if (permissions?.enable) {
53
+ const userRoles = message.member?.roles.cache.map((role) => role.id);
54
+ const hasPermission = permissions.role?.some((roleId) => userRoles?.includes(roleId)) ?? false;
55
+ const hasRequiredPerms = permissions.permission?.some((perm) => message.member?.permissions.has(perm)) ?? false;
56
+ const isBlocked = permissions.blockedUsers?.includes(message.author.id) ?? false;
57
+ if (!hasPermission || !hasRequiredPerms || isBlocked)
58
+ return;
59
+ }
60
+ if (channel?.enable && !channel.id?.includes(message.channel.id))
61
+ return;
62
+ if (onMention) {
63
+ const botMention = `<@${message.client.user.id}>`;
64
+ if (!prompt.startsWith(botMention))
65
+ return;
66
+ prompt = prompt.replace(botMention, "").trim();
67
+ }
68
+ const mainPrompt = prompt;
69
+ if (message.channel.isTextBased() && "sendTyping" in message.channel)
70
+ await message.channel.sendTyping();
71
+ if (loader?.enable) {
72
+ const loadingMessage = await message.reply({
73
+ content: loader.loadingMessage,
74
+ allowedMentions: { repliedUser: false },
75
+ });
76
+ setTimeout(() => loadingMessage.delete().catch(console.error), loader.loadingTimer || 3000);
77
+ }
78
+ if (message.attachments.size > 0) {
79
+ for (const attachment of message.attachments.values()) {
80
+ try {
81
+ const url = attachment.url;
82
+ const contentType = attachment.contentType || "";
83
+ const fileSize = attachment.size;
84
+ const maxSize = 25 * 1024 * 1024;
85
+ if (contentType.startsWith("audio/")) {
86
+ if (fileSize > maxSize) {
87
+ console.error("Audio file exceeds 25MB.");
88
+ continue;
89
+ }
90
+ prompt += `\n> Transcribed from audio:\n${await (0, whisper_1.whisper)(prompt, url)}`;
91
+ }
92
+ else if (["image/png", "image/jpeg", "image/jpg", "image/webp"].includes(contentType)) {
93
+ if (!Api_Keys?.groq_API) {
94
+ console.error("Missing Groq API Key.");
95
+ continue;
96
+ }
97
+ prompt += `\n> Image analysis:\n${await (0, utils_1.groqAnalyzer)({ img: url, ApiKey: Api_Keys.groq_API })}`;
98
+ }
99
+ else if (attachment.name.endsWith(".pdf") || attachment.name.endsWith(".txt")) {
100
+ const fileType = attachment.name.endsWith(".pdf") ? "pdf" : "txt";
101
+ const fileContent = await (0, utils_1.readFile)(url, fileType);
102
+ prompt += `\n\n- 📜 ${attachment.name} content:\n${fileContent}`;
103
+ }
104
+ else {
105
+ prompt += `\n> ❌ Unsupported file type uploaded: ${contentType}`;
106
+ }
107
+ }
108
+ catch (e) {
109
+ console.error("Error processing attachment:", e);
110
+ }
111
+ }
112
+ }
113
+ let prevReply = "";
114
+ if (message.reference?.messageId) {
115
+ const channel = message?.guild?.channels?.cache?.get(message.channel.id);
116
+ const messageId = message?.reference?.messageId;
117
+ // @ts-ignore
118
+ const fetchedMessage = await channel?.messages?.fetch(messageId);
119
+ if (fetchedMessage) {
120
+ prevReply += fetchedMessage.content || "";
121
+ const firstAttachment = fetchedMessage.attachments?.first();
122
+ if (firstAttachment && /\.(png|jpg|jpeg|webp)$/i.test(firstAttachment.url)) {
123
+ prevReply += await (0, utils_1.groqAnalyzer)({
124
+ img: firstAttachment.url,
125
+ ApiKey: Api_Keys?.groq_API,
126
+ prompt,
127
+ });
128
+ prompt += `\n- 📷 Image analysis:\n${prevReply}`;
129
+ }
130
+ }
131
+ }
132
+ if (others?.keywordResponses) {
133
+ for (const [keyword, response] of Object.entries(others.keywordResponses)) {
134
+ if (prompt.toLowerCase().includes(keyword.toLowerCase())) {
135
+ return await message.reply({
136
+ content: response,
137
+ allowedMentions: { repliedUser: false },
138
+ });
139
+ }
140
+ }
141
+ }
142
+ if (voiceChannel?.enable && voiceChannel.channelId && voiceChannel.joinOn?.triggeredWords) {
143
+ const { channelId, joinOn, personality, voiceModel } = voiceChannel;
144
+ const triggerDetected = joinOn.triggeredWords?.some(word => prompt.toLowerCase().startsWith(word.toLowerCase()));
145
+ if (triggerDetected) {
146
+ return handleVoiceAI(message, channelId, chat, voiceModel, personality);
147
+ }
148
+ }
149
+ let aiResponse = "";
150
+ const chatEnabled = chat?.enable ?? false;
151
+ const voiceEnabled = voice?.enable ?? false;
152
+ const imageEnabled = imagine?.enable ?? false;
153
+ let genImage = [];
154
+ const drawTrigger = imagine?.drawTrigger?.some(trigger => mainPrompt.toLowerCase().startsWith(trigger.toLowerCase()));
155
+ if (message.channel.isTextBased() && "sendTyping" in message.channel)
156
+ await message.channel.sendTyping();
157
+ if (chatEnabled && voiceEnabled) {
158
+ return await message.reply({
159
+ content: "❌ Error: Both Chat and Voice cannot be enabled at the same time.",
160
+ allowedMentions: { repliedUser: false },
161
+ });
162
+ }
163
+ if (chatEnabled) {
164
+ let instruction = chat?.instruction;
165
+ if (imageEnabled && drawTrigger) {
166
+ const enhancer = imagine?.enhancer?.enable ? imagine.enhancer : undefined;
167
+ let tempEnhancer;
168
+ if (enhancer) {
169
+ const enhancementRequest = `Rewrite this text below in a more descriptive way, making it clearer to be visualized correctly by an AI image generator. Use stronger words and return only the enhanced prompt—nothing more, nothing less.\n\n`;
170
+ tempEnhancer = await (0, utils_1.ApexChat)("gpt-4-turbo", prompt, { instruction: enhancementRequest });
171
+ }
172
+ genImage = await (0, utils_1.ApexImagine)(imagine?.imageModel, tempEnhancer || prompt, { width: imagine?.enhancer?.width, height: imagine?.enhancer?.height, format: imagine?.enhancer?.format,
173
+ quality: imagine?.enhancer?.quality, negative_prompt: imagine?.enhancer?.negative_prompt, nsfw: imagine?.nsfw?.enable,
174
+ nsfwWords: imagine?.nsfw?.keywords, deepCheck: imagine?.nsfw?.deepCheck, count: imagine?.numOfImages });
175
+ instruction += `\n\nThe image has already been generated. Do not attempt to generate or describe another image. Instead, provide feedback, thoughts, or a critique based on the given prompt:\n\n`;
176
+ }
177
+ aiResponse = await (0, utils_1.ApexChat)(chat?.chatModel, prompt, { instruction, memory: chat?.memory?.memoryOn, userId: chat?.memory?.id, limit: chat?.memory?.limit, threshold: chat?.memory?.threshold });
178
+ }
179
+ else if (voiceEnabled) {
180
+ let instruction = chat?.instruction;
181
+ if (imageEnabled && drawTrigger) {
182
+ const enhancer = imagine?.enhancer?.enable ? imagine.enhancer : undefined;
183
+ let tempEnhancer;
184
+ if (enhancer) {
185
+ const enhancementRequest = `Rewrite this text below in a more descriptive way, making it clearer to be visualized correctly by an AI image generator. Use stronger words and return only the enhanced prompt—nothing more, nothing less.\n\n`;
186
+ tempEnhancer = await (0, utils_1.ApexChat)("gpt-4-turbo", prompt, { instruction: enhancementRequest });
187
+ }
188
+ genImage = await (0, utils_1.ApexImagine)(imagine?.imageModel, tempEnhancer || prompt, { width: enhancer?.width, height: enhancer?.height, format: enhancer?.format,
189
+ quality: enhancer?.quality, negative_prompt: enhancer?.negative_prompt, nsfw: nsfw?.enable,
190
+ nsfwWords: nsfw?.keywords, deepCheck: nsfw?.deepCheck, count: imagine?.numOfImages });
191
+ instruction += `\n\nThe image has already been generated. Do not attempt to generate or describe another image. Instead, provide feedback, thoughts, or a critique based on the given prompt:\n\n`;
192
+ }
193
+ aiResponse = await (0, utils_1.ApexChat)(chat?.chatModel, prompt, { instruction, memory: chat?.memory?.memoryOn, userId: chat?.memory?.id, limit: chat?.memory?.limit, threshold: chat?.memory?.threshold });
194
+ aiResponse = await (0, utils_1.ApexText2Speech)({ modelName: voice?.voiceModel, inputText: aiResponse, personality: voice?.characterName });
195
+ }
196
+ else if (imageEnabled && drawTrigger) {
197
+ const enhancer = imagine?.enhancer?.enable ? imagine.enhancer : undefined;
198
+ let tempEnhancer;
199
+ if (enhancer) {
200
+ const enhancementRequest = `Rewrite this text below in a more descriptive way, making it clearer to be visualized correctly by an AI image generator. Use stronger words and return only the enhanced prompt—nothing more, nothing less.\n\n${prompt}`;
201
+ tempEnhancer = await (0, utils_1.ApexChat)("gpt-4-turbo", prompt, { instruction: enhancementRequest });
202
+ }
203
+ genImage = await (0, utils_1.ApexImagine)(imagine?.imageModel, tempEnhancer || prompt, { width: enhancer?.width, height: enhancer?.height, format: enhancer?.format,
204
+ quality: enhancer?.quality, negative_prompt: enhancer?.negative_prompt, nsfw: nsfw?.enable,
205
+ nsfwWords: nsfw?.keywords, deepCheck: nsfw?.deepCheck, count: imagine?.numOfImages });
206
+ }
207
+ else {
208
+ return await message.reply({
209
+ content: "❌ Error: No valid AI features are enabled.",
210
+ allowedMentions: { repliedUser: false },
211
+ });
212
+ }
213
+ const buttonRows = createButtonRows(buttons || []);
214
+ const imageAttachments = [];
215
+ if (genImage.length > 0) {
216
+ for (const imageUrl of genImage) {
217
+ imageAttachments.push(new discord_js_1.AttachmentBuilder(imageUrl, { name: `image-${Date.now()}.png` }));
218
+ }
219
+ }
220
+ let voiceAttachment = null;
221
+ if (voiceEnabled && aiResponse instanceof Buffer) {
222
+ voiceAttachment = new discord_js_1.AttachmentBuilder(aiResponse, { name: "ai_voice.mp3" });
223
+ }
224
+ const chunkMessage = (text, maxLength = 2000) => {
225
+ const chunks = [];
226
+ while (text.length > maxLength) {
227
+ let sliceIndex = text.lastIndexOf("\n", maxLength);
228
+ if (sliceIndex === -1)
229
+ sliceIndex = maxLength;
230
+ chunks.push(text.slice(0, sliceIndex));
231
+ text = text.slice(sliceIndex);
232
+ }
233
+ if (text.length > 0)
234
+ chunks.push(text);
235
+ return chunks;
236
+ };
237
+ const initialContent = messageType?.intialContent ? `${messageType.intialContent} ` : "";
238
+ const finalText = typeof aiResponse === "string" ? `${initialContent}${aiResponse}` : "";
239
+ const messageChunks = chunkMessage(finalText);
240
+ const sendMessage = async (content, components) => {
241
+ if (!content.trim())
242
+ return;
243
+ if (messageType?.sendAs === "embed") {
244
+ const embed = new discord_js_1.EmbedBuilder()
245
+ .setColor(0x0099ff)
246
+ .setDescription(content)
247
+ .setFooter({ text: "AI Response" });
248
+ if (messageType?.type === "send") {
249
+ return message.channel.send({ embeds: [embed], components });
250
+ }
251
+ else {
252
+ return message.reply({ embeds: [embed], allowedMentions: { repliedUser: false }, components });
253
+ }
254
+ }
255
+ else {
256
+ if (messageType?.type === "send") {
257
+ return message.channel.send({ content, components });
258
+ }
259
+ else {
260
+ return message.reply({ content, allowedMentions: { repliedUser: false }, components });
261
+ }
262
+ }
263
+ };
264
+ const sendTypeWritingMessage = async (content, components) => {
265
+ if (!typeWriting?.enable) {
266
+ return sendMessage(content, components);
267
+ }
268
+ content = content.trimStart();
269
+ const typingMessage = await sendMessage(content[0]);
270
+ let typedSentence = typingMessage?.content;
271
+ let i = 1;
272
+ while (i < content.length) {
273
+ typedSentence += content.slice(i, i + getStepCount(typeWriting.speed ?? 50));
274
+ await sleep(typeWriting.delay ?? 500);
275
+ await typingMessage?.edit({ content: typedSentence });
276
+ i += getStepCount(typeWriting.speed ?? 50);
277
+ }
278
+ if (components && components.length > 0) {
279
+ await typingMessage?.edit({ components });
280
+ }
281
+ return typingMessage;
282
+ };
283
+ function getStepCount(speed) {
284
+ const maxSteps = 120;
285
+ const steps = Math.min(Math.ceil(speed), maxSteps);
286
+ return steps > 0 ? steps : 1;
287
+ }
288
+ function sleep(ms) {
289
+ return new Promise((resolve) => setTimeout(resolve, ms));
290
+ }
291
+ (async () => {
292
+ if (imageAttachments.length > 0) {
293
+ await message.channel.send({ files: imageAttachments });
294
+ }
295
+ let lastSentMessage = null;
296
+ for (let i = 0; i < messageChunks.length; i++) {
297
+ const chunk = messageChunks[i].trim();
298
+ if (!chunk)
299
+ continue;
300
+ const isLastChunk = i === messageChunks.length - 1;
301
+ if (isLastChunk) {
302
+ const response = await sendTypeWritingMessage(chunk, buttonRows.length > 0 ? buttonRows : undefined);
303
+ if (response)
304
+ lastSentMessage = response;
305
+ }
306
+ else {
307
+ await sendTypeWritingMessage(chunk);
308
+ }
309
+ if (!isLastChunk) {
310
+ await new Promise((resolve) => setTimeout(resolve, chat?.typeWriting?.delay ?? 500));
311
+ }
312
+ }
313
+ if (voiceAttachment) {
314
+ await message.channel.send({ files: [voiceAttachment] });
315
+ }
316
+ if (lastSentMessage && buttonRows.length > 0) {
317
+ await lastSentMessage.edit({ components: buttonRows }).catch(() => null);
318
+ }
319
+ })();
320
+ }
321
+ ;
322
+ let voiceQueue = [];
323
+ let isProcessing = false;
324
+ let voiceConnection = null;
325
+ let activeUser = null;
326
+ let isRecording = false;
327
+ let silenceTimer = null;
328
+ const recordingsDir = path_1.default.join(process.cwd(), "recordings");
329
+ if (!fs_1.default.existsSync(recordingsDir)) {
330
+ fs_1.default.mkdirSync(recordingsDir, { recursive: true });
331
+ }
332
+ try {
333
+ (0, child_process_1.execSync)("ffmpeg -version > nul 2>&1");
334
+ }
335
+ catch (err) {
336
+ console.error("🚨 FFmpeg is NOT installed or not in PATH! Install it first.");
337
+ }
338
+ function resetSilenceTimer() {
339
+ if (silenceTimer)
340
+ clearTimeout(silenceTimer);
341
+ }
342
+ async function handleVoiceAI(message, voiceChannelId, chat, modelName, personality) {
343
+ const guild = message.guild;
344
+ if (!guild)
345
+ return;
346
+ const channel = guild.channels.cache.get(voiceChannelId);
347
+ if (!channel || channel.type !== 2) {
348
+ return await message.reply(`🚫 Invalid voice channel ID: ${voiceChannelId}`);
349
+ }
350
+ const botMember = guild.members.me;
351
+ if (!botMember)
352
+ return;
353
+ const permissions = channel.permissionsFor(botMember);
354
+ if (!permissions?.has(discord_js_1.PermissionFlagsBits.Connect) ||
355
+ !permissions.has(discord_js_1.PermissionFlagsBits.Speak) ||
356
+ !permissions.has(discord_js_1.PermissionFlagsBits.Stream) ||
357
+ !permissions.has(discord_js_1.PermissionFlagsBits.UseVAD)) {
358
+ return await message.reply("🚫 I don't have the required permissions to join and speak in this voice channel.");
359
+ }
360
+ if (voiceConnection) {
361
+ return await message.reply("⚠️ AI is already in a voice channel.");
362
+ }
363
+ voiceConnection = (0, voice_1.joinVoiceChannel)({
364
+ channelId: channel.id,
365
+ guildId: guild.id,
366
+ adapterCreator: guild.voiceAdapterCreator,
367
+ selfMute: false,
368
+ selfDeaf: false
369
+ });
370
+ activeUser = message.author.id;
371
+ captureAudio(voiceConnection, chat, modelName, personality);
372
+ }
373
+ function captureAudio(connection, chat, modelName, personality) {
374
+ const receiver = connection.receiver;
375
+ receiver.speaking.on("start", async (userId) => {
376
+ if (userId !== activeUser) {
377
+ activeUser = userId;
378
+ isRecording = false;
379
+ }
380
+ resetSilenceTimer();
381
+ const rawFilePath = path_1.default.join(recordingsDir, `${userId}.pcm`);
382
+ const wavFilePath = path_1.default.join(recordingsDir, `${userId}.wav`);
383
+ const opusStream = receiver.subscribe(userId, {
384
+ end: { behavior: voice_1.EndBehaviorType.AfterSilence, duration: 2000 }
385
+ });
386
+ const pcmStream = new prism_media_1.default.opus.Decoder({
387
+ frameSize: 960,
388
+ channels: 1,
389
+ rate: 48000
390
+ });
391
+ const writeStream = fs_1.default.createWriteStream(rawFilePath);
392
+ (0, stream_1.pipeline)(opusStream, pcmStream, writeStream, (err) => {
393
+ if (err) {
394
+ console.error("❌ Error writing PCM file:", err);
395
+ return;
396
+ }
397
+ convertPCMtoWAV(rawFilePath, wavFilePath, chat, modelName, personality);
398
+ });
399
+ });
400
+ receiver.speaking.on("end", async (userId) => {
401
+ if (userId === activeUser) {
402
+ startSilenceTimer(chat, modelName, personality);
403
+ }
404
+ });
405
+ }
406
+ function startSilenceTimer(chat, modelName, personality) {
407
+ resetSilenceTimer();
408
+ silenceTimer = setTimeout(() => {
409
+ if (voiceQueue.length > 0) {
410
+ const nextUser = voiceQueue.shift();
411
+ if (nextUser) {
412
+ activeUser = nextUser.userId;
413
+ processQueue(chat, modelName, personality);
414
+ }
415
+ }
416
+ else {
417
+ leaveVoiceChannel();
418
+ }
419
+ }, 5000);
420
+ }
421
+ function convertPCMtoWAV(inputPCM, outputWAV, chat, modelName, personality) {
422
+ if (!fs_1.default.existsSync(inputPCM) || fs_1.default.statSync(inputPCM).size === 0) {
423
+ return;
424
+ }
425
+ try {
426
+ (0, child_process_1.execSync)(`ffmpeg -y -f s16le -ar 48000 -ac 1 -i "${inputPCM}" -acodec pcm_s16le "${outputWAV}" > nul 2>&1`);
427
+ if (fs_1.default.existsSync(outputWAV)) {
428
+ transcribeAudio(outputWAV, chat, modelName, personality);
429
+ }
430
+ }
431
+ catch (error) {
432
+ console.error("❌ FFmpeg failed:", error);
433
+ }
434
+ }
435
+ async function transcribeAudio(filePath, chat, modelName, personality) {
436
+ try {
437
+ const transcribedText = await (0, utils_1.ApexListener)({
438
+ filepath: filePath,
439
+ prompt: "Transcribe what the user said in English.",
440
+ lang: "en"
441
+ });
442
+ if (transcribedText.transcribe) {
443
+ voiceQueue.push({ userId: activeUser || "unknown", text: transcribedText.transcribe });
444
+ processQueue(chat, modelName, personality);
445
+ }
446
+ fs_1.default.unlinkSync(filePath);
447
+ }
448
+ catch (error) {
449
+ console.error("❌ Error in transcription:", error);
450
+ }
451
+ }
452
+ async function processQueue(chat, modelName, personality) {
453
+ if (isProcessing || voiceQueue.length === 0)
454
+ return;
455
+ isProcessing = true;
456
+ const { userId, text } = voiceQueue.shift();
457
+ activeUser = userId;
458
+ resetSilenceTimer();
459
+ try {
460
+ const aiResponse = await (0, utils_1.ApexChat)(chat?.chatModel || "gpt-4o", text, {
461
+ instruction: chat.instruction,
462
+ memory: chat?.memory?.memoryOn,
463
+ userId,
464
+ limit: chat?.memory?.limit,
465
+ threshold: chat?.memory?.threshold
466
+ });
467
+ const audioBuffer = await (0, utils_1.ApexText2Speech)({ inputText: aiResponse, modelName, personality });
468
+ if (voiceConnection) {
469
+ const player = (0, voice_1.createAudioPlayer)();
470
+ const resource = (0, voice_1.createAudioResource)(stream_1.Readable.from(audioBuffer));
471
+ voiceConnection.subscribe(player);
472
+ player.play(resource);
473
+ player.on(voice_1.AudioPlayerStatus.Idle, () => {
474
+ isProcessing = false;
475
+ if (voiceQueue.length > 0) {
476
+ processQueue(chat, modelName, personality);
477
+ }
478
+ });
479
+ }
480
+ }
481
+ catch (error) {
482
+ console.error("❌ Error processing AI response:", error);
483
+ isProcessing = false;
484
+ }
485
+ }
486
+ function leaveVoiceChannel() {
487
+ if (voiceConnection) {
488
+ voiceConnection.destroy();
489
+ voiceConnection = null;
490
+ activeUser = null;
491
+ resetSilenceTimer();
492
+ }
493
+ }
494
+ //# sourceMappingURL=ApexAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApexAI.js","sourceRoot":"","sources":["../../../lib/ai/ApexAI.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export interface ApexImagineOptions {
2
+ nsfw?: boolean | undefined;
3
+ deepCheck?: boolean;
4
+ nsfwWords?: string[];
5
+ count?: number;
6
+ negative_prompt?: string;
7
+ sampler?: any;
8
+ image_style?: any;
9
+ width?: number;
10
+ height?: number;
11
+ format?: "jpeg" | "png";
12
+ quality?: number;
13
+ steps?: number;
14
+ seed?: number;
15
+ cfg_scale?: number;
16
+ Api_Key?: string;
17
+ }
18
+ declare function ApexImagine(model: string, prompt: string, options?: ApexImagineOptions): Promise<string[] | undefined>;
19
+ declare function ApexChat(model: string, prompt: string, { userId, memory, limit, instruction, Api_key, threshold }: {
20
+ userId?: string;
21
+ memory?: boolean;
22
+ limit?: number;
23
+ instruction?: string;
24
+ Api_key?: string;
25
+ threshold?: number;
26
+ }): Promise<string>;
27
+ declare function resetHistory({ id, last }: {
28
+ id: string;
29
+ last: number | string;
30
+ }): Promise<boolean>;
31
+ declare function ApexListener(options: {
32
+ filepath: string;
33
+ model?: string;
34
+ prompt?: string;
35
+ lang?: string;
36
+ apiKey?: string;
37
+ }): Promise<{
38
+ response: string;
39
+ transcribe: string;
40
+ }>;
41
+ declare function ApexText2Speech({ ApiKey, inputText, modelName, personality }: {
42
+ ApiKey?: string;
43
+ inputText: string;
44
+ modelName?: "elevenlabs" | "myshell-tts" | "deepinfra-tts" | "whisper-large-v3" | "distil-large-v3" | string;
45
+ personality?: string;
46
+ }): Promise<Buffer>;
47
+ declare function ApexVideo({ ApiKey, prompt, modelName }: {
48
+ ApiKey?: string;
49
+ prompt: string;
50
+ modelName?: string;
51
+ }): Promise<string>;
52
+ export { ApexImagine, ApexChat, ApexListener, ApexText2Speech, ApexVideo, resetHistory };
53
+ //# sourceMappingURL=ApexModules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApexModules.d.ts","sourceRoot":"","sources":["../../../lib/ai/ApexModules.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,kBAAkB;IAChC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CAClB;AAMD,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAsiBrH;AAED,iBAAe,QAAQ,CACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5K,OAAO,CAAC,MAAM,CAAC,CAgDjB;AAiFD,iBAAe,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAoCjG;AA8CD,iBAAe,YAAY,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;GAmBzH;AAuDD,iBAAe,eAAe,CAAC,EAC7B,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,EACZ,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAC7G,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAGD,iBAAe,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAElB;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}