+
    NV-j¥  ã                  ó,  a € 0 t $ R t^ RIHt ^ RIHtHtHtHt ^ RI	H
t
HtHt ^ RIHtHt ^ RIHt RtRtR]R&    ! R R]4      t]R,          tR]R&    ! R R]4      t ! R R]4      t ! R R]]4      t ! R R	]]4      tRtR]R&    ! R R
]]4      tR# )zš!!! abstract "Usage Documentation"
    [Build a Plugin](../concepts/plugins.md#build-a-plugin)

Plugin interface for Pydantic plugins, and related types.
)Úannotations)ÚAnyÚCallableÚLiteralÚ
NamedTuple)Ú
CoreConfigÚ
CoreSchemaÚValidationError)ÚProtocolÚ	TypeAlias)ÚExtraValuesÚPydanticPluginProtocolÚBaseValidateHandlerProtocolÚValidatePythonHandlerProtocolÚValidateJsonHandlerProtocolÚValidateStringsHandlerProtocolÚNewSchemaReturnsÚSchemaTypePathÚ
SchemaKindúvtuple[ValidatePythonHandlerProtocol | None, ValidateJsonHandlerProtocol | None, ValidateStringsHandlerProtocol | None]r   c                  ó0   € ] tR t^t$ RtR]R&   R]R&   RtR# )r   zQPath defining where `schema_type` was defined, or where `TypeAdapter` was called.ÚstrÚmoduleÚname© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r   ó    Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pydantic/plugin/__init__.pyr   r      s   ‡ Ù[àƒKØ
‡Ir"   c                  ó&   € ] tR t^(tRtR R ltRtR# )r   z5Protocol defining the interface for Pydantic plugins.c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )é   Úschemar   Úschema_typer   Úschema_type_pathr   Úschema_kindr   ÚconfigzCoreConfig | NoneÚplugin_settingszdict[str, object]Úreturnr   r   )Úformats   "r#   Ú__annotate__Ú#PydanticPluginProtocol.__annotate__+   sY   € ÷ _ñ _àð_ð ð_ð )ð	_ð
  ð_ð "ð_ð +ð_ð
ñ_r"   c                ó   € \        R4      h)a  This method is called for each plugin every time a new [`SchemaValidator`][pydantic_core.SchemaValidator]
is created.

It should return an event handler for each of the three validation methods, or `None` if the plugin does not
implement that method.

Args:
    schema: The schema to validate against.
    schema_type: The original type which the schema was created from, e.g. the model class.
    schema_type_path: Path defining where `schema_type` was defined, or where `TypeAdapter` was called.
    schema_kind: The kind of schema to validate against.
    config: The config to use for validation.
    plugin_settings: Any plugin settings.

Returns:
    A tuple of optional event handlers for each of the three validation methods -
        `validate_python`, `validate_json`, `validate_strings`.
z9Pydantic plugins should implement `new_schema_validator`.)ÚNotImplementedError)Úselfr'   r(   r)   r*   r+   r,   s   &&&&&&&r#   Únew_schema_validatorÚ+PydanticPluginProtocol.new_schema_validator+   s   € ô: "Ð"]Ó^Ð^r"   r   N)r   r   r   r   r   r4   r!   r   r"   r#   r   r   (   s   † Ù?÷_ñ _r"   c                  óL   € ] tR t^Kt$ RtR]R&    R R ltR R ltR R	 ltR
t	R# )r   z¯Base class for plugin callbacks protocols.

You shouldn't implement this protocol directly, instead use one of the subclasses with adds the correctly
typed `on_error` method.
zCallable[..., None]Úon_enterc               ó    € V ^8„  d   QhRRRR/# )r&   Úresultr   r-   ÚNoner   )r.   s   "r#   r/   Ú(BaseValidateHandlerProtocol.__annotate__U   s   € ÷ ñ  ð ¨ñ r"   c                ó   € R# )zcCallback to be notified of successful validation.

Args:
    result: The result of the validation.
Nr   )r3   r9   s   &&r#   Ú
on_successÚ&BaseValidateHandlerProtocol.on_successU   ó   € ñ 	r"   c               ó    € V ^8„  d   QhRRRR/# )r&   Úerrorr	   r-   r:   r   )r.   s   "r#   r/   r;   ]   s   € ÷ ñ ˜oð °$ñ r"   c                ó   € R# )zVCallback to be notified of validation errors.

Args:
    error: The validation error.
Nr   )r3   rA   s   &&r#   Úon_errorÚ$BaseValidateHandlerProtocol.on_error]   r?   r"   c               ó    € V ^8„  d   QhRRRR/# )r&   Ú	exceptionÚ	Exceptionr-   r:   r   )r.   s   "r#   r/   r;   e   s   € ÷ ñ  ið °Dñ r"   c                ó   € R# )zpCallback to be notified of validation exceptions.

Args:
    exception: The exception raised during validation.
Nr   )r3   rF   s   &&r#   Úon_exceptionÚ(BaseValidateHandlerProtocol.on_exceptione   r?   r"   r   N)
r   r   r   r   r   r    r=   rC   rI   r!   r   r"   r#   r   r   K   s&   ‡ ñð "Ó!ØEõõ÷ñ r"   c                  óF   € ] tR t^ntRtRRRRRRRRRRRRR	R/R
 R lltRtR# )r   z4Event handler for `SchemaValidator.validate_python`.ÚstrictNÚextraÚfrom_attributesÚcontextÚself_instanceÚby_aliasÚby_namec               ó<   € V ^8„  d   QhRRRRRRRRRR	R
