
    /i                     b    S SK r S SKrS SKrS SKJr   S SKr " S S5      rg! \ a    Sr Nf = f)    N)datetimec                   .    \ rS rSrSS jrSS jrS rSrg)		RLMWorker   c                     Xl         X l        SU l        [        R                  " S5      U l        [        (       a5  U R
                  (       a$  [        R                  " U R
                  S9U l        g S U l        g )Nzclaude-3-5-sonnet-20241022ANTHROPIC_API_KEY)api_key)		worker_id	specialtymodelosgetenvr	   	anthropic	Anthropicclient)selfr
   r   s      $e:\genesis-system\AIVA\rlm_worker.py__init__RLMWorker.__init__   sL    ""1
yy!459#--dllCDKDK    Nc                    [         R                   " 5       nU R                  (       d#  SU SU R                   3n[        SSSSS.5      nOiU(       a  SU S	U 3OUnU R                  R                  R                  U R                  S
SUS./S9nUR                  S   R                  nUR                  nU R                  U R                  U R                  [        R                  " 5       R                  5       [         R                   " 5       U-
  UR                  UR                  [         R"                  " UR%                  5       5      R'                  5       U R)                  U5      S.	nXH4$ )z)Execute task and return output + metadataz[MOCK] Result of z from Usage d   2   input_tokensoutput_tokensz	Context: z

Task: i   user)rolecontent)r   
max_tokensmessagesr   )	r
   r   r   	timestampexecution_timer   r   output_hashcost_usd)timer   r
   typer#   creater   r!   textusager   r   utcnow	isoformatr   r   hashlibsha256encode	hexdigest_calculate_cost)	r   task_descriptioncontext
start_timeoutputr,   messageresponsemetadatas	            r   execute_taskRLMWorker.execute_task   s7   YY[
{{()9(:&@PQF"sR&PQE LS	'*5E4FGXhG{{++22jj#)g>? 3 H
 %%a(--FNNE ZZ!*446"iikJ6!.."00">>&--/:DDF,,U3

 r   c                 L    UR                   S-  S-  UR                  S-  S-  -   $ )N   i@B    r   )r   r,   s     r   r3   RLMWorker._calculate_cost;   s.    ""Q&2u7J7JR7OR[7[\\r   )r	   r   r   r   r
   )general)N)__name__
__module____qualname____firstlineno__r   r;   r3   __static_attributes__r   r   r   r   r      s    
 B]r   r   )r   r(   r/   r   r   ImportErrorr   r   r   r   <module>rH      s;    	   0] 0]  Is   # ..