apexify.js 4.9.23 → 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,83 +0,0 @@
1
- import Groq from "groq-sdk";
2
- import axios from "axios";
3
- import fs from "fs";
4
- import path from "path";
5
-
6
- interface GroqAnalyzerOptions {
7
- img: string | Buffer;
8
- ApiKey?: string;
9
- prompt?: string;
10
- }
11
-
12
- async function convertUrlToDataUrl(url: string): Promise<string> {
13
- try {
14
- const response = await axios.get(url, { responseType: "arraybuffer" });
15
- const buffer = Buffer.from(response.data, "binary");
16
- return `data:${response.headers["content-type"]};base64,${buffer.toString("base64")}`;
17
- } catch (error) {
18
- console.error("Error converting URL to Data URL:", error);
19
- throw new Error("Failed to convert image URL to data URL");
20
- }
21
- }
22
-
23
- async function convertFileToDataUrl(filePath: string): Promise<string> {
24
- try {
25
- const absolutePath = path.resolve(filePath);
26
- const buffer = fs.readFileSync(absolutePath);
27
- const mimeType = "image/png";
28
- return `data:${mimeType};base64,${buffer.toString("base64")}`;
29
- } catch (error) {
30
- console.error("Error converting file to Data URL:", error);
31
- throw new Error("Failed to convert file to data URL");
32
- }
33
- }
34
-
35
- function convertBufferToDataUrl(buffer: Buffer): string {
36
- const mimeType = "image/png"; // Adjust dynamically if needed
37
- return `data:${mimeType};base64,${buffer.toString("base64")}`;
38
- }
39
-
40
- export async function groqAnalyzer({ img, ApiKey, prompt }: GroqAnalyzerOptions): Promise<string> {
41
- try {
42
- const groq = new Groq({
43
- apiKey: ApiKey || "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",
44
- });
45
-
46
- let imageDataUrl: string;
47
-
48
- if (typeof img === "string") {
49
- if (img.startsWith("http")) {
50
- imageDataUrl = await convertUrlToDataUrl(img);
51
- } else {
52
- imageDataUrl = await convertFileToDataUrl(img);
53
- }
54
- } else if (Buffer.isBuffer(img)) {
55
- imageDataUrl = convertBufferToDataUrl(img);
56
- } else {
57
- throw new Error("Invalid image input. Must be a URL, file path, or Buffer.");
58
- }
59
-
60
- const chatCompletion = await groq.chat.completions.create({
61
- messages: [
62
- {
63
- role: "user",
64
- content: [
65
- { type: "text", text: prompt || "" },
66
- { type: "image_url", image_url: { url: imageDataUrl } },
67
- ],
68
- },
69
- ],
70
- model: "llama-3.2-90b-vision-preview",
71
- temperature: 0,
72
- max_tokens: 8192,
73
- top_p: 1,
74
- stream: false,
75
- stop: null,
76
- });
77
-
78
- return chatCompletion.choices[0].message.content as string;
79
- } catch (error) {
80
- console.error("Error in groqAnalyzer:", error);
81
- return "❌ Error occurred while analyzing the image.";
82
- }
83
- }
@@ -1,114 +0,0 @@
1
- import Groq from "groq-sdk";
2
- import fs from "fs";
3
- import path from "path";
4
- import { URL } from "url";
5
- import https from "https";
6
-
7
- /**
8
- * Gets the file size of a given path.
9
- */
10
- function getFileSize(filePath: string): number {
11
- return fs.statSync(filePath).size;
12
- }
13
-
14
- /**
15
- * Creates a readable stream from a local file or a remote URL.
16
- */
17
- async function createReadableStream(filepathOrUrl: string): Promise<{ stream: fs.ReadStream | null; tempFilePath?: string; error?: string }> {
18
- const maxFileSizeBytes = 25 * 1024 * 1024; // 25MB limit
19
-
20
- if (filepathOrUrl.startsWith("http")) {
21
- const parsedUrl = new URL(filepathOrUrl);
22
- const fileExtension = path.extname(parsedUrl.pathname);
23
- const tempFilePath = `temp-file-${Date.now()}${fileExtension}`;
24
-
25
- return new Promise((resolve, reject) => {
26
- const file = fs.createWriteStream(tempFilePath);
27
- const request = https.get(filepathOrUrl, (response) => {
28
- let fileSize = 0;
29
-
30
- response.on("data", (chunk) => {
31
- fileSize += chunk.length;
32
- if (fileSize > maxFileSizeBytes) {
33
- request.destroy();
34
- file.close();
35
- fs.unlink(tempFilePath, () => resolve({ stream: null, error: "File size exceeds the limit (25MB)" }));
36
- return;
37
- }
38
- });
39
-
40
- response.pipe(file);
41
- file.on("finish", () => {
42
- file.close();
43
- resolve({ stream: fs.createReadStream(tempFilePath), tempFilePath }); // ✅ Ensure fs.ReadStream
44
- });
45
- });
46
-
47
- request.on("error", (err) => {
48
- fs.unlink(tempFilePath, () => reject(err));
49
- });
50
- });
51
- } else {
52
- if (getFileSize(filepathOrUrl) > maxFileSizeBytes) {
53
- return { stream: null, error: "File size exceeds the limit (25MB)" };
54
- }
55
- return { stream: fs.createReadStream(filepathOrUrl) }; // ✅ Ensure fs.ReadStream
56
- }
57
- }
58
-
59
- /**
60
- * Transcribes audio using Groq Whisper API.
61
- */
62
- export async function whisper(prompt: string, filepath: string, lang?: string, API_KEY?: string) {
63
- try {
64
-
65
-
66
- const groq = new Groq({
67
- apiKey: API_KEY || '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',
68
- });
69
-
70
-
71
- // Ensure filepath is properly resolved
72
- const resolvedFilePath = filepath.startsWith("http") || path.isAbsolute(filepath)
73
- ? filepath
74
- : path.join(process.cwd(), filepath);
75
-
76
- const { stream: fileStream, tempFilePath, error } = await createReadableStream(resolvedFilePath);
77
-
78
- if (error) return error;
79
- if (!fileStream) return "Failed to create a readable file stream.";
80
-
81
- // ✅ Ensure `fileStream` is a valid `fs.ReadStream`
82
- const transcription = await groq.audio.transcriptions.create({
83
- file: fileStream as fs.ReadStream, // ✅ Ensure correct type
84
- model: "whisper-large-v3-turbo",
85
- prompt: prompt,
86
- temperature: 1,
87
- language: lang || "eng",
88
- response_format: "verbose_json",
89
- });
90
-
91
- // ✅ Delete the temp file if it was downloaded from a URL
92
- if (tempFilePath && fs.existsSync(tempFilePath)) {
93
- fs.unlinkSync(tempFilePath);
94
- }
95
-
96
- return transcription.text;
97
- } catch (err: any) {
98
- if (err?.status) {
99
- switch (err.status) {
100
- case 400:
101
- return "Bad request, try again after a minute.";
102
- case 429:
103
- return "Rate limit exceeded, try again later or provide your own API key.";
104
- case 401:
105
- return "Invalid API key provided.";
106
- default:
107
- console.error(err);
108
- return "An unknown error occurred.";
109
- }
110
- }
111
- console.error(err);
112
- return "An unknown error occurred.";
113
- }
114
- }
@@ -1,20 +0,0 @@
1
- import { Hercai } from "hercai";
2
- const hercai = new Hercai('6eZZOdDwm6Epdzn8mnhcX9SBDkxvoNYcNj9ILS0P44=');
3
- type hercaiModels = "v3" | "v3-32k" | "turbo" | "turbo-16k" | "gemini" | "llama3-70b" | "llama3-8b" | "mixtral-8x7b" | "gemma-7b" | "gemma2-9b"
4
-
5
- export async function chatHercai(prompt: string, model: hercaiModels, instructions?: string, memory?: { enable?: boolean, id?: string}): Promise<string> {
6
- try {
7
-
8
- if (memory && memory.enable && memory.id) {
9
- return (await hercai.betaQuestion({ content: prompt, user: memory.id })).reply;
10
- } else if (["v3", "v3-32k", "turbo", "turbo-16k", "gemini", "llama3-70b", "llama3-8b", "mixtral-8x7b", "gemma-7b", "gemma2-9b"].includes(model)) {
11
-
12
- return (await hercai.question({ model, content: prompt, personality: instructions })).reply;
13
- } else {
14
- throw new Error('Invalid model name.');
15
- }
16
- } catch (e: any) {
17
- console.error(e.message);
18
- return 'An Error has occurred in the API';
19
- }
20
- }
package/lib/ai/utils.ts DELETED
@@ -1,15 +0,0 @@
1
- import { readFile } from "./functions/readFiles";
2
- import { ApexChat, ApexImagine, ApexListener, ApexVideo, ApexText2Speech, resetHistory } from "./ApexModules";
3
- import { groqAnalyzer } from "./modals/groq/imageAnalyzer";
4
-
5
-
6
- export {
7
- readFile,
8
- ApexChat,
9
- ApexImagine,
10
- ApexListener,
11
- groqAnalyzer,
12
- ApexVideo,
13
- ApexText2Speech,
14
- resetHistory
15
- };