/ src / solace_agent_mesh / common / a2a / __init__.py
__init__.py
  1  """
  2  A2A Helper Abstraction Layer.
  3  
  4  This package provides a facade for interacting with A2A protocol objects,
  5  insulating the application from the specifics of the a2a-sdk.
  6  
  7  This __init__.py file exposes the most commonly used helpers for easy access.
  8  """
  9  
 10  from .types import ContentPart
 11  from .artifact import (
 12      create_data_artifact,
 13      create_text_artifact,
 14      get_artifact_id,
 15      get_artifact_name,
 16      get_parts_from_artifact,
 17      get_text_content_from_artifact,
 18      is_text_only_artifact,
 19      update_artifact_parts,
 20      prepare_file_part_for_publishing,
 21      resolve_file_part_uri,
 22  )
 23  from .events import (
 24      create_artifact_update,
 25      create_data_signal_event,
 26      create_status_update,
 27      get_artifact_from_artifact_update,
 28      get_data_parts_from_status_update,
 29      get_message_from_status_update,
 30      is_task_artifact_update,
 31      is_task_status_update,
 32  )
 33  from .message import (
 34      create_agent_data_message,
 35      create_agent_parts_message,
 36      create_agent_text_message,
 37      create_data_part,
 38      create_file_part_from_bytes,
 39      create_file_part_from_uri,
 40      create_text_part,
 41      create_user_message,
 42      update_message_parts,
 43      get_bytes_from_file_part,
 44      get_context_id,
 45      get_data_from_data_part,
 46      get_data_parts_from_message,
 47      get_file_from_file_part,
 48      get_filename_from_file_part,
 49      get_file_parts_from_message,
 50      get_message_id,
 51      get_metadata_from_part,
 52      get_mimetype_from_file_part,
 53      get_parts_from_message,
 54      get_task_id as get_task_id_from_message,  # Alias to avoid name clash
 55      get_text_from_message,
 56      get_text_from_text_part,
 57      get_uri_from_file_part,
 58      is_data_part,
 59      is_file_part,
 60      is_file_part_bytes,
 61      is_file_part_uri,
 62      is_text_part,
 63  )
 64  from .protocol import (
 65      create_cancel_task_request,
 66      create_error_response,
 67      create_generic_success_response,
 68      create_internal_error,
 69      create_internal_error_response,
 70      create_invalid_request_error,
 71      create_invalid_request_error_response,
 72      create_send_message_request,
 73      create_send_message_success_response,
 74      create_send_streaming_message_request,
 75      create_send_streaming_message_success_response,
 76      create_success_response,
 77      get_a2a_base_topic,
 78      get_agent_request_topic,
 79      get_agent_response_subscription_topic,
 80      get_agent_response_topic,
 81      get_agent_status_subscription_topic,
 82      get_client_response_topic,
 83      get_client_status_subscription_topic,
 84      get_client_status_topic,
 85      get_agent_discovery_topic,
 86      get_gateway_discovery_topic,
 87      get_discovery_subscription_topic,
 88      get_gateway_response_subscription_topic,
 89      get_gateway_response_topic,
 90      get_gateway_status_subscription_topic,
 91      get_gateway_status_topic,
 92      get_message_from_send_request,
 93      get_peer_agent_status_topic,
 94      get_request_id,
 95      get_sam_events_topic,
 96      get_sam_events_subscription_topic,
 97      get_request_method,
 98      get_response_error,
 99      get_error_code,
100      get_error_data,
101      get_error_message,
102      get_response_id,
103      get_response_result,
104      get_task_id_from_cancel_request,
105      extract_task_id_from_topic,
106      is_client_event,
107      is_message_object,
108      subscription_to_regex,
109      topic_matches_subscription,
110      unpack_client_event,
111  )
112  from .task import (
113      create_final_task,
114      create_initial_task,
115      create_task_status,
116      get_task_artifacts,
117      get_task_context_id,
118      get_task_history,
119      get_task_id,
120      get_task_metadata,
121      get_task_status,
122  )
123  from .translation import (
124      format_adk_event_as_a2a,
125      translate_a2a_to_adk_content,
126      translate_adk_function_response_to_a2a_parts,
127      translate_adk_part_to_a2a_filepart,
128  )
129  from ..data_parts import (
130      StructuredInvocationRequest,
131      StructuredInvocationResult,
132  )
133  from .utils import (
134      is_gateway_card,
135      extract_gateway_info,
136  )
137  
138  __all__ = [
139      # types.py
140      "ContentPart",
141      # artifact.py
142      "create_data_artifact",
143      "create_text_artifact",
144      "get_artifact_id",
145      "get_artifact_name",
146      "get_parts_from_artifact",
147      "get_text_content_from_artifact",
148      "is_text_only_artifact",
149      "update_artifact_parts",
150      "prepare_file_part_for_publishing",
151      "resolve_file_part_uri",
152      # events.py
153      "create_artifact_update",
154      "create_data_signal_event",
155      "create_status_update",
156      "get_artifact_from_artifact_update",
157      "get_data_parts_from_status_update",
158      "get_message_from_status_update",
159      "is_task_artifact_update",
160      "is_task_status_update",
161      # message.py
162      "create_agent_data_message",
163      "create_agent_parts_message",
164      "create_agent_text_message",
165      "create_data_part",
166      "create_file_part_from_bytes",
167      "create_file_part_from_uri",
168      "create_text_part",
169      "create_user_message",
170      "update_message_parts",
171      "get_bytes_from_file_part",
172      "get_context_id",
173      "get_data_from_data_part",
174      "get_data_parts_from_message",
175      "get_filename_from_file_part",
176      "get_file_parts_from_message",
177      "get_message_id",
178      "get_metadata_from_part",
179      "get_mimetype_from_file_part",
180      "get_file_from_file_part",
181      "get_parts_from_message",
182      "get_task_id_from_message",
183      "get_text_from_message",
184      "get_uri_from_file_part",
185      "get_text_from_text_part",
186      "is_data_part",
187      "is_file_part",
188      "is_file_part_bytes",
189      "is_file_part_uri",
190      "is_text_part",
191      # protocol.py
192      "create_cancel_task_request",
193      "create_error_response",
194      "create_generic_success_response",
195      "create_internal_error",
196      "create_internal_error_response",
197      "create_invalid_request_error",
198      "create_invalid_request_error_response",
199      "create_send_message_request",
200      "create_send_message_success_response",
201      "create_send_streaming_message_request",
202      "create_send_streaming_message_success_response",
203      "create_success_response",
204      "get_a2a_base_topic",
205      "get_agent_request_topic",
206      "get_agent_response_subscription_topic",
207      "get_agent_response_topic",
208      "get_agent_status_subscription_topic",
209      "get_client_response_topic",
210      "get_client_status_subscription_topic",
211      "get_client_status_topic",
212      "get_agent_discovery_topic",
213      "get_gateway_discovery_topic",
214      "get_discovery_subscription_topic",
215      "get_gateway_response_subscription_topic",
216      "get_gateway_response_topic",
217      "get_gateway_status_subscription_topic",
218      "get_gateway_status_topic",
219      "get_message_from_send_request",
220      "get_peer_agent_status_topic",
221      "get_request_id",
222      "get_sam_events_topic",
223      "get_sam_events_subscription_topic",
224      "get_request_method",
225      "get_response_error",
226      "get_error_code",
227      "get_error_data",
228      "get_error_message",
229      "get_response_id",
230      "get_response_result",
231      "get_task_id_from_cancel_request",
232      "extract_task_id_from_topic",
233      "is_client_event",
234      "is_message_object",
235      "subscription_to_regex",
236      "topic_matches_subscription",
237      "unpack_client_event",
238      # task.py
239      "create_final_task",
240      "create_initial_task",
241      "create_task_status",
242      "get_task_artifacts",
243      "get_task_context_id",
244      "get_task_history",
245      "get_task_id",
246      "get_task_metadata",
247      "get_task_status",
248      # translation.py
249      "format_adk_event_as_a2a",
250      "translate_a2a_to_adk_content",
251      "translate_adk_function_response_to_a2a_parts",
252      "translate_adk_part_to_a2a_filepart",
253      "StructuredInvocationRequest",
254      "StructuredInvocationResult",
255      # utils.py
256      "is_gateway_card",
257      "extract_gateway_info",
258  ]