o
    n›Xj  ã                   @  s|   d dl mZ d dlZd dlmZ d dlmZ d dlmZ ee	ƒ 
¡ jd Zedd�G d	d
„ d
ƒƒZddd„Zdddd„ZdS )é    )ÚannotationsN)Ú	dataclass)ÚPath)Úload_dotenvé   T)Úfrozenc                   @  s  e Zd ZU ded< ded< ded< ded< ded< ded< ded< ded	< d
ed< d
ed< ded< ded< ded< ded< ded< ded< d
ed< ded< ded< d
ed< ded< ded< ded< ded< ded< ded< d
ed< ded < ded!< ded"< ded#< d$S )%ÚSettingsÚstrÚllm_providerÚanthropic_api_keyÚclaude_modelÚopenai_api_keyÚopenai_modelÚopenai_image_modelÚopenai_video_modelÚvideo_engineÚboolÚenable_ai_imagesÚenable_audioÚtelegram_bot_tokenÚtelegram_chat_idr   Úgoogle_service_account_fileÚgoogle_oauth_client_secretsÚgoogle_oauth_token_fileÚgoogle_drive_folder_idÚgoogle_use_shared_driveÚcontent_localeÚintÚ
batch_sizeÚenable_videoÚvideo_max_secondsÚbrand_primaryÚbrand_accentÚbrand_bgÚ
brand_nameÚ
output_dirÚdry_runÚdata_erpÚdata_profilesÚstorage_tmpÚstorage_logsN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r/   r/   ú7/home/esfera/Documents/content_generation/src/config.pyr      s@   
 r   Únamer	   ÚdefaultÚreturnr   c                 C  s.   t  | ¡p| ¡ }t|ƒ}| ¡ r|S t| S ©N)ÚosÚgetenvÚstripr   Úis_absoluteÚROOT)r1   r2   ÚrawÚpathr/   r/   r0   Ú_path_from_env/   s   r<   Úenv_fileúPath | Nonec                 C  sn  t | ptd ƒ t d¡pd ¡  ¡ }t dd¡ ¡ }t dd¡ ¡ }|dkr-|s-tdƒ‚|dkr7|s7td	ƒ‚tt d
d¡ƒ}| ¡ sGt| }t	d[i d|“d|“dt dd¡“d|“dt dd¡“dt dd¡“dt dd¡“dt dd¡ ¡  ¡ “dt dd ¡ ¡ d!v “d"t d#d$¡ ¡ d!v “d%t d&d¡ ¡ “d't d(d¡ ¡ “d)t
d*d+ƒ“d,t
d-d.ƒ“d/t
d0d1ƒ“d2t d3d¡ ¡ “d4t d5d$¡ ¡ d!v “d6t d7d8¡“d9td:tt d;d<¡ƒƒ“d=t d>d ¡ ¡ d!v “d?tt d@dA¡ƒ“dBt dCdD¡“dEt dFdG¡“dHt dIdJ¡“dKt dLdM¡“dN|“dOt dPd$¡ ¡ d!v “dQtdR dS “dTtdR dU “dVtdW dX “dYtdW dZ “ŽS )\Nz.envÚLLM_PROVIDERÚopenaiÚANTHROPIC_API_KEYÚ ÚOPENAI_API_KEYz(Missing required env var: OPENAI_API_KEYÚclaudezHMissing required env var: ANTHROPIC_API_KEY (or set LLM_PROVIDER=openai)Ú
OUTPUT_DIRzstorage/runsr
   r   r   ÚCLAUDE_MODELzclaude-sonnet-4-5-20250929r   r   ÚOPENAI_MODELzgpt-4or   ÚOPENAI_IMAGE_MODELzdall-e-3r   ÚOPENAI_VIDEO_MODELzsora-2r   ÚVIDEO_ENGINEÚsorar   ÚENABLE_AI_IMAGESÚtrue)Ú1rM   Úyesr   ÚENABLE_AUDIOÚfalser   ÚTELEGRAM_BOT_TOKENr   ÚTELEGRAM_CHAT_IDr   ÚGOOGLE_SERVICE_ACCOUNT_FILEz"config/google_service_account.jsonr   ÚGOOGLE_OAUTH_CLIENT_SECRETSzconfig/google_oauth_client.jsonr   ÚGOOGLE_OAUTH_TOKEN_FILEzconfig/google_token.jsonr   ÚGOOGLE_DRIVE_FOLDER_IDr   ÚGOOGLE_USE_SHARED_DRIVEr   ÚCONTENT_LOCALEÚenr   r   Ú
BATCH_SIZEÚ3r   ÚENABLE_VIDEOr    ÚVIDEO_MAX_SECONDSÚ18r!   ÚBRAND_PRIMARY_COLORz#1a365dr"   ÚBRAND_ACCENT_COLORz#ed8936r#   ÚBRAND_BG_COLORz#0f172ar$   Ú
BRAND_NAMEÚBrandr%   r&   ÚDRY_RUNr'   ÚdataÚerpr(   Úprofilesr)   ÚstorageÚtmpr*   Úlogsr/   )r   r9   r5   r6   r7   ÚlowerÚRuntimeErrorr   r8   r   r<   Úmaxr   )r=   ÚproviderÚanthropic_keyÚ
openai_keyÚoutputr/   r/   r0   Úload_settings5   s¤   ÿþýüûúùø	÷
öõôÿóÿðÿíêÿéçæåäãâá à!ß"Þ#Ý$Ü%Û&Úrs   )r1   r	   r2   r	   r3   r   r4   )r=   r>   r3   r   )Ú
__future__r   r5   Údataclassesr   Úpathlibr   Údotenvr   Ú__file__ÚresolveÚparentsr9   r   r<   rs   r/   r/   r/   r0   Ú<module>   s    
"