feat: added proper settings handling
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
from alfred.agent.prompts import PromptBuilder
|
||||
from alfred.agent.registry import make_tools
|
||||
from alfred.settings import settings
|
||||
|
||||
|
||||
class TestPromptBuilderToolsInjection:
|
||||
@@ -9,7 +10,7 @@ class TestPromptBuilderToolsInjection:
|
||||
|
||||
def test_system_prompt_includes_all_tools(self, memory):
|
||||
"""CRITICAL: Verify all tools are mentioned in system prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
prompt = builder.build_system_prompt()
|
||||
|
||||
@@ -21,7 +22,7 @@ class TestPromptBuilderToolsInjection:
|
||||
|
||||
def test_tools_spec_contains_all_registered_tools(self, memory):
|
||||
"""CRITICAL: Verify build_tools_spec() returns all tools."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
specs = builder.build_tools_spec()
|
||||
|
||||
@@ -32,7 +33,7 @@ class TestPromptBuilderToolsInjection:
|
||||
|
||||
def test_tools_spec_is_not_empty(self, memory):
|
||||
"""CRITICAL: Verify tools spec is never empty."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
specs = builder.build_tools_spec()
|
||||
|
||||
@@ -40,7 +41,7 @@ class TestPromptBuilderToolsInjection:
|
||||
|
||||
def test_tools_spec_format_matches_openai(self, memory):
|
||||
"""CRITICAL: Verify tools spec format is OpenAI-compatible."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
specs = builder.build_tools_spec()
|
||||
|
||||
@@ -58,7 +59,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_current_topic(self, memory):
|
||||
"""Verify current topic is included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.stm.set_topic("test_topic")
|
||||
@@ -68,7 +69,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_extracted_entities(self, memory):
|
||||
"""Verify extracted entities are included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.stm.set_entity("test_key", "test_value")
|
||||
@@ -78,7 +79,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_search_results(self, memory_with_search_results):
|
||||
"""Verify search results are included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -88,7 +89,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_active_downloads(self, memory):
|
||||
"""Verify active downloads are included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.episodic.add_active_download(
|
||||
@@ -102,7 +103,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_recent_errors(self, memory):
|
||||
"""Verify recent errors are included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.episodic.add_error("test_action", "test error message")
|
||||
@@ -113,7 +114,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_configuration(self, memory):
|
||||
"""Verify configuration is included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.ltm.set_config("download_folder", "/test/downloads")
|
||||
@@ -124,7 +125,7 @@ class TestPromptBuilderMemoryContext:
|
||||
|
||||
def test_prompt_includes_language(self, memory):
|
||||
"""Verify language is included in prompt."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.stm.set_language("fr")
|
||||
@@ -139,7 +140,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_system_prompt_is_not_empty(self, memory):
|
||||
"""Verify system prompt is never empty."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
prompt = builder.build_system_prompt()
|
||||
|
||||
@@ -148,7 +149,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_system_prompt_includes_base_instruction(self, memory):
|
||||
"""Verify system prompt includes base instruction."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
prompt = builder.build_system_prompt()
|
||||
|
||||
@@ -156,7 +157,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_system_prompt_includes_rules(self, memory):
|
||||
"""Verify system prompt includes important rules."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
prompt = builder.build_system_prompt()
|
||||
|
||||
@@ -164,7 +165,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_system_prompt_includes_examples(self, memory):
|
||||
"""Verify system prompt includes examples."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
prompt = builder.build_system_prompt()
|
||||
|
||||
@@ -172,7 +173,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_tools_description_format(self, memory):
|
||||
"""Verify tools are properly formatted in description."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
description = builder._format_tools_description()
|
||||
@@ -185,7 +186,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_episodic_context_format(self, memory_with_search_results):
|
||||
"""Verify episodic context is properly formatted."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_episodic_context(memory_with_search_results)
|
||||
@@ -195,7 +196,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_stm_context_format(self, memory):
|
||||
"""Verify STM context is properly formatted."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.stm.set_topic("test_topic")
|
||||
@@ -208,7 +209,7 @@ class TestPromptBuilderStructure:
|
||||
|
||||
def test_config_context_format(self, memory):
|
||||
"""Verify config context is properly formatted."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.ltm.set_config("test_key", "test_value")
|
||||
@@ -224,7 +225,7 @@ class TestPromptBuilderEdgeCases:
|
||||
|
||||
def test_prompt_with_no_memory_context(self, memory):
|
||||
"""Verify prompt works with empty memory."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
# Memory is empty
|
||||
@@ -254,7 +255,7 @@ class TestPromptBuilderEdgeCases:
|
||||
|
||||
def test_prompt_with_unicode_in_memory(self, memory):
|
||||
"""Verify prompt handles unicode in memory."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
memory.stm.set_entity("movie", "Amélie 🎬")
|
||||
@@ -266,7 +267,7 @@ class TestPromptBuilderEdgeCases:
|
||||
|
||||
def test_prompt_with_long_search_results(self, memory):
|
||||
"""Verify prompt handles many search results."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
# Add many results
|
||||
|
||||
Reference in New Issue
Block a user