Add quiet flags to /api and /summarize

Closes #2661
This commit is contained in:
Cohee
2024-08-20 22:50:29 +03:00
parent 7d2e35d950
commit 5288d81424
2 changed files with 37 additions and 11 deletions

View File

@ -242,7 +242,7 @@ import { DragAndDropHandler } from './scripts/dragdrop.js';
import { INTERACTABLE_CONTROL_CLASS, initKeyboard } from './scripts/keyboard.js';
import { initDynamicStyles } from './scripts/dynamic-styles.js';
import { SlashCommandEnumValue, enumTypes } from './scripts/slash-commands/SlashCommandEnumValue.js';
import { enumIcons } from './scripts/slash-commands/SlashCommandCommonEnumsProvider.js';
import { commonEnumProviders, enumIcons } from './scripts/slash-commands/SlashCommandCommonEnumsProvider.js';
//exporting functions and vars for mods
export {
@ -8465,7 +8465,7 @@ async function disableInstructCallback() {
/**
* @param {string} text API name
*/
async function connectAPISlash(_, text) {
async function connectAPISlash(args, text) {
if (!text.trim()) {
for (const [key, config] of Object.entries(CONNECT_API_MAP)) {
if (config.selected !== main_api) continue;
@ -8493,7 +8493,7 @@ async function connectAPISlash(_, text) {
const apiConfig = CONNECT_API_MAP[text.toLowerCase()];
if (!apiConfig) {
toastr.error(`Error: ${text} is not a valid API`);
return;
return '';
}
$(`#main_api option[value='${apiConfig.selected || text}']`).prop('selected', true);
@ -8513,14 +8513,17 @@ async function connectAPISlash(_, text) {
$(apiConfig.button).trigger('click');
}
toastr.info(`API set to ${text}, trying to connect..`);
const quiet = isTrueBoolean(args?.quiet);
quiet ? jQuery() : toastr.info(`API set to ${text}, trying to connect..`);
try {
await waitUntilCondition(() => online_status !== 'no_connection', 10000, 100);
console.log('Connection successful');
} catch {
console.log('Could not connect after 5 seconds, skipping.');
console.log('Could not connect after 10 seconds, skipping.');
}
return '';
}
/**
@ -8979,6 +8982,15 @@ jQuery(async function () {
name: 'api',
callback: connectAPISlash,
returns: 'the current API',
namedArgumentList: [
SlashCommandNamedArgument.fromProps({
name: 'quiet',
description: 'Suppress the toast message on connection',
typeList: [ARGUMENT_TYPE.BOOLEAN],
defaultValue: 'false',
enumList: commonEnumProviders.boolean('trueFalse')(),
}),
],
unnamedArgumentList: [
SlashCommandArgument.fromProps({
description: 'API to connect to',