apexify.js 4.5.54 → 4.5.56

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 (247) hide show
  1. package/dist/cjs/ai/ApexAI.d.ts +1 -164
  2. package/dist/cjs/ai/ApexAI.d.ts.map +1 -1
  3. package/dist/cjs/ai/ApexAI.js +190 -373
  4. package/dist/cjs/ai/ApexAI.js.map +1 -1
  5. package/dist/cjs/ai/ApexModules.d.ts +1 -1
  6. package/dist/cjs/ai/ApexModules.d.ts.map +1 -1
  7. package/dist/cjs/ai/ApexModules.js +6 -18
  8. package/dist/cjs/ai/ApexModules.js.map +1 -1
  9. package/dist/cjs/ai/functions/draw.d.ts.map +1 -1
  10. package/dist/cjs/ai/functions/draw.js +6 -6
  11. package/dist/cjs/ai/functions/draw.js.map +1 -1
  12. package/dist/cjs/ai/modals-chat/electronHub/imageModels.d.ts +1 -1
  13. package/dist/cjs/ai/modals-chat/electronHub/imageModels.d.ts.map +1 -1
  14. package/dist/cjs/ai/modals-chat/electronHub/imageModels.js +1 -4
  15. package/dist/cjs/ai/modals-chat/electronHub/imageModels.js.map +1 -1
  16. package/dist/cjs/ai/utils.d.ts +1 -4
  17. package/dist/cjs/ai/utils.d.ts.map +1 -1
  18. package/dist/cjs/ai/utils.js +1 -7
  19. package/dist/cjs/ai/utils.js.map +1 -1
  20. package/dist/cjs/canvas/ApexPainter.d.ts +17 -14
  21. package/dist/cjs/canvas/ApexPainter.d.ts.map +1 -1
  22. package/dist/cjs/canvas/ApexPainter.js +29 -11
  23. package/dist/cjs/canvas/ApexPainter.js.map +1 -1
  24. package/dist/cjs/canvas/utils/Background/bg.d.ts +24 -0
  25. package/dist/cjs/canvas/utils/Background/bg.d.ts.map +1 -0
  26. package/dist/{esm/canvas/utils → cjs/canvas/utils/Background}/bg.js +27 -52
  27. package/dist/cjs/canvas/utils/Background/bg.js.map +1 -0
  28. package/dist/cjs/canvas/utils/Background/circular.d.ts +3 -0
  29. package/dist/cjs/canvas/utils/Background/circular.d.ts.map +1 -0
  30. package/dist/{esm/canvas/utils → cjs/canvas/utils/Background}/circular.js +0 -8
  31. package/dist/cjs/canvas/utils/{circular.js.map → Background/circular.js.map} +1 -1
  32. package/dist/cjs/canvas/utils/Background/radius.d.ts +18 -0
  33. package/dist/cjs/canvas/utils/Background/radius.d.ts.map +1 -0
  34. package/dist/cjs/canvas/utils/Background/radius.js +115 -0
  35. package/dist/cjs/canvas/utils/Background/radius.js.map +1 -0
  36. package/dist/cjs/canvas/utils/{charts.d.ts → Charts/charts.d.ts} +1 -1
  37. package/dist/cjs/canvas/utils/Charts/charts.d.ts.map +1 -0
  38. package/dist/cjs/canvas/utils/Charts/charts.js.map +1 -0
  39. package/dist/cjs/canvas/utils/Custom/customLines.d.ts +3 -0
  40. package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +1 -0
  41. package/dist/cjs/canvas/utils/Custom/customLines.js.map +1 -0
  42. package/dist/cjs/canvas/utils/General/conversion.d.ts.map +1 -0
  43. package/dist/cjs/canvas/utils/General/conversion.js.map +1 -0
  44. package/dist/cjs/canvas/utils/{general functions.d.ts → General/general functions.d.ts } +18 -4
  45. package/dist/cjs/canvas/utils/General/general functions.d.ts.map +1 -0
  46. package/dist/{esm/canvas/utils → cjs/canvas/utils/General}/general functions.js +89 -58
  47. package/dist/cjs/canvas/utils/General/general functions.js.map +1 -0
  48. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +81 -0
  49. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  50. package/dist/{esm/canvas/utils → cjs/canvas/utils/Image}/imageProperties.js +224 -45
  51. package/dist/cjs/canvas/utils/Image/imageProperties.js.map +1 -0
  52. package/dist/{esm/canvas/utils → cjs/canvas/utils/Texts}/textProperties.d.ts +1 -1
  53. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  54. package/dist/cjs/canvas/utils/Texts/textProperties.js.map +1 -0
  55. package/dist/cjs/canvas/utils/types.d.ts +41 -1
  56. package/dist/cjs/canvas/utils/types.d.ts.map +1 -1
  57. package/dist/cjs/canvas/utils/types.js.map +1 -1
  58. package/dist/cjs/canvas/utils/utils.d.ts +11 -11
  59. package/dist/cjs/canvas/utils/utils.d.ts.map +1 -1
  60. package/dist/cjs/canvas/utils/utils.js +11 -10
  61. package/dist/cjs/canvas/utils/utils.js.map +1 -1
  62. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  63. package/dist/esm/ai/ApexAI.d.ts +1 -164
  64. package/dist/esm/ai/ApexAI.d.ts.map +1 -1
  65. package/dist/esm/ai/ApexAI.js +190 -373
  66. package/dist/esm/ai/ApexAI.js.map +1 -1
  67. package/dist/esm/ai/ApexModules.d.ts +1 -1
  68. package/dist/esm/ai/ApexModules.d.ts.map +1 -1
  69. package/dist/esm/ai/ApexModules.js +6 -18
  70. package/dist/esm/ai/ApexModules.js.map +1 -1
  71. package/dist/esm/ai/functions/draw.d.ts.map +1 -1
  72. package/dist/esm/ai/functions/draw.js +6 -6
  73. package/dist/esm/ai/functions/draw.js.map +1 -1
  74. package/dist/esm/ai/modals-chat/electronHub/imageModels.d.ts +1 -1
  75. package/dist/esm/ai/modals-chat/electronHub/imageModels.d.ts.map +1 -1
  76. package/dist/esm/ai/modals-chat/electronHub/imageModels.js +1 -4
  77. package/dist/esm/ai/modals-chat/electronHub/imageModels.js.map +1 -1
  78. package/dist/esm/ai/utils.d.ts +1 -4
  79. package/dist/esm/ai/utils.d.ts.map +1 -1
  80. package/dist/esm/ai/utils.js +1 -7
  81. package/dist/esm/ai/utils.js.map +1 -1
  82. package/dist/esm/canvas/ApexPainter.d.ts +17 -14
  83. package/dist/esm/canvas/ApexPainter.d.ts.map +1 -1
  84. package/dist/esm/canvas/ApexPainter.js +29 -11
  85. package/dist/esm/canvas/ApexPainter.js.map +1 -1
  86. package/dist/esm/canvas/utils/Background/bg.d.ts +24 -0
  87. package/dist/esm/canvas/utils/Background/bg.d.ts.map +1 -0
  88. package/dist/{cjs/canvas/utils → esm/canvas/utils/Background}/bg.js +27 -52
  89. package/dist/esm/canvas/utils/Background/bg.js.map +1 -0
  90. package/dist/esm/canvas/utils/Background/circular.d.ts +3 -0
  91. package/dist/esm/canvas/utils/Background/circular.d.ts.map +1 -0
  92. package/dist/{cjs/canvas/utils → esm/canvas/utils/Background}/circular.js +0 -8
  93. package/dist/esm/canvas/utils/{circular.js.map → Background/circular.js.map} +1 -1
  94. package/dist/esm/canvas/utils/Background/radius.d.ts +18 -0
  95. package/dist/esm/canvas/utils/Background/radius.d.ts.map +1 -0
  96. package/dist/esm/canvas/utils/Background/radius.js +115 -0
  97. package/dist/esm/canvas/utils/Background/radius.js.map +1 -0
  98. package/dist/esm/canvas/utils/{charts.d.ts → Charts/charts.d.ts} +1 -1
  99. package/dist/esm/canvas/utils/Charts/charts.d.ts.map +1 -0
  100. package/dist/esm/canvas/utils/Charts/charts.js.map +1 -0
  101. package/dist/esm/canvas/utils/Custom/customLines.d.ts +3 -0
  102. package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +1 -0
  103. package/dist/esm/canvas/utils/Custom/customLines.js.map +1 -0
  104. package/dist/esm/canvas/utils/General/conversion.d.ts.map +1 -0
  105. package/dist/esm/canvas/utils/General/conversion.js.map +1 -0
  106. package/dist/esm/canvas/utils/{general functions.d.ts → General/general functions.d.ts } +18 -4
  107. package/dist/esm/canvas/utils/General/general functions.d.ts.map +1 -0
  108. package/dist/{cjs/canvas/utils → esm/canvas/utils/General}/general functions.js +89 -58
  109. package/dist/esm/canvas/utils/General/general functions.js.map +1 -0
  110. package/dist/esm/canvas/utils/Image/imageProperties.d.ts +81 -0
  111. package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +1 -0
  112. package/dist/{cjs/canvas/utils → esm/canvas/utils/Image}/imageProperties.js +224 -45
  113. package/dist/esm/canvas/utils/Image/imageProperties.js.map +1 -0
  114. package/dist/{cjs/canvas/utils → esm/canvas/utils/Texts}/textProperties.d.ts +1 -1
  115. package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +1 -0
  116. package/dist/esm/canvas/utils/Texts/textProperties.js.map +1 -0
  117. package/dist/esm/canvas/utils/types.d.ts +41 -1
  118. package/dist/esm/canvas/utils/types.d.ts.map +1 -1
  119. package/dist/esm/canvas/utils/types.js.map +1 -1
  120. package/dist/esm/canvas/utils/utils.d.ts +11 -11
  121. package/dist/esm/canvas/utils/utils.d.ts.map +1 -1
  122. package/dist/esm/canvas/utils/utils.js +11 -10
  123. package/dist/esm/canvas/utils/utils.js.map +1 -1
  124. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  125. package/lib/ai/ApexAI.ts +195 -697
  126. package/lib/ai/ApexModules.ts +7 -17
  127. package/lib/ai/functions/draw.ts +6 -8
  128. package/lib/ai/modals-chat/electronHub/imageModels.ts +2 -5
  129. package/lib/ai/utils.ts +0 -6
  130. package/lib/canvas/ApexPainter.ts +73 -38
  131. package/lib/canvas/utils/Background/bg.ts +97 -0
  132. package/lib/canvas/utils/Background/circular.ts +17 -0
  133. package/lib/canvas/utils/Background/radius.ts +113 -0
  134. package/lib/canvas/utils/{charts.ts → Charts/charts.ts} +1 -1
  135. package/lib/canvas/utils/{customLines.ts → Custom/customLines.ts} +1 -1
  136. package/lib/canvas/utils/{conversion.ts → General/conversion.ts} +1 -1
  137. package/lib/canvas/utils/{general functions.ts → General/general functions.ts } +143 -121
  138. package/lib/canvas/utils/Image/imageProperties.ts +631 -0
  139. package/lib/canvas/utils/{textProperties.ts → Texts/textProperties.ts} +1 -1
  140. package/lib/canvas/utils/types.ts +45 -2
  141. package/lib/canvas/utils/utils.ts +14 -11
  142. package/package.json +1 -4
  143. package/dist/cjs/ai/functions/generateVoiceResponse.d.ts +0 -10
  144. package/dist/cjs/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  145. package/dist/cjs/ai/functions/generateVoiceResponse.js +0 -161
  146. package/dist/cjs/ai/functions/generateVoiceResponse.js.map +0 -1
  147. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.d.ts +0 -13
  148. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.d.ts.map +0 -1
  149. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.js +0 -185
  150. package/dist/cjs/ai/modals-chat/gemini/Gemini-flash.js.map +0 -1
  151. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.d.ts +0 -13
  152. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.d.ts.map +0 -1
  153. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.js +0 -185
  154. package/dist/cjs/ai/modals-chat/gemini/Gemini-pro.js.map +0 -1
  155. package/dist/cjs/ai/modals-chat/gemini/config.d.ts +0 -5
  156. package/dist/cjs/ai/modals-chat/gemini/config.d.ts.map +0 -1
  157. package/dist/cjs/ai/modals-chat/gemini/config.js +0 -13
  158. package/dist/cjs/ai/modals-chat/gemini/config.js.map +0 -1
  159. package/dist/cjs/ai/modals-chat/gemini/geminiFast.d.ts +0 -15
  160. package/dist/cjs/ai/modals-chat/gemini/geminiFast.d.ts.map +0 -1
  161. package/dist/cjs/ai/modals-chat/gemini/geminiFast.js +0 -146
  162. package/dist/cjs/ai/modals-chat/gemini/geminiFast.js.map +0 -1
  163. package/dist/cjs/canvas/utils/bg.d.ts +0 -23
  164. package/dist/cjs/canvas/utils/bg.d.ts.map +0 -1
  165. package/dist/cjs/canvas/utils/bg.js.map +0 -1
  166. package/dist/cjs/canvas/utils/charts.d.ts.map +0 -1
  167. package/dist/cjs/canvas/utils/charts.js.map +0 -1
  168. package/dist/cjs/canvas/utils/circular.d.ts +0 -10
  169. package/dist/cjs/canvas/utils/circular.d.ts.map +0 -1
  170. package/dist/cjs/canvas/utils/conversion.d.ts.map +0 -1
  171. package/dist/cjs/canvas/utils/conversion.js.map +0 -1
  172. package/dist/cjs/canvas/utils/customLines.d.ts +0 -3
  173. package/dist/cjs/canvas/utils/customLines.d.ts.map +0 -1
  174. package/dist/cjs/canvas/utils/customLines.js.map +0 -1
  175. package/dist/cjs/canvas/utils/general functions.d.ts.map +0 -1
  176. package/dist/cjs/canvas/utils/general functions.js.map +0 -1
  177. package/dist/cjs/canvas/utils/imageProperties.d.ts +0 -62
  178. package/dist/cjs/canvas/utils/imageProperties.d.ts.map +0 -1
  179. package/dist/cjs/canvas/utils/imageProperties.js.map +0 -1
  180. package/dist/cjs/canvas/utils/radius.d.ts +0 -10
  181. package/dist/cjs/canvas/utils/radius.d.ts.map +0 -1
  182. package/dist/cjs/canvas/utils/radius.js +0 -30
  183. package/dist/cjs/canvas/utils/radius.js.map +0 -1
  184. package/dist/cjs/canvas/utils/textProperties.d.ts.map +0 -1
  185. package/dist/cjs/canvas/utils/textProperties.js.map +0 -1
  186. package/dist/esm/ai/functions/generateVoiceResponse.d.ts +0 -10
  187. package/dist/esm/ai/functions/generateVoiceResponse.d.ts.map +0 -1
  188. package/dist/esm/ai/functions/generateVoiceResponse.js +0 -161
  189. package/dist/esm/ai/functions/generateVoiceResponse.js.map +0 -1
  190. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.d.ts +0 -13
  191. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.d.ts.map +0 -1
  192. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js +0 -185
  193. package/dist/esm/ai/modals-chat/gemini/Gemini-flash.js.map +0 -1
  194. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.d.ts +0 -13
  195. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.d.ts.map +0 -1
  196. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js +0 -185
  197. package/dist/esm/ai/modals-chat/gemini/Gemini-pro.js.map +0 -1
  198. package/dist/esm/ai/modals-chat/gemini/config.d.ts +0 -5
  199. package/dist/esm/ai/modals-chat/gemini/config.d.ts.map +0 -1
  200. package/dist/esm/ai/modals-chat/gemini/config.js +0 -13
  201. package/dist/esm/ai/modals-chat/gemini/config.js.map +0 -1
  202. package/dist/esm/ai/modals-chat/gemini/geminiFast.d.ts +0 -15
  203. package/dist/esm/ai/modals-chat/gemini/geminiFast.d.ts.map +0 -1
  204. package/dist/esm/ai/modals-chat/gemini/geminiFast.js +0 -146
  205. package/dist/esm/ai/modals-chat/gemini/geminiFast.js.map +0 -1
  206. package/dist/esm/canvas/utils/bg.d.ts +0 -23
  207. package/dist/esm/canvas/utils/bg.d.ts.map +0 -1
  208. package/dist/esm/canvas/utils/bg.js.map +0 -1
  209. package/dist/esm/canvas/utils/charts.d.ts.map +0 -1
  210. package/dist/esm/canvas/utils/charts.js.map +0 -1
  211. package/dist/esm/canvas/utils/circular.d.ts +0 -10
  212. package/dist/esm/canvas/utils/circular.d.ts.map +0 -1
  213. package/dist/esm/canvas/utils/conversion.d.ts.map +0 -1
  214. package/dist/esm/canvas/utils/conversion.js.map +0 -1
  215. package/dist/esm/canvas/utils/customLines.d.ts +0 -3
  216. package/dist/esm/canvas/utils/customLines.d.ts.map +0 -1
  217. package/dist/esm/canvas/utils/customLines.js.map +0 -1
  218. package/dist/esm/canvas/utils/general functions.d.ts.map +0 -1
  219. package/dist/esm/canvas/utils/general functions.js.map +0 -1
  220. package/dist/esm/canvas/utils/imageProperties.d.ts +0 -62
  221. package/dist/esm/canvas/utils/imageProperties.d.ts.map +0 -1
  222. package/dist/esm/canvas/utils/imageProperties.js.map +0 -1
  223. package/dist/esm/canvas/utils/radius.d.ts +0 -10
  224. package/dist/esm/canvas/utils/radius.d.ts.map +0 -1
  225. package/dist/esm/canvas/utils/radius.js +0 -30
  226. package/dist/esm/canvas/utils/radius.js.map +0 -1
  227. package/dist/esm/canvas/utils/textProperties.d.ts.map +0 -1
  228. package/dist/esm/canvas/utils/textProperties.js.map +0 -1
  229. package/lib/ai/functions/generateVoiceResponse.ts +0 -186
  230. package/lib/ai/modals-chat/gemini/Gemini-flash.ts +0 -200
  231. package/lib/ai/modals-chat/gemini/Gemini-pro.ts +0 -203
  232. package/lib/ai/modals-chat/gemini/config.ts +0 -11
  233. package/lib/ai/modals-chat/gemini/geminiFast.ts +0 -169
  234. package/lib/canvas/utils/bg.ts +0 -120
  235. package/lib/canvas/utils/circular.ts +0 -17
  236. package/lib/canvas/utils/imageProperties.ts +0 -418
  237. package/lib/canvas/utils/radius.ts +0 -26
  238. /package/dist/cjs/canvas/utils/{charts.js → Charts/charts.js} +0 -0
  239. /package/dist/cjs/canvas/utils/{customLines.js → Custom/customLines.js} +0 -0
  240. /package/dist/cjs/canvas/utils/{conversion.d.ts → General/conversion.d.ts} +0 -0
  241. /package/dist/cjs/canvas/utils/{conversion.js → General/conversion.js} +0 -0
  242. /package/dist/cjs/canvas/utils/{textProperties.js → Texts/textProperties.js} +0 -0
  243. /package/dist/esm/canvas/utils/{charts.js → Charts/charts.js} +0 -0
  244. /package/dist/esm/canvas/utils/{customLines.js → Custom/customLines.js} +0 -0
  245. /package/dist/esm/canvas/utils/{conversion.d.ts → General/conversion.d.ts} +0 -0
  246. /package/dist/esm/canvas/utils/{conversion.js → General/conversion.js} +0 -0
  247. /package/dist/esm/canvas/utils/{textProperties.js → Texts/textProperties.js} +0 -0
