§
    \•jûO  ã                  ó¢   — d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ d dlm	Z	 d dl
mZ ddlmZ  ej        d¦  «        Z G d	„ d
e¦  «        ZdS )é    )ÚannotationsN)ÚdatetimeÚtimezone)ÚAny)Újsonable_encoderé   )ÚDeepSeekMissionStepsMixinzdscons.deepseek.runnerc                  ó2   — e Zd ZdZ	 	 	 ddd„Z	 	 	 ddd„ZdS )ÚDeepSeekMissionRunnerMixinz!Mission orchestration loop mixin.NÚxay_lapTÚmission_titleÚstrÚmission_promptÚtarget_project_idú
str | NoneÚpillarÚdeep_reasoning_enabledÚboolÚreturnúdict[str, Any]c              ƒ  óþ  ‡ ‡‡‡K  — dt          j        ¦   «                              d¦  «        › dt          j        ¦   «         j        dd…                              ¦   «         › �}t          j        ¦   «         }t           	                    d|||¦  «         d„ ‰ j
                             ¦   «         D ¦   «         Š‰                      |‰||¬¦  «        ƒ d{V —†}g }	|||i d	œ}
d
dl}ˆˆˆ fd„Šˆfd„t          |d¦  «        D ¦   «         } |j        |Ž ƒ d{V —†}t!          |d„ ¬¦  «        D ]4}|d         |
d         |d         <   |	                     |d         ¦  «         Œ5‰                      |
|	¬¦  «        ƒ d{V —†}‰                      ||||	|¬¦  «        ƒ d{V —†}t)          t          j        ¦   «         |z
  d¦  «        }	 ‰                      |||t-          |	¦  «        ||¬¦  «         n2# t.          $ r%}t                               d|¦  «         Y d}~nd}~ww xY w|||dt-          |	¦  «        |d„ |	D ¦   «         |	|||dk    rdndd|› �dd d!œgd"t          j        t2          j        ¦  «                             ¦   «         d#œS )$uT   Thá»±c thi nhiá»‡m vá»¥ tá»± trá»‹ Multi-Agent hoÃ n chá»‰nh vá»›i DeepSeek Harness.úDHS-ú%Y%m%dú-Né   z3[DHS MISSION START] ID: %s | Title: %s | Pillar: %sc                ó    — i | ]}|d          |“ŒS ©Ú
agent_code© ©Ú.0Úms     úTC:\Projects\DSCons\app\modules\agents\application\deepseek_harness\mission_runner.pyú
<dictcomp>z>DeepSeekMissionRunnerMixin.execute_mission.<locals>.<dictcomp>)   s+   € ð 
ð 
ð 
Ø#$ˆAˆlŒO˜Qð
ð 
ð 
ó    ©r   r   r   r   ©Ú
mission_idr   r   Úintermediate_resultsr   c              “  óø  •K  — |d         }‰                      |i ¦  «        }|                      dd¦  «        }|                      dd¦  «        }t          j        ¦   «         }dd l}ddlm}m}	m}
 ‰j        ‰j        ‰j	        ‰j
        ‰j        ‰j        g}d|d	         › d
|d         › d|                      dd¦  «        › �}|                      d¦  «        dk    r|dz  }|dk    r) |	||j                              dd¦  «        ||¬¦  «        }nU|dk    r* |
||j                              dd¦  «        d||¬¦  «        }n%|dk    r |
|dd||¬¦  «        }n |	d||¬¦  «        }	 d‰› d|› �} ||¦  «        4 ƒd {V —†}|                     |¦  «        ƒ d {V —†}|                     ¦   «         ƒ d {V —†}d|› d |d!         › d"�}|                     |¦  «        ƒ d {V —†}|                     ¦   «         ƒ d {V —†}d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   d#|d$œ}|d!         |                      d%i ¦  «        |d&d#d'œg}|                      dd¦  «        }d(|› d)�}nU# t           $ rH}t"                               d*|› �¦  «         g }|                      dd¦  «        }d+d,i}d-|› �}Y d }~nd }~ww xY wt'          t          j        ¦   «         |z
  d.¦  «        }||| ||d	         |d         |› d/|› �||||d0œd1|d2œ
