
    Ci
                         d dl Zd dlmc mZ d dlmZ d dlZd dl	m
Z
mZ deddfdZdeddfdZdeddfdZdeddfd	Zdeddfd
ZdeddfdZdS )    N)Path)load_agent_configload_named_agentstmp_pathreturnc                    | dz  }|                     d                                d           t          |          }|j        }d}||k    }|st	          j        d|fd||f          dt          j                    v st	          j        |          rt	          j	        |          ndt	          j	        |          t	          j	        |          d	z  }d
d|iz  }t          t	          j        |                    d x}x}}d S )N	arch.yaml
name: arch
role: Architect
description: desc
system_prompt: prompt
input_schema_description: in
output_schema_description: out
input_schema: {type: object}
output_schema:
  type: object
  properties:
    response: {type: string}
  required: [response]
utf-8encodingarch==)z,%(py2)s
{%(py2)s = %(py0)s.name
} == %(py5)sconfig)py0py2py5zassert %(py7)spy7)
write_textstripr   name
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)r   pathr   @py_assert1@py_assert4@py_assert3@py_format6@py_format8s           >/root/projects/multi-agents-meeting/tests/test_agent_loader.py test_load_agent_config_from_yamlr(      s,   k!DOO	 
EGG    $ t$$F; & ;&          ;&            6     6      ;    &                                 c                     | dz  }|                     dd           t          j        t                    5  t	          |           d d d            d S # 1 swxY w Y   d S )Nzarch.txtz{}r   r   )r   pytestraises
ValueErrorr   r   r!   s     r'   4test_load_agent_config_rejects_unsupported_extensionr/   !   s    j DOOD7O+++	z	"	"    $                                   s   AAAc                     t          j        t                    5  t          | dz             d d d            d S # 1 swxY w Y   d S )Nzmissing.yaml)r+   r,   FileNotFoundErrorr   )r   s    r'   +test_load_agent_config_rejects_missing_filer2   )   s    	(	)	) 5 5(^34445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s   :>>c                     | dz  }|                     d                                d           t          j        t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Nr	   z
name: arch
role: Architect
description: desc
system_prompt: prompt
input_schema_description: in
output_schema_description: out
input_schema: {type: object}
output_schema:
  type: object
  properties:
    answer: {type: string}
  required: [answer]
r   r   )r   r   r+   r,   r-   r   r.   s     r'   9test_load_agent_config_rejects_incompatible_output_schemar4   .   s    k!DOO	 
EGG    $ 
z	"	"    $                                   s   A%%A),A)c                    | dz  }|                     d                                d           t          dg|           }t          |          }dg}||k    }|st	          j        d|fd||f          dt          j                    v st	          j        t                    rt	          j	        t                    ndd	t          j                    v st	          j        |          rt	          j	        |          nd	t	          j	        |          t	          j	        |          d
z  }dd|iz  }t          t	          j        |                    d x}x}}d S )Nr	   r
   r   r   r   r   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)slistagents)r   py1py3py6zassert %(py8)spy8)r   r   r   r6   r   r   r   r   r   r   r   r    )r   r!   r7   @py_assert2@py_assert5r#   @py_format7@py_format9s           r'   &test_load_named_agents_returns_mappingr@   F   sp   k!DOO	 
EGG    $ x22F<<#F8#<8##########<8############4#####4########################<####8#############################r)   c                    | dz  }|                     d                                d           t          |          }d}|j        d         }||v }|slt	          j        d|fd||f          t	          j        |          t	          j        |          d	z  }d
d|iz  }t          t	          j        |                    d x}x}}d}|j        d         }||v }|slt	          j        d|fd||f          t	          j        |          t	          j        |          d	z  }d
d|iz  }t          t	          j        |                    d x}x}}d S )Nzpm.yamla  
name: pm
role: PM
description: desc
system_prompt: prompt
input_schema_description: in
output_schema_description: out
input_schema: {type: object}
output_schema:
  type: object
  properties:
    analysis: {type: string}
    next_action: {type: string}
    target_agent: {type: string}
    prompt_for_agent: {type: string}
    final_report: {type: string}
  required: [analysis, next_action]
r   r   analysis
properties)in)z%(py1)s in %(py4)s)r8   py4zassert %(py6)sr:   next_action)	r   r   r   output_schemar   r   r   r   r    )r   r!   r   @py_assert0r$   r<   @py_format5r>   s           r'   -test_pm_agent_schema_matches_pmdecision_shaperJ   _   s   iDOO	" 
EGG'    , t$$F;-l;;:;;;;;;;;;;;:;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;>F0>>=>>>>>>>>>>>=>>>>>>=>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>r)   )builtinsr   _pytest.assertion.rewrite	assertionrewriter   pathlibr   r+   core.agent_loaderr   r   r(   r/   r2   r4   r@   rJ    r)   r'   <module>rR      s*                        B B B B B B B B!t ! ! ! ! !2 4  D        5$ 54 5 5 5 5
   QU        0$T $d $ $ $ $2?D ?T ? ? ? ? ? ?r)   