§
    éŽ’jø  ã                   ó˜   — U d Z ddlmZ ddlmZ dddddd	d
ddddddœZeeef         e	d<    e
d¦  «        Ze
e         e	d<   dedefd„ZdS )z7Utilities for JSON Schema normalization and conversion.é    )ÚAny)ÚtypesÚanyOfÚoneOfÚallOfÚadditionalPropertiesÚpatternPropertiesÚminItemsÚmaxItemsÚ	minLengthÚ	maxLengthÚminPropertiesÚmaxPropertiesÚuniqueItems)Úany_ofÚone_ofÚall_ofÚadditional_propertiesÚpattern_propertiesÚ	min_itemsÚ	max_itemsÚ
min_lengthÚ
max_lengthÚmin_propertiesÚmax_propertiesÚunique_itemsÚ_SCHEMA_KEYWORD_MAP)ÚSTRINGÚNUMBERÚINTEGERÚBOOLEANÚARRAYÚOBJECTÚNULLÚ_UPPERCASE_TYPESÚschemaÚreturnc                 óî  — t          | t          ¦  «        �rQi }|                      ¦   «         D �]7\  }}t                               ||¦  «        }|dk    r£t          |t
          ¦  «        r|                     ¦   «         ||<   ŒTt          |t          t          f¦  «        rd„ |D ¦   «         ||<   Œ€t          |t          j
        ¦  «        r|j                             ¦   «         ||<   Œ·t          |¦  «        ||<   ŒÊ|dv rLt          |t          ¦  «        r#d„ |                     ¦   «         D ¦   «         ||<   �Œt          |¦  «        ||<   �Œ|dv r|||<   �Œ%t          |¦  «        ||<   �Œ9|S t          | t          t          f¦  «        rd„ | D ¦   «         S t          | t          j
        ¦  «        r| j                             ¦   «         S t          | t
          ¦  «        r| t          v r|                      ¦   «         S | S )aÝ  Recursively normalizes JSON Schema dictionaries for universal model compatibility.

  Converts uppercase GenAI/Protobuf type names to lowercase strings, converts
  snake_case JSON Schema keywords to camelCase (e.g. `any_of` -> `anyOf`),
  and preserves literal values (`enum`, `const`, `default`).

  Args:
      schema: The raw schema dictionary, list, string, or GenAI Type enum.

  Returns:
      A normalized JSON Schema object compatible with strict OpenAPI validators.
  Útypec                 ó,   — g | ]}t          |¦  «        ‘ŒS © ©Únormalize_schema©Ú.0Úitems     úSC:\Projects\DSCons\.venv\Lib\site-packages\google\antigravity\tools\schema_utils.pyú
<listcomp>z$normalize_schema.<locals>.<listcomp>D   s!   € Ð@Ð@Ð@°dÕ+¨DÑ1Ô1Ð@Ð@Ð@ó    )Ú
propertiesr	   z$defsÚdefinitionsc                 ó4   — i | ]\  }}|t          |¦  «        “ŒS r+   r,   )r/   ÚpkÚpvs      r1   ú
<dictcomp>z$normalize_schema.<locals>.<dictcomp>K   s'   € ÐLÐLÐL¹¸¸B˜2Õ/°Ñ3Ô3ÐLÐLÐLr3   )ÚenumÚconstÚdefaultc                 ó,   — g | ]}t          |¦  «        ‘ŒS r+   r,   r.   s     r1   r2   z$normalize_schema.<locals>.<listcomp>T   s!   € Ð6Ð6Ð6 tÕ˜TÑ"Ô"Ð6Ð6Ð6r3   )Ú
isinstanceÚdictÚitemsr   ÚgetÚstrÚlowerÚlistÚtupleÚgenai_typesÚTypeÚvaluer-   r%   )r&   Ú
normalizedÚkÚvs       r1   r-   r-   .   sê  € õ ��ÑÔñ Ø€JØ—’‘”ð ,ñ ,‰ˆˆ1Ý
×
!Ò
! ! QÑ
'Ô
'€aà	
ˆfŠˆÝ�a�ÑÔð 	.ØŸ'š'™)œ)ˆ*�Q‰-ˆ-Ý˜�D¥%˜=Ñ)Ô)ð 	.Ø@Ð@¸aÐ@Ñ@Ô@ˆ*�Q‰-ˆ-Ý˜�;Ô+Ñ,Ô,ð 	.Øœ'Ÿ-š-™/œ/ˆ*�Q‰-ˆ-å*¨1Ñ-Ô-ˆ*�Q‰-ˆ-ØÐKÐKÐKÝ�a�ÑÔð 	.ØLÐLÀ!Ç'Â'Á)Ä)ÐLÑLÔLˆ*�Q‰-‰-å*¨1Ñ-Ô-ˆ*�Q‰-‰-ØÐ,Ð,Ð,Øˆ
�1‰‰å(¨Ñ+Ô+ˆ
�1‰‰ØÐÝ�&�4¥˜-Ñ(Ô(ð Ø6Ð6¨vÐ6Ñ6Ô6Ð6Ý�&�+Ô*Ñ+Ô+ð ØŒ<×ÒÑÔÐÝ�&�#ÑÔð  6Õ-=Ð#=Ð#=Ø�<Š<‰>Œ>ÐØ	€-r3   N)Ú__doc__Útypingr   Úgoogle.genair   rF   r   r?   rB   Ú__annotations__Ú	frozensetr%   r-   r+   r3   r1   ú<module>rQ      sÚ   ðð >Ð =Ð =à Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -ð ØØØ3Ø-ØØØØØ%Ø%Ø!ð'ð 'Ð �T˜#˜s˜(”^ð ð ñ ð $- 9ð .ñ $ô $Ð �)˜C”.ð ð ñ ð+˜Sð + Sð +ð +ð +ð +ð +ð +r3   