d3œS )4Nr   Ú
model_nameústealth/ox-alphaÚproviderÚantigravity_sdkr   ©ÚAgentÚLocalAgentConfigÚLocalOpenAIAgentConfigõ
   Báº¡n lÃ  Ú
agent_nameú (Ú
role_titleõ   ). Nhiá»‡m vá»¥: Ú	reasoningÚ Úthuyõ•  
Ä�áº¶C QUYá»€N DUY NHáº¤T: Báº N LÃ€ TRá»¢ LÃ� GIÃ�M Ä�á»�C - NGÆ¯á»œI DUY NHáº¤T TRONG TEAM CÃ“ QUYá»€N GHI/Cáº¬P NHáº¬T Dá»® LIá»†U VÃ€O DATABASE Báº°NG CÃ”NG Cá»¤ 'tool_write_erp_ledger'. Sá»© má»‡nh cá»§a báº¡n lÃ  sau khi nháº­n káº¿t quáº£ phÃ¢n tÃ­ch cá»§a cáº£ Ä‘á»™i, Báº®T BUá»˜C pháº£i gá»�i cÃ´ng cá»¥ nÃ y Ä‘á»ƒ chá»‘t sá»•, náº¿u khÃ´ng cÃ´ng sá»©c cá»§a Ä‘á»™i sáº½ Ä‘á»• sÃ´ng Ä‘á»• bá»ƒ.ÚGEMINI_API_KEYÚ	DUMMY_KEY)ÚmodelÚapi_keyÚsystem_instructionÚtoolsÚ
openrouterÚOPENROUTER_API_KEYzhttps://openrouter.ai/api/v1)r>   r?   Úbase_urlr@   rA   Úlmstudioz	lm-studiozhttp://localhost:1234/v1zgemini-3.7-flash)r>   rA   r@   u”   Lá»ŒC NHIá»„U Dá»® LIá»†U: PhÃ¢n tÃ­ch vÃ  trÃ­ch xuáº¥t cÃ¡c thÃ´ng tin cá»‘t lÃµi, loáº¡i bá»� cÃ¡c dá»¯ liá»‡u rÃ¡c/nhiá»…u tá»« yÃªu cáº§u sau:
u   
Nhiá»‡m vá»¥: u!   Ngá»¯ cáº£nh Ä‘Ã£ lá»�c nhiá»…u:
u   

