\xa7

    \x9e\x8aj\x9a  \xe3                  \xf3\x92   \x97 d dl mZ d dlZd dlmZ erd dlmZ d dlmZ d dl	m
Z
mZmZ  ej
        e\xa6  \xab        Z G d\x84 de\xa6  \xab        ZdS )	\xe9    )\xdaannotationsN)\xda
TYPE_CHECKING)\xdaServerCallContext)\xda	TaskStore)\xdaListTasksRequest\xdaListTasksResponse\xdaTaskc                  \xf3:   \x97 e Zd ZdZdd\x84Zdd\x84Zdd\x84Zdd\x84Zdd\x84ZdS )\xdaCopyingTaskStoreAdaptera   An adapter that ensures deep copies of tasks are passed to and returned from the underlying TaskStore.

    This prevents accidental shared mutable state bugs where code modifies a Task object
    retrieved from the store without explicitly saving it, which hides missing save calls.
    \xdaunderlying_storer   c                \xf3   \x97 || _         d S )N)\xda_store)\xdaselfr   s     \xfaOF:\devenv\cmdbox\.venv\Lib\site-packages\a2a/server/tasks/copying_task_store.py\xda__init__z CopyingTaskStoreAdapter.__init__   s
   \x80 \xd8&\x88\x8c\x88\x88\xf3    \xdataskr	   \xdacontextr   \xdareturn\xdaNonec              \x83  \xf3\x92   K  \x97 t          \xa6   \xab         }|\xa0                    |\xa6  \xab         | j        \xa0                    ||\xa6  \xab        \x83 d{V \x97\x86 dS )z1Saves a copy of the task to the underlying store.N)r	   \xdaCopyFromr   \xdasave)r   r   r   \xda	task_copys       r   r   zCopyingTaskStoreAdapter.save   sS   \xe8 \xe8 \x80 \xe5\x91F\x94F\x88	\xd8\xd7\xd2\x984\xd1 \xd4 \xd0 \xd8\x8ck\xd7\xd2\x98y\xa8'\xd12\xd42\xd02\xd02\xd02\xd02\xd02\xd02\xd02\xd02\xd02r   \xdatask_id\xdastr\xfaTask | Nonec              \x83  \xf3\x9a   K  \x97 | j         \xa0                    ||\xa6  \xab        \x83 d{V \x97\x86}|\x80dS t          \xa6   \xab         }|\xa0                    |\xa6  \xab         |S )z>Retrieves a task from the underlying store and returns a copy.N)r   \xdagetr	   r   )r   r   r   r   r   s        r   r   zCopyingTaskStoreAdapter.get!   s\   \xe8 \xe8 \x80 \xf0 \x94[\x97_\x92_\xa0W\xa8g\xd16\xd46\xd06\xd06\xd06\xd06\xd06\xd06\x88\xd8\x88<\xd8\x904\xdd\x91F\x94F\x88	\xd8\xd7\xd2\x984\xd1 \xd4 \xd0 \xd8\xd0r   \xdaparamsr   r   c              \x83  \xf3\x92   K  \x97 | j         \xa0                    ||\xa6  \xab        \x83 d{V \x97\x86}t          \xa6   \xab         }|\xa0                    |\xa6  \xab         |S )zGRetrieves a list of tasks from the underlying store and returns a copy.N)r   \xdalistr   r   )r   r    r   \xdaresponse\xda
response_copys        r   r"   zCopyingTaskStoreAdapter.list,   sV   \xe8 \xe8 \x80 \xf0 \x9c\xd7)\xd2)\xa8&\xb0'\xd1:\xd4:\xd0:\xd0:\xd0:\xd0:\xd0:\xd0:\x88\xdd)\xd1+\xd4+\x88
\xd8\xd7\xd2\x98x\xd1(\xd4(\xd0(\xd8\xd0r   c              \x83  \xf3L   K  \x97 | j         \xa0                    ||\xa6  \xab        \x83 d{V \x97\x86 dS )z)Deletes a task from the underlying store.N)r   \xdadelete)r   r   r   s      r   r&   zCopyingTaskStoreAdapter.delete7   s6   \xe8 \xe8 \x80 \xe0\x8ck\xd7 \xd2 \xa0\xa8'\xd12\xd42\xd02\xd02\xd02\xd02\xd02\xd02\xd02\xd02\xd02r   N)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   )	\xda__name__\xda
__module__\xda__qualname__\xda__doc__r   r   r   r"   r&   \xa9 r   r   r   r      s\x82   \x80 \x80 \x80 \x80 \x80 \xf0\xf0 \xf0'\xf0 '\xf0 '\xf0 '\xf03\xf0 3\xf0 3\xf0 3\xf0	\xf0 	\xf0 	\xf0 	\xf0	\xf0 	\xf0 	\xf0 	\xf03\xf0 3\xf0 3\xf0 3\xf0 3\xf0 3r   r   )\xda
__future__r   \xdalogging\xdatypingr   \xdaa2a.server.contextr   \xdaa2a.server.tasks.task_storer   \xdaa2a.types.a2a_pb2r   r   r	   \xda	getLoggerr'   \xdaloggerr   r+   r   r   \xfa<module>r4      s\xc6   \xf0\xd8 "\xd0 "\xd0 "\xd0 "\xd0 "\xd0 "\xe0 \x80\x80\x80\xe0  \xd0  \xd0  \xd0  \xd0  \xd0  \xf0 \xf0 5\xd84\xd04\xd04\xd04\xd04\xd04\xd8 1\xd0 1\xd0 1\xd0 1\xd0 1\xd0 1\xd8 G\xd0 G\xd0 G\xd0 G\xd0 G\xd0 G\xd0 G\xd0 G\xd0 G\xd0 G\xf0 
\x88\xd4	\x988\xd1	$\xd4	$\x80\xf0(3\xf0 (3\xf0 (3\xf0 (3\xf0 (3\x98i\xf1 (3\xf4 (3\xf0 (3\xf0 (3\xf0 (3r   