fix(prompts): escape json in get_langchain_prompt #1226
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Important
Enhance
get_langchain_promptto escape JSON-related curly braces and add comprehensive tests for JSON handling in prompts.BasePromptClient._get_langchain_prompt_stringto escape JSON-related curly braces using_escape_json_for_langchain.test_prompt_compilation.pyfor JSON handling in prompts.TestLangchainPromptCompilation.This description was created by
for 3b96faa. You can customize this summary. It will automatically update as commits are pushed.
Greptile Summary
Disclaimer: Experimental PR review
Fixes critical JSON handling in Langchain prompt integration by implementing proper JSON escaping while preserving template variables. This prevents JSON structures from breaking Langchain template parsing.
_escape_json_for_langchainmethod inlangfuse/model.pyusing stack-based parsing for JSON context trackingtests/test_prompt_compilation.pycovering nested JSON, mixed variables, and complex real-world scenarios