HÃ£y gá»�i cÃ´ng cá»¥ Útool_to_callu!    Ä‘á»ƒ hoÃ n thÃ nh nhiá»‡m vá»¥.ÚSUCCESS©ÚstatusÚagent_outputÚ
tool_inputg     @@©Ú	tool_namerK   Útool_outputÚexecution_time_msrI   u2   Ä�Ã£ cháº¡y thá»±c cháº¥t qua Antigravity (Model: uG   ). Káº¿t quáº£: HoÃ n táº¥t phÃ¢n tÃ­ch dá»¯ liá»‡u Ä‘Ã£ lá»�c nhiá»…u.z(Error executing Antigravity Agent step: rI   ÚERRORu$   Lá»—i thá»±c thi Antigravity Agent: é   ú/©ÚsummaryÚdataÚ	COMPLETED)
Ú
step_indexr   r4   r6   Ú
model_usedÚreasoning_summaryÚ
tool_callsÚstep_outputrI   Úexecution_seconds)ÚcodeÚtool_resÚexecuted_step)ÚgetÚtimeÚosÚgoogle.antigravityr0   r1   r2   Útool_query_erp_ledgerÚtool_hybrid_search_knowledgeÚtool_boq_and_ipc_calculationÚtool_audit_3way_matchingÚtool_equipment_and_fuel_auditÚtool_legal_fidic_checkÚenvironÚchatÚtextÚ	ExceptionÚloggerÚerrorÚround)ÚidxÚstep_defr]   Ú	agent_cfgr+   r-   Ú
step_startrb   r0   r1   r2   rA   r@   ÚconfigÚnoise_filter_promptÚagentÚ
filter_resÚclean_contextÚ
run_promptÚresponseÚoutput_textr^   Útool_recordsÚreal_reasoningÚreal_summaryÚeÚstep_durationÚagent_modelsr   Úselfs                              €€€r#   Ú	_run_stepz=DeepSeekMissionRunnerMixin.execute_mission.<locals>._run_step?   s/  øè è € Ø˜LÔ)ˆDØ$×(Ò(¨¨rÑ2Ô2ˆIØ"Ÿš |Ð5GÑHÔHˆJØ —}’} ZÐ1BÑCÔCˆHåœ™œˆJàˆIˆIˆIØZÐZÐZÐZÐZÐZÐZÐZÐZÐZð Ô*ØÔ1ØÔ1ØÔ-ØÔ2ØÔ+ðˆEð "Q¨h°|Ô.Dð  "Qð  "QÈÐQ]ÔH^ð  "Qð  "QÐqy×q}Òq}ð  Jð  LNñ  rOô  rOð  "Qð  "QÐØ�|Š|˜LÑ)Ô)¨VÒ3Ð3Ø"ð  'ñ  Ð"àÐ,Ò,Ð,Ø)Ð)Ø$ØœJŸNšNÐ+;¸[ÑIÔIØ'9Øð	ñ ô ��ð ˜\Ò)Ð)Ø/Ð/Ø$ØœJŸNšNÐ+?ÀÑMÔMØ;Ø'9Øðñ ô ��ð ˜ZÒ'Ð'Ø/Ð/Ø$Ø'Ø7Ø'9Øðñ ô ��ð *Ð)Ð0BÈ%ÐdvÐwÑwÔw�ð Jð 'sð  Mð  'sð  'sð  _qð  'sð  'sÐ#à ˜5 ™=œ=ð 8ð 8ð 8ð 8ð 8ð 8ð 8¨Eà',§z¢zÐ2EÑ'FÔ'FÐ!FÐ!FÐ!FÐ!FÐ!FÐ!F�JØ*4¯/ª/Ñ*;Ô*;Ð$;Ð$;Ð$;Ð$;Ð$;Ð$;�Mð "kÀmð  "kð  "kÐowð  yGô  pHð  "kð  "kð  "k�JØ%*§Z¢Z°
Ñ%;Ô%;Ð;Ð;Ð;Ð;Ð;Ð;�HØ(0¯ª©¬Ð"7Ð"7Ð"7Ð"7Ð"7Ð"7�Kð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð '0ÀÐMÐM�ð "*¨.Ô!9Ø"*§,¢,¨|¸RÑ"@Ô"@Ø#+Ø).Ø'ð!ð !ð  �ð "*§¢¨k¸2Ñ!>Ô!>�ð  hÐT^ð   hð   hð   h��øÝð Jð Jð JÝ—’ÐKÈÐKÐKÑLÔLÐLØ!�Ø!)§¢¨k¸2Ñ!>Ô!>�Ø$ gÐ.�ØIÀaÐIÐI������øøøøðJøøøõ "¥$¤)¡+¤+°
Ñ":¸AÑ>Ô>ˆMð Ø$à"%Ø"&Ø"*¨<Ô"8Ø"*¨<Ô"8Ø%-Ð"<Ð"<°
Ð"<Ð"<Ø)7Ø".à#/Ø (ð$ð $ð *Ø)6ð"ð "ðð ð s>   Å#I Å<A:HÇ6I È
HÈI ÈHÈAI É
J0É(>J+Ê+J0c                ó.   •— g | ]\  }} ‰||¦  «        ‘ŒS r   r   )r!   rq   rr   r„   s      €r#   ú
<listcomp>z>DeepSeekMissionRunnerMixin.execute_mission.<locals>.<listcomp>ª   s9   ø€ ð 
ð 
ð 
á��Xð ˆI�c˜8Ñ$Ô$ð
ð 
ð 
r%   r   c                ó   — | d         d         S )Nr_   rW   r   )Úxs    r#   ú<lambda>z<DeepSeekMissionRunnerMixin.execute_mission.<locals>.<lambda>²   s   € °°?Ô1CÀLÔ1Q€ r%   )Úkeyr^   r)   r]   r_   ©Úmission_contextÚsteps©r(   r   r   r�   Ú
reflectionrQ   ©r(   r   r   Ústeps_countÚdurationÚreportu)   KhÃ´ng thá»ƒ lÆ°u mission log vÃ o DB: %sz)stealth/ox-alpha (Deep Reasoning Harness)c                ó   — g | ]
}|d          ‘ŒS )r4   r   )r!   Úss     r#   r†   z>DeepSeekMissionRunnerMixin.execute_mission.<locals>.<listcomp>Ú   s   € Ð$MÐ$MÐ$M¸ Q |¤_Ð$MÐ$MÐ$Mr%   r   ÚIPC_03A_DOSSIERÚAUDIT_RECONCILIATION_REPORTu4   BÃ¡o CÃ¡o Nghiá»‡m Thu & Quyáº¿t ToÃ¡n Nhiá»‡m Vá»¥ ÚDOCUMENT_STANDARDS_2026ÚAPPROVED)ÚtypeÚtitleÚformatrI   rV   )r(   r   r   Úorchestrator_modelÚtotal_stepsÚtotal_execution_secondsÚparticipating_agentsr�   Úself_reflection_summaryÚexecutive_reportÚ	artifactsrI   Ú
created_at)r   ÚnowÚstrftimeÚuuidÚuuid4ÚhexÚupperra   rn   ÚinfoÚpostgres_clientÚlist_ai_agent_modelsÚ_decompose_mission_stepsÚasyncioÚ	enumerateÚgatherÚsortedÚappendÚ_run_self_reflectionÚ_synthesize_executive_reportrp   Ú_persist_mission_logÚlenrm   Úwarningr   ÚutcÚ	isoformat)rƒ   r   r   r   r   r   r(   Ú
start_timeÚsteps_definitionÚexecuted_stepsrŒ   r¯   Ú
step_tasksÚresultsÚresr�   r¢   Útotal_elapsedr€   r„   r‚   s   ` `                @@r#   Úexecute_missionz*DeepSeekMissionRunnerMixin.execute_mission   sÉ  øøøøè è € ð V•8”<‘>”>×*Ò*¨8Ñ4Ô4ÐUÐUµt´z±|´|Ô7GÈÈÈÔ7K×7QÒ7QÑ7SÔ7SÐUÐUð 	õ ”Y‘[”[ˆ
Ý�ŠØAØØØñ		
ô 	
ð 	
ð
ð 
Ø(,Ô(<×(QÒ(QÑ(SÔ(Sð
ñ 
ô 
ˆð
 "&×!>Ò!>Ø'Ø)ØØ/ð	 "?ñ "
ô "
ð 
ð 
ð 
ð 
ð 
ð 
Ðð 02ˆà$Ø*ØØ$&ð	+
ð +
ˆð 	ˆˆˆðh	ð h	ð h	ð h	ð h	ð h	ð h	ðV
ð 
ð 
ð 
å!*Ð+;¸QÑ!?Ô!?ð
ñ 
ô 
ˆ
ð '˜œ¨
Ð3Ð3Ð3Ð3Ð3Ð3Ð3ˆõ ˜'Ð'QÐ'QÐRÑRÔRð 	8ð 	8ˆCØCFÀzÄ?ˆOÐ2Ô3°C¸´KÑ@Ø×!Ò! # oÔ"6Ñ7Ô7Ð7Ð7ð  ×4Ò4Ø+°>ð 5ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆ
ð
 "&×!BÒ!BØ!Ø'ØØ Ø!ð "Cñ "
ô "
ð 
ð 
ð 
ð 
ð 
ð 
Ðõ �dœi™kœk¨JÑ6¸Ñ:Ô:ˆð
	KØ×%Ò%Ø%Ø+ØÝ Ñ/Ô/Ø&Ø'ð &ñ ô ð ð øõ ð 	Kð 	Kð 	KÝ�NŠNÐFÈÑJÔJÐJÐJÐJÐJÐJÐJøøøøð	Køøøð %Ø*ØØ"MÝ˜~Ñ.Ô.Ø'4Ø$MÐ$M¸nÐ$MÑ$MÔ$MØ#Ø'1Ø 0ð  Ò*Ð*ð .Ð-à6Ø`ÐT^Ð`Ð`Ø7Ø(ðð ð	ð "Ý"œ,¥x¤|Ñ4Ô4×>Ò>Ñ@Ô@ð-
ð 
ð 	
s   Æ>(G' Ç'
HÇ1HÈHc               ó\  K  — ddl }ddl}ddl}ddl}	ddl}
ddlm} ddlm}m}m	} d |j
        ¦   «                              d¦  «        › d |	j        ¦   «         j        dd…                              ¦   «         › �} |j        ¦   «         } |
