
    5iA                       U d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	m
Z
mZmZmZmZmZ  e         ee      j#                         j$                  Zedz  Zedz  Zdd	Zdd
Z edddd       edddd       edddd       edddd      dZded<   ddddddddddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)u@   
Configuration loader – reads .env and builds PipelineConfig.
    )annotationsN)Path)load_dotenv)CharacterTemplateExportSettingsPipelineConfigPipelineModeTargetPlatformVoiceSettingscharacter_templatesoutputc                (   t        |       }|j                         st        |  dz  }|j                         st        d|  dt	                      t        |dd      5 }t        j                  |      }ddd       t        di S # 1 sw Y   xY w)	zDLoad a character template by name (from templates dir) or file path.z.jsonzCharacter template not found: z. Available templates: rzutf-8)encodingN )	r   existsTEMPLATES_DIRFileNotFoundErrorlist_available_templatesopenjsonloadr   )name_or_pathpathfdatas       //root/.openclaw/workspace/visionaryfx/config.pyload_character_templater   %   s    D;;=,u55;;=,\N ;$$<$>#?A
 	
 
dC'	* ayy|$t$$ s   BBc                     t         j                         sg S t         j                  d      D  cg c]  } | j                   c} S c c} w )z(List available character template names.z*.json)r   r   globstem)ps    r   r   r   4   s6    !	)..x89qAFF999s   A	1080x1920   mp4z9:16)
resolutionfpsvideo_formataspect_ratio	1920x1080z16:9)tiktokinstagram_reelsyoutube_shortsyoutubezdict[str, ExportSettings]PLATFORM_PRESETSplanskeletonF   all)mode	charactercharacter_templateplatform
output_dirframes_per_minuteenable_coverage_shotscoverage_angles_per_scenecoverage_modetts_providerchatterbox_languagechatterbox_voice_refc                   t        |xs t        j                  dd            }t        j	                  |j
                  t        d         }t        |	xs t        j                  dd      t        j                  dd      t        j                  dd      |
xs t        j                  d	d
      |xs t        j                  dd            }||rt        |      }|xs t        t        j                  dd            }t        t        |       t        j                  dd      |||||xs# t        j                  dt        t                    ||||      S )z1Build a PipelineConfig from env vars + overrides.TARGET_PLATFORMr+   TTS_PROVIDER
chatterboxELEVENLABS_VOICE_IDJBFqnCBsd6RMkjVDRZzbELEVENLABS_MODEL_IDeleven_multilingual_v2CHATTERBOX_LANGUAGEptCHATTERBOX_VOICE_REF )r=   voice_idmodel_idr>   r?   FRAMES_PER_MINUTE25	LLM_MODELzopenai/gpt-4o
OUTPUT_DIR)r4   	llm_modeltarget_platformr6   voice_settingsexport_settingsr8   r9   r:   r;   r<   )r
   osgetenvr/   getvaluer   r   intr   r	   strDEFAULT_OUTPUT_DIR)r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   rS   rU   rT   fpms                   r   build_configr^   S   s2   $ %:BII/:O '**/9O #!LRYY~|%L02HI02JK/Y299=RTX3Y1ZRYY?UWY5Z	N !i4Y?

Hs299-@$#GHC$))K9'-%'Q<=O9P!Q3";#     )r   r[   returnr   )r`   z	list[str])r4   r[   r5   
str | Noner6   zCharacterTemplate | Noner7   ra   r8   ra   r9   z
int | Noner:   boolr;   rZ   r<   r[   r=   ra   r>   ra   r?   ra   r`   r   )__doc__
__future__r   r   rV   pathlibr   dotenvr   modelsr   r   r   r	   r
   r   __file__resolveparentPROJECT_ROOTr   r\   r   r   r/   __annotations__r^   r   r_   r   <module>rm      sm   #  	     H~%%'..44!H, %: BU &BU %BU BU/ + , &37!$("'%&#&*'+5
5 5 1	5
 5 5 "5  5  #5 5 5 $5 %5 5r_   