mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Reverse CC prompt manager's injection order of "Order" to match World Info (#4004)
* Reverse CC injection "Order" to match World Info * Set CC injection order default to 100 * Update non-PM injects order + add hint * Update default order value on inject --------- Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
This commit is contained in:
@ -6486,9 +6486,10 @@
|
||||
<div id="completion_prompt_manager_order_block" class="completion_prompt_manager_popup_entry_form_control flex1">
|
||||
<label for="completion_prompt_manager_popup_entry_form_injection_order">
|
||||
<span data-i18n="prompt_manager_order">Order</span>
|
||||
<i class="fas fa-info-circle" title="Prompt injections from other sources (World Info, Author's Note, etc.) always have a default order of 100." data-i18n="[title]prompt_manager_order_note"></i>
|
||||
</label>
|
||||
<input id="completion_prompt_manager_popup_entry_form_injection_order" class="text_pole" type="number" name="injection_order" min="0" max="9999" value="0" />
|
||||
<div class="text_muted" data-i18n="Ordered from high/top to low/bottom, and at same order: System, User, Assistant.">Ordered from high/top to low/bottom, and at same order: System, User, Assistant.</div>
|
||||
<input id="completion_prompt_manager_popup_entry_form_injection_order" class="text_pole" type="number" name="injection_order" min="0" max="9999" value="100" />
|
||||
<div class="text_muted" data-i18n="Ordered from low/top to high/bottom, and at same order: Assistant, User, System.">Ordered from low/top to high/bottom, and at same order: Assistant, User, System.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="completion_prompt_manager_popup_entry_form_control">
|
||||
|
@ -106,7 +106,7 @@ class Prompt {
|
||||
this.injection_position = injection_position;
|
||||
this.forbid_overrides = forbid_overrides;
|
||||
this.extension = extension ?? false;
|
||||
this.injection_order = injection_order ?? 0;
|
||||
this.injection_order = injection_order ?? 100;
|
||||
}
|
||||
}
|
||||
|
||||
@ -449,7 +449,7 @@ class PromptManager {
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_prompt').value = prompt.content ?? '';
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_position').value = prompt.injection_position ?? 0;
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_depth').value = prompt.injection_depth ?? DEFAULT_DEPTH;
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_order').value = prompt.injection_order ?? 0;
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_order').value = prompt.injection_order ?? 100;
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_depth_block').style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden';
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_order_block').style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden';
|
||||
document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_forbid_overrides').checked = prompt.forbid_overrides ?? false;
|
||||
@ -1243,7 +1243,7 @@ class PromptManager {
|
||||
promptField.disabled = prompt.marker ?? false;
|
||||
injectionPositionField.value = prompt.injection_position ?? INJECTION_POSITION.RELATIVE;
|
||||
injectionDepthField.value = prompt.injection_depth ?? DEFAULT_DEPTH;
|
||||
injectionOrderField.value = prompt.injection_order ?? 0;
|
||||
injectionOrderField.value = prompt.injection_order ?? 100;
|
||||
injectionDepthBlock.style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden';
|
||||
injectionOrderBlock.style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden';
|
||||
injectionPositionField.removeAttribute('disabled');
|
||||
|
@ -765,12 +765,12 @@ async function populationInjectionPrompts(prompts, messages) {
|
||||
const wrap = false;
|
||||
|
||||
// Group prompts by priority
|
||||
const extensionPromptsOrder = '0';
|
||||
const extensionPromptsOrder = '100';
|
||||
const orderGroups = {
|
||||
[extensionPromptsOrder]: [],
|
||||
};
|
||||
for (const prompt of depthPrompts) {
|
||||
const order = prompt.injection_order || 0;
|
||||
const order = prompt.injection_order ?? 100;
|
||||
if (!orderGroups[order]) {
|
||||
orderGroups[order] = [];
|
||||
}
|
||||
@ -778,7 +778,7 @@ async function populationInjectionPrompts(prompts, messages) {
|
||||
}
|
||||
|
||||
// Process each order group in order (b - a = low to high ; a - b = high to low)
|
||||
const orders = Object.keys(orderGroups).sort((a, b) => +a - +b);
|
||||
const orders = Object.keys(orderGroups).sort((a, b) => +b - +a);
|
||||
for (const order of orders) {
|
||||
const orderPrompts = orderGroups[order];
|
||||
|
||||
|
Reference in New Issue
Block a user