R	RRRRRR/	# )r&   Úinputr   rL   úbool | NonerM   úExtraValues | NonerN   rO   ú
Any | NonerP   rQ   rR   r-   r:   r   )r.   s   "r#   r/   Ú*ValidatePythonHandlerProtocol.__annotate__q   sd   € ÷ ñ àðð ð	ð
 "ðð %ðð ðð "ðð ðð ðð 
ñr"   c               ó   € R# )a  Callback to be notified of validation start, and create an instance of the event handler.

Args:
    input: The input to be validated.
    strict: Whether to validate the object in strict mode.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
    from_attributes: Whether to validate objects as inputs by extracting attributes.
    context: The context to use for validation, this is passed to functional validators.
    self_instance: An instance of a model to set attributes on from validation, this is used when running
        validation from the `__init__` method of a model.
    by_alias: Whether to use the field's alias to match the input data to an attribute.
    by_name: Whether to use the field's name to match the input data to an attribute.
Nr   )	r3   rT   rL   rM   rN   rO   rP   rQ   rR   s	   &&$$$$$$$r#   r7   Ú&ValidatePythonHandlerProtocol.on_enterq   ó   ‚ r"   r   ©r   r   r   r   r   r7   r!   r   r"   r#   r   r   n   sU   † Ù>ðð #ð	ð
 %)ðð (,ðð #ðð %)ðð !%ðð  $÷ó r"   c                  óB   € ] tR t^ŒtRtRRRRRRRRRRRR/R	 R
 lltRtR# )r   z2Event handler for `SchemaValidator.validate_json`.rL   NrM   rO   rP   rQ   rR   c               ó8   € V ^8„  d   QhRRRRRRRRR	RR
RRRRR/# )r&   rT   zstr | bytes | bytearrayrL   rU   rM   rV   rO   rW   rP   rQ   rR   r-   r:   r   )r.   s   "r#   r/   Ú(ValidateJsonHandlerProtocol.__annotate__�   sZ   € ÷ ñ à&ðð ð	ð
 "ðð ðð "ðð ðð ðð 
ñr"   c               ó   € R# )aÄ  Callback to be notified of validation start, and create an instance of the event handler.

Args:
    input: The JSON data to be validated.
    strict: Whether to validate the object in strict mode.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
    context: The context to use for validation, this is passed to functional validators.
    self_instance: An instance of a model to set attributes on from validation, this is used when running
        validation from the `__init__` method of a model.
    by_alias: Whether to use the field's alias to match the input data to an attribute.
    by_name: Whether to use the field's name to match the input data to an attribute.
Nr   )r3   rT   rL   rM   rO   rP   rQ   rR   s   &&$$$$$$r#   r7   Ú$ValidateJsonHandlerProtocol.on_enter�   r[   r"   r   r\   r   r"   r#   r   r   Œ   sK   † Ù<ðð #ð	ð
 %)ðð #ðð %)ðð !%ðð  $÷ó r"   zdict[str, StringInput]ÚStringInputc            
      ó>   € ] tR t^«tRtRRRRRRRRRR/R R	 lltR
tR# )r   z5Event handler for `SchemaValidator.validate_strings`.rL   NrM   rO   rQ   rR   c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# )r&   rT   rb   rL   rU   rM   rV   rO   rW   rQ   rR   r-   r:   r   )r.   s   "r#   r/   Ú+ValidateStringsHandlerProtocol.__annotate__®   sP   € ÷ ñ àðð ð	ð
 "ðð ðð ðð ðð 
ñr"   c               ó   € R# )a"  Callback to be notified of validation start, and create an instance of the event handler.

Args:
    input: The string data to be validated.
    strict: Whether to validate the object in strict mode.
    extra: Whether to ignore, allow, or forbid extra data during model validation.
    context: The context to use for validation, this is passed to functional validators.
    by_alias: Whether to use the field's alias to match the input data to an attribute.
    by_name: Whether to use the field's name to match the input data to an attribute.
Nr   )r3   rT   rL   rM   rO   rQ   rR   s   &&$$$$$r#   r7   Ú'ValidateStringsHandlerProtocol.on_enter®   r[   r"   r   r\   r   r"   r#   r   r   «   sA   † Ù?ðð #ð	ð
 %)ðð #ðð !%ðð  $÷ó r"   N)r   r   r   r   r   r   r   r   )Ú	BaseModelÚTypeAdapterÚ	dataclassÚcreate_modelÚvalidate_call)Ú__conditional_annotations__r   Ú
__future__r   Útypingr   r   r   r   Úpydantic_corer   r   r	   Útyping_extensionsr
   r   Úpydantic.configr   Ú__all__r   r    r   r   r   r   r   r   rb   r   )rm   s   @r#   Ú<module>rt      s­   øðôõ #ç 5Ó 5ç AÑ Aß 1å 'ð	€ð WÐ �)ó  Wô�Zô ð  Ð hÕi€
ˆIÓ iô _˜Xô  _ôF  (ô  ôFÐ$?Àô ô<Ð"=¸xô ð8 2€ˆYÓ 1ôÐ%@À(ö r"   