@@ -24,6 +24,7 @@ export interface CanvasConfig {
24
24
  y?: number;
25
25
  customBg?: string;
26
26
  colorBg?: string;
27
+ opacity?: number;
27
28
  zoom?: {
28
29
  scale?: number;
29
30
  x?: number;
@@ -44,6 +45,7 @@ export interface CanvasConfig {
44
45
  width?: number;
45
46
  position?: number;
46
47
  borderRadius?: number | "circular";
48
+ borderPosition?: 'all' | 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
47
49
  };
48
50
  shadow?: {
49
51
  color?: string;
@@ -55,6 +57,7 @@ export interface CanvasConfig {
55
57
  };
56
58
  rotation?: number;
57
59
  borderRadius?: number | "circular";
60
+ borderPosition?: 'all' | 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
58
61
  };
59
62
 
60
63
  /**
@@ -109,7 +112,7 @@ export interface ImageProperties {
109
112
  width?: number;
110
113
  position?: number;
111
114
  borderRadius?: number | "circular";
112
- borderPosition?: 'all' | 'top' | 'left' | 'right' | 'bottom';
115
+ borderPosition?: 'all' | 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
113
116
  gradient?: {
114
117
  type: 'linear' | 'radial';
115
118
  startX?: number;
@@ -541,4 +544,44 @@ export interface GradientConfig{
541
544
  };
542
545
  watermark?: string;
543
546
  }
544
-
547
+
548
+ /**
549
+ * Options for resizing an image.
550
+ */
551
+ export interface ResizeOptions {
552
+ /** The source image path or URL. */
553
+ imagePath: string;
554
+ /** Desired dimensions. If not provided, defaults are used. */
555
+ size?: {
556
+ width?: number;
557
+ height?: number;
558
+ };
559
+ /**
560
+ * If true, the image is resized to fit inside the provided dimensions while preserving the aspect ratio.
561
+ * If false, the image is resized to fill the dimensions (which might distort the aspect ratio).
562
+ */
563
+ maintainAspectRatio?: boolean;
564
+ /** Quality setting for the output image (0–100). Defaults to 90. */
565
+ quality?: number;
566
+ /** Output format for the resized image. Defaults to 'png'. */
567
+ outputFormat?: 'png' | 'jpeg';
568
+ }
569
+
570
+ export interface Point {
571
+ x: number;
572
+ y: number;
573
+ }
574
+
575
+ export interface Coordinate {
576
+ from: Point;
577
+ to: Point;
578
+ /** Optional tension for smoothing the curve. Default is 0. */
579
+ tension?: number;
580
+ }
581
+
582
+ export interface CropOptions {
583
+ imageSource: string;
584
+ coordinates: Coordinate[];
585
+ crop: 'inner' | 'outer';
586
+ radius?: number | "circular" | null;
587
+ }
@@ -10,16 +10,16 @@
10
10
 
11
11
 
12
12
 
13
- import { OutputFormat, CanvasConfig, ImageProperties, TextObject, GIFOptions, GIFResults, CustomOptions, cropOptions, GradientConfig, Frame, PatternOptions, ExtractFramesOptions } from "./types";
14
- import { radiusBorder } from "./radius";
15
- import { circularBorder } from "./circular";
16
- import { drawBackgroundColor, drawBackgroundGradient, customBackground } from "./bg";
17
- import { applyRotation, imageRadius, applyStroke, applyShadow, objectRadius, drawShape} from './imageProperties'
18
- import { drawText, WrappedText } from "./textProperties";
19
- import { loadImages, resizingImg, converter, applyColorFilters, imgEffects, cropOuter, cropInner, detectColors, removeColor, bgRemoval } from './general functions';
20
- import { customLines } from "./customLines";
21
- import { verticalBarChart, pieChart, lineChart } from './charts'
22
- import { url, arrayBuffer, base64, dataURL, blob } from "./conversion";
13
+ import { OutputFormat, CanvasConfig, ImageProperties, TextObject, GIFOptions, GIFResults, CustomOptions, cropOptions, GradientConfig, Frame, PatternOptions, ExtractFramesOptions, ResizeOptions, CropOptions } from "./types";
14
+ import { radiusBorder } from "./Background/radius";
15
+ import { circularBorder } from "./Background/circular";
16
+ import { drawBackgroundColor, drawBackgroundGradient, customBackground } from "./Background/bg";
17
+ import { applyRotation, imageRadius, applyStroke, applyZoom, applyShadow, objectRadius, drawShape } from './Image/imageProperties'
18
+ import { drawText, WrappedText } from "./Texts/textProperties";
19
+ import { loadImages, resizingImg, converter, applyColorFilters, imgEffects, cropOuter, cropInner, detectColors, removeColor, bgRemoval } from './General/general functions';
20
+ import { customLines } from "./Custom/customLines";
21
+ import { verticalBarChart, pieChart, lineChart } from './Charts/charts'
22
+ import { url, arrayBuffer, base64, dataURL, blob } from "./General/conversion";
23
23
 
24
24
  export {
25
25
  url,
@@ -44,6 +44,7 @@ export {
44
44
  applyRotation,
45
45
  imageRadius,
46
46
  applyStroke,
47
+ applyZoom,
47
48
  applyShadow,
48
49
  objectRadius,
49
50
  drawShape,
@@ -65,5 +66,7 @@ export {
65
66
  GradientConfig,
66
67
  Frame,
67
68
  PatternOptions,
68
- ExtractFramesOptions
69
+ ExtractFramesOptions,
70
+ ResizeOptions,
71
+ CropOptions
69
72
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apexify.js",
3
- "version": "4.5.54",
3
+ "version": "4.5.56",
4
4
  "description": "Unlimited AI models and Canvas library. Supports ts & js (supports front/back end).",
5
5
  "author": "zenith-79",
6
6
  "license": "MIT",
@@ -225,14 +225,11 @@
225
225
  "apexify.js"
226
226
  ],
227
227
  "dependencies": {
228
- "@google/generative-ai": "^0.14.1",
229
- "@iamtraction/google-translate": "^2.0.1",
230
228
  "@napi-rs/canvas": "^0.1.53",
231
229
  "axios": "^1.7.7",
232
230
  "csv-parse": "^5.5.6",
233
231
  "discord.js": "^14.15.3",
234
232
  "fluent-ffmpeg": "^2.1.3",
235
- "fs": "^0.0.1-security",
236
233
  "gifencoder": "^2.0.1",
237
234
  "groq-sdk": "^0.5.0",
238
235
  "hercai": "^12.4.0",
@@ -1,10 +0,0 @@
1
- type ChatModelOption = any | "v3" | "v3-32k" | "turbo" | "turbo-16k" | "gemini";
2
- declare function aiVoice(message: any, numOfImages: number, finalText: string, hercai: any, drawValid: any, imageModal: string, chatModal: ChatModelOption, voiceModal: string, voice_code: string, type: string, apiKey: string, nsfw: boolean, nsfwKeyWords: string[], deepCheck: boolean, enhancer: any, buttons: any[], RespondMessage: any, imageAPIS?: {
3
- groqAPI?: string;
4
- rsnAPI?: string;
5
- prodiaAPI?: string;
6
- freesedGPTApi?: string;
7
- electronHubKey?: string;
8
- }): Promise<any>;
9
- export { aiVoice };
10
- //# sourceMappingURL=generateVoiceResponse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateVoiceResponse.d.ts","sourceRoot":"","sources":["../../../../lib/ai/functions/generateVoiceResponse.ts"],"names":[],"mappings":"AAUA,KAAK,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAE;AAEjF,iBAAe,OAAO,CACpB,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,GAAG,EAAE,EACd,cAAc,EAAE,GAAG,EACnB,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,gBAqJvH;AAMD,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,161 +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.aiVoice = aiVoice;
7
- const hercai_1 = require("hercai");
8
- const google_translate_1 = __importDefault(require("@iamtraction/google-translate"));
9
- const axios_1 = __importDefault(require("axios"));
10
- const tesseract_js_1 = require("tesseract.js");
11
- const chunkString_1 = require("./chunkString");
12
- const draw_1 = require("./draw");
13
- const fs_1 = __importDefault(require("fs"));
14
- const hercai = new hercai_1.Hercai('6eZZOdDwm6Epdzn8mnhcX9SBDkxvoNYcNj9ILS0P44=');
15
- let isProcessing = false;
16
- async function aiVoice(message, numOfImages, finalText, hercai, drawValid, imageModal, chatModal, voiceModal, voice_code, type, apiKey, nsfw, nsfwKeyWords, deepCheck, enhancer, buttons, RespondMessage, imageAPIS) {
17
- if (message.author.bot || isProcessing || !message.guild) {
18
- return;
19
- }
20
- isProcessing = true;
21
- try {
22
- let msg = message.content;
23
- if (drawValid) {
24
- return await (0, draw_1.aiImagine)(message, numOfImages, finalText, hercai, imageModal, nsfw, nsfwKeyWords, deepCheck, enhancer, buttons, RespondMessage, { rsnAPI: imageAPIS?.rsnAPI, groqAPI: imageAPIS?.groqAPI, prodiaAPI: imageAPIS?.prodiaAPI, freesedGPTApi: imageAPIS?.freesedGPTApi, electronHubKey: imageAPIS?.electronHubKey });
25
- }
26
- if (message.attachments.size > 0) {
27
- const attachment = message.attachments.first();
28
- const imageUrl = attachment.url;
29
- const worker = await (0, tesseract_js_1.createWorker)();
30
- const { data: { text } } = await (0, tesseract_js_1.recognize)(imageUrl);
31
- await worker.terminate();
32
- msg += "\n" + text;
33
- }
34
- msg = (await hercai.betaQuestion({
35
- model: chatModal,
36
- content: msg,
37
- })).reply.replace(/\n/g, " ");
38
- if (voiceModal === "google") {
39
- if (!isEnglish(msg)) {
40
- const translationResult = await (0, google_translate_1.default)(msg, {
41
- from: "auto",
42
- to: "en",
43
- });
44
- msg = translationResult.text;
45
- }
46
- const chunks = (0, chunkString_1.chunkString)(msg, 200);
47
- let delay = 0;
48
- for (const chunk of chunks) {
49
- setTimeout(async () => {
50
- const encodedChunk = encodeURIComponent(chunk);
51
- const url = `https://translate.google.com/translate_tts?ie=UTF-8&tl=en&client=tw-ob&q=${encodedChunk}`;
52
- const mp3Stream = await axios_1.default.get(url, {
53
- responseType: "stream",
54
- headers: {
55
- Referer: "http://translate.google.com/",
56
- "User-Agent": "stagefright/1.2 (Linux;Android 5.0)",
57
- },
58
- });
59
- RespondMessage = await message.reply({
60
- components: buttons,
61
- files: [
62
- {
63
- attachment: mp3Stream.data,
64
- name: "respond.mp3",
65
- },
66
- ],
67
- allowedMentions: { repliedUser: false },
68
- });
69
- }, delay);
70
- delay += 3000;
71
- }
72
- }
73
- else if (voiceModal === "apexAI") {
74
- if (!apiKey) {
75
- throw new Error('Error: The apexAI model requires a premium account for generation. Please visit our support server at https://discord.gg/4uhpr7w8wW for assistance.');
76
- }
77
- const options = {
78
- method: "POST",
79
- url: "https://text-to-speech-neural-google.p.rapidapi.com/generateAudioFiles",
80
- headers: {
81
- "content-type": "application/json",
82
- "X-RapidAPI-Key": apiKey,
83
- "X-RapidAPI-Host": "text-to-speech-neural-google.p.rapidapi.com",
84
- },
85
- data: {
86
- audioFormat: "ogg",
87
- paragraphChunks: [msg],
88
- voiceParams: {
89
- name: `Wavenet-${type || "c"}`,
90
- engine: "google",
91
- languageCode: "en-US",
92
- },
93
- },
94
- };
95
- try {
96
- const response = await axios_1.default.request(options);
97
- const audioData = response.data.audioStream;
98
- fs_1.default.writeFileSync("output.ogg", Buffer.from(audioData, "base64"));
99
- RespondMessage = await message.reply({
100
- components: buttons,
101
- files: [
102
- {
103
- attachment: "output.ogg",
104
- name: "respond.ogg",
105
- },
106
- ],
107
- allowedMentions: { repliedUser: false },
108
- });
109
- }
110
- catch (error) {
111
- console.error(error);
112
- throw new Error('Error generating audio file.');
113
- }
114
- }
115
- else if (voiceModal === "zenithAI") {
116
- if (!apiKey) {
117
- throw new Error('Error: The zenithAi model requires a premium account for generation. Please visit our support server at https://discord.gg/4uhpr7w8wW for assistance.');
118
- }
119
- const encodedParams = new URLSearchParams();
120
- encodedParams.set("voice_code", voice_code || "en-US-3");
121
- encodedParams.set("text", msg);
122
- encodedParams.set("speed", "1.00");
123
- encodedParams.set("pitch", "1.00");
124
- encodedParams.set("output_type", "audio_url");
125
- const options = {
126
- method: "POST",
127
- url: "https://cloudlabs-text-to-speech.p.rapidapi.com/synthesize",
128
- headers: {
129
- "content-type": "application/x-www-form-urlencoded",
130
- "X-RapidAPI-Key": apiKey,
131
- "X-RapidAPI-Host": "cloudlabs-text-to-speech.p.rapidapi.com",
132
- },
133
- data: encodedParams,
134
- };
135
- try {
136
- const response = await axios_1.default.request(options);
137
- const audioUrl = response.data.result.audio_url;
138
- RespondMessage = await message.reply({
139
- content: audioUrl,
140
- components: buttons,
141
- allowedMentions: { repliedUser: false },
142
- });
143
- }
144
- catch (error) {
145
- console.error(error);
146
- throw new Error('Error generating audio URL.');
147
- }
148
- }
149
- }
150
- catch (error) {
151
- console.error(error.message);
152
- message.reply("The response of the bot was too long and couldn't be sent as a voice.");
153
- }
154
- finally {
155
- isProcessing = false;
156
- }
157
- }
158
- function isEnglish(str) {
159
- return /^[A-Za-z0-9!@#$%^&()_+\-=\[\]{};':"\\|,.<>\/?]+$/.test(str);
160
- }
161
- //# sourceMappingURL=generateVoiceResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateVoiceResponse.js","sourceRoot":"","sources":["../../../../lib/ai/functions/generateVoiceResponse.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export declare function geminiFlash(message: {
2
- userId: string;
3
- serverName: string;
4
- serverId: string;
5
- channelName: string;
6
- attachment: any;
7
- db: boolean;
8
- }, AI: {
9
- AiPersonality: string | null;
10
- userMsg: string;
11
- API_KEY: string | null;
12
- }): Promise<any>;
13
- //# sourceMappingURL=Gemini-flash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gemini-flash.d.ts","sourceRoot":"","sources":["../../../../../lib/ai/modals-chat/gemini/Gemini-flash.ts"],"names":[],"mappings":"AASA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA8LnP"}
@@ -1,185 +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.geminiFlash = geminiFlash;
7
- const generative_ai_1 = require("@google/generative-ai");
8
- const general_functions_1 = require("../../../canvas/utils/general functions");
9
- const verse_db_1 = require("verse.db");
10
- const config_1 = __importDefault(require("./config"));
11
- const axios_1 = __importDefault(require("axios"));
12
- const path_1 = __importDefault(require("path"));
13
- const fs_1 = __importDefault(require("fs"));
14
- const utils_1 = require("../../utils");
15
- async function geminiFlash(message, AI) {
16
- async function validateKey(apiKey) {
17
- try {
18
- const validateResponse = await axios_1.default.get(`https://generativelanguage.googleapis.com/v1beta/models?key=${apiKey}`);
19
- return validateResponse.status === 200;
20
- }
21
- catch (error) {
22
- console.error(`Error validating API key: ${apiKey}`, error);
23
- return false;
24
- }
25
- }
26
- async function processRequest(genAI) {
27
- let personalityString = '';
28
- if (AI.AiPersonality) {
29
- const personalityFilePath = path_1.default.join(process.cwd(), AI.AiPersonality);
30
- const personalityContent = fs_1.default.readFileSync(personalityFilePath, 'utf-8');
31
- personalityString = personalityContent.split('\n').join(' ');
32
- }
33
- const generationConfig = {
34
- maxOutputTokens: 1048576,
35
- };
36
- const safetySettings = [
37
- {
38
- category: generative_ai_1.HarmCategory.HARM_CATEGORY_HARASSMENT,
39
- threshold: generative_ai_1.HarmBlockThreshold.BLOCK_NONE,
40
- },
41
- {
42
- category: generative_ai_1.HarmCategory.HARM_CATEGORY_HATE_SPEECH,
43
- threshold: generative_ai_1.HarmBlockThreshold.BLOCK_NONE,
44
- },
45
- {
46
- category: generative_ai_1.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
47
- threshold: generative_ai_1.HarmBlockThreshold.BLOCK_NONE,
48
- },
49
- {
50
- category: generative_ai_1.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
51
- threshold: generative_ai_1.HarmBlockThreshold.BLOCK_NONE,
52
- },
53
- ];
54
- const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName: <@${message.userId}>`;
55
- const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash-latest", systemInstruction, generationConfig, safetySettings });
56
- const defaultHistory = [
57
- {
58
- role: "user",
59
- parts: [{ text: `Hey who are you?` }],
60
- },
61
- {
62
- role: "model",
63
- parts: [{ text: `I am an AI assistant built/developed/created by Apexify.js` }],
64
- },
65
- {
66
- role: "user",
67
- parts: [{ text: `You have chat Memory?` }],
68
- },
69
- {
70
- role: "model",
71
- parts: [{ text: `Yes, I save chat history for each user if it is enabled in my configuration otherwise no data being saved.` }],
72
- },
73
- {
74
- role: "user",
75
- parts: [{ text: `How is your data/memory/chat history managed?` }],
76
- },
77
- {
78
- role: "model",
79
- parts: [{ text: `It is managed by verse.db. A database used to manage JSON/SQL/YAML/SQON database with ease and supports schema/schemaless data.` }],
80
- }
81
- ];
82
- let historyData = undefined;
83
- let db;
84
- if (message.db) {
85
- db = new verse_db_1.connect({ adapter: 'json', dataPath: `${message.serverId}_ChatHistory` });
86
- const data = await db.find(`${message.userId}_chatHistory`, { userId: message.userId });
87
- historyData = data.results?.history.slice(-100) || undefined;
88
- }
89
- const chat = model.startChat({
90
- history: historyData || defaultHistory,
91
- generationConfig
92
- });
93
- const imgURL = message.attachment?.url || null;
94
- let result;
95
- if (imgURL && message.attachment?.contentType?.startsWith("image/")) {
96
- const url = await urlToBase64(imgURL);
97
- result = await model.generateContent([AI.userMsg, {
98
- inlineData: {
99
- data: url,
100
- mimeType: message.attachment?.contentType
101
- }
102
- }]);
103
- }
104
- else if (message.attachment?.name.endsWith('.pdf')) {
105
- const pdfContent = await (0, utils_1.readFile)(message.attachment?.url, 'pdf');
106
- AI.userMsg += `\n\n- This is the PDF file content:\n\n ${pdfContent}`;
107
- result = await chat.sendMessage(AI.userMsg);
108
- }
109
- else if (message.attachment?.name.endsWith('.txt')) {
110
- const txtContent = await (0, utils_1.readFile)(message.attachment?.url, 'txt');
111
- AI.userMsg += `\n\n- This is the .txt file content:\n\n ${txtContent}`;
112
- result = await chat.sendMessage(AI.userMsg);
113
- }
114
- else {
115
- result = await chat.sendMessage(AI.userMsg);
116
- }
117
- const response = await result.response.text();
118
- if (message.db) {
119
- const combinedHistoryUpdate = {
120
- $push: {
121
- "history": {
122
- $each: [
123
- {
124
- role: "user",
125
- parts: [{ text: `${AI.userMsg}` }]
126
- },
127
- {
128
- role: "model",
129
- parts: [{ text: `${response}` }]
130
- }
131
- ]
132
- }
133
- },
134
- };
135
- historyData = await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, combinedHistoryUpdate, true);
136
- }
137
- return response;
138
- }
139
- async function urlToBase64(imageURL) {
140
- try {
141
- const convertedBuffer = await (0, general_functions_1.converter)(imageURL, 'png');
142
- const base64String = convertedBuffer.toString('base64');
143
- return base64String;
144
- }
145
- catch (error) {
146
- throw new Error(`Failed to fetch and convert the image: ${error.message}`);
147
- }
148
- }
149
- try {
150
- if (AI.API_KEY && !(await validateKey(AI.API_KEY))) {
151
- return 'Invalid API key provided.';
152
- }
153
- function getRandomApiKey() {
154
- const { apiKeys } = config_1.default;
155
- const randomIndex = Math.floor(Math.random() * apiKeys.length);
156
- return apiKeys[randomIndex];
157
- }
158
- const randomApiKey = getRandomApiKey();
159
- const genAI = new generative_ai_1.GoogleGenerativeAI(AI.API_KEY || randomApiKey);
160
- return await processRequest(genAI);
161
- }
162
- catch (e) {
163
- if (e.message) {
164
- if (e.status === 429 || e.status === 403) {
165
- return 'AI is on a cooldown for the rest of the day. Either provide a new API key or wait for tomorrow. Check ai.google.dev for free API keys.';
166
- }
167
- else if (e.status === 400) {
168
- return 'The hoster/bot owner/the used host isn\'t supported by Gemini.';
169
- }
170
- else if (e.message === '[GoogleGenerativeAI Error]: Candidate was blocked due to SAFETY') {
171
- console.error(e);
172
- return 'Due to safety enabled by Gemini, you have been blocked.';
173
- }
174
- else {
175
- console.error(e);
176
- return 'Try again later please... Either API is on a cooldown or an internal server error has occurred. If issue persists, please contact the bot developer or owner of the npm package.';
177
- }
178
- }
179
- else {
180
- console.error(e);
181
- return 'An unknown error has occurred.';
182
- }
183
- }
184
- }
185
- //# sourceMappingURL=Gemini-flash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gemini-flash.js","sourceRoot":"","sources":["../../../../../lib/ai/modals-chat/gemini/Gemini-flash.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export declare function geminiPro(message: {
2
- userId: string;
3
- serverName: string;
4
- serverId: string;
5
- channelName: string;
6
- attachment: any;
7
- db: boolean;
8
- }, AI: {
9
- AiPersonality: string | null;
10
- userMsg: string;
11
- API_KEY: string | null;
12
- }): Promise<any>;
13
- //# sourceMappingURL=Gemini-pro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gemini-pro.d.ts","sourceRoot":"","sources":["../../../../../lib/ai/modals-chat/gemini/Gemini-pro.ts"],"names":[],"mappings":"AAWA,wBAAsB,SAAS,CAAC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CA+LjP"}