Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/bright-prompts-smile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@voltagent/core": patch
---

Preserve JavaScript replacement tokens in simple template variable values.
8 changes: 8 additions & 0 deletions packages/core/src/voltops/template-engine.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,5 +101,13 @@ describe("Template Engine", () => {

expect(result).toBe("Pattern: $1.50 (special)");
});

it("should preserve replacement tokens in variable values", () => {
const content = "Amount: {{value}}";
const variables = { value: "$&" };
const result = engine.process(content, variables);

expect(result).toBe("Amount: $&");
});
});
});
2 changes: 1 addition & 1 deletion packages/core/src/voltops/template-engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const createSimpleTemplateEngine = (): TemplateEngine => ({
let processed = content;
for (const [key, value] of Object.entries(variables)) {
const regex = new RegExp(`{{\\s*${key}\\s*}}`, "g");
processed = processed.replace(regex, String(value));
processed = processed.replace(regex, () => String(value));
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
}
return processed;
},
Expand Down