apexify.js 4.0.7 → 4.0.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini-flash.d.ts","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-flash.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,CAAC,OAAO,EAAE,GAAG,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,CAgG3I"}
1
+ {"version":3,"file":"Gemini-flash.d.ts","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-flash.ts"],"names":[],"mappings":"AAUA,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;CAAG,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,CAsLpP"}
@@ -9,11 +9,31 @@ const path_1 = __importDefault(require("path"));
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const config_1 = __importDefault(require("./config"));
11
11
  const general_functions_1 = require("../../canvas/utils/general functions");
12
+ const verse_db_1 = require("verse.db");
13
+ const axios_1 = __importDefault(require("axios"));
12
14
  let currentApiKeyIndex = 0;
13
15
  async function geminiFlash(message, AI) {
14
- var _a;
16
+ var _a, _b, _c, _d, _e;
17
+ let db;
18
+ if (message.db) {
19
+ db = new verse_db_1.connect({ adapter: 'json', dataPath: `${message.serverId}_ChatHistory` });
20
+ }
15
21
  try {
16
- const genAI = new generative_ai_1.GoogleGenerativeAI(AI.API_KEY || config_1.default.apiKeys[currentApiKeyIndex]);
22
+ let apiKeyIndex = currentApiKeyIndex;
23
+ let genAI;
24
+ while (apiKeyIndex < config_1.default.apiKeys.length) {
25
+ const validateKey = await axios_1.default.get(`https://generativelanguage.googleapis.com/v1beta/models?key=${config_1.default.apiKeys[apiKeyIndex]}`);
26
+ if (validateKey.status === 200) {
27
+ genAI = new generative_ai_1.GoogleGenerativeAI(config_1.default.apiKeys[apiKeyIndex]);
28
+ break;
29
+ }
30
+ else {
31
+ apiKeyIndex++;
32
+ }
33
+ }
34
+ if (apiKeyIndex === config_1.default.apiKeys.length) {
35
+ return 'All provided API keys are invalid.';
36
+ }
17
37
  let personalityString = '';
18
38
  if (AI.AiPersonality) {
19
39
  const personalityFilePath = path_1.default.join(process.cwd(), AI.AiPersonality);
@@ -23,47 +43,76 @@ async function geminiFlash(message, AI) {
23
43
  const generationConfig = {
24
44
  maxOutputTokens: 750,
25
45
  };
26
- const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.guild.name} at channelName: ${message.channel.name} and responding to the userName: ${message.author.username}`;
27
- const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash-latest", systemInstruction, generationConfig });
46
+ const safetySettings = [
47
+ {
48
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_HARASSMENT,
49
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH,
50
+ },
51
+ {
52
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_HATE_SPEECH,
53
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
54
+ },
55
+ {
56
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
57
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
58
+ },
59
+ {
60
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
61
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
62
+ },
63
+ ];
64
+ const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName: <@${message.userId}>`;
65
+ const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash-latest", systemInstruction, generationConfig, safetySettings });
66
+ const defaultHistory = [
67
+ {
68
+ role: "user",
69
+ parts: [{ text: `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName: <@${message.userId}>` }],
70
+ },
71
+ {
72
+ role: "model",
73
+ parts: [{ text: `I will greet the user with their name: <@${message.userId}>. Feel free to ask me anything! 😊` }],
74
+ },
75
+ {
76
+ role: "user",
77
+ parts: [{ text: "Any question regarding JEDI STUDIO, verse.db, apexify.js, or djs-builder?" }],
78
+ },
79
+ {
80
+ role: "model",
81
+ parts: [{ text: `You should reply with visiting documentation online at jedi-studio.com. The development team consists of 8 people, led by Marco. The CEO/founder is Kimo.` }],
82
+ },
83
+ {
84
+ role: "user",
85
+ parts: [{ text: "How was I developed or programmed?" }],
86
+ },
87
+ {
88
+ role: "model",
89
+ parts: [{ text: `You were made by JEDI STUDIO under the development of jedi.tsx, one of the CEOs for JEDI STUDIO.` }],
90
+ },
91
+ {
92
+ role: "user",
93
+ parts: [{ text: "Tell me about verse.db." }],
94
+ },
95
+ {
96
+ role: "model",
97
+ parts: [{ text: `verse.db is a database that enables users to manage data for SQL, JSON, YAML, and SQOL. It's a new brand by JEDI STUDIO, and SOOL will support more database management with comprehensive features and security.` }],
98
+ },
99
+ ];
100
+ let historyData = undefined;
101
+ if (message.db) {
102
+ db = new verse_db_1.connect({ adapter: 'json', dataPath: `${message.serverId}_ChatHistory` });
103
+ const data = await db.find(`${message.userId}_chatHistory`, { userId: message.userId });
104
+ if (!((_a = data.results) === null || _a === void 0 ? void 0 : _a.history) || ((_c = (_b = data.results) === null || _b === void 0 ? void 0 : _b.history) === null || _c === void 0 ? void 0 : _c.length) === 0) {
105
+ await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, { $set: { history: [] } }, true);
106
+ }
107
+ else {
108
+ historyData = ((_d = data.results) === null || _d === void 0 ? void 0 : _d.history) || undefined;
109
+ }
110
+ }
28
111
  const chat = model.startChat({
29
- history: [
30
- {
31
- role: "user",
32
- parts: [{ text: `${personalityString}\n And working on discord in serverName: ${message.guild.name} at channelName: ${message.channel.name} and responding to the userName: ${message.author.username}` }],
33
- },
34
- {
35
- role: "model",
36
- parts: [{ text: `I will greet the user with their name: <@${message.author.id}>. Feel free to ask me anything! 😊` }],
37
- },
38
- {
39
- role: "user",
40
- parts: [{ text: "Any question regarding JEDI STUDIO, verse.db, apexify.js, or djs-builder?" }],
41
- },
42
- {
43
- role: "model",
44
- parts: [{ text: `You should reply with visiting documentation online at jedi-studio.com. The development team consists of 8 people, led by Marco. The CEO/founder is Kimo.` }],
45
- },
46
- {
47
- role: "user",
48
- parts: [{ text: "How was I developed or programmed?" }],
49
- },
50
- {
51
- role: "model",
52
- parts: [{ text: `You were made by JEDI STUDIO under the development of jedi.tsx, one of the CEOs for JEDI STUDIO.` }],
53
- },
54
- {
55
- role: "user",
56
- parts: [{ text: "Tell me about verse.db." }],
57
- },
58
- {
59
- role: "model",
60
- parts: [{ text: `verse.db is a database that enables users to manage data for SQL, JSON, YAML, and SQOL. It's a new brand by JEDI STUDIO, and SOOL will support more database management with comprehensive features and security.` }],
61
- },
62
- ],
112
+ history: historyData || defaultHistory,
63
113
  generationConfig
64
114
  });
65
- const attachment = (_a = message.attachments) === null || _a === void 0 ? void 0 : _a.first();
66
- const imgURL = (attachment === null || attachment === void 0 ? void 0 : attachment.url) || null;
115
+ const imgURL = ((_e = message.attachment) === null || _e === void 0 ? void 0 : _e.url) || null;
67
116
  let result;
68
117
  if (imgURL) {
69
118
  const imageData = await urlToBase64(imgURL);
@@ -78,22 +127,40 @@ async function geminiFlash(message, AI) {
78
127
  else {
79
128
  result = await chat.sendMessage(AI.userMsg);
80
129
  }
81
- const response = result.response;
82
- return response.text();
130
+ const response = await result.response.text();
131
+ if (message.db) {
132
+ const updateQuery_1 = {
133
+ $push: {
134
+ "history": {
135
+ role: "user",
136
+ parts: [{ text: `${AI.userMsg}` }]
137
+ }
138
+ },
139
+ };
140
+ historyData = await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, updateQuery_1, true);
141
+ const updateQuery_2 = {
142
+ $push: {
143
+ "history": {
144
+ role: "model",
145
+ parts: [{ text: `${response}` }]
146
+ }
147
+ },
148
+ };
149
+ historyData = await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, updateQuery_2, true);
150
+ }
151
+ return response;
83
152
  }
84
153
  catch (e) {
85
154
  if (e.message) {
86
155
  if (e.message === '[GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent: [400 Bad Request] User location is not supported for the API use.') {
87
- return `<${message.author.id}> your location isn't supported by gemini AI.`;
156
+ return `The hoster/bot owner/the used host isn't supported by gemini.`;
157
+ }
158
+ else if (e.response && (e.response.status === 429 || e.response.status === 403)) {
159
+ return 'Ai is on a cooldown for the rest of the day. Either provide your own API key or wait for tomorrow. Check ai.google.dev for free apikeys';
88
160
  }
89
- else if (e.response && (e.response.status === 429 || e.response.status === 400)) {
90
- currentApiKeyIndex++;
91
- if (currentApiKeyIndex < config_1.default.apiKeys.length) {
92
- return geminiFlash(message, { ...AI, API_KEY: config_1.default.apiKeys[currentApiKeyIndex] });
93
- }
94
- else {
95
- return 'Ai is on a cooldown for the rest of the day. Either provide your API key or wait for tomorrow. Check ai.google.dev for apikeys';
96
- }
161
+ else if (e.message === '[GoogleGenerativeAI Error]: Candidate was blocked due to SAFETY') {
162
+ console.error(e);
163
+ return `Due to safety enabled by gemini you have been blocked.`;
97
164
  }
98
165
  else {
99
166
  console.error(e);
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini-flash.js","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-flash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gemini-flash.js","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-flash.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
- export declare function geminiPro(message: any, AI: {
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: {
2
9
  AiPersonality: string | null;
3
10
  userMsg: string;
4
11
  API_KEY: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini-pro.d.ts","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-pro.ts"],"names":[],"mappings":"AAQA,wBAAsB,SAAS,CAAC,OAAO,EAAE,GAAG,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,CAiGzI"}
1
+ {"version":3,"file":"Gemini-pro.d.ts","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-pro.ts"],"names":[],"mappings":"AAUA,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;CAAG,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,CAqLlP"}
@@ -9,11 +9,27 @@ const path_1 = __importDefault(require("path"));
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const config_1 = __importDefault(require("./config"));
11
11
  const general_functions_1 = require("../../canvas/utils/general functions");
12
+ const verse_db_1 = require("verse.db");
13
+ const axios_1 = __importDefault(require("axios"));
12
14
  let currentApiKeyIndex = 0;
13
15
  async function geminiPro(message, AI) {
14
- var _a;
16
+ var _a, _b, _c, _d, _e;
15
17
  try {
16
- const genAI = new generative_ai_1.GoogleGenerativeAI(AI.API_KEY || config_1.default.apiKeys[currentApiKeyIndex]);
18
+ let apiKeyIndex = currentApiKeyIndex;
19
+ let genAI;
20
+ while (apiKeyIndex < config_1.default.apiKeys.length) {
21
+ const validateKey = await axios_1.default.get(`https://generativelanguage.googleapis.com/v1beta/models?key=${config_1.default.apiKeys[apiKeyIndex]}`);
22
+ if (validateKey.status === 200) {
23
+ genAI = new generative_ai_1.GoogleGenerativeAI(config_1.default.apiKeys[apiKeyIndex]);
24
+ break;
25
+ }
26
+ else {
27
+ apiKeyIndex++;
28
+ }
29
+ }
30
+ if (apiKeyIndex === config_1.default.apiKeys.length) {
31
+ return 'All provided API keys are invalid.';
32
+ }
17
33
  let personalityString = '';
18
34
  if (AI.AiPersonality) {
19
35
  const personalityFilePath = path_1.default.join(process.cwd(), AI.AiPersonality);
@@ -23,47 +39,77 @@ async function geminiPro(message, AI) {
23
39
  const generationConfig = {
24
40
  maxOutputTokens: 750,
25
41
  };
26
- const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.guild.name} at channelName: ${message.channel.name} and responding to the userName: ${message.author.username}`;
27
- const model = genAI.getGenerativeModel({ model: "gemini-1.5-pro-latest", systemInstruction, generationConfig });
42
+ const safetySettings = [
43
+ {
44
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_HARASSMENT,
45
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_ONLY_HIGH,
46
+ },
47
+ {
48
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_HATE_SPEECH,
49
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
50
+ },
51
+ {
52
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
53
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
54
+ },
55
+ {
56
+ category: generative_ai_1.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
57
+ threshold: generative_ai_1.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
58
+ },
59
+ ];
60
+ const systemInstruction = `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName:<@ ${message.userId}>`;
61
+ const model = genAI.getGenerativeModel({ model: "gemini-1.5-pro-latest", systemInstruction, generationConfig, safetySettings });
62
+ let historyData = undefined;
63
+ const defaultHistory = [
64
+ {
65
+ role: "user",
66
+ parts: [{ text: `${personalityString}\n And working on discord in serverName: ${message.serverName} at channelName: ${message.channelName} and responding to the userName: <@${message.userId}>` }],
67
+ },
68
+ {
69
+ role: "model",
70
+ parts: [{ text: `I will greet the user with their name: <@${message.userId}>. Feel free to ask me anything! 😊` }],
71
+ },
72
+ {
73
+ role: "user",
74
+ parts: [{ text: "Any question regarding JEDI STUDIO, verse.db, apexify.js, or djs-builder?" }],
75
+ },
76
+ {
77
+ role: "model",
78
+ parts: [{ text: `You should reply with visiting documentation online at jedi-studio.com. The development team consists of 8 people, led by Marco. The CEO/founder is Kimo.` }],
79
+ },
80
+ {
81
+ role: "user",
82
+ parts: [{ text: "How was I developed or programmed?" }],
83
+ },
84
+ {
85
+ role: "model",
86
+ parts: [{ text: `You were made by JEDI STUDIO under the development of jedi.tsx, one of the CEOs for JEDI STUDIO.` }],
87
+ },
88
+ {
89
+ role: "user",
90
+ parts: [{ text: "Tell me about verse.db." }],
91
+ },
92
+ {
93
+ role: "model",
94
+ parts: [{ text: `verse.db is a database that enables users to manage data for SQL, JSON, YAML, and SQOL. It's a new brand by JEDI STUDIO, and SOOL will support more database management with comprehensive features and security.` }],
95
+ },
96
+ ];
97
+ let db;
98
+ if (message.db) {
99
+ db = new verse_db_1.connect({ adapter: 'json', dataPath: `${message.serverId}_ChatHistory` });
100
+ const data = await db.find(`${message.userId}_chatHistory`, { userId: message.userId });
101
+ if (!((_a = data.results) === null || _a === void 0 ? void 0 : _a.history) || ((_c = (_b = data.results) === null || _b === void 0 ? void 0 : _b.history) === null || _c === void 0 ? void 0 : _c.length) === 0) {
102
+ await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, { $set: { history: [] } }, true);
103
+ }
104
+ else {
105
+ historyData = ((_d = data.results) === null || _d === void 0 ? void 0 : _d.history) || undefined;
106
+ }
107
+ }
28
108
  const chat = model.startChat({
29
- history: [
30
- {
31
- role: "user",
32
- parts: [{ text: `${personalityString}\n And working on discord in serverName: ${message.guild.name} at channelName: ${message.channel.name} and responding to the userName: ${message.author.username}` }],
33
- },
34
- {
35
- role: "model",
36
- parts: [{ text: `I will greet the user with their name: <@${message.author.id}>. Feel free to ask me anything! 😊` }],
37
- },
38
- {
39
- role: "user",
40
- parts: [{ text: "Any question regarding JEDI STUDIO, verse.db, apexify.js, or djs-builder?" }],
41
- },
42
- {
43
- role: "model",
44
- parts: [{ text: `You should reply with visiting documentation online at jedi-studio.com. The development team consists of 8 people, led by Marco. The CEO/founder is Kimo.` }],
45
- },
46
- {
47
- role: "user",
48
- parts: [{ text: "How was I developed or programmed?" }],
49
- },
50
- {
51
- role: "model",
52
- parts: [{ text: `You were made by JEDI STUDIO under the development of jedi.tsx, one of the CEOs for JEDI STUDIO.` }],
53
- },
54
- {
55
- role: "user",
56
- parts: [{ text: "Tell me about verse.db." }],
57
- },
58
- {
59
- role: "model",
60
- parts: [{ text: `verse.db is a database that enables users to manage data for SQL, JSON, YAML, and SQOL. It's a new brand by JEDI STUDIO, and SOOL will support more database management with comprehensive features and security.` }],
61
- },
62
- ],
109
+ history: historyData || defaultHistory,
63
110
  generationConfig
64
111
  });
65
- const attachment = (_a = message.attachments) === null || _a === void 0 ? void 0 : _a.first();
66
- const imgURL = (attachment === null || attachment === void 0 ? void 0 : attachment.url) || null;
112
+ const imgURL = ((_e = message.attachment) === null || _e === void 0 ? void 0 : _e.url) || null;
67
113
  let result;
68
114
  if (imgURL) {
69
115
  const imageData = await urlToBase64(imgURL);
@@ -78,22 +124,40 @@ async function geminiPro(message, AI) {
78
124
  else {
79
125
  result = await chat.sendMessage(AI.userMsg);
80
126
  }
81
- const response = result.response;
82
- return response.text();
127
+ const response = await result.response.text();
128
+ if (message.db) {
129
+ const updateQuery_1 = {
130
+ $push: {
131
+ "history": {
132
+ role: "user",
133
+ parts: [{ text: `${AI.userMsg}` }]
134
+ }
135
+ },
136
+ };
137
+ historyData = await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, updateQuery_1, true);
138
+ const updateQuery_2 = {
139
+ $push: {
140
+ "history": {
141
+ role: "model",
142
+ parts: [{ text: `${response}` }]
143
+ }
144
+ },
145
+ };
146
+ historyData = await db.update(`${message.userId}_chatHistory`, { userId: message.userId }, updateQuery_2, true);
147
+ }
148
+ return response;
83
149
  }
84
150
  catch (e) {
85
151
  if (e.message) {
86
152
  if (e.message === '[GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1/models/gemini-pro:generateContent: [400 Bad Request] User location is not supported for the API use.') {
87
- return `<${message.author.id}> your location isn't supported by gemini AI.`;
153
+ return `The hoster/bot owner/the used host isn't supported by gemini.`;
154
+ }
155
+ else if (e.response && (e.response.status === 429 || e.response.status === 403)) {
156
+ return 'Ai is on a cooldown for the rest of the day. Either provide your own API key or wait for tomorrow. Check ai.google.dev for free apikeys';
88
157
  }
89
- else if (e.response && (e.response.status === 429 || e.response.status === 400)) {
90
- currentApiKeyIndex++;
91
- if (currentApiKeyIndex < config_1.default.apiKeys.length) {
92
- return geminiPro(message, { ...AI, API_KEY: config_1.default.apiKeys[currentApiKeyIndex] });
93
- }
94
- else {
95
- return 'Ai is on a cooldown for the rest of the day. Either provide your API key or wait for tomorrow. Check ai.google.dev for apikeys';
96
- }
158
+ else if (e.message === '[GoogleGenerativeAI Error]: Candidate was blocked due to SAFETY') {
159
+ console.error(e);
160
+ return `Due to safety enabled by gemini you have been blocked.`;
97
161
  }
98
162
  else {
99
163
  console.error(e);
@@ -1 +1 @@
1
- {"version":3,"file":"Gemini-pro.js","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-pro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Gemini-pro.js","sourceRoot":"","sources":["../../../lib/ai/modals-chat/Gemini-pro.ts"],"names":[],"mappings":"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"}