j        d	|d
dœ¦  «        dz   W V — d„ | j                             ¦   «         D ¦   «         }|                      ||||¬¦  «        ƒ d{V —†} |
j        d|dœ¦  «        dz   W V — g }|||i dœ}d}t'          |d¦  «        D �]Ù\  }}|d         }|                     |i ¦  «        }|                     dd¦  «        }|                     dd¦  «        } |
j        d|||d         |d         |                     dd¦  «        dœ¦  «        dz   W V —  |j        ¦   «         }| j        | j        | j        | j        | j        | j        g}d|d         › d|d         › d |                     dd¦  «        › �}|                     d¦  «        d!k    r|d"z  }	 |                     d#¦  «        }|                     d$i ¦  «        } d}!|d%k    r|                     d¦  «        d!k    rd&d'i}!nx|rvt7          | |¦  «        rf	 t9          | |¦  «        }"|                     |"¦  «        r |"dbi | ¤Žƒ d{V —†}!n |"dbi | ¤Ž}!n(# t<          $ r}#d&t?          |#¦  «        i}!Y d}#~#nd}#~#ww xY wd(|› d�}$|$d)|                     dd*¦  «        › d�z  }$|r	|$d+|› d�z  }$|!r*|$d,|› d- |
j        |!d.¬/¦  «        dd0…         › d�z  }$|$d1z  }$n|$d2z  }$|                      d3¦  «        ƒ d{V —† d4|d5œd6|$d5œg}%| j!         "                    |%|d7¬8¦  «        ƒ d{V —†}&d9|&d:œ}'|!rt?          |!¦  «        dd;…         |'d<<   |&}|                     d#¦  «        i |'d=d9d>œg}(|                     dd¦  «        })d?|&› �}*n8# t<          $ r+}#g }(|                     dd¦  «        })d@dAi}'dB|#› �}*Y d}#~#nd}#~#ww xY wtG           |j        ¦   «         |z
  dC¦  «        }+|||d         |d         |› dD|› �|)|(tI          |*¦  «        dEk    r|*ddE…         dFz   n|*|'dGœdH|+|'                     dId¦  «        dJœ},| %                    |,¦  «         |'|dK         |<    |
