ó
    �Ö¨js  ã                  óv   • S r SSKJr  SSKrSSKJr  SSKJrJrJ	r	  SSK
JrJr   " S S\5      r\S
S	 j5       rg)zShared application settings.é    )ÚannotationsN)Ú	lru_cache)ÚListÚOptionalÚTuple)ÚBaseSettingsÚSettingsConfigDictc                  ó�  • \ rS rSr% \" SSSS9rSrS\S'   S	rS\S
'   Sr	S\S'   Sr
S\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   S rS\S!'   SrS\S"'   S#rS\S$'   SrS\S%'   S&rS\S''   S(rS\S)'   SrS\S*'   SrS\S+'   SrS\S,'   SrS\S-'   SrS\S.'   S/rS\S0'   Sr S\S1'   S2r!S\S3'   Sr"S\S4'   Sr#S\S5'   S6r$S7\S8'   Sr%S\S9'   S:r&S\S;'   S<r'S=\S>'   Sr(S\S?'   Sr)S\S@'   Sr*S\SA'   SBr+S\SC'   \,SKSD j5       r-\,SKSE j5       r.\,SKSF j5       r/\,SLSG j5       r0\,SMSH j5       r1SIr2gJ)NÚSettingsé   z.envzutf-8Úignore)Úenv_fileÚenv_file_encodingÚextraÚlocalÚstrÚapp_envÚINFOÚ	log_levelz./data/artifactsÚartifacts_dirzDpostgresql+asyncpg://agent_nova:agent_nova@localhost:5432/agent_novaÚdatabase_urlzredis://localhost:6379Ú	redis_urlÚmockÚjira_providerzhttps://example.atlassian.netÚjira_base_urlÚ Ú
jira_emailÚjira_api_tokenzdev-webhook-secretÚjira_webhook_secretÚSALESÚjira_project_keysz
agent-novaÚjira_agent_labelzReady for AgentÚjira_agent_statusz
Story,TaskÚjira_issue_typesÚjira_bot_account_idzIn ProgressÚjira_in_progress_statusÚconfluence_providerz"https://example.atlassian.net/wikiÚconfluence_base_urlzENG,ARCHÚconfluence_space_keysÚconfluence_write_space_keyÚconfluence_emailÚconfluence_api_tokenÚgit_providerÚgit_repo_urlÚmainÚgit_default_branchÚgithub_tokenzhttps://api.github.comÚgithub_api_base_urlÚsalesforce_providerÚsalesforce_org_aliasTÚboolÚsalesforce_deploy_check_onlyÚstatic_analysis_providerÚpmdÚpmd_biné   ÚintÚmax_review_cyclesÚapex_test_providerÚllm_providerÚopenai_api_keyzgpt-4oÚopenai_modelc                óª   • U R                   R                  S5       Vs/ sH)  oR                  5       (       d  M  UR                  5       PM+     sn$ s  snf ©NÚ,)r!   ÚsplitÚstrip)ÚselfÚps     Ú'/var/www/html/gaurav/packages/config.pyÚjira_project_key_listÚSettings.jira_project_key_list=   s;   € à#'×#9Ñ#9×#?Ñ#?ÀÔ#DÓRÑ#D˜aÏÉÏ	“	�—‘–	Ñ#DÑRÐRùÒRó
   žA¹Ac                óª   • U R                   R                  S5       Vs/ sH)  oR                  5       (       d  M  UR                  5       PM+     sn$ s  snf rB   )r$   rD   rE   )rF   Úts     rH   Újira_issue_type_listÚSettings.jira_issue_type_listA   s;   € à#'×#8Ñ#8×#>Ñ#>¸sÔ#CÓQÑ#C˜aÇwÁwÇy“	�—‘–	Ñ#CÑQÐQùÒQrK   c                óª   • U R                   R                  S5       Vs/ sH)  oR                  5       (       d  M  UR                  5       PM+     sn$ s  snf rB   )r)   rD   rE   )rF   Úss     rH   Úconfluence_space_key_listÚ"Settings.confluence_space_key_listE   s;   € à#'×#=Ñ#=×#CÑ#CÀCÔ#HÓVÑ#H˜aÏGÉGÏI“	�—‘–	Ñ#HÑVÐVùÒVrK   c                óŽ   • U R                   =(       d    SR                  5       nU(       a  U$ U R                  nU(       a  US   $ S$ )zTSpace key used when creating design docs (explicit write key or first search space).r   r   )r*   rE   rR   )rF   ÚexplicitÚspacess      rH   Úconfluence_write_spaceÚSettings.confluence_write_spaceI   sA   € ð ×3Ñ3×9°r×@Ñ@ÓBˆÞØˆOØ×/Ñ/ˆÞ"ˆv�a‰yÐ*¨Ð*ó    c                ó®  • U R                   =(       d    SR                  5       nU(       d  gUR                  S5      nUR                  S5      (       a  USS n[        R
                  " SU5      nU(       d?  UR                  S5      n[        U5      S:X  a  US   (       a  US	   (       a
  US   US	   4$ gUR                  S
