§
    0´”j´  ã                  óp   — d dl mZ d dlZd dlmZmZ d dlmZ  ej        d¦  «        Z G d„ d¦  «        Z	dS )é    )ÚannotationsN)ÚdatetimeÚtimezone)ÚAnyzdscons.deepseek.synthesisc                  ó"   — e Zd ZdZdd„Zdd„ZdS )ÚDeepSeekMissionSynthesisMixinz5Self reflection and executive report synthesis mixin.Úmission_contextúdict[str, Any]Ústepsúlist[dict[str, Any]]Úreturnc              ƒ  ó®  K  — ddl }ddlm}  ||d         ¦  «        }|                     |dd¬¦  «        dd…         }d	|› d
�}	 | j                             d|dœgd¬¦  «        ƒ d{V —†}|                     d¦  «        r=|                     dd¦  «                             dd¦  «                             ¦   «         }n=|                     d¦  «        r(|                     dd¦  «                             ¦   «         }| 	                    |¦  «        S # t          $ r;}	t                               d|	› �¦  «         dddœdddœdddœdddœddœcY d}	~	S d}	~	ww xY w)u^   VÃ²ng láº·p tá»± pháº£n biá»‡n & kiá»ƒm toÃ¡n chÃ©o (Self-Reflection Quality Gate) báº±ng LLM.r   N)Újsonable_encoderÚintermediate_resultsFé   ©Úensure_asciiÚindenti¸  uT   
HÃ£y phÃ¢n tÃ­ch cÃ¡c káº¿t quáº£ trung gian sau cá»§a má»™t chuá»—i nhiá»‡m vá»¥:
u¦  

Ä�Ã¡nh giÃ¡ theo 4 tiÃªu chÃ­ cá»‘t lÃµi:
1. Ä�á»™ chÃ­nh xÃ¡c sá»‘ há»�c (financial_precision_check)
2. CÃ¢n báº±ng ghi sá»• kÃ©p (double_entry_balance)
3. TuÃ¢n thá»§ Ä‘á»‹nh má»©c hao há»¥t (loss_norm_compliance)
4. Dá»¯ liá»‡u thá»±c táº¿, khÃ´ng fake (zero_synthetic_data_audit)

Tráº£ vá»� CHá»ˆ JSON:
{
  "financial_precision_check": {"status": "PASSED/FAILED", "notes": "..."},
  "double_entry_balance": {"status": "PASSED/FAILED", "notes": "..."},
  "loss_norm_compliance": {"status": "PASSED/FAILED", "notes": "..."},
  "zero_synthetic_data_audit": {"status": "PASSED/FAILED", "notes": "..."},
  "overall_quality_verdict": "Káº¿t luáº­n tá»•ng thá»ƒ ngáº¯n gá»�n"
}
Úuser©ÚroleÚcontentgš™™™™™¹?©Útemperaturez```jsonÚ z```zError parsing LLM reflection: ÚPASSEDzAuto-passed due to parse error)ÚstatusÚnotesu(   HOÃ€N Táº¤T Vá»šI Má»˜T Sá»� Cáº¢NH BÃ�O)Úfinancial_precision_checkÚdouble_entry_balanceÚloss_norm_complianceÚzero_synthetic_data_auditÚoverall_quality_verdict)ÚjsonÚfastapi.encodersr   ÚdumpsÚ
llm_clientÚchatÚ
startswithÚreplaceÚstripÚloadsÚ	ExceptionÚloggerÚerror)
Úselfr	   r   r$   r   Úencoded_resultsÚresults_strÚpromptÚllm_responseÚes
             úWC:\Projects\DSCons\app\modules\agents\application\deepseek_harness\mission_synthesis.pyÚ_run_self_reflectionz2DeepSeekMissionSynthesisMixin._run_self_reflection   sñ  è è € ð 	ˆˆˆØ5Ð5Ð5Ð5Ð5Ð5à*Ð*¨?Ð;QÔ+RÑSÔSˆØ—j’j ¸uÈQ�jÑOÔOÐPUÐQUÐPUÔVˆðàðð ð ˆð&	Ø!%¤×!5Ò!5Ø ¨VÐ4Ð4Ð5Øð "6ñ "ô "ð ð ð ð ð ð ˆLð ×&Ò& yÑ1Ô1ð GØ+×3Ò3°I¸rÑBÔB×JÒJÈ5ÐRTÑUÔU×[Ò[Ñ]Ô]��Ø×(Ò(¨Ñ/Ô/ð GØ+×3Ò3°E¸2Ñ>Ô>×DÒDÑFÔF�Ø—:’:˜lÑ+Ô+Ð+øÝð 	ð 	ð 	Ý�LŠLÐ=¸!Ð=Ð=Ñ>Ô>Ð>à8@ÐKkÐ-lÐ-lØ3;ÐFfÐ(gÐ(gØ3;ÐFfÐ(gÐ(gØ8@ÐKkÐ-lÐ-lØ+Uðð ð ð ð ð ð ð øøøøð	øøøs   ÁC	D Ä
