mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-20 14:10:39 +01:00
Further loglevel updates
1. Fix missed endpoints 2. Exclude console.log from loglevel
This commit is contained in:
parent
76d1661768
commit
0c8a11e28b
@ -179,7 +179,7 @@ async function sendClaudeRequest(request, response) {
|
|||||||
additionalHeaders['anthropic-beta'] = 'prompt-caching-2024-07-31';
|
additionalHeaders['anthropic-beta'] = 'prompt-caching-2024-07-31';
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('Claude request:', requestBody);
|
console.debug('Claude request:', requestBody);
|
||||||
|
|
||||||
const generateResponse = await fetch(apiUrl + '/messages', {
|
const generateResponse = await fetch(apiUrl + '/messages', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
@ -199,21 +199,21 @@ async function sendClaudeRequest(request, response) {
|
|||||||
} else {
|
} else {
|
||||||
if (!generateResponse.ok) {
|
if (!generateResponse.ok) {
|
||||||
const generateResponseText = await generateResponse.text();
|
const generateResponseText = await generateResponse.text();
|
||||||
console.log(color.red(`Claude API returned error: ${generateResponse.status} ${generateResponse.statusText}\n${generateResponseText}\n${divider}`));
|
console.warn(color.red(`Claude API returned error: ${generateResponse.status} ${generateResponse.statusText}\n${generateResponseText}\n${divider}`));
|
||||||
return response.status(generateResponse.status).send({ error: true });
|
return response.status(generateResponse.status).send({ error: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {any} */
|
/** @type {any} */
|
||||||
const generateResponseJson = await generateResponse.json();
|
const generateResponseJson = await generateResponse.json();
|
||||||
const responseText = generateResponseJson?.content?.[0]?.text || '';
|
const responseText = generateResponseJson?.content?.[0]?.text || '';
|
||||||
console.log('Claude response:', generateResponseJson);
|
console.debug('Claude response:', generateResponseJson);
|
||||||
|
|
||||||
// Wrap it back to OAI format + save the original content
|
// Wrap it back to OAI format + save the original content
|
||||||
const reply = { choices: [{ 'message': { 'content': responseText } }], content: generateResponseJson.content };
|
const reply = { choices: [{ 'message': { 'content': responseText } }], content: generateResponseJson.content };
|
||||||
return response.send(reply);
|
return response.send(reply);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(color.red(`Error communicating with Claude: ${error}\n${divider}`));
|
console.error(color.red(`Error communicating with Claude: ${error}\n${divider}`));
|
||||||
if (!response.headersSent) {
|
if (!response.headersSent) {
|
||||||
return response.status(500).send({ error: true });
|
return response.status(500).send({ error: true });
|
||||||
}
|
}
|
||||||
@ -383,7 +383,7 @@ async function sendMakerSuiteRequest(request, response) {
|
|||||||
const candidates = generateResponseJson?.candidates;
|
const candidates = generateResponseJson?.candidates;
|
||||||
if (!candidates || candidates.length === 0) {
|
if (!candidates || candidates.length === 0) {
|
||||||
let message = 'Google AI Studio API returned no candidate';
|
let message = 'Google AI Studio API returned no candidate';
|
||||||
console.log(message, generateResponseJson);
|
console.warn(message, generateResponseJson);
|
||||||
if (generateResponseJson?.promptFeedback?.blockReason) {
|
if (generateResponseJson?.promptFeedback?.blockReason) {
|
||||||
message += `\nPrompt was blocked due to : ${generateResponseJson.promptFeedback.blockReason}`;
|
message += `\nPrompt was blocked due to : ${generateResponseJson.promptFeedback.blockReason}`;
|
||||||
}
|
}
|
||||||
@ -699,7 +699,7 @@ async function sendDeepSeekRequest(request, response) {
|
|||||||
signal: controller.signal,
|
signal: controller.signal,
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log('DeepSeek request:', requestBody);
|
console.debug('DeepSeek request:', requestBody);
|
||||||
|
|
||||||
const generateResponse = await fetch(apiUrl + '/chat/completions', config);
|
const generateResponse = await fetch(apiUrl + '/chat/completions', config);
|
||||||
|
|
||||||
@ -708,16 +708,16 @@ async function sendDeepSeekRequest(request, response) {
|
|||||||
} else {
|
} else {
|
||||||
if (!generateResponse.ok) {
|
if (!generateResponse.ok) {
|
||||||
const errorText = await generateResponse.text();
|
const errorText = await generateResponse.text();
|
||||||
console.log(`DeepSeek API returned error: ${generateResponse.status} ${generateResponse.statusText} ${errorText}`);
|
console.warn(`DeepSeek API returned error: ${generateResponse.status} ${generateResponse.statusText} ${errorText}`);
|
||||||
const errorJson = tryParse(errorText) ?? { error: true };
|
const errorJson = tryParse(errorText) ?? { error: true };
|
||||||
return response.status(500).send(errorJson);
|
return response.status(500).send(errorJson);
|
||||||
}
|
}
|
||||||
const generateResponseJson = await generateResponse.json();
|
const generateResponseJson = await generateResponse.json();
|
||||||
console.log('DeepSeek response:', generateResponseJson);
|
console.debug('DeepSeek response:', generateResponseJson);
|
||||||
return response.send(generateResponseJson);
|
return response.send(generateResponseJson);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Error communicating with DeepSeek API: ', error);
|
console.error('Error communicating with DeepSeek API: ', error);
|
||||||
if (!response.headersSent) {
|
if (!response.headersSent) {
|
||||||
response.send({ error: true });
|
response.send({ error: true });
|
||||||
} else {
|
} else {
|
||||||
|
@ -301,12 +301,12 @@ router.post('/onering', jsonParser, async (request, response) => {
|
|||||||
const url = secretUrl || ONERING_URL_DEFAULT;
|
const url = secretUrl || ONERING_URL_DEFAULT;
|
||||||
|
|
||||||
if (!url) {
|
if (!url) {
|
||||||
console.log('OneRing URL is not configured.');
|
console.warn('OneRing URL is not configured.');
|
||||||
return response.sendStatus(400);
|
return response.sendStatus(400);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!secretUrl && url === ONERING_URL_DEFAULT) {
|
if (!secretUrl && url === ONERING_URL_DEFAULT) {
|
||||||
console.log('OneRing URL is using default value.', ONERING_URL_DEFAULT);
|
console.info('OneRing URL is using default value.', ONERING_URL_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request.body.lang === 'pt-BR' || request.body.lang === 'pt-PT') {
|
if (request.body.lang === 'pt-BR' || request.body.lang === 'pt-PT') {
|
||||||
@ -326,7 +326,7 @@ router.post('/onering', jsonParser, async (request, response) => {
|
|||||||
params.append('from_lang', from_lang);
|
params.append('from_lang', from_lang);
|
||||||
params.append('to_lang', to_lang);
|
params.append('to_lang', to_lang);
|
||||||
|
|
||||||
console.log('Input text: ' + text);
|
console.debug('Input text: ' + text);
|
||||||
|
|
||||||
const fetchUrl = new URL(url);
|
const fetchUrl = new URL(url);
|
||||||
fetchUrl.search = params.toString();
|
fetchUrl.search = params.toString();
|
||||||
@ -337,17 +337,17 @@ router.post('/onering', jsonParser, async (request, response) => {
|
|||||||
|
|
||||||
if (!result.ok) {
|
if (!result.ok) {
|
||||||
const error = await result.text();
|
const error = await result.text();
|
||||||
console.log('OneRing error: ', result.statusText, error);
|
console.warn('OneRing error: ', result.statusText, error);
|
||||||
return response.sendStatus(500);
|
return response.sendStatus(500);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {any} */
|
/** @type {any} */
|
||||||
const data = await result.json();
|
const data = await result.json();
|
||||||
console.log('Translated text: ' + data.result);
|
console.debug('Translated text: ' + data.result);
|
||||||
|
|
||||||
return response.send(data.result);
|
return response.send(data.result);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Translation error: ' + error.message);
|
console.error('Translation error: ' + error.message);
|
||||||
return response.sendStatus(500);
|
return response.sendStatus(500);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -358,12 +358,12 @@ router.post('/deeplx', jsonParser, async (request, response) => {
|
|||||||
const url = secretUrl || DEEPLX_URL_DEFAULT;
|
const url = secretUrl || DEEPLX_URL_DEFAULT;
|
||||||
|
|
||||||
if (!url) {
|
if (!url) {
|
||||||
console.log('DeepLX URL is not configured.');
|
console.warn('DeepLX URL is not configured.');
|
||||||
return response.sendStatus(400);
|
return response.sendStatus(400);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!secretUrl && url === DEEPLX_URL_DEFAULT) {
|
if (!secretUrl && url === DEEPLX_URL_DEFAULT) {
|
||||||
console.log('DeepLX URL is using default value.', DEEPLX_URL_DEFAULT);
|
console.info('DeepLX URL is using default value.', DEEPLX_URL_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
const text = request.body.text;
|
const text = request.body.text;
|
||||||
|
@ -211,9 +211,9 @@ router.post('/change-name', jsonParser, async (request, response) => {
|
|||||||
router.post('/reset-step1', jsonParser, async (request, response) => {
|
router.post('/reset-step1', jsonParser, async (request, response) => {
|
||||||
try {
|
try {
|
||||||
const resetCode = String(crypto.randomInt(1000, 9999));
|
const resetCode = String(crypto.randomInt(1000, 9999));
|
||||||
console.info();
|
console.log();
|
||||||
console.info(color.magenta(`${request.user.profile.name}, your account reset code is: `) + color.red(resetCode));
|
console.log(color.magenta(`${request.user.profile.name}, your account reset code is: `) + color.red(resetCode));
|
||||||
console.info();
|
console.log();
|
||||||
RESET_CACHE.set(request.user.profile.handle, resetCode);
|
RESET_CACHE.set(request.user.profile.handle, resetCode);
|
||||||
return response.sendStatus(204);
|
return response.sendStatus(204);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
@ -125,9 +125,9 @@ router.post('/recover-step1', jsonParser, async (request, response) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const mfaCode = String(crypto.randomInt(1000, 9999));
|
const mfaCode = String(crypto.randomInt(1000, 9999));
|
||||||
console.info();
|
console.log();
|
||||||
console.info(color.blue(`${user.name}, your password recovery code is: `) + color.magenta(mfaCode));
|
console.log(color.blue(`${user.name}, your password recovery code is: `) + color.magenta(mfaCode));
|
||||||
console.info();
|
console.log();
|
||||||
MFA_CACHE.set(user.handle, mfaCode);
|
MFA_CACHE.set(user.handle, mfaCode);
|
||||||
return response.sendStatus(204);
|
return response.sendStatus(204);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
@ -63,7 +63,7 @@ export default function whitelistMiddleware(whitelistMode, listen) {
|
|||||||
const userAgent = req.headers['user-agent'];
|
const userAgent = req.headers['user-agent'];
|
||||||
|
|
||||||
if (listen && !knownIPs.has(clientIp)) {
|
if (listen && !knownIPs.has(clientIp)) {
|
||||||
console.log(color.yellow(`New connection from ${clientIp}; User Agent: ${userAgent}\n`));
|
console.info(color.yellow(`New connection from ${clientIp}; User Agent: ${userAgent}\n`));
|
||||||
knownIPs.add(clientIp);
|
knownIPs.add(clientIp);
|
||||||
|
|
||||||
// Write access log
|
// Write access log
|
||||||
@ -84,7 +84,7 @@ export default function whitelistMiddleware(whitelistMode, listen) {
|
|||||||
const ipDetails = forwardedIp
|
const ipDetails = forwardedIp
|
||||||
? `${clientIp} (forwarded from ${forwardedIp})`
|
? `${clientIp} (forwarded from ${forwardedIp})`
|
||||||
: clientIp;
|
: clientIp;
|
||||||
console.log(
|
console.warn(
|
||||||
color.red(
|
color.red(
|
||||||
`Blocked connection from ${clientIp}; User Agent: ${userAgent}\n\tTo allow this connection, add its IP address to the whitelist or disable whitelist mode by editing config.yaml in the root directory of your SillyTavern installation.\n`,
|
`Blocked connection from ${clientIp}; User Agent: ${userAgent}\n\tTo allow this connection, add its IP address to the whitelist or disable whitelist mode by editing config.yaml in the root directory of your SillyTavern installation.\n`,
|
||||||
),
|
),
|
||||||
|
@ -840,7 +840,7 @@ export function requireAdminMiddleware(request, response, next) {
|
|||||||
export async function createBackupArchive(handle, response) {
|
export async function createBackupArchive(handle, response) {
|
||||||
const directories = getUserDirectories(handle);
|
const directories = getUserDirectories(handle);
|
||||||
|
|
||||||
console.log('Backup requested for', handle);
|
console.info('Backup requested for', handle);
|
||||||
const archive = archiver('zip');
|
const archive = archiver('zip');
|
||||||
|
|
||||||
archive.on('error', function (err) {
|
archive.on('error', function (err) {
|
||||||
@ -849,7 +849,7 @@ export async function createBackupArchive(handle, response) {
|
|||||||
|
|
||||||
// On stream closed we can end the request
|
// On stream closed we can end the request
|
||||||
archive.on('end', function () {
|
archive.on('end', function () {
|
||||||
console.log('Archive wrote %d bytes', archive.pointer());
|
console.info('Archive wrote %d bytes', archive.pointer());
|
||||||
response.end(); // End the Express response
|
response.end(); // End the Express response
|
||||||
});
|
});
|
||||||
|
|
||||||
|
11
src/util.js
11
src/util.js
@ -170,7 +170,7 @@ export async function extractFileFromZipBuffer(archiveBuffer, fileExtension) {
|
|||||||
zipfile.readEntry();
|
zipfile.readEntry();
|
||||||
zipfile.on('entry', (entry) => {
|
zipfile.on('entry', (entry) => {
|
||||||
if (entry.fileName.endsWith(fileExtension) && !entry.fileName.startsWith('__MACOSX')) {
|
if (entry.fileName.endsWith(fileExtension) && !entry.fileName.startsWith('__MACOSX')) {
|
||||||
console.log(`Extracting ${entry.fileName}`);
|
console.info(`Extracting ${entry.fileName}`);
|
||||||
zipfile.openReadStream(entry, (err, readStream) => {
|
zipfile.openReadStream(entry, (err, readStream) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@ -218,7 +218,7 @@ export async function getImageBuffers(zipFilePath) {
|
|||||||
zipfile.on('entry', (entry) => {
|
zipfile.on('entry', (entry) => {
|
||||||
const mimeType = mime.lookup(entry.fileName);
|
const mimeType = mime.lookup(entry.fileName);
|
||||||
if (mimeType && mimeType.startsWith('image/') && !entry.fileName.startsWith('__MACOSX')) {
|
if (mimeType && mimeType.startsWith('image/') && !entry.fileName.startsWith('__MACOSX')) {
|
||||||
console.log(`Extracting ${entry.fileName}`);
|
console.info(`Extracting ${entry.fileName}`);
|
||||||
zipfile.openReadStream(entry, (err, readStream) => {
|
zipfile.openReadStream(entry, (err, readStream) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
@ -448,7 +448,7 @@ export function forwardFetchResponse(from, to) {
|
|||||||
let statusText = from.statusText;
|
let statusText = from.statusText;
|
||||||
|
|
||||||
if (!from.ok) {
|
if (!from.ok) {
|
||||||
console.log(`Streaming request failed with status ${statusCode} ${statusText}`);
|
console.warn(`Streaming request failed with status ${statusCode} ${statusText}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Avoid sending 401 responses as they reset the client Basic auth.
|
// Avoid sending 401 responses as they reset the client Basic auth.
|
||||||
@ -473,7 +473,7 @@ export function forwardFetchResponse(from, to) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
from.body.on('end', function () {
|
from.body.on('end', function () {
|
||||||
console.log('Streaming request finished');
|
console.info('Streaming request finished');
|
||||||
to.end();
|
to.end();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -518,7 +518,7 @@ export function makeHttp2Request(endpoint, method, body, headers) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
req.on('end', () => {
|
req.on('end', () => {
|
||||||
console.log(data);
|
console.debug(data);
|
||||||
resolve(data);
|
resolve(data);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -701,7 +701,6 @@ export function setupLogLevel() {
|
|||||||
const logLevel = getConfigValue('minLogLevel', LOG_LEVELS.DEBUG);
|
const logLevel = getConfigValue('minLogLevel', LOG_LEVELS.DEBUG);
|
||||||
|
|
||||||
globalThis.console.debug = logLevel <= LOG_LEVELS.DEBUG ? console.debug : () => {};
|
globalThis.console.debug = logLevel <= LOG_LEVELS.DEBUG ? console.debug : () => {};
|
||||||
globalThis.console.log = logLevel <= LOG_LEVELS.INFO ? console.log : () => {};
|
|
||||||
globalThis.console.info = logLevel <= LOG_LEVELS.INFO ? console.info : () => {};
|
globalThis.console.info = logLevel <= LOG_LEVELS.INFO ? console.info : () => {};
|
||||||
globalThis.console.warn = logLevel <= LOG_LEVELS.WARN ? console.warn : () => {};
|
globalThis.console.warn = logLevel <= LOG_LEVELS.WARN ? console.warn : () => {};
|
||||||
globalThis.console.error = logLevel <= LOG_LEVELS.ERROR ? console.error : () => {};
|
globalThis.console.error = logLevel <= LOG_LEVELS.ERROR ? console.error : () => {};
|
||||||
|
@ -13,7 +13,7 @@ export async function getCohereBatchVector(texts, isQuery, directories, model) {
|
|||||||
const key = readSecret(directories, SECRET_KEYS.COHERE);
|
const key = readSecret(directories, SECRET_KEYS.COHERE);
|
||||||
|
|
||||||
if (!key) {
|
if (!key) {
|
||||||
console.log('No API key found');
|
console.warn('No API key found');
|
||||||
throw new Error('No API key found');
|
throw new Error('No API key found');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,14 +34,14 @@ export async function getCohereBatchVector(texts, isQuery, directories, model) {
|
|||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const text = await response.text();
|
const text = await response.text();
|
||||||
console.log('API request failed', response.statusText, text);
|
console.warn('API request failed', response.statusText, text);
|
||||||
throw new Error('API request failed');
|
throw new Error('API request failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {any} */
|
/** @type {any} */
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
if (!Array.isArray(data?.embeddings?.float)) {
|
if (!Array.isArray(data?.embeddings?.float)) {
|
||||||
console.log('API response was not an array');
|
console.warn('API response was not an array');
|
||||||
throw new Error('API response was not an array');
|
throw new Error('API response was not an array');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,8 +36,8 @@ async function getExtrasVectorImpl(text, apiUrl, apiKey) {
|
|||||||
url.pathname = '/api/embeddings/compute';
|
url.pathname = '/api/embeddings/compute';
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
console.log('Failed to set up Extras API call:', error);
|
console.error('Failed to set up Extras API call:', error);
|
||||||
console.log('Extras API URL given was:', apiUrl);
|
console.debug('Extras API URL given was:', apiUrl);
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ async function getExtrasVectorImpl(text, apiUrl, apiKey) {
|
|||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const text = await response.text();
|
const text = await response.text();
|
||||||
console.log('Extras request failed', response.statusText, text);
|
console.warn('Extras request failed', response.statusText, text);
|
||||||
throw new Error('Extras request failed');
|
throw new Error('Extras request failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ export async function getMakerSuiteVector(text, directories) {
|
|||||||
const key = readSecret(directories, SECRET_KEYS.MAKERSUITE);
|
const key = readSecret(directories, SECRET_KEYS.MAKERSUITE);
|
||||||
|
|
||||||
if (!key) {
|
if (!key) {
|
||||||
console.log('No Google AI Studio key found');
|
console.warn('No Google AI Studio key found');
|
||||||
throw new Error('No Google AI Studio key found');
|
throw new Error('No Google AI Studio key found');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ export async function getMakerSuiteVector(text, directories) {
|
|||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const text = await response.text();
|
const text = await response.text();
|
||||||
console.log('Google AI Studio request failed', response.statusText, text);
|
console.warn('Google AI Studio request failed', response.statusText, text);
|
||||||
throw new Error('Google AI Studio request failed');
|
throw new Error('Google AI Studio request failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,14 +20,14 @@ export async function getNomicAIBatchVector(texts, source, directories) {
|
|||||||
const config = SOURCES[source];
|
const config = SOURCES[source];
|
||||||
|
|
||||||
if (!config) {
|
if (!config) {
|
||||||
console.log('Unknown source', source);
|
console.error('Unknown source', source);
|
||||||
throw new Error('Unknown source');
|
throw new Error('Unknown source');
|
||||||
}
|
}
|
||||||
|
|
||||||
const key = readSecret(directories, config.secretKey);
|
const key = readSecret(directories, config.secretKey);
|
||||||
|
|
||||||
if (!key) {
|
if (!key) {
|
||||||
console.log('No API key found');
|
console.warn('No API key found');
|
||||||
throw new Error('No API key found');
|
throw new Error('No API key found');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,14 +47,14 @@ export async function getNomicAIBatchVector(texts, source, directories) {
|
|||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const text = await response.text();
|
const text = await response.text();
|
||||||
console.log('API request failed', response.statusText, text);
|
console.warn('API request failed', response.statusText, text);
|
||||||
throw new Error('API request failed');
|
throw new Error('API request failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @type {any} */
|
/** @type {any} */
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
if (!Array.isArray(data?.embeddings)) {
|
if (!Array.isArray(data?.embeddings)) {
|
||||||
console.log('API response was not an array');
|
console.warn('API response was not an array');
|
||||||
throw new Error('API response was not an array');
|
throw new Error('API response was not an array');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,14 +31,14 @@ export async function getOpenAIBatchVector(texts, source, directories, model = '
|
|||||||
const config = SOURCES[source];
|
const config = SOURCES[source];
|
||||||
|
|
||||||
if (!config) {
|
if (!config) {
|
||||||
console.log('Unknown source', source);
|
console.error('Unknown source', source);
|
||||||
throw new Error('Unknown source');
|
throw new Error('Unknown source');
|
||||||
}
|
}
|
||||||
|
|
||||||
const key = readSecret(directories, config.secretKey);
|
const key = readSecret(directories, config.secretKey);
|
||||||
|
|
||||||
if (!key) {
|
if (!key) {
|
||||||
console.log('No API key found');
|
console.warn('No API key found');
|
||||||
throw new Error('No API key found');
|
throw new Error('No API key found');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ export async function getOpenAIBatchVector(texts, source, directories, model = '
|
|||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
const text = await response.text();
|
const text = await response.text();
|
||||||
console.log('API request failed', response.statusText, text);
|
console.warn('API request failed', response.statusText, text);
|
||||||
throw new Error('API request failed');
|
throw new Error('API request failed');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ export async function getOpenAIBatchVector(texts, source, directories, model = '
|
|||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
||||||
if (!Array.isArray(data?.data)) {
|
if (!Array.isArray(data?.data)) {
|
||||||
console.log('API response was not an array');
|
console.warn('API response was not an array');
|
||||||
throw new Error('API response was not an array');
|
throw new Error('API response was not an array');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user