j        dL|,dMœ¦  «        dz   W V — |                      dN¦  «        ƒ d{V —† �ŒÛ |
j        dOdPdQœ¦  «        dz   W V — |  &                    ||¬R¦  «        ƒ d{V —†}-|  '                    |||||-¬S¦  «        ƒ d{V —†}.tG           |j        ¦   «         |z
  dC¦  «        }/	 |  (                    |||tI          |¦  «        |/|.¬T¦  «         n# t<          $ r Y nw xY w	 ddl)}0dU}1| *                    |1dV¬W¦  «         |0 +                    dXdY|¦  «        }2 |j
        ¦   «                              dZ¦  «        }3|2› dY|3› d[�}4tY          |j-         .                    |1|4¦  «        d\d]¬^¦  «        5 }5|5 /                    |.¦  «         ddd¦  «         n# 1 swxY w Y   n4# t<          $ r'}#t`           1                    d_|#› �¦  «         Y d}#~#nd}#~#ww xY w |
j        d`|.|/|daœ¦  «        dz   W V — dS )cu[   Thá»±c thi nhiá»‡m vá»¥ tá»± trá»‹ Multi-Agent tuáº§n tá»± vá»›i luá»“ng sá»± kiá»‡n (SSE).r   N)r   r/   r   r   r   r   ÚMISSION_STARTu   Ä�ang phÃ¢n rÃ£ DAG...)rš   r(   Úmessageú
c                ó    — i | ]}|d          |“ŒS r   r   r    s     r#   r$   zEDeepSeekMissionRunnerMixin.execute_mission_stream.<locals>.<dictcomp>  s   € Ð`Ð`Ð`¨q˜˜,œ¨Ð`Ð`Ð`r%   r&   ÚDAG_DECOMPOSED)rš   r�   r'   r9   r   r   r+   r,   r-   r.   Ú
STEP_STARTr4   r6   r8   )rš   rW   r   r4   r6   r8   r3   r5   r7   r:   r;   rF   Ú	tool_argsÚtool_write_erp_ledgerro   uÌ   PERMISSION DENIED: Chá»‰ cÃ³ Thuá»· (Trá»£ lÃ½ GiÃ¡m Ä‘á»‘c) má»›i cÃ³ quyá»�n ghi dá»¯ liá»‡u (chuáº©n y) vÃ o CSDL ERP sau khi tá»•ng há»£p. Vui lÃ²ng yÃªu cáº§u Thuá»· thá»±c hiá»‡n hÃ nh Ä‘á»™ng nÃ y!u.   Nhiá»‡m vá»¥ tá»•ng thá»ƒ cá»§a toÃ n Ä‘á»™i: u5   
CHá»ˆ Ä�áº O Cá»¤ THá»‚ CHO Báº N á»ž BÆ¯á»šC NÃ€Y:
u9   HÃ£y hoÃ n thÃ nh pháº§n viá»‡c chuyÃªn mÃ´n cá»§a báº¡n.uO   
Káº¿t quáº£ tá»« Agent trÆ°á»›c Ä‘Ã³ (Ground Truth Ä‘á»ƒ báº¡n tiáº¿p ná»‘i):
u;   
Dá»¯ liá»‡u thá»±c táº¿ tá»« há»‡ thá»‘ng (qua cÃ´ng cá»¥ z):
F)Úensure_asciiiÐ  u^   
HÃ£y thá»±c hiá»‡n pháº§n viá»‡c Ä‘Æ°á»£c giao á»Ÿ trÃªn dá»±a trÃªn dá»¯ liá»‡u tháº­t nÃ y.u_   
HÃ£y thá»±c hiá»‡n pháº§n viá»‡c Ä‘Æ°á»£c giao á»Ÿ trÃªn dá»±a trÃªn dá»¯ liá»‡u Ground Truth.g      ð?Úsystem)ÚroleÚcontentÚusergffffffæ?)Úmessagesr>   ÚtemperaturerG   rH   iô  Útool_data_snippetg     à…@rL   uJ   Ä�Ã£ nháº­n Context tá»« nhiá»‡m vá»¥ trÆ°á»›c vÃ  xá»­ lÃ½. Káº¿t quáº£:
rI   rP   u   Lá»—i thá»±c thi: rQ   rR   éÈ   z...rS   rV   rJ   )rW   r   r4   r6   rX   rY   rZ   r[   rI   r\   rJ   r)   ÚSTEP_COMPLETE)rš   Ústepg      à?ÚSYNTHESIS_STARTu   Ä�ang tá»•ng há»£p bÃ¡o cÃ¡o...)rš   rÅ   r‹   rŽ   r�   zstorage/secure_vault/reportsT)Úexist_okz[^a-zA-Z0-9_\-\u00C0-\u017F]Ú_z%Y%m%d_%H%M%Sz.mdÚwzutf-8)Úencodingu"   Lá»—i khi lÆ°u bÃ¡o cÃ¡o ra file: ÚMISSION_COMPLETE)rš   r¢   rŸ   r(   r   )2r¯   rb   ra   r§   Újsonr   rc   r0   r1   r2   r¥   r¦   r¨   r©   rª   Údumpsr¬   r­   r®   r°   r`   rd   re   rf   rg   rh   ri   ÚhasattrÚgetattrÚiscoroutinefunctionrm   r   ÚsleepÚ
llm_clientrk   rp   r·   r³   r´   rµ   r¶   ÚreÚmakedirsÚsubÚopenÚpathÚjoinÚwritern   ro   )6rƒ   r   r   r   r   r   r¯   rb   ra   r§   rÝ   r   r0   r1   r2   r(   r»   r‚   r¼   r½   rŒ   Úprevious_outputrq   rr   r]   rs   r+   r-   rt   rA   r@   rM   rÊ   Ú	tool_dataÚ	tool_funcr€   Úcontext_msgrÑ   r|   r^   r}   r~   r   r�   r_   r�   r¢   rÁ   rä   Ú
report_dirÚ
safe_titleÚ	timestampÚfilenameÚfs6                                                         r#   Úexecute_mission_streamz1DeepSeekMissionRunnerMixin.execute_mission_streamì   sÈ
  è è € ð 	ˆˆˆØˆ	ˆ	ˆ	ØˆˆˆØˆˆˆØˆˆˆØ%Ð%Ð%Ð%Ð%Ð%ØVÐVÐVÐVÐVÐVÐVÐVÐVÐVà^˜L˜HœL™NœN×3Ò3°HÑ=Ô=Ð^Ð^À
