refactor: Transform daemon_boyfriend into Loyal Companion
Rebrand and personalize the bot as 'Bartender' - a companion for those who love deeply and feel intensely. Major changes: - Rename package: daemon_boyfriend -> loyal_companion - New default personality: Bartender - wise, steady, non-judgmental - Grief-aware system prompt (no toxic positivity, attachment-informed) - New relationship levels: New Face -> Close Friend progression - Bartender-style mood modifiers (steady presence) - New fact types: attachment_pattern, grief_context, coping_mechanism - Lower mood decay (0.05) for emotional stability - Higher fact extraction rate (0.4) - Bartender pays attention Updated all imports, configs, Docker files, and documentation.
This commit is contained in:
@@ -5,7 +5,7 @@ from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from daemon_boyfriend.models import (
|
||||
from loyal_companion.models import (
|
||||
BotOpinion,
|
||||
BotState,
|
||||
Conversation,
|
||||
@@ -14,14 +14,14 @@ from daemon_boyfriend.models import (
|
||||
UserFact,
|
||||
UserRelationship,
|
||||
)
|
||||
from daemon_boyfriend.services.ai_service import AIService
|
||||
from daemon_boyfriend.services.fact_extraction_service import FactExtractionService
|
||||
from daemon_boyfriend.services.mood_service import MoodLabel, MoodService, MoodState
|
||||
from daemon_boyfriend.services.opinion_service import OpinionService, extract_topics_from_message
|
||||
from daemon_boyfriend.services.persistent_conversation import PersistentConversationManager
|
||||
from daemon_boyfriend.services.relationship_service import RelationshipLevel, RelationshipService
|
||||
from daemon_boyfriend.services.self_awareness_service import SelfAwarenessService
|
||||
from daemon_boyfriend.services.user_service import UserService
|
||||
from loyal_companion.services.ai_service import AIService
|
||||
from loyal_companion.services.fact_extraction_service import FactExtractionService
|
||||
from loyal_companion.services.mood_service import MoodLabel, MoodService, MoodState
|
||||
from loyal_companion.services.opinion_service import OpinionService, extract_topics_from_message
|
||||
from loyal_companion.services.persistent_conversation import PersistentConversationManager
|
||||
from loyal_companion.services.relationship_service import RelationshipLevel, RelationshipService
|
||||
from loyal_companion.services.self_awareness_service import SelfAwarenessService
|
||||
from loyal_companion.services.user_service import UserService
|
||||
|
||||
|
||||
class TestUserService:
|
||||
@@ -577,8 +577,8 @@ class TestAIService:
|
||||
|
||||
def test_get_system_prompt_default(self, mock_settings):
|
||||
"""Test getting default system prompt."""
|
||||
with patch("daemon_boyfriend.services.ai_service.settings", mock_settings):
|
||||
with patch("daemon_boyfriend.services.ai_service.AIService._init_provider"):
|
||||
with patch("loyal_companion.services.ai_service.settings", mock_settings):
|
||||
with patch("loyal_companion.services.ai_service.AIService._init_provider"):
|
||||
service = AIService(mock_settings)
|
||||
service._provider = MagicMock()
|
||||
|
||||
@@ -590,8 +590,8 @@ class TestAIService:
|
||||
def test_get_system_prompt_custom(self, mock_settings):
|
||||
"""Test getting custom system prompt."""
|
||||
mock_settings.system_prompt = "Custom prompt"
|
||||
with patch("daemon_boyfriend.services.ai_service.settings", mock_settings):
|
||||
with patch("daemon_boyfriend.services.ai_service.AIService._init_provider"):
|
||||
with patch("loyal_companion.services.ai_service.settings", mock_settings):
|
||||
with patch("loyal_companion.services.ai_service.AIService._init_provider"):
|
||||
service = AIService(mock_settings)
|
||||
service._provider = MagicMock()
|
||||
|
||||
@@ -601,8 +601,8 @@ class TestAIService:
|
||||
|
||||
def test_provider_name(self, mock_settings):
|
||||
"""Test getting provider name."""
|
||||
with patch("daemon_boyfriend.services.ai_service.settings", mock_settings):
|
||||
with patch("daemon_boyfriend.services.ai_service.AIService._init_provider"):
|
||||
with patch("loyal_companion.services.ai_service.settings", mock_settings):
|
||||
with patch("loyal_companion.services.ai_service.AIService._init_provider"):
|
||||
service = AIService(mock_settings)
|
||||
mock_provider = MagicMock()
|
||||
mock_provider.provider_name = "openai"
|
||||
@@ -612,8 +612,8 @@ class TestAIService:
|
||||
|
||||
def test_model_property(self, mock_settings):
|
||||
"""Test getting model name."""
|
||||
with patch("daemon_boyfriend.services.ai_service.settings", mock_settings):
|
||||
with patch("daemon_boyfriend.services.ai_service.AIService._init_provider"):
|
||||
with patch("loyal_companion.services.ai_service.settings", mock_settings):
|
||||
with patch("loyal_companion.services.ai_service.AIService._init_provider"):
|
||||
service = AIService(mock_settings)
|
||||
service._provider = MagicMock()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user