feat: template-based prompt rendering with dynamic namespace injection (#2091)

* feat: template-based prompt rendering with dynamic namespace injection

* refactor: improve template engine initialization with clearer formatting

* refactor: streamline ReActAgent methods and improve content extraction logic

feat: enhance error handling in NamespaceManager and TemplateEngine

fix: update NewAgent component to ensure consistent form data submission

test: modify tests for ReActAgent and prompt renderer to reflect method changes and improve coverage

* feat: tools namespace + three-tier token budget

* refactor: remove unused variable assignment in message building tests

* Enhance prompt customization and tool pre-fetching functionality

* ruff lint fix

* refactor: cleaner error handling and reduce code clutter

---------

Co-authored-by: Alex <a@tushynski.me>
This commit is contained in:
Siddhant Rai
2025-10-31 18:17:44 +05:30
committed by GitHub
parent a7d61b9d59
commit 21e5c261ef
33 changed files with 2917 additions and 646 deletions

View File

@@ -315,16 +315,12 @@ class TestCompleteStreamMethod:
]
)
mock_retriever = MagicMock()
mock_retriever.get_params.return_value = {}
decoded_token = {"sub": "user123"}
stream = list(
resource.complete_stream(
question="Test question",
agent=mock_agent,
retriever=mock_retriever,
conversation_id=None,
user_api_key=None,
decoded_token=decoded_token,
@@ -351,16 +347,12 @@ class TestCompleteStreamMethod:
]
)
mock_retriever = MagicMock()
mock_retriever.get_params.return_value = {}
decoded_token = {"sub": "user123"}
stream = list(
resource.complete_stream(
question="Test?",
agent=mock_agent,
retriever=mock_retriever,
conversation_id=None,
user_api_key=None,
decoded_token=decoded_token,
@@ -381,16 +373,12 @@ class TestCompleteStreamMethod:
mock_agent = MagicMock()
mock_agent.gen.side_effect = Exception("Test error")
mock_retriever = MagicMock()
mock_retriever.get_params.return_value = {}
decoded_token = {"sub": "user123"}
stream = list(
resource.complete_stream(
question="Test?",
agent=mock_agent,
retriever=mock_retriever,
conversation_id=None,
user_api_key=None,
decoded_token=decoded_token,
@@ -413,9 +401,6 @@ class TestCompleteStreamMethod:
]
)
mock_retriever = MagicMock()
mock_retriever.get_params.return_value = {}
decoded_token = {"sub": "user123"}
with patch.object(
@@ -427,8 +412,7 @@ class TestCompleteStreamMethod:
resource.complete_stream(
question="Test?",
agent=mock_agent,
retriever=mock_retriever,
conversation_id=None,
conversation_id=None,
user_api_key=None,
decoded_token=decoded_token,
should_save_conversation=True,
@@ -461,7 +445,6 @@ class TestCompleteStreamMethod:
resource.complete_stream(
question="Test question?",
agent=mock_agent,
retriever=mock_retriever,
conversation_id=None,
user_api_key="test_key",
decoded_token=decoded_token,