mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-17 18:25:26 -04:00
Fall back from invalid preset stores (#1402)
This commit is contained in:
@@ -77,6 +77,9 @@ Use precise language. Show causal relationships explicitly. Quantify uncertainty
|
|||||||
try:
|
try:
|
||||||
with open(self.presets_file, 'r', encoding="utf-8") as f:
|
with open(self.presets_file, 'r', encoding="utf-8") as f:
|
||||||
presets = json.load(f)
|
presets = json.load(f)
|
||||||
|
if not isinstance(presets, dict):
|
||||||
|
logger.error("Error loading presets: expected an object")
|
||||||
|
return self.DEFAULT_PRESETS.copy()
|
||||||
custom = presets.get("custom") if isinstance(presets, dict) else None
|
custom = presets.get("custom") if isinstance(presets, dict) else None
|
||||||
if isinstance(custom, dict) and "enabled" not in custom:
|
if isinstance(custom, dict) and "enabled" not in custom:
|
||||||
legacy_prompt = "You are a helpful, balanced assistant. Match your response style to the user's needs."
|
legacy_prompt = "You are a helpful, balanced assistant. Match your response style to the user's needs."
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
|
from src.preset_manager import PresetManager
|
||||||
|
|
||||||
|
|
||||||
|
def test_non_object_preset_store_falls_back_to_defaults(tmp_path):
|
||||||
|
(tmp_path / "presets.json").write_text(json.dumps([]))
|
||||||
|
|
||||||
|
manager = PresetManager(str(tmp_path))
|
||||||
|
|
||||||
|
assert manager.presets == PresetManager.DEFAULT_PRESETS
|
||||||
|
assert manager.get("custom")["enabled"] is False
|
||||||
Reference in New Issue
Block a user