ÀÄ
ÁÄÔ@PÐQSÐRSÐQSÔ@T×@ZÒ@ZÑ@\Ô@\Ð^Ð^ˆ
Ø�T”Y‘[”[ˆ
àˆdŒj /ÀÐXpÐqÐqÑrÔrÐuyÑyÐyÐyÐyÐyà`Ð`°DÔ4H×4]Ò4]Ñ4_Ô4_Ð`Ñ`Ô`ˆð "&×!>Ò!>Ø'Ø)ØØ/ð	 "?ñ "
ô "
ð 
ð 
ð 
ð 
ð 
ð 
Ðð ˆdŒjÐ"2Ð=MÐNÐNÑOÔOÐRVÑVÐVÐVÐVÐVàˆà$Ø*ØØ$&ð	
ð 
ˆð ˆõ 'Ð'7¸Ñ;Ô;ð u	%ñ u	%‰MˆC�Ø˜LÔ)ˆDØ$×(Ò(¨¨rÑ2Ô2ˆIØ"Ÿš |Ð5GÑHÔHˆJØ —}’} ZÐ1BÑCÔCˆHà�$”*Ø$Ø!Ø"Ø& |Ô4Ø& |Ô4Ø%Ÿ\š\¨+°rÑ:Ô:ðð ñ ô ð ñð ð ð ð ð #˜œ™œˆJàÔ*ØÔ1ØÔ1ØÔ-ØÔ2ØÔ+ðˆEð "Q¨h°|Ô.Dð  "Qð  "QÈÐQ]ÔH^ð  "Qð  "QÐqy×q}Òq}ð  Jð  LNñ  rOô  rOð  "Qð  "QÐà�|Š|˜LÑ)Ô)¨VÒ3Ð3Ø"ð  'ñ  Ð"ð=8à$ŸLšL¨Ñ8Ô8�	Ø$ŸLšL¨°bÑ9Ô9�	Ø �	ð Ð 7Ò7Ð7¸H¿LºLÈÑ<VÔ<VÐZ`Ò<`Ð<`Ø!(ð  +yð  !z�I�IØð 	6¥7¨4°Ñ#;Ô#;ð 	6ð6Ý$+¨D°)Ñ$<Ô$<˜	à"×6Ò6°yÑAÔAð ?Ø.7¨iÐ.DÐ.D¸)Ð.DÐ.DÐ(DÐ(DÐ(DÐ(DÐ(DÐ(D˜I˜Ià(1¨	Ð(>Ð(>°IÐ(>Ð(>˜IøøÝ$ð 6ð 6ð 6Ø%,­c°!©f¬fÐ$5˜	˜	˜	˜	˜	˜	øøøøð6øøøð bÈ~ÐaÐaÐa�Øð   tÐYa×YeÒYeÐfqð  toñ  Zpô  Zpð   tð   tð   tñ  t�à"ð KØð  $Kð  xGð  $Kð  $Kð  $Kñ  K�Kàð GØð  $fÐbkð  $fð  $fÐq{ÐquÔq{ð  }Fð  UZð  r[ñ  r[ô  r[ð  \að  ]að  \aô  rbð  $fð  $fð  $fñ  f�KØð  $Fñ  F�K�Kàð  $Gñ  G�Kà—m’m CÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ð &Ð2DÐEÐEØ#°Ð<Ð<ð�ð %)¤O×$8Ò$8À(ÐR\ÐjmÐ$8Ñ$nÔ$nÐnÐnÐnÐnÐnÐn�à&/ÀÐMÐM�Øð IÝ47¸	±N´NÀ4ÀCÀ4Ô4H�HÐ0Ñ1à"-�ð "*§¢¨nÑ!=Ô!=Ø"$Ø#+Ø).Ø'ð!ð !ð  �ð "*§¢¨k¸2Ñ!>Ô!>�ØzÐmxÐzÐz��øåð 8ð 8ð 8Ø!�Ø!)§¢¨k¸2Ñ!>Ô!>�Ø$ gÐ.�Ø7°AÐ7Ð7������øøøøð	8øøøõ " ) $¤)¡+¤+°
Ñ":¸AÑ>Ô>ˆMà!Ø"Ø& |Ô4Ø& |Ô4Ø!)Ð8Ð8¨JÐ8Ð8Ø%3Ø*å=@ÀÑ=NÔ=NÐQTÒ=TÐ=T˜|¨D¨S¨DÔ1°EÑ9Ð9ÐZfØ$ð ð  ð &Ø%2Ø (§¢¨^¸RÑ @Ô @ðð ˆMð  ×!Ò! -Ñ0Ô0Ð0Ø<DˆOÐ2Ô3°DÑ9à�$”*Ø'Ø%ðð ñ ô ð ñð ð ð ð ð
 —-’- Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ñ$àˆdŒjÐ"3Ð@aÐbÐbÑcÔcÐfjÑjÐjÐjÐjÐjà×4Ò4À_Ð\jÐ4ÑkÔkÐkÐkÐkÐkÐkÐkˆ
Ø!%×!BÒ!BØ!°ÀvØ ¨Zð "Cñ "
ô "
ð 
ð 
ð 
ð 
ð 
ð 
Ðõ
 ˜i˜dœi™kœk¨JÑ6¸Ñ:Ô:ˆð	Ø×%Ò%Ø%°]È6Ý Ñ/Ô/¸-ÐP`ð &ñ ô ð ð øõ ð 	ð 	ð 	ØˆDð	øøøð	CØˆIˆIˆIØ7ˆJØ�KŠK˜
¨TˆKÑ2Ô2Ð2àŸšÐ ?ÀÀmÑTÔTˆJØ$˜œ™œ×/Ò/°Ñ@Ô@ˆIØ$Ð5Ð5 yÐ5Ð5Ð5ˆHå�b”g—l’l :¨xÑ8Ô8¸#ÈÐPÑPÔPð *ÐTUØ—’Ð(Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *øøåð 	Cð 	Cð 	CÝ�LŠLÐA¸aÐAÐAÑBÔBÐBÐBÐBÐBÐBÐBøøøøð	Cøøøð ˆdŒjØ&Ø 0Ø'4Ø$ð	
ð 
ñ ô ð
 ñð 	ð 	ð 	ð 	ð 	ð 	s“   È&A#O1Ê
<KËO1Ë
K,ËK'Ë"O1Ë'K,Ë,DO1Ï1
P&Ï;!P!Ð!P&Õ,(V Ö
V"Ö!V"Ö&B	Y Ø/YÙY ÙYÙY ÙYÙY Ù
ZÙ'Z	Ú	Z)Nr   T)r   r   r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rÂ   rô   r   r%   r#   r   r      so   € € € € € Ø+Ð+ð )-ØØ'+ðV
ð V
ð V
ð V
ð V
ðx )-ØØ'+ðIð Ið Ið Ið Ið Ið Ir%   r   )Ú
__future__r   rÝ   Úloggingra   r§   r   r   Útypingr   Úfastapi.encodersr   Úmission_stepsr	   Ú	getLoggerrn   r   r   r%   r#   ú<module>rÿ      sÛ   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø €€€Ø €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð à -Ð -Ð -Ð -Ð -Ð -à 4Ð 4Ð 4Ð 4Ð 4Ð 4à	ˆÔ	Ð3Ñ	4Ô	4€ðdð dð dð dð dÐ!:ñ dô dð dð dð dr%   