
    Jbi                     >   d Z ddlmZmZ ddlmZ ddlZddlmZm	Z	m
Z
mZ ddlmZ ddlmZmZ dd	lmZ dd
lmZmZ ddlmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" ddl#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z-m.Z.m/Z/ ddl0m1Z1m2Z2 de3fdZ4 e4            Z5dZ6dZ7g dZ8dS )a  
Honcho Python SDK

A Python client library for the Honcho conversational memory platform.
Provides tools for managing peers, sessions, and conversation context
across multi-party interactions.

Usage:
    from honcho import Honcho

    # Initialize client
    client = Honcho(api_key="your-api-key")

    # Create peers
    alice = client.peer("alice")
    bob = client.peer("bob")

    # Create a session
    session = client.session("conversation-1")

    # Add peers to session
    session.add_peers([alice, bob])

    # Add messages
    session.add_messages([
        alice.message("Hello, Bob!"),
        bob.message("Hi Alice, how are you?")
    ])

    # Query conversation context
    response = alice.chat("What did Bob say to me?", session=session)

    # Async operations via .aio accessor
    peer = await client.aio.peer("user-123")
    await peer.aio.chat("query", session=session)
    async for p in client.aio.peers():
        print(p.id)
    )PackageNotFoundErrorversion)PathN   )ConclusionScopeAio	HonchoAioPeerAio
SessionAio)MessageCreateParams)PeerBaseSessionBase)Honcho)
ConclusionConclusionScope)APIErrorAuthenticationErrorBadRequestErrorConflictErrorConnectionErrorHonchoErrorNotFoundErrorPermissionDeniedErrorRateLimitErrorServerErrorTimeoutErrorUnprocessableEntityError)Message)	AsyncPageSyncPage)Peer)Session)SessionContextSessionSummariesSummary)AsyncDialecticStreamResponseDialecticStreamResponsereturnc                  n   	 t          d          S # t          $ r 	 t          t                                                    j        d         dz  } |                     d          }t          j        d|t          j	                  }|r|
                    d          cY S n# t          $ r Y nw xY wY dS w xY w)	Nz	honcho-ai   zpyproject.tomlzutf-8)encodingz^version\s*=\s*"([^"]+)"r   z0.0.0)r   r   r   __file__resolveparents	read_textresearch	MULTILINEgroupOSError)pyproject_pathpyproject_textmatchs      I/DATA/AppData/hermes/venv/lib/python3.11/site-packages/honcho/__init__.py_detect_versionr8   J   s    {### 	 	 		!(^^3355=a@CSSN+55w5GGNI9>2<XXE &{{1~~%%%& 	 	 	D	ww	s9    
B4B B B4B4 
B-*B4,B--B43B4zPlastic Labszhello@plasticlabs.ai) r   r   r   r   r   r    r!   r   r   r	   r
   r   r   r"   r#   r$   r   r   r%   r&   r   r   r   r   r   r   r   r   r   r   r   r   )9__doc__importlib.metadatar   r   pathlibr   r/   aior   r   r	   r
   	api_typesr   baser   r   clientr   conclusionsr   r   http.exceptionsr   r   r   r   r   r   r   r   r   r   r   r   messager   
paginationr   r   peerr    sessionr!   session_contextr"   r#   r$   typesr%   r&   strr8   __version__
__author__	__email____all__     r7   <module>rO      s(  % %N = < < < < < < <       				 C C C C C C C C C C C C * * * * * * ' ' ' ' ' ' ' '       4 4 4 4 4 4 4 4                                  + + + + + + + +             F F F F F F F F F F            o
"	) ) )rN   