Clarify getstatus API

Instead of "version" and "koboldVersion", have "koboldUnitedVersion" and
"koboldCppVersion", the latter of which is null if we're not connected
to KoboldCpp.
This commit is contained in:
valadaptive
2023-12-10 20:34:11 -05:00
parent 1fbf4394c8
commit d33cb0d8d1
3 changed files with 56 additions and 66 deletions

View File

@@ -657,41 +657,36 @@ app.post('/getstatus', jsonParser, async function (request, response) {
setAdditionalHeaders(request, args, api_server);
const url = api_server + '/v1/model';
let version = '';
let koboldVersion = {};
const result = {};
try {
version = (await fetchJSON(api_server + '/v1/info/version')).result;
const [koboldUnitedResponse, koboldExtraResponse] = await Promise.allSettled([
fetchJSON(api_server + '/v1/info/version'),
fetchJSON(api_server + '/extra/version'),
]);
if (koboldUnitedResponse.status === 'fulfilled') {
// Version number string
result.koboldUnitedVersion = koboldUnitedResponse.value.result;
} else {
result.koboldUnitedVersion = '0.0.0';
}
catch {
version = '0.0.0';
}
try {
koboldVersion = (await fetchJSON(api_server + '/extra/version'));
}
catch {
koboldVersion = {
result: 'Kobold',
version: '0.0',
};
if (koboldExtraResponse.status === 'fulfilled') {
result.koboldCppVersion = koboldExtraResponse.value.version;
} else {
result.koboldCppVersion = null;
}
try {
let data = await fetchJSON(url, args);
let data = await fetchJSON(api_server + '/v1/model', args);
if (!data || typeof data !== 'object') {
data = {};
if (!data || typeof data !== 'object' || data.result === 'ReadOnly') {
result.model = 'no_connection';
} else {
result.model = data.result;
}
if (data.result == 'ReadOnly') {
data.result = 'no_connection';
}
data.version = version;
data.koboldVersion = koboldVersion;
return response.send(data);
return response.send(result);
} catch (error) {
console.log(error);
return response.send({ result: 'no_connection' });