EÄ0EÅ	EÅEÚ
mission_idÚstrÚmission_titleÚpillarÚ
reflectionc              ƒ  ó   K  — ddl }d                     d„ |D ¦   «         ¦  «        }d|› d|› d|› d|                     d	„ |D ¦   «         d
d¬¦  «        › d|                     |d
d¬¦  «        › d�}	 | j                             d|dœgd¬¦  «        ƒ d{V —†}	|	S # t
          $ r,}
t                               d|
› �¦  «         d|
› �cY d}
~
S d}
~
ww xY w)ub   Tá»•ng há»£p BÃ¡o cÃ¡o Ä�iá»�u HÃ nh (Executive Mission Report) gá»­i Ban GiÃ¡m Ä‘á»‘c báº±ng LLM.r   Nz, c                ó   — g | ]
}|d          ‘ŒS )Ú
agent_name© ©Ú.0Úss     r6   ú
<listcomp>zNDeepSeekMissionSynthesisMixin._synthesize_executive_report.<locals>.<listcomp>H   s   € Ð @Ð @Ð @°Q  <¤Ð @Ð @Ð @ó    uJ   
HÃ£y viáº¿t BÃ¡o cÃ¡o Ä�iá»�u hÃ nh dá»±a trÃªn thÃ´ng tin sau:
Mission: z (ID: u   )
NhÃ¢n sá»± tham gia: u    

CÃ¡c bÆ°á»›c Ä‘Ã£ thá»±c thi:
c                óJ   — g | ] }|d          |d         |d         d         dœ‘Œ!S )r?   Úreasoning_summaryÚstep_outputÚsummary)ÚagentÚ	reasoningÚoutputr@   rA   s     r6   rD   zNDeepSeekMissionSynthesisMixin._synthesize_executive_report.<locals>.<listcomp>P   sL   € ð  Fð  Fð  FÐz{˜˜,œ°aÐ8KÔ6LÐXYÐZgÔXhÐirÔXsÐuÐuð  Fð  Fð  FrE   Fr   r   u)   

Káº¿t quáº£ kiá»ƒm toÃ¡n (Reflection):
uÃ   

HÃ£y viáº¿t má»™t bÃ¡o cÃ¡o markdown chuyÃªn nghiá»‡p, bao gá»“m TÃ³m táº¯t nhiá»‡m vá»¥, Chi tiáº¿t cÃ¡c bÆ°á»›c vÃ  Káº¿t quáº£ kiá»ƒm toÃ¡n. Giá»¯ nguyÃªn vÄƒn phong chuáº©n doanh nghiá»‡p.
r   r   g333333Ó?r   zError generating LLM report: uQ   # BÃ�O CÃ�O Káº¾T QUáº¢ Ä�Iá»€U HÃ€NH TÃ�C Vá»¤ Tá»° TRá»Š
Lá»—i sinh bÃ¡o cÃ¡o: )r$   Újoinr&   r'   r(   r-   r.   r/   )r0   r8   r:   r;   r   r<   r$   Úagent_namesr3   Úreportr5   s              r6   Ú_synthesize_executive_reportz:DeepSeekMissionSynthesisMixin._synthesize_executive_report>   s�  è è € ð 	ˆˆˆØ—i’iÐ @Ð @¸%Ð @Ñ @Ô @ÑAÔAˆðà
ðð à)ðð ð "ðð ð ‡‚ð  Fð  Fð  @Eð  Fñ  Fô  Fð  UZð  cd€ñ  eô  eðð ð ‡‚ˆJ U°1€Ñ5Ô5ðð ð ˆð	lØœ?×/Ò/Ø ¨VÐ4Ð4Ð5Øð 0ñ ô ð ð ð ð ð ð ˆFð ˆMøÝð 	lð 	lð 	lÝ�LŠLÐ<¸Ð<Ð<Ñ=Ô=Ð=ØkÐhiÐkÐkÐkÐkÐkÐkÐkÐkøøøøð	løøøs   Á/'B Â
CÂ!!CÃCÃCN)r	   r
   r   r   r   r
   )r8   r9   r:   r9   r;   r9   r   r   r<   r
   r   r9   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r7   rP   r@   rE   r6   r   r   
   sI   € € € € € Ø?Ð?ð/ð /ð /ð /ðb!lð !lð !lð !lð !lð !lrE   r   )
Ú
__future__r   Úloggingr   r   Útypingr   Ú	getLoggerr.   r   r@   rE   r6   ú<module>rY      s£   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð à	ˆÔ	Ð6Ñ	7Ô	7€ðUlð Ulð Ulð Ulð Ulñ Ulô Ulð Ulð Ulð UlrE   