Initial commit: add .gitignore and README
Some checks failed
Tests / test (3.10) (push) Has been cancelled
Tests / test (3.11) (push) Has been cancelled
Tests / test (3.12) (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / docker (push) Has been cancelled

This commit is contained in:
defiQUG
2026-02-09 21:51:42 -08:00
commit c052b07662
3146 changed files with 808305 additions and 0 deletions

View 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",
]

View 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"})

View 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")