feat: added proper settings handling
This commit is contained in:
@@ -2,14 +2,14 @@
|
||||
|
||||
from alfred.agent.prompts import PromptBuilder
|
||||
from alfred.agent.registry import make_tools
|
||||
|
||||
from alfred.settings import settings
|
||||
|
||||
class TestPromptBuilderEdgeCases:
|
||||
"""Edge case tests for PromptBuilder."""
|
||||
|
||||
def test_prompt_with_empty_memory(self, memory):
|
||||
"""Should build prompt with completely empty memory."""
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -22,7 +22,7 @@ class TestPromptBuilderEdgeCases:
|
||||
memory.ltm.set_config("folder_日本語", "/path/to/日本語")
|
||||
memory.ltm.set_config("emoji_folder", "/path/🎬")
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -35,7 +35,7 @@ class TestPromptBuilderEdgeCases:
|
||||
long_path = "/very/long/path/" + "x" * 1000
|
||||
memory.ltm.set_config("download_folder", long_path)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -47,7 +47,7 @@ class TestPromptBuilderEdgeCases:
|
||||
"""Should escape special characters in config."""
|
||||
memory.ltm.set_config("path", '/path/with "quotes" and \\backslash')
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -60,7 +60,7 @@ class TestPromptBuilderEdgeCases:
|
||||
results = [{"name": f"Torrent {i}", "seeders": i} for i in range(50)]
|
||||
memory.episodic.store_search_results("test query", results)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -79,7 +79,7 @@ class TestPromptBuilderEdgeCases:
|
||||
]
|
||||
memory.episodic.store_search_results("test", results)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -98,7 +98,7 @@ class TestPromptBuilderEdgeCases:
|
||||
}
|
||||
)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -112,7 +112,7 @@ class TestPromptBuilderEdgeCases:
|
||||
for i in range(10):
|
||||
memory.episodic.add_error(f"action_{i}", f"Error {i}")
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -125,7 +125,7 @@ class TestPromptBuilderEdgeCases:
|
||||
options = [{"index": i, "label": f"Option {i}"} for i in range(20)]
|
||||
memory.episodic.set_pending_question("Choose one:", options, {})
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -146,7 +146,7 @@ class TestPromptBuilderEdgeCases:
|
||||
)
|
||||
memory.stm.update_workflow_stage("searching_torrents")
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -160,7 +160,7 @@ class TestPromptBuilderEdgeCases:
|
||||
for i in range(50):
|
||||
memory.stm.set_entity(f"entity_{i}", f"value_{i}")
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -174,7 +174,7 @@ class TestPromptBuilderEdgeCases:
|
||||
memory.stm.set_entity("zero", 0)
|
||||
memory.stm.set_entity("false", False)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -187,7 +187,7 @@ class TestPromptBuilderEdgeCases:
|
||||
memory.episodic.add_background_event("download_complete", {"name": "Movie.mkv"})
|
||||
memory.episodic.add_background_event("new_files", {"count": 5})
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -223,7 +223,7 @@ class TestPromptBuilderEdgeCases:
|
||||
# Events
|
||||
memory.episodic.add_background_event("event", {})
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -244,7 +244,7 @@ class TestPromptBuilderEdgeCases:
|
||||
memory.ltm.set_config("key", {"nested": [1, 2, 3]})
|
||||
memory.stm.set_entity("complex", {"a": {"b": {"c": "d"}}})
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
prompt = builder.build_system_prompt()
|
||||
@@ -306,7 +306,7 @@ class TestFormatEpisodicContextEdgeCases:
|
||||
"""Should handle empty search query."""
|
||||
memory.episodic.store_search_results("", [{"name": "Result"}])
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_episodic_context(memory)
|
||||
@@ -324,7 +324,7 @@ class TestFormatEpisodicContextEdgeCases:
|
||||
],
|
||||
)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_episodic_context(memory)
|
||||
@@ -336,7 +336,7 @@ class TestFormatEpisodicContextEdgeCases:
|
||||
"""Should handle download without progress."""
|
||||
memory.episodic.add_active_download({"task_id": "1", "name": "Test"})
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_episodic_context(memory)
|
||||
@@ -355,7 +355,7 @@ class TestFormatStmContextEdgeCases:
|
||||
"stage": "started",
|
||||
}
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_stm_context(memory)
|
||||
@@ -366,7 +366,7 @@ class TestFormatStmContextEdgeCases:
|
||||
"""Should handle workflow with None target."""
|
||||
memory.stm.start_workflow("download", None)
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
try:
|
||||
@@ -380,7 +380,7 @@ class TestFormatStmContextEdgeCases:
|
||||
"""Should handle empty topic."""
|
||||
memory.stm.set_topic("")
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_stm_context(memory)
|
||||
@@ -392,7 +392,7 @@ class TestFormatStmContextEdgeCases:
|
||||
"""Should handle entities containing JSON strings."""
|
||||
memory.stm.set_entity("json_string", '{"key": "value"}')
|
||||
|
||||
tools = make_tools()
|
||||
tools = make_tools(settings)
|
||||
builder = PromptBuilder(tools)
|
||||
|
||||
context = builder._format_stm_context(memory)
|
||||
|
||||
Reference in New Issue
Block a user