mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Disable newline wrapping of in-chat extension prompts
This commit is contained in:
		| @@ -2484,9 +2484,10 @@ function getExtensionPromptByName(moduleName) { | |||||||
|  * @param {number} [depth] Depth of the prompt |  * @param {number} [depth] Depth of the prompt | ||||||
|  * @param {string} [separator] Separator for joining multiple prompts |  * @param {string} [separator] Separator for joining multiple prompts | ||||||
|  * @param {number} [role] Role of the prompt |  * @param {number} [role] Role of the prompt | ||||||
|  |  * @param {boolean} [wrap] Wrap start and end with a separator | ||||||
|  * @returns {string} Extension prompt |  * @returns {string} Extension prompt | ||||||
|  */ |  */ | ||||||
| function getExtensionPrompt(position = extension_prompt_types.IN_PROMPT, depth = undefined, separator = '\n', role = undefined) { | function getExtensionPrompt(position = extension_prompt_types.IN_PROMPT, depth = undefined, separator = '\n', role = undefined, wrap = true) { | ||||||
|     let extension_prompt = Object.keys(extension_prompts) |     let extension_prompt = Object.keys(extension_prompts) | ||||||
|         .sort() |         .sort() | ||||||
|         .map((x) => extension_prompts[x]) |         .map((x) => extension_prompts[x]) | ||||||
| @@ -2495,10 +2496,10 @@ function getExtensionPrompt(position = extension_prompt_types.IN_PROMPT, depth = | |||||||
|         .filter(x => role === undefined || x.role === undefined || x.role === role) |         .filter(x => role === undefined || x.role === undefined || x.role === role) | ||||||
|         .map(x => x.value.trim()) |         .map(x => x.value.trim()) | ||||||
|         .join(separator); |         .join(separator); | ||||||
|     if (extension_prompt.length && !extension_prompt.startsWith(separator)) { |     if (wrap && extension_prompt.length && !extension_prompt.startsWith(separator)) { | ||||||
|         extension_prompt = separator + extension_prompt; |         extension_prompt = separator + extension_prompt; | ||||||
|     } |     } | ||||||
|     if (extension_prompt.length && !extension_prompt.endsWith(separator)) { |     if (wrap && extension_prompt.length && !extension_prompt.endsWith(separator)) { | ||||||
|         extension_prompt = extension_prompt + separator; |         extension_prompt = extension_prompt + separator; | ||||||
|     } |     } | ||||||
|     if (extension_prompt.length) { |     if (extension_prompt.length) { | ||||||
| @@ -3988,10 +3989,10 @@ function doChatInject(messages, isContinue) { | |||||||
|         }; |         }; | ||||||
|         const roleMessages = []; |         const roleMessages = []; | ||||||
|         const separator = '\n'; |         const separator = '\n'; | ||||||
|  |         const wrap = false; | ||||||
|  |  | ||||||
|         for (const role of roles) { |         for (const role of roles) { | ||||||
|             // Get extension prompt |             const extensionPrompt = String(getExtensionPrompt(extension_prompt_types.IN_CHAT, i, separator, role, wrap)).trimStart(); | ||||||
|             const extensionPrompt = String(getExtensionPrompt(extension_prompt_types.IN_CHAT, i, separator, role)).trimStart(); |  | ||||||
|             const isNarrator = role === extension_prompt_roles.SYSTEM; |             const isNarrator = role === extension_prompt_roles.SYSTEM; | ||||||
|             const isUser = role === extension_prompt_roles.USER; |             const isUser = role === extension_prompt_roles.USER; | ||||||
|             const name = names[role]; |             const name = names[role]; | ||||||
| @@ -4003,7 +4004,7 @@ function doChatInject(messages, isContinue) { | |||||||
|                     mes: extensionPrompt, |                     mes: extensionPrompt, | ||||||
|                     extra: { |                     extra: { | ||||||
|                         type: isNarrator ? system_message_types.NARRATOR : null, |                         type: isNarrator ? system_message_types.NARRATOR : null, | ||||||
|                     } |                     }, | ||||||
|                 }); |                 }); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -671,12 +671,13 @@ function populationInjectionPrompts(prompts, messages) { | |||||||
|         const roles = ['system', 'user', 'assistant']; |         const roles = ['system', 'user', 'assistant']; | ||||||
|         const roleMessages = []; |         const roleMessages = []; | ||||||
|         const separator = '\n'; |         const separator = '\n'; | ||||||
|  |         const wrap = false; | ||||||
|  |  | ||||||
|         for (const role of roles) { |         for (const role of roles) { | ||||||
|             // Get prompts for current role |             // Get prompts for current role | ||||||
|             const rolePrompts = depthPrompts.filter(prompt => prompt.role === role).map(x => x.content).join(separator); |             const rolePrompts = depthPrompts.filter(prompt => prompt.role === role).map(x => x.content).join(separator); | ||||||
|             // Get extension prompt |             // Get extension prompt | ||||||
|             const extensionPrompt = getExtensionPrompt(extension_prompt_types.IN_CHAT, i, separator, roleTypes[role]); |             const extensionPrompt = getExtensionPrompt(extension_prompt_types.IN_CHAT, i, separator, roleTypes[role], wrap); | ||||||
|  |  | ||||||
|             const jointPrompt = [rolePrompts, extensionPrompt].filter(x => x).map(x => x.trim()).join(separator); |             const jointPrompt = [rolePrompts, extensionPrompt].filter(x => x).map(x => x.trim()).join(separator); | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user