
    DjE                        d dl mZ d dlmZmZ d dlmZ d dlmZ d dlZd dl	Z	 ed          Z
ddZddZddZddZe
ddddZdS )    )annotations)datetimetimezone)Path)AnyNzO/home/agent/jarvis_runtime/finance-system/crypto_trader/trader_desk_latest.jsonpartsr   returnstrc                     d                     d | D                       }t          j        |                    d                                                    d d         S )N|c              3  4   K   | ]}t          |          V  d S )N)r
   ).0parts     !src/trader_desk/finance_bridge.py	<genexpr>z_stable_id.<locals>.<genexpr>   s(      //3t99//////    utf-8   )joinhashlibsha256encode	hexdigest)r   raws     r   
_stable_idr      sS    
((/////
/
/C>#**W--..88::3B3??r   pathr   payloaddict[str, Any]Nonec                   | j                             dd           |                     | j        dz             }|                    t          j        |ddt                    d           |                    |            d S )NTparentsexist_okz.tmp   )indent	sort_keysdefaultr   encoding)	parentmkdirwith_suffixsuffix
write_textjsondumpsr
   replace)r   r   tmps      r   _write_jsonr3      sy    KdT222


4;/
0
0CNN4:ga4MMMX_N```KKr   c                   | j                             dd           |                    d          pi }ddd|                    d           dddd	d
dt          |                    d                                                     dt          |                    d                                                     dddddd|                    dd           d|                    dd           d|                    dd           d|                    dd           dddg}|                    dg           D ]!}|                    d|                    d           d |                    d!           dd"|                    d#           d$d%|                    d&           d$d'|                    d(           d$d)|                    d*           d$d+|                    d,           d$d-|                    d.           d$d/|                    d0           d$d1|                    d2           d$d3|                    d4          pg  d$dg           #|                     d5                    |          d67           d S )8NTr!   summaryz# JARVIS Trader Desk zGenerated: generated_atz	## Safetyz```textzexecution_allowed=falsezlive_order_allowed=live_order_allowedzmainnet_signed_action=mainnet_signed_actionzdashboard_executes_orders=falsez```z
## Summaryz- Tiny candidates: tiny_live_candidatesr   z- Shadow/watch: watch_shadowz- Blocked: blockedz- Next step: 	next_step-z## Trade intentstrade_intentsz### coinu    — signalz- Intent ID: `	intent_id`z	- Mode: `modez	- Side: `sidez
- Score: `confidence_scorez- Status: `statusz
- Entry: `
entry_zonez	- Stop: `	stop_lossz- TP: `take_profitz- Blockers: `blockers
r   r(   )r*   r+   getr
   lowerextendr.   r   )r   r   r5   linesintents        r   _write_markdownrR      s   KdT222kk)$$*G
3gkk.1133

!Nc'++.B"C"CDDJJLLNNTW[[1H%I%I!J!J!P!P!R!RTT)

Fgkk*@!DDFF;7;;~q99;;1gkk)Q//117K5577

-E0 ++or22  B6::f%%BBFJJx,@,@BB7VZZ44777-

6**----

6**---:$677:::1&**X..1114L114442

;//2222fjj//222;FJJz228b;;;
 	 	 	 	 	OODIIe$$wO77777r   trader_desk_payloadc                2   |                      d          p| }|                     d          pg }t          |                     d          p/t          j        t          j                                                            }g }|D ]#}t          |                     d          pd                                          }t          |                     d          pd          }t          |                     d          pd	          }t          |d
||||                     d          |                     d                    }	|dk    rdn	|dk    rdnd}
|	                    i d|	ddddddd|d|d|d|d|
d|dk    rdn|dt          |                     d          pd           d|                     d          d!|                     d!          pi d"|                     d"          d#|                     d#          pi d$|                     d$          d%|                     d%          |                     d&          pi |                     d'          pg |                     d(          pg t          |                     d)d*                    d+d+d+d+|d,d-
           %d.t          j        t          j                                                  |dd/d0d1d2d+d*d*d+d+d+d3|                     d4          pi |                     d5          |d+d+d6
S )7Nreportplans	timestampr@   UNKNOWNactionno_trade	directionnoneztrader_desk.v1scoresetuptiny_live_candidateapprovalr;   researchzlive-blockedrB   portfolio_idzhyperliquid-usdc-derivativessource_enginejarvis_trader_desk_v1strategy_idtrader_desk_multi_signal_v1assetrE   rA   rD   rG   awaiting_final_preflightrF   z0.00rH   rI   rJ   risk_rewardnotional_cap_usdcevidencereasonsrK   requires_preflightTFi  )
rk   rl   rK   rm   execution_alloweddashboard_executes_ordersr8   r9   intent_created_atexpires_after_secondsz$finance_crypto_trader_desk_bridge.v1HyperliquidUSDCderivatives_margin_trading)rb   venuebase_currencyportfolio_type)ro   approval_is_audit_onlytrader_must_recheck_gatesrn   r8   r9   r5   market_regime)
schema_versionr7   source_report_timestamp	portfoliosafety_boundaryr5   rz   r?   r8   r9   )rM   r
   r   nowr   utc	isoformatupperr   appendbool)rS   rU   rV   rW   r?   planr@   rY   rE   rB   rD   s              r   trader_desk_to_finance_snapshotr   E   s    $$X..E2EFJJw%2EFJJ{++Ux|HL/I/I/S/S/U/UVVI*,M " "488F##0y117799TXXh''5:66488K((2F33y*:D&$PTPXPXY`PaPacgckcklsctctuu	#'<<<zzPVZhPhPh**n| 

:
 4
 8	

 D
 T
 D
 f
 D
 F>S4S4S00Y_
 DHHW$5$5$? @ @
 TXXg&&
 $((<006B
 +..
 488M228b
  488M22!
"  *=!>!>#
$ ,,2xx	**0b,,2"&txx0Dd'K'K"L"L!&)."'%*!*%(7
 
 
 	 	 	 	< A X\22<<>>#,:"#:	
 
 */&*)-!&"'%*
 
 ::i((.BO44&#!&-  r   )targetmarkdown_targetr   
str | Pathr   str | Path | Nonec          	        t          |                                          }t          |           }t          ||           |r!t          |                                          n|                    d          }t          ||           dt          |          t          |          t          |d                   ddd|dS )Nz.mdokr?   F)rG   r   r   intent_countrn   r8   r9   snapshot)r   
expanduserr   r3   r,   rR   r
   len)rS   r   r   target_pathr   md_paths         r   export_finance_snapshotr      s    v,,))++K./BCCHX&&&4Cgd?##..000I`I`afIgIgGGX&&&k""w<<H_566"#!&	 	 	r   )r   r   r	   r
   )r   r   r   r   r	   r   )rS   r   r	   r   )rS   r   r   r   r   r   r	   r   )
__future__r   r   r   pathlibr   typingr   r   r/   SAFE_DEFAULT_TARGETr   r3   rR   r   r    r   r   <module>r      s   " " " " " " ' ' ' ' ' ' ' '              dlmm @ @ @ @
   *8 *8 *8 *8Z? ? ? ?D Zm  TX        r   