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:
cloak1505
2025-05-16 15:53:37 -05:00
committed by GitHub
parent e9bc2d8af0
commit f6ab33d835
3 changed files with 9 additions and 8 deletions

View File

@ -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">

View File

@ -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');

View File

@ -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];