Merge branch 'staging' of http://github.com/SillyTavern/SillyTavern into staging
| @@ -6486,9 +6486,10 @@ | |||
| 6486 | <div id="completion_prompt_manager_order_block" class="completion_prompt_manager_popup_entry_form_control flex1"> | 6486 | <div id="completion_prompt_manager_order_block" class="completion_prompt_manager_popup_entry_form_control flex1"> |
| 6487 | <label for="completion_prompt_manager_popup_entry_form_injection_order"> | 6487 | <label for="completion_prompt_manager_popup_entry_form_injection_order"> |
| 6488 | <span data-i18n="prompt_manager_order">Order</span> | 6488 | <span data-i18n="prompt_manager_order">Order</span> |
| 6489 | <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> | ||
| 6489 | </label> | 6490 | </label> |
| 6490 | <input id="completion_prompt_manager_popup_entry_form_injection_order" class="text_pole" type="number" name="injection_order" min="0" max="9999" value="0" /> | 6491 | <input id="completion_prompt_manager_popup_entry_form_injection_order" class="text_pole" type="number" name="injection_order" min="0" max="9999" value="100" /> |
| 6491 | <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> | 6492 | <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> |
| 6492 | </div> | 6493 | </div> |
| 6493 | </div> | 6494 | </div> |
| 6494 | <div class="completion_prompt_manager_popup_entry_form_control"> | 6495 | <div class="completion_prompt_manager_popup_entry_form_control"> |
| @@ -106,7 +106,7 @@ class Prompt { | |||
| 106 | this.injection_position = injection_position; | 106 | this.injection_position = injection_position; |
| 107 | this.forbid_overrides = forbid_overrides; | 107 | this.forbid_overrides = forbid_overrides; |
| 108 | this.extension = extension ?? false; | 108 | this.extension = extension ?? false; |
| 109 | this.injection_order = injection_order ?? 0; | 109 | this.injection_order = injection_order ?? 100; |
| 110 | } | 110 | } |
| 111 | } | 111 | } |
| 112 | 112 | ||
| @@ -449,7 +449,7 @@ class PromptManager { | |||
| 449 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_prompt').value = prompt.content ?? ''; | 449 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_prompt').value = prompt.content ?? ''; |
| 450 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_position').value = prompt.injection_position ?? 0; | 450 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_position').value = prompt.injection_position ?? 0; |
| 451 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_depth').value = prompt.injection_depth ?? DEFAULT_DEPTH; | 451 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_depth').value = prompt.injection_depth ?? DEFAULT_DEPTH; |
| 452 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_order').value = prompt.injection_order ?? 0; | 452 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_injection_order').value = prompt.injection_order ?? 100; |
| 453 | document.getElementById(this.configuration.prefix + 'prompt_manager_depth_block').style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; | 453 | document.getElementById(this.configuration.prefix + 'prompt_manager_depth_block').style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; |
| 454 | document.getElementById(this.configuration.prefix + 'prompt_manager_order_block').style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; | 454 | document.getElementById(this.configuration.prefix + 'prompt_manager_order_block').style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; |
| 455 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_forbid_overrides').checked = prompt.forbid_overrides ?? false; | 455 | document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_forbid_overrides').checked = prompt.forbid_overrides ?? false; |
| @@ -1243,7 +1243,7 @@ class PromptManager { | |||
| 1243 | promptField.disabled = prompt.marker ?? false; | 1243 | promptField.disabled = prompt.marker ?? false; |
| 1244 | injectionPositionField.value = prompt.injection_position ?? INJECTION_POSITION.RELATIVE; | 1244 | injectionPositionField.value = prompt.injection_position ?? INJECTION_POSITION.RELATIVE; |
| 1245 | injectionDepthField.value = prompt.injection_depth ?? DEFAULT_DEPTH; | 1245 | injectionDepthField.value = prompt.injection_depth ?? DEFAULT_DEPTH; |
| 1246 | injectionOrderField.value = prompt.injection_order ?? 0; | 1246 | injectionOrderField.value = prompt.injection_order ?? 100; |
| 1247 | injectionDepthBlock.style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; | 1247 | injectionDepthBlock.style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; |
| 1248 | injectionOrderBlock.style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; | 1248 | injectionOrderBlock.style.visibility = prompt.injection_position === INJECTION_POSITION.ABSOLUTE ? 'visible' : 'hidden'; |
| 1249 | injectionPositionField.removeAttribute('disabled'); | 1249 | injectionPositionField.removeAttribute('disabled'); |
| @@ -765,12 +765,12 @@ async function populationInjectionPrompts(prompts, messages) { | |||
| 765 | const wrap = false; | 765 | const wrap = false; |
| 766 | 766 | ||
| 767 | // Group prompts by priority | 767 | // Group prompts by priority |
| 768 | const extensionPromptsOrder = '0'; | 768 | const extensionPromptsOrder = '100'; |
| 769 | const orderGroups = { | 769 | const orderGroups = { |
| 770 | [extensionPromptsOrder]: [], | 770 | [extensionPromptsOrder]: [], |
| 771 | }; | 771 | }; |
| 772 | for (const prompt of depthPrompts) { | 772 | for (const prompt of depthPrompts) { |
| 773 | const order = prompt.injection_order || 0; | 773 | const order = prompt.injection_order ?? 100; |
| 774 | if (!orderGroups[order]) { | 774 | if (!orderGroups[order]) { |
| 775 | orderGroups[order] = []; | 775 | orderGroups[order] = []; |
| 776 | } | 776 | } |
| @@ -778,7 +778,7 @@ async function populationInjectionPrompts(prompts, messages) { | |||
| 778 | } | 778 | } |
| 779 | 779 | ||
| 780 | // Process each order group in order (b - a = low to high ; a - b = high to low) | 780 | // Process each order group in order (b - a = low to high ; a - b = high to low) |
| 781 | const orders = Object.keys(orderGroups).sort((a, b) => +a - +b); | 781 | const orders = Object.keys(orderGroups).sort((a, b) => +b - +a); |
| 782 | for (const order of orders) { | 782 | for (const order of orders) { |
| 783 | const orderPrompts = orderGroups[order]; | 783 | const orderPrompts = orderGroups[order]; |
| 784 | 784 | ||