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)) {
85038503 };
85048504}
85058505
85068506async function selectContextCallback(_args, name) {
85078507 if (!name) {
85088508 return power_user.context.preset;
85098509 }
85108510
8511+ const quiet = isTrueBoolean(args?.quiet);
85118512 const contextNames = context_presets.map(preset => preset.name);
85128513 const fuse = new Fuse(contextNames);
85138514 const result = fuse.search(name);
85148515
85158516 if (result.length === 0) {
85168517 !quiet && toastr.warning(`Context template "${name}" not found`);
85178518 return '';
85188519 }
85198520
85208521 const foundName = result[0].item;
85218522 selectContextPreset(foundName, quiet);
85228523 return foundName;
85238524}
85248525
@@ -8527,16 +8528,16 @@ async function selectInstructCallback(args, name) {
85278528 return power_user.instruct.preset;
85288529 }
85298530
8531+ const quiet = isTrueBoolean(args?.quiet);
85308532 const instructNames = instruct_presets.map(preset => preset.name);
85318533 const fuse = new Fuse(instructNames);
85328534 const result = fuse.search(name);
85338535
85348536 if (result.length === 0) {
85358537 !quiet && toastr.warning(`Instruct template "${name}" not found`);
85368538 return '';
85378539 }
85388540
8539- const quiet = isTrueBoolean(args?.quiet);
85408541 const foundName = result[0].item;
85418542 selectInstructPreset(foundName, quiet);
85428543 return foundName;
@@ -9282,6 +9283,15 @@ jQuery(async function () {
92829283 name: 'context',
92839284 callback: selectContextCallback,
92849285 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+ ],
92859295 unnamedArgumentList: [
92869296 SlashCommandArgument.fromProps({
92879297 description: 'context template name',
public/scripts/instruct-mode.js+4 -3
@@ -130,19 +130,20 @@ function highlightDefaultPreset() {
130130/**
131131 * Select context template if not already selected.
132132 * @param {string} preset Preset name.
133+ * @param {boolean} quiet Suppress info message.
133134 */
134135export function selectContextPreset(preset, quiet) {
135136 // If context template is not already selected, select it
136137 if (preset !== power_user.context.preset) {
137138 $('#context_presets').val(preset).trigger('change');
138139 !quiet && toastr.info(`Context Template: preset "${preset}" auto-selected`);
139140 }
140141
141142 // If instruct mode is disabled, enable it, except for default context template
142143 if (!power_user.instruct.enabled && preset !== power_user.default_context) {
143144 power_user.instruct.enabled = true;
144145 $('#instruct_enabled').prop('checked', true).trigger('change');
145146 !quiet && toastr.info('Instruct Mode enabled');
146147 }
147148
148149 saveSettingsDebounced();