Initial commit: add .gitignore and README
This commit is contained in:
11
fusionagi/config/__init__.py
Normal file
11
fusionagi/config/__init__.py
Normal file
@@ -0,0 +1,11 @@
|
||||
"""Configuration for Dvādaśa heads, voices, and services."""
|
||||
|
||||
from fusionagi.config.head_voices import get_voice_id_for_head, HEAD_VOICE_MAP
|
||||
from fusionagi.config.head_personas import get_persona, HEAD_PERSONAS
|
||||
|
||||
__all__ = [
|
||||
"get_voice_id_for_head",
|
||||
"HEAD_VOICE_MAP",
|
||||
"get_persona",
|
||||
"HEAD_PERSONAS",
|
||||
]
|
||||
23
fusionagi/config/head_personas.py
Normal file
23
fusionagi/config/head_personas.py
Normal file
@@ -0,0 +1,23 @@
|
||||
"""Per-head persona metadata for expressions and tone."""
|
||||
|
||||
from fusionagi.schemas.head import HeadId
|
||||
|
||||
HEAD_PERSONAS: dict[HeadId, dict[str, str]] = {
|
||||
HeadId.LOGIC: {"expression": "analytical", "tone": "precise"},
|
||||
HeadId.RESEARCH: {"expression": "curious", "tone": "thorough"},
|
||||
HeadId.SYSTEMS: {"expression": "technical", "tone": "architectural"},
|
||||
HeadId.STRATEGY: {"expression": "visionary", "tone": "strategic"},
|
||||
HeadId.PRODUCT: {"expression": "empathetic", "tone": "user-focused"},
|
||||
HeadId.SECURITY: {"expression": "vigilant", "tone": "cautious"},
|
||||
HeadId.SAFETY: {"expression": "protective", "tone": "guardian"},
|
||||
HeadId.RELIABILITY: {"expression": "steady", "tone": "dependable"},
|
||||
HeadId.COST: {"expression": "pragmatic", "tone": "efficient"},
|
||||
HeadId.DATA: {"expression": "structured", "tone": "precise"},
|
||||
HeadId.DEVEX: {"expression": "helpful", "tone": "practical"},
|
||||
HeadId.WITNESS: {"expression": "composed", "tone": "synthesizing"},
|
||||
}
|
||||
|
||||
|
||||
def get_persona(head_id: HeadId) -> dict[str, str]:
|
||||
"""Return persona metadata for a head."""
|
||||
return HEAD_PERSONAS.get(head_id, {"expression": "neutral", "tone": "balanced"})
|
||||
25
fusionagi/config/head_voices.py
Normal file
25
fusionagi/config/head_voices.py
Normal file
@@ -0,0 +1,25 @@
|
||||
"""Head-to-voice mapping for per-head TTS in Dvādaśa."""
|
||||
|
||||
from fusionagi.schemas.head import HeadId
|
||||
|
||||
# Map each HeadId to a voice profile id (from VoiceLibrary).
|
||||
# In production, create VoiceProfiles and register with VoiceLibrary.
|
||||
HEAD_VOICE_MAP: dict[HeadId, str] = {
|
||||
HeadId.LOGIC: "voice_logic",
|
||||
HeadId.RESEARCH: "voice_research",
|
||||
HeadId.SYSTEMS: "voice_systems",
|
||||
HeadId.STRATEGY: "voice_strategy",
|
||||
HeadId.PRODUCT: "voice_product",
|
||||
HeadId.SECURITY: "voice_security",
|
||||
HeadId.SAFETY: "voice_safety",
|
||||
HeadId.RELIABILITY: "voice_reliability",
|
||||
HeadId.COST: "voice_cost",
|
||||
HeadId.DATA: "voice_data",
|
||||
HeadId.DEVEX: "voice_devex",
|
||||
HeadId.WITNESS: "voice_witness",
|
||||
}
|
||||
|
||||
|
||||
def get_voice_id_for_head(head_id: HeadId) -> str:
|
||||
"""Return voice profile id for a head."""
|
||||
return HEAD_VOICE_MAP.get(head_id, "voice_default")
|
||||
Reference in New Issue
Block a user