o
    ¡iö  ã                   @  sŒ   d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZmZmZ g d	¢Zd
S )aŸ  
nexusrpc is a library for building Nexus handlers.

See https://github.com/nexus-rpc and https://github.com/nexus-rpc/api/blob/main/SPEC.md.

Nexus is a synchronous RPC protocol. Arbitrary duration operations are modeled on top of
a set of pre-defined synchronous RPCs.

A Nexus caller calls a handler. The handler may respond inline (synchronous response) or
return a token referencing the ongoing operation (asynchronous response). The caller can
cancel an asynchronous operation, check for its outcome, or fetch its current state. The
caller can also specify a callback URL, which the handler uses to deliver the result of
an asynchronous operation when it is ready.
é    )Úannotationsé   )Úhandler)	ÚHandlerErrorÚHandlerErrorTypeÚInputTÚLinkÚOperationErrorÚOperationErrorStateÚOperationInfoÚOperationStateÚOutputT)ÚContentÚ	LazyValue)Ú	OperationÚServiceDefinitionÚservice)Úget_operation_definitionÚget_service_definitionÚset_operation_definition)r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   N)Ú__doc__Ú
__future__r   Ú r   Ú_commonr   r   r   r   r	   r
   r   r   r   Ú_serializerr   r   Ú_servicer   r   r   Ú_utilr   r   r   Ú__all__© r   r   úW/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/nexusrpc/__init__.pyÚ<module>   s    ,