5      UR                  S5      4$ )z2Parse owner/repo from GIT_REPO_URL (HTTPS or SSH).r   NÚ/z.gitéüÿÿÿz6(?:github\.com[:/]|/)(?P<owner>[^/]+)/(?P<repo>[^/]+)$é   r   é   ÚownerÚrepo)	r.   rE   ÚrstripÚendswithÚreÚsearchrD   ÚlenÚgroup)rF   ÚurlÚmÚpartss       rH   Úgithub_owner_repoÚSettings.github_owner_repoR   sµ   € ð × Ñ ×& B×-Ñ-Ó/ˆÞØØ�j‰j˜‹oˆØ�<‰<˜×ÑØ�c�r�(ˆCä�IŠIÐOÐQTÓUˆÞà—I‘I˜c“NˆEÜ�5‹z˜Q‹ 5¨§8°°a·Ø˜Q‘x  q¡Ð)Ð)ØØ�w‰w�wÓ §¡¨£Ð0Ð0rY   © N)Úreturnz	List[str])rm   r   )rm   zOptional[Tuple[str, str]])3Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	   Úmodel_configr   Ú__annotations__r   r   r   r   r   r   r   r   r   r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r0   r1   r2   r3   r4   r6   r7   r9   r<   r=   r>   r?   r@   ÚpropertyrI   rN   rR   rW   rj   Ú__static_attributes__rl   rY   rH   r   r      s   ‡ Ù%¨vÈÐX`Ña€Là€GˆSÓØ€IˆsÓØ+€M�3Ó+à^€L�#Ó^Ø-€IˆsÓ-à€M�3ÓØ8€M�3Ó8Ø€J�ÓØ€N�CÓØ3Ð˜Ó3Ø$Ð�sÓ$Ø(Ð�cÓ(Ø.Ð�sÓ.Ø(Ð�cÓ(Ø!Ð˜Ó!Ø#0Ð˜SÓ0à%Ð˜Ó%ØCÐ˜ÓCØ!+Ð˜3Ó+Ø&(Ð Ó(ØÐ�cÓØ "Ð˜#Ó"à€L�#ÓØ€L�#ÓØ$Ð˜Ó$Ø€L�#ÓØ7Ð˜Ó7à%Ð˜Ó%Ø "Ð˜#Ó"Ø)-Ð  $Ó-à$*Ð˜cÓ*Ø€GˆSÓØÐ�sÓà$Ð˜Ó$à€L�#ÓØ€N�CÓØ €L�#Ó àóSó ðSð óRó ðRð óWó ðWð ó+ó ð+ð ó1ó ó1rY   r   c                 ó   • [        5       $ )N)r   rl   rY   rH   Úget_settingsrw   f   s
   € ä‹:ÐrY   )rm   r   )Ú__doc__Ú
__future__r   rc   Ú	functoolsr   Útypingr   r   r   Úpydantic_settingsr   r	   r   rw   rl   rY   rH   Ú<module>r}      s=   ðÙ "å "ã 	Ý ß (Ñ (ç >ôW1ˆ|ô W1ðt óó ñrY   