import json
from pathlib import Path
from sqlalchemy import text
from app.db.session import SessionLocal

ROOT = Path(__file__).resolve().parents[2]
FILE = ROOT / "data" / "masters" / "master-seed.json"

def main():
    data = json.loads(FILE.read_text(encoding="utf-8"))
    with SessionLocal() as db:
        for row in data.get("language_master", []):
            db.execute(text("""INSERT OR IGNORE INTO language_master (code,name,locale,active) VALUES (:code,:name,:locale,1)"""), row)
        for row in data.get("age_master", []):
            db.execute(text("""INSERT OR IGNORE INTO age_master (code,name,min_age,max_age,vocal_behavior) VALUES (:code,:name,:min_age,:max_age,:vocal_behavior)"""), row)
        for row in data.get("emotion_master", []):
            db.execute(text("""INSERT OR IGNORE INTO emotion_master (code,name,parameters) VALUES (:code,:name,:parameters)"""), row)
        for row in data.get("speech_style_master", []):
            db.execute(text("""INSERT OR IGNORE INTO speech_style_master (code,name,parameters) VALUES (:code,:name,:parameters)"""), row)
        for row in data.get("personality_master", []):
            db.execute(text("""INSERT OR IGNORE INTO personality_master (code,name,parameters) VALUES (:code,:name,:parameters)"""), row)
        db.commit()
    print("VoiceOS Phase 1C master seed complete.")

if __name__ == "__main__":
    main()
