apexify.js 4.9.24 → 4.9.25

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 (152) hide show
  1. package/dist/cjs/canvas/ApexPainter.js +1 -1
  2. package/dist/cjs/canvas/ApexPainter.js.map +1 -1
  3. package/dist/cjs/index.d.ts +2 -22
  4. package/dist/cjs/index.d.ts.map +1 -1
  5. package/dist/cjs/index.js +2 -17
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  8. package/dist/cjs/utils.d.ts +1 -3
  9. package/dist/cjs/utils.d.ts.map +1 -1
  10. package/dist/cjs/utils.js +1 -11
  11. package/dist/cjs/utils.js.map +1 -1
  12. package/dist/esm/canvas/ApexPainter.js +1 -1
  13. package/dist/esm/canvas/ApexPainter.js.map +1 -1
  14. package/dist/esm/index.d.ts +2 -22
  15. package/dist/esm/index.d.ts.map +1 -1
  16. package/dist/esm/index.js +2 -17
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  19. package/dist/esm/utils.d.ts +1 -3
  20. package/dist/esm/utils.d.ts.map +1 -1
  21. package/dist/esm/utils.js +1 -11
  22. package/dist/esm/utils.js.map +1 -1
  23. package/lib/canvas/ApexPainter.ts +3 -3
  24. package/lib/index.ts +4 -11
  25. package/lib/utils.ts +1 -3
  26. package/package.json +3 -12
  27. package/dist/cjs/ai/ApexAI.d.ts +0 -145
  28. package/dist/cjs/ai/ApexAI.d.ts.map +0 -1
  29. package/dist/cjs/ai/ApexAI.js +0 -494
  30. package/dist/cjs/ai/ApexAI.js.map +0 -1
  31. package/dist/cjs/ai/ApexModules.d.ts +0 -53
  32. package/dist/cjs/ai/ApexModules.d.ts.map +0 -1
  33. package/dist/cjs/ai/ApexModules.js +0 -824
  34. package/dist/cjs/ai/ApexModules.js.map +0 -1
  35. package/dist/cjs/ai/functions/readFiles.d.ts +0 -2
  36. package/dist/cjs/ai/functions/readFiles.d.ts.map +0 -1
  37. package/dist/cjs/ai/functions/readFiles.js +0 -96
  38. package/dist/cjs/ai/functions/readFiles.js.map +0 -1
  39. package/dist/cjs/ai/functions/tokenizer.d.ts +0 -10
  40. package/dist/cjs/ai/functions/tokenizer.d.ts.map +0 -1
  41. package/dist/cjs/ai/functions/tokenizer.js +0 -64
  42. package/dist/cjs/ai/functions/tokenizer.js.map +0 -1
  43. package/dist/cjs/ai/functions/validOptions.d.ts +0 -22
  44. package/dist/cjs/ai/functions/validOptions.d.ts.map +0 -1
  45. package/dist/cjs/ai/functions/validOptions.js +0 -103
  46. package/dist/cjs/ai/functions/validOptions.js.map +0 -1
  47. package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts +0 -7
  48. package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts.map +0 -1
  49. package/dist/cjs/ai/modals/electronHub/chatmodels.js +0 -51
  50. package/dist/cjs/ai/modals/electronHub/chatmodels.js.map +0 -1
  51. package/dist/cjs/ai/modals/electronHub/imageModels.d.ts +0 -12
  52. package/dist/cjs/ai/modals/electronHub/imageModels.d.ts.map +0 -1
  53. package/dist/cjs/ai/modals/electronHub/imageModels.js +0 -92
  54. package/dist/cjs/ai/modals/electronHub/imageModels.js.map +0 -1
  55. package/dist/cjs/ai/modals/electronHub/speechModels.d.ts +0 -7
  56. package/dist/cjs/ai/modals/electronHub/speechModels.d.ts.map +0 -1
  57. package/dist/cjs/ai/modals/electronHub/speechModels.js +0 -63
  58. package/dist/cjs/ai/modals/electronHub/speechModels.js.map +0 -1
  59. package/dist/cjs/ai/modals/electronHub/videoModels.d.ts +0 -6
  60. package/dist/cjs/ai/modals/electronHub/videoModels.d.ts.map +0 -1
  61. package/dist/cjs/ai/modals/electronHub/videoModels.js +0 -63
  62. package/dist/cjs/ai/modals/electronHub/videoModels.js.map +0 -1
  63. package/dist/cjs/ai/modals/groq/chatgroq.d.ts +0 -9
  64. package/dist/cjs/ai/modals/groq/chatgroq.d.ts.map +0 -1
  65. package/dist/cjs/ai/modals/groq/chatgroq.js +0 -64
  66. package/dist/cjs/ai/modals/groq/chatgroq.js.map +0 -1
  67. package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts +0 -8
  68. package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts.map +0 -1
  69. package/dist/cjs/ai/modals/groq/imageAnalyzer.js +0 -82
  70. package/dist/cjs/ai/modals/groq/imageAnalyzer.js.map +0 -1
  71. package/dist/cjs/ai/modals/groq/whisper.d.ts +0 -5
  72. package/dist/cjs/ai/modals/groq/whisper.d.ts.map +0 -1
  73. package/dist/cjs/ai/modals/groq/whisper.js +0 -108
  74. package/dist/cjs/ai/modals/groq/whisper.js.map +0 -1
  75. package/dist/cjs/ai/modals/hercai/chatModels.d.ts +0 -7
  76. package/dist/cjs/ai/modals/hercai/chatModels.d.ts.map +0 -1
  77. package/dist/cjs/ai/modals/hercai/chatModels.js +0 -23
  78. package/dist/cjs/ai/modals/hercai/chatModels.js.map +0 -1
  79. package/dist/cjs/ai/utils.d.ts +0 -5
  80. package/dist/cjs/ai/utils.d.ts.map +0 -1
  81. package/dist/cjs/ai/utils.js +0 -15
  82. package/dist/cjs/ai/utils.js.map +0 -1
  83. package/dist/esm/ai/ApexAI.d.ts +0 -145
  84. package/dist/esm/ai/ApexAI.d.ts.map +0 -1
  85. package/dist/esm/ai/ApexAI.js +0 -494
  86. package/dist/esm/ai/ApexAI.js.map +0 -1
  87. package/dist/esm/ai/ApexModules.d.ts +0 -53
  88. package/dist/esm/ai/ApexModules.d.ts.map +0 -1
  89. package/dist/esm/ai/ApexModules.js +0 -824
  90. package/dist/esm/ai/ApexModules.js.map +0 -1
  91. package/dist/esm/ai/functions/readFiles.d.ts +0 -2
  92. package/dist/esm/ai/functions/readFiles.d.ts.map +0 -1
  93. package/dist/esm/ai/functions/readFiles.js +0 -96
  94. package/dist/esm/ai/functions/readFiles.js.map +0 -1
  95. package/dist/esm/ai/functions/tokenizer.d.ts +0 -10
  96. package/dist/esm/ai/functions/tokenizer.d.ts.map +0 -1
  97. package/dist/esm/ai/functions/tokenizer.js +0 -64
  98. package/dist/esm/ai/functions/tokenizer.js.map +0 -1
  99. package/dist/esm/ai/functions/validOptions.d.ts +0 -22
  100. package/dist/esm/ai/functions/validOptions.d.ts.map +0 -1
  101. package/dist/esm/ai/functions/validOptions.js +0 -103
  102. package/dist/esm/ai/functions/validOptions.js.map +0 -1
  103. package/dist/esm/ai/modals/electronHub/chatmodels.d.ts +0 -7
  104. package/dist/esm/ai/modals/electronHub/chatmodels.d.ts.map +0 -1
  105. package/dist/esm/ai/modals/electronHub/chatmodels.js +0 -51
  106. package/dist/esm/ai/modals/electronHub/chatmodels.js.map +0 -1
  107. package/dist/esm/ai/modals/electronHub/imageModels.d.ts +0 -12
  108. package/dist/esm/ai/modals/electronHub/imageModels.d.ts.map +0 -1
  109. package/dist/esm/ai/modals/electronHub/imageModels.js +0 -92
  110. package/dist/esm/ai/modals/electronHub/imageModels.js.map +0 -1
  111. package/dist/esm/ai/modals/electronHub/speechModels.d.ts +0 -7
  112. package/dist/esm/ai/modals/electronHub/speechModels.d.ts.map +0 -1
  113. package/dist/esm/ai/modals/electronHub/speechModels.js +0 -63
  114. package/dist/esm/ai/modals/electronHub/speechModels.js.map +0 -1
  115. package/dist/esm/ai/modals/electronHub/videoModels.d.ts +0 -6
  116. package/dist/esm/ai/modals/electronHub/videoModels.d.ts.map +0 -1
  117. package/dist/esm/ai/modals/electronHub/videoModels.js +0 -63
  118. package/dist/esm/ai/modals/electronHub/videoModels.js.map +0 -1
  119. package/dist/esm/ai/modals/groq/chatgroq.d.ts +0 -9
  120. package/dist/esm/ai/modals/groq/chatgroq.d.ts.map +0 -1
  121. package/dist/esm/ai/modals/groq/chatgroq.js +0 -64
  122. package/dist/esm/ai/modals/groq/chatgroq.js.map +0 -1
  123. package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts +0 -8
  124. package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts.map +0 -1
  125. package/dist/esm/ai/modals/groq/imageAnalyzer.js +0 -82
  126. package/dist/esm/ai/modals/groq/imageAnalyzer.js.map +0 -1
  127. package/dist/esm/ai/modals/groq/whisper.d.ts +0 -5
  128. package/dist/esm/ai/modals/groq/whisper.d.ts.map +0 -1
  129. package/dist/esm/ai/modals/groq/whisper.js +0 -108
  130. package/dist/esm/ai/modals/groq/whisper.js.map +0 -1
  131. package/dist/esm/ai/modals/hercai/chatModels.d.ts +0 -7
  132. package/dist/esm/ai/modals/hercai/chatModels.d.ts.map +0 -1
  133. package/dist/esm/ai/modals/hercai/chatModels.js +0 -23
  134. package/dist/esm/ai/modals/hercai/chatModels.js.map +0 -1
  135. package/dist/esm/ai/utils.d.ts +0 -5
  136. package/dist/esm/ai/utils.d.ts.map +0 -1
  137. package/dist/esm/ai/utils.js +0 -15
  138. package/dist/esm/ai/utils.js.map +0 -1
  139. package/lib/ai/ApexAI.ts +0 -758
  140. package/lib/ai/ApexModules.ts +0 -916
  141. package/lib/ai/functions/readFiles.ts +0 -66
  142. package/lib/ai/functions/tokenizer.ts +0 -69
  143. package/lib/ai/functions/validOptions.ts +0 -116
  144. package/lib/ai/modals/electronHub/chatmodels.ts +0 -57
  145. package/lib/ai/modals/electronHub/imageModels.ts +0 -116
  146. package/lib/ai/modals/electronHub/speechModels.ts +0 -75
  147. package/lib/ai/modals/electronHub/videoModels.ts +0 -75
  148. package/lib/ai/modals/groq/chatgroq.ts +0 -78
  149. package/lib/ai/modals/groq/imageAnalyzer.ts +0 -83
  150. package/lib/ai/modals/groq/whisper.ts +0 -114
  151. package/lib/ai/modals/hercai/chatModels.ts +0 -20
  152. package/lib/ai/utils.ts +0 -15
