mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-03 12:47:35 +01:00
Substitute params with addl. macro
This commit is contained in:
parent
5cb319771d
commit
2aa8564522
@ -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.
|
||||
* @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} [_group] - The group members list for {{group}} substitution.
|
||||
* @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.
|
||||
*/
|
||||
export function substituteParams(content, _name1, _name2, _original, _group, _replaceCharacterCard = true) {
|
||||
export function substituteParams(content, _name1, _name2, _original, _group, _replaceCharacterCard = true, additionalMacro = {}) {
|
||||
const environment = {};
|
||||
|
||||
if (typeof _original === 'string') {
|
||||
@ -2377,6 +2388,10 @@ export function substituteParams(content, _name1, _name2, _original, _group, _re
|
||||
environment.group = environment.charIfNotGroup = getGroupValue();
|
||||
environment.model = getGeneratingModel();
|
||||
|
||||
if (additionalMacro && typeof additionalMacro === 'object') {
|
||||
Object.assign(environment, additionalMacro);
|
||||
}
|
||||
|
||||
return evaluateMacros(content, environment);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user