Add quiet arg to /context

97a2c4b2c739bd7e8c900e6f968b1a49ad55525d

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +19 -8Ignore whitespace
public/script.js+15 -5
@@ -8503,22 +8503,23 @@ for (const chatCompletionSource of Object.values(chat_completion_sources)) {
8503 };8503 };
8504}8504}
85058505
8506async function selectContextCallback(_, name) {8506async function selectContextCallback(args, name) {
8507 if (!name) {8507 if (!name) {
8508 return power_user.context.preset;8508 return power_user.context.preset;
8509 }8509 }
85108510
8511 const quiet = isTrueBoolean(args?.quiet);
8511 const contextNames = context_presets.map(preset => preset.name);8512 const contextNames = context_presets.map(preset => preset.name);
8512 const fuse = new Fuse(contextNames);8513 const fuse = new Fuse(contextNames);
8513 const result = fuse.search(name);8514 const result = fuse.search(name);
85148515
8515 if (result.length === 0) {8516 if (result.length === 0) {
8516 toastr.warning(`Context template "${name}" not found`);8517 !quiet && toastr.warning(`Context template "${name}" not found`);
8517 return '';8518 return '';
8518 }8519 }
85198520
8520 const foundName = result[0].item;8521 const foundName = result[0].item;
8521 selectContextPreset(foundName);8522 selectContextPreset(foundName, quiet);
8522 return foundName;8523 return foundName;
8523}8524}
85248525
@@ -8527,16 +8528,16 @@ async function selectInstructCallback(args, name) {
8527 return power_user.instruct.preset;8528 return power_user.instruct.preset;
8528 }8529 }
85298530
8531 const quiet = isTrueBoolean(args?.quiet);
8530 const instructNames = instruct_presets.map(preset => preset.name);8532 const instructNames = instruct_presets.map(preset => preset.name);
8531 const fuse = new Fuse(instructNames);8533 const fuse = new Fuse(instructNames);
8532 const result = fuse.search(name);8534 const result = fuse.search(name);
85338535
8534 if (result.length === 0) {8536 if (result.length === 0) {
8535 toastr.warning(`Instruct template "${name}" not found`);8537 !quiet && toastr.warning(`Instruct template "${name}" not found`);
8536 return '';8538 return '';
8537 }8539 }
85388540
8539 const quiet = isTrueBoolean(args?.quiet);
8540 const foundName = result[0].item;8541 const foundName = result[0].item;
8541 selectInstructPreset(foundName, quiet);8542 selectInstructPreset(foundName, quiet);
8542 return foundName;8543 return foundName;
@@ -9282,6 +9283,15 @@ jQuery(async function () {
9282 name: 'context',9283 name: 'context',
9283 callback: selectContextCallback,9284 callback: selectContextCallback,
9284 returns: 'template name',9285 returns: 'template name',
9286 namedArgumentList: [
9287 SlashCommandNamedArgument.fromProps({
9288 name: 'quiet',
9289 description: 'Suppress the toast message on template change',
9290 typeList: [ARGUMENT_TYPE.BOOLEAN],
9291 defaultValue: 'false',
9292 enumList: commonEnumProviders.boolean('trueFalse')(),
9293 }),
9294 ],
9285 unnamedArgumentList: [9295 unnamedArgumentList: [
9286 SlashCommandArgument.fromProps({9296 SlashCommandArgument.fromProps({
9287 description: 'context template name',9297 description: 'context template name',
public/scripts/instruct-mode.js+4 -3
@@ -130,19 +130,20 @@ function highlightDefaultPreset() {
130/**130/**
131 * Select context template if not already selected.131 * Select context template if not already selected.
132 * @param {string} preset Preset name.132 * @param {string} preset Preset name.
133 * @param {boolean} quiet Suppress info message.
133 */134 */
134export function selectContextPreset(preset) {135export function selectContextPreset(preset, quiet) {
135 // If context template is not already selected, select it136 // If context template is not already selected, select it
136 if (preset !== power_user.context.preset) {137 if (preset !== power_user.context.preset) {
137 $('#context_presets').val(preset).trigger('change');138 $('#context_presets').val(preset).trigger('change');
138 toastr.info(`Context Template: preset "${preset}" auto-selected`);139 !quiet && toastr.info(`Context Template: preset "${preset}" auto-selected`);
139 }140 }
140141
141 // If instruct mode is disabled, enable it, except for default context template142 // If instruct mode is disabled, enable it, except for default context template
142 if (!power_user.instruct.enabled && preset !== power_user.default_context) {143 if (!power_user.instruct.enabled && preset !== power_user.default_context) {
143 power_user.instruct.enabled = true;144 power_user.instruct.enabled = true;
144 $('#instruct_enabled').prop('checked', true).trigger('change');145 $('#instruct_enabled').prop('checked', true).trigger('change');
145 toastr.info('Instruct Mode enabled');146 !quiet && toastr.info('Instruct Mode enabled');
146 }147 }
147148
148 saveSettingsDebounced();149 saveSettingsDebounced();