@@ -1,494 +0,0 @@
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)("llama-3.1-tulu-3-405b", 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)("llama-3.1-tulu-3-405b", 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)("llama-3.1-tulu-3-405b", 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 || "llama-3.1-tulu-3-405b", 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
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApexAI.js","sourceRoot":"","sources":["../../../lib/ai/ApexAI.ts"],"names":[],"mappings":";;;;;AAuMA,wBAqWC;AAwBD,sCAoCC;AAxmBD,mCAEiB;AACjB,2CAIoB;AACpB,4CAG0B;AAE1B,mDAAgD;AAChD,mCAA4C;AAC5C,8DAA+B;AAC/B,gDAAwB;AACxB,4CAAoB;AACpB,iDAAyC;AAoJzC,SAAS,gBAAgB,CAAC,OAAc;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAE/D,MAAM,UAAU,GAAyD,EAAE,CAAC;IAC5E,IAAI,UAAU,GAAG,IAAI,6BAAgB,EAAoC,CAAC;IAE1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,SAAS;QAElE,MAAM,eAAe,GAAG,IAAI,0BAAa,EAAE;aACxC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;aACtB,QAAQ,CAAC,MAAM,CAAC,KAAoB,CAAC;aACrC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjC,IAAI,MAAM,CAAC,KAAK;YAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,KAAK,wBAAW,CAAC,IAAI;YAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAExF,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAE1C,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,UAAU,GAAG,IAAI,6BAAgB,EAAoC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAGM,KAAK,UAAU,MAAM,CAAC,OAAgB,EAAE,WAAoB;IAC/D,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO;IAEjD,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;IACnE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IACvF,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE/B,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,aAAa,GACjB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC;QAC3E,MAAM,gBAAgB,GACpB,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACpC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,IAA4B,CAAC,CAC9D,IAAI,KAAK,CAAC;QACb,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;QAEjF,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,SAAS;YAAE,OAAO;IAC/D,CAAC;IAGD,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAAE,OAAO;IAGzE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QAC3C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAGD,MAAM,UAAU,GAAG,MAAM,CAAC;IAG1B,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,YAAY,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAGzG,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,cAAc;YAC9B,eAAe,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;SACxC,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAC9F,CAAC;IAGD,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACjC,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC3B,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;gBACjC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;gBAGjC,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrC,IAAI,QAAQ,GAAG,OAAO,EAAE,CAAC;wBACvB,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;wBAC1C,SAAS;oBACX,CAAC;oBACD,MAAM,IAAI,gCAAgC,MAAM,IAAA,iBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzE,CAAC;qBAGI,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtF,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBACvC,SAAS;oBACX,CAAC;oBACD,MAAM,IAAI,wBAAwB,MAAM,IAAA,oBAAY,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAClG,CAAC;qBAGI,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBAClE,MAAM,WAAW,GAAG,MAAM,IAAA,gBAAQ,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAClD,MAAM,IAAI,YAAY,UAAU,CAAC,IAAI,cAAc,WAAW,EAAE,CAAC;gBACnE,CAAC;qBAGI,CAAC;oBACJ,MAAM,IAAI,yCAAyC,WAAW,EAAE,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAI,SAAS,GAAW,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;QAChD,aAAa;QACb,MAAM,cAAc,GAAG,MAAM,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,cAAc,EAAE,CAAC;YACnB,SAAS,IAAI,cAAc,CAAC,OAAO,IAAI,EAAE,CAAC;YAG1C,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC;YAC5D,IAAI,eAAe,IAAI,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3E,SAAS,IAAI,MAAM,IAAA,oBAAY,EAAC;oBAC9B,GAAG,EAAE,eAAe,CAAC,GAAG;oBACxB,MAAM,EAAE,QAAQ,EAAE,QAAQ;oBAC1B,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,IAAI,2BAA2B,SAAS,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAGD,IAAI,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC1E,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACzD,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC;oBACzB,OAAO,EAAE,QAAQ;oBACjB,eAAe,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC1F,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;QAEpE,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CACvD,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACtD,CAAC;QAEF,IAAI,eAAe,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;IAGC,IAAI,UAAU,GAAoB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC;IAC1C,MAAM,YAAY,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC;IAC5C,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IAC9C,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CACrD,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC7D,CAAC;IAGF,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,YAAY,IAAI,OAAO,CAAC,OAAO;QAAE,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAEzG,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;QAC9B,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC;YACvB,OAAO,EAAE,kEAAkE;YAC3E,eAAe,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAGD,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,WAAW,GAAuB,IAAI,EAAE,WAAW,CAAC;QAExD,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,IAAI,YAAgC,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,kBAAkB,GAAG,kNAAkN,CAAC;gBAC9O,YAAY,GAAG,MAAM,IAAA,gBAAQ,EAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACxG,CAAC;YAED,QAAQ,GAAG,MAAM,IAAA,mBAAW,EAAC,OAAO,EAAE,UAAoB,EAAE,YAAY,IAAI,MAAM,EAC9E,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;gBACtG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM;gBACrH,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAa,CAAC;YAE1H,WAAW,IAAI,mLAAmL,CAAC;QACvM,CAAC;QAED,UAAU,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAI,EAAE,SAAmB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9M,CAAC;SAEI,IAAI,YAAY,EAAE,CAAC;QACpB,IAAI,WAAW,GAAuB,IAAI,EAAE,WAAW,CAAC;QAExD,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,IAAI,YAAgC,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,kBAAkB,GAAG,kNAAkN,CAAC;gBAC9O,YAAY,GAAG,MAAM,IAAA,gBAAQ,EAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACxG,CAAC;YAED,QAAQ,GAAG,MAAM,IAAA,mBAAW,EAAC,OAAO,EAAE,UAAoB,EAAE,YAAY,IAAI,MAAM,EAC9E,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;gBAC3E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;gBAC1F,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAa,CAAC;YAExG,WAAW,IAAI,mLAAmL,CAAC;QACvM,CAAC;QAED,UAAU,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAI,EAAE,SAAmB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1M,UAAU,GAAG,MAAM,IAAA,uBAAe,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;IACnI,CAAC;SAEI,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,YAAgC,CAAC;QAErC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,kBAAkB,GAAG,mNAAmN,MAAM,EAAE,CAAC;YACvP,YAAY,GAAG,MAAM,IAAA,gBAAQ,EAAC,uBAAuB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,QAAQ,GAAG,MAAM,IAAA,mBAAW,EAAC,OAAO,EAAE,UAAoB,EAAE,YAAY,IAAI,MAAM,EAC7E,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;YAC3E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;YAC1F,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAa,CAAC;IAC7G,CAAC;SAEI,CAAC;QACF,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC;YACvB,OAAO,EAAE,4CAA4C;YACrD,eAAe,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAGD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAEnD,MAAM,gBAAgB,GAAwB,EAAE,CAAC;IACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,gBAAgB,CAAC,IAAI,CAAC,IAAI,8BAAiB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,IAAI,eAAe,GAA6B,IAAI,CAAC;IACrD,IAAI,YAAY,IAAI,UAAU,YAAY,MAAM,EAAE,CAAC;QACjD,eAAe,GAAG,IAAI,8BAAiB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI,EAAY,EAAE;QAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,UAAU,KAAK,CAAC,CAAC;gBAAE,UAAU,GAAG,SAAS,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,KAAK,EAAE,OAAe,EAAE,UAAiE,EAAE,EAAE;QAC/G,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO;QAE5B,IAAI,WAAW,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,yBAAY,EAAE;iBAC3B,QAAQ,CAAC,QAAQ,CAAC;iBAClB,cAAc,CAAC,OAAO,CAAC;iBACvB,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YAExC,IAAI,WAAW,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAQ,OAAO,CAAC,OAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACnG,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,WAAW,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAQ,OAAO,CAAC,OAAuB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3F,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAAE,UAAiE,EAAE,EAAE;QAC1H,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,aAAa,GAAG,aAAa,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7E,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;YACtC,MAAM,aAAa,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACtD,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,aAAa,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAGF,SAAS,YAAY,CAAC,KAAa;QACjC,MAAM,QAAQ,GAAG,GAAG,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,KAAK,CAAC,EAAU;QACvB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAGD,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAO,OAAO,CAAC,OAAuB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,eAAe,GAA4B,IAAI,CAAC;QAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,WAAW,GAAG,CAAC,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAEnD,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACrG,IAAI,QAAQ;oBAAE,eAAe,GAAG,QAA4B,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACJ,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YAClB,MAAO,OAAO,CAAC,OAAuB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAGD,IAAI,eAAe,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;AAGP,CAAC;AAAA,CAAC;AAEF,IAAI,UAAU,GAAuC,EAAE,CAAC;AACxD,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,IAAI,eAAe,GAA2B,IAAI,CAAC;AACnD,IAAI,UAAU,GAAkB,IAAI,CAAC;AACrC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,YAAY,GAA0B,IAAI,CAAC;AAE/C,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;AAC7D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;IAChC,YAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,CAAC;IACD,IAAA,wBAAQ,EAAC,4BAA4B,CAAC,CAAC;AAC3C,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACX,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,iBAAiB;IACtB,IAAI,YAAY;QAAE,YAAY,CAAC,YAAY,CAAC,CAAC;AACjD,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,OAAY,EAAE,cAAsB,EAAE,IAAS,EAAE,SAAkB,EAAE,WAAoB;IACzH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAEtD,IACI,CAAC,WAAW,EAAE,GAAG,CAAC,gCAAmB,CAAC,OAAO,CAAC;QAC9C,CAAC,WAAW,CAAC,GAAG,CAAC,gCAAmB,CAAC,KAAK,CAAC;QAC3C,CAAC,WAAW,CAAC,GAAG,CAAC,gCAAmB,CAAC,MAAM,CAAC;QAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,gCAAmB,CAAC,MAAM,CAAC,EAC9C,CAAC;QACC,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAED,eAAe,GAAG,IAAA,wBAAgB,EAAC;QAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,cAAc,EAAE,KAAK,CAAC,mBAA0B;QAChD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,YAAY,CAAC,UAA2B,EAAE,IAAS,EAAE,SAAkB,EAAE,WAAoB;IAClG,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAErC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,UAAU,GAAG,MAAM,CAAC;YACpB,WAAW,GAAG,KAAK,CAAC;QACxB,CAAC;QAED,iBAAiB,EAAE,CAAC;QAEpB,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;QAE9D,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE;YAC1C,GAAG,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;SAClE,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,qBAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,SAAS,EAAE,GAAG;YACd,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,YAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAA,iBAAQ,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;gBAChD,OAAO;YACX,CAAC;YACD,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACzC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAS,EAAE,SAAkB,EAAE,WAAoB;IAC1E,iBAAiB,EAAE,CAAC;IACpB,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;QAC3B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACX,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC7B,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,iBAAiB,EAAE,CAAC;QACxB,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAGD,SAAS,eAAe,CAAC,QAAgB,EAAE,SAAiB,EAAE,IAAS,EAAE,SAAkB,EAAE,WAAoB;IAC/G,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,IAAA,wBAAQ,EAAC,0CAA0C,QAAQ,wBAAwB,SAAS,cAAc,CAAC,CAAC;QAE5G,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC;IAEL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAGD,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAS,EAAE,SAAkB,EAAE,WAAoB;IAChG,IAAI,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAA,oBAAY,EAAC;YACvC,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,2CAA2C;YACnD,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,IAAI,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;YACvF,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAS,EAAE,SAAkB,EAAE,WAAoB;IAC3E,IAAI,YAAY,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEpD,YAAY,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,KAAK,EAAG,CAAC;IAC7C,UAAU,GAAG,MAAM,CAAC;IACpB,iBAAiB,EAAE,CAAC;IAEpB,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAA,gBAAQ,EAAC,IAAI,EAAE,SAAS,IAAI,uBAAuB,EAAE,IAAI,EAAE;YAChF,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ;YAC9B,MAAM;YACN,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;YAC1B,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS;SACrC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,IAAA,uBAAe,EAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAE7F,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAA,yBAAiB,GAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,iBAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACjE,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEtB,MAAM,CAAC,EAAE,CAAC,yBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE;gBACnC,YAAY,GAAG,KAAK,CAAC;gBACrB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB;IACtB,IAAI,eAAe,EAAE,CAAC;QAClB,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,eAAe,GAAG,IAAI,CAAC;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,iBAAiB,EAAE,CAAC;IACxB,CAAC;AACL,CAAC"}
@@ -1,53 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"ApexModules.d.ts","sourceRoot":"","sources":["../../../lib/ai/ApexModules.ts"],"names":[],"mappings":"AAmBA,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,CA6iBrH;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"}