mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Substitute params with addl. macro
This commit is contained in:
@ -2317,6 +2317,16 @@ export function scrollChatToBottom() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Substitutes {{macro}} parameters in a string.
|
||||||
|
* @param {string} content - The string to substitute parameters in.
|
||||||
|
* @param {Record<string,any>} additionalMacro - Additional environment variables for substitution.
|
||||||
|
* @returns {string} The string with substituted parameters.
|
||||||
|
*/
|
||||||
|
export function substituteParamsExtended(content, additionalMacro) {
|
||||||
|
return substituteParams(content, undefined, undefined, undefined, undefined, true, additionalMacro);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Substitutes {{macro}} parameters in a string.
|
* Substitutes {{macro}} parameters in a string.
|
||||||
* @param {string} content - The string to substitute parameters in.
|
* @param {string} content - The string to substitute parameters in.
|
||||||
@ -2325,9 +2335,10 @@ export function scrollChatToBottom() {
|
|||||||
* @param {string} [_original] - The original message for {{original}} substitution.
|
* @param {string} [_original] - The original message for {{original}} substitution.
|
||||||
* @param {string} [_group] - The group members list for {{group}} substitution.
|
* @param {string} [_group] - The group members list for {{group}} substitution.
|
||||||
* @param {boolean} [_replaceCharacterCard] - Whether to replace character card macros.
|
* @param {boolean} [_replaceCharacterCard] - Whether to replace character card macros.
|
||||||
|
* @param {Record<string,any>} [additionalMacro] - Additional environment variables for substitution.
|
||||||
* @returns {string} The string with substituted parameters.
|
* @returns {string} The string with substituted parameters.
|
||||||
*/
|
*/
|
||||||
export function substituteParams(content, _name1, _name2, _original, _group, _replaceCharacterCard = true) {
|
export function substituteParams(content, _name1, _name2, _original, _group, _replaceCharacterCard = true, additionalMacro = {}) {
|
||||||
const environment = {};
|
const environment = {};
|
||||||
|
|
||||||
if (typeof _original === 'string') {
|
if (typeof _original === 'string') {
|
||||||
@ -2377,6 +2388,10 @@ export function substituteParams(content, _name1, _name2, _original, _group, _re
|
|||||||
environment.group = environment.charIfNotGroup = getGroupValue();
|
environment.group = environment.charIfNotGroup = getGroupValue();
|
||||||
environment.model = getGeneratingModel();
|
environment.model = getGeneratingModel();
|
||||||
|
|
||||||
|
if (additionalMacro && typeof additionalMacro === 'object') {
|
||||||
|
Object.assign(environment, additionalMacro);
|
||||||
|
}
|
||||||
|
|
||||||
return evaluateMacros(content, environment);
|
return evaluateMacros(content, environment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user