microsoft-agents-activity 1.2.0.dev20__tar.gz → 1.4.0.dev10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/PKG-INFO +32 -2
  2. microsoft_agents_activity-1.4.0.dev10/VERSION.txt +1 -0
  3. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/__init__.py +12 -3
  4. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/_model_utils.py +4 -2
  5. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/activity.py +387 -18
  6. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/adaptive_card_card.py +35 -0
  7. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/animation_card.py +60 -2
  8. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/audio_card.py +60 -2
  9. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/basic_card.py +137 -0
  10. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/card.py +36 -0
  11. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/channel_id.py +138 -0
  12. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/config/_coercion.py +99 -0
  13. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/config/_load_configuration.py +1 -1
  14. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/content_types.py +16 -0
  15. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversation_parameters.py +4 -0
  16. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversation_reference.py +3 -2
  17. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/__init__.py +3 -0
  18. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/entity/activity_treatment.py +27 -0
  19. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/ai_entity.py +8 -3
  20. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/entity_types.py +1 -0
  21. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/errors/error_resources.py +6 -0
  22. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/hero_card.py +137 -0
  23. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/media_card.py +60 -0
  24. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/oauth_card.py +12 -2
  25. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/receipt_card.py +82 -0
  26. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/signin_card.py +12 -2
  27. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/suggested_actions.py +62 -0
  28. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/thumbnail_card.py +137 -0
  29. microsoft_agents_activity-1.4.0.dev10/microsoft_agents/activity/token_exchange_request.py +18 -0
  30. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/video_card.py +60 -2
  31. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents_activity.egg-info/PKG-INFO +32 -2
  32. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents_activity.egg-info/SOURCES.txt +6 -1
  33. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/readme.md +31 -1
  34. microsoft_agents_activity-1.2.0.dev20/VERSION.txt +0 -1
  35. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/_channel_id_field_mixin.py +0 -95
  36. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/basic_card.py +0 -33
  37. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/channel_id.py +0 -95
  38. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/hero_card.py +0 -33
  39. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/receipt_card.py +0 -39
  40. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/suggested_actions.py +0 -23
  41. microsoft_agents_activity-1.2.0.dev20/microsoft_agents/activity/thumbnail_card.py +0 -33
  42. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/LICENSE +0 -0
  43. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/MANIFEST.in +0 -0
  44. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/_type_aliases.py +0 -0
  45. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/_utils/__init__.py +0 -0
  46. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/_utils/_deferred_string.py +0 -0
  47. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/action_types.py +0 -0
  48. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/activity_event_names.py +0 -0
  49. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/activity_importance.py +0 -0
  50. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/activity_types.py +0 -0
  51. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/adaptive_card_invoke_action.py +0 -0
  52. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/adaptive_card_invoke_response.py +0 -0
  53. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/adaptive_card_invoke_value.py +0 -0
  54. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/agents_model.py +0 -0
  55. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/attachment.py +0 -0
  56. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/attachment_data.py +0 -0
  57. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/attachment_info.py +0 -0
  58. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/attachment_layout_types.py +0 -0
  59. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/attachment_view.py +0 -0
  60. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/caller_id_constants.py +0 -0
  61. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/card_action.py +0 -0
  62. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/card_image.py +0 -0
  63. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/channel_account.py +0 -0
  64. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/channel_adapter_protocol.py +0 -0
  65. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/channels.py +0 -0
  66. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/config/__init__.py +0 -0
  67. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/config/_configure_logging.py +0 -0
  68. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/contact_relation_update_action_types.py +0 -0
  69. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversation_account.py +0 -0
  70. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversation_members.py +0 -0
  71. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversation_resource_response.py +0 -0
  72. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversation_update_types.py +0 -0
  73. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/conversations_result.py +0 -0
  74. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/delivery_modes.py +0 -0
  75. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/end_of_conversation_codes.py +0 -0
  76. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/_schema_mixin.py +0 -0
  77. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/entity.py +0 -0
  78. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/geo_coordinates.py +0 -0
  79. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/mention.py +0 -0
  80. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/place.py +0 -0
  81. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/product_info.py +0 -0
  82. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/stream_info.py +0 -0
  83. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/entity/thing.py +0 -0
  84. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/error.py +0 -0
  85. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/error_response.py +0 -0
  86. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/errors/__init__.py +0 -0
  87. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/errors/error_message.py +0 -0
  88. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/expected_replies.py +0 -0
  89. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/fact.py +0 -0
  90. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/inner_http_error.py +0 -0
  91. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/input_hints.py +0 -0
  92. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/installation_update_action_types.py +0 -0
  93. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/invoke_response.py +0 -0
  94. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/media_event_value.py +0 -0
  95. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/media_url.py +0 -0
  96. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/message_reaction.py +0 -0
  97. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/message_reaction_types.py +0 -0
  98. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/message_update_types.py +0 -0
  99. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/paged_members_result.py +0 -0
  100. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/receipt_item.py +0 -0
  101. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/resource_response.py +0 -0
  102. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/role_types.py +0 -0
  103. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/semantic_action.py +0 -0
  104. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/semantic_actions_states.py +0 -0
  105. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/sign_in_constants.py +0 -0
  106. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/sign_in_resource.py +0 -0
  107. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/__init__.py +0 -0
  108. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/app_based_link_query.py +0 -0
  109. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/batch_failed_entries_response.py +0 -0
  110. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/batch_failed_entry.py +0 -0
  111. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/batch_operation_response.py +0 -0
  112. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/batch_operation_state_response.py +0 -0
  113. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/bot_config_auth.py +0 -0
  114. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/cache_info.py +0 -0
  115. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/cancel_operation_response.py +0 -0
  116. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/channel_info.py +0 -0
  117. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/config_auth_response.py +0 -0
  118. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/config_response.py +0 -0
  119. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/config_response_base.py +0 -0
  120. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/config_task_response.py +0 -0
  121. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/conversation_list.py +0 -0
  122. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/file_consent_card.py +0 -0
  123. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/file_consent_card_response.py +0 -0
  124. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/file_download_info.py +0 -0
  125. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/file_info_card.py +0 -0
  126. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/file_upload_info.py +0 -0
  127. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_details.py +0 -0
  128. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_details_base.py +0 -0
  129. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_end_event_details.py +0 -0
  130. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_event_details.py +0 -0
  131. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_info.py +0 -0
  132. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_notification.py +0 -0
  133. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_notification_base.py +0 -0
  134. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_notification_channel_data.py +0 -0
  135. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_notification_recipient_failure_info.py +0 -0
  136. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_notification_response.py +0 -0
  137. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_participant_info.py +0 -0
  138. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_participants_event_details.py +0 -0
  139. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_stage_surface.py +0 -0
  140. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_start_event_details.py +0 -0
  141. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/meeting_tab_icon_surface.py +0 -0
  142. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload.py +0 -0
  143. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_app.py +0 -0
  144. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_attachment.py +0 -0
  145. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_body.py +0 -0
  146. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_conversation.py +0 -0
  147. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_from.py +0 -0
  148. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_mention.py +0 -0
  149. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_reaction.py +0 -0
  150. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/message_actions_payload_user.py +0 -0
  151. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_action.py +0 -0
  152. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_action_response.py +0 -0
  153. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_attachment.py +0 -0
  154. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_parameter.py +0 -0
  155. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_query.py +0 -0
  156. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_query_options.py +0 -0
  157. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_response.py +0 -0
  158. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_result.py +0 -0
  159. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/messaging_extension_suggested_action.py +0 -0
  160. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/notification_info.py +0 -0
  161. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card.py +0 -0
  162. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_action_base.py +0 -0
  163. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_action_card.py +0 -0
  164. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_action_query.py +0 -0
  165. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_date_input.py +0 -0
  166. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_fact.py +0 -0
  167. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_http_post.py +0 -0
  168. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_image.py +0 -0
  169. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_input_base.py +0 -0
  170. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_multichoice_input.py +0 -0
  171. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_multichoice_input_choice.py +0 -0
  172. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_open_uri.py +0 -0
  173. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_open_uri_target.py +0 -0
  174. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_section.py +0 -0
  175. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_text_input.py +0 -0
  176. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/o365_connector_card_view_action.py +0 -0
  177. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/on_behalf_of.py +0 -0
  178. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/read_receipt_info.py +0 -0
  179. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/signin_state_verification_query.py +0 -0
  180. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/surface.py +0 -0
  181. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_context.py +0 -0
  182. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_entity_context.py +0 -0
  183. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_request.py +0 -0
  184. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_response.py +0 -0
  185. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_response_card.py +0 -0
  186. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_response_cards.py +0 -0
  187. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_response_payload.py +0 -0
  188. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_submit.py +0 -0
  189. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_submit_data.py +0 -0
  190. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tab_suggested_actions.py +0 -0
  191. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/targeted_meeting_notification.py +0 -0
  192. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/targeted_meeting_notification_value.py +0 -0
  193. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_card_response.py +0 -0
  194. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_continue_response.py +0 -0
  195. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_message_response.py +0 -0
  196. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_request.py +0 -0
  197. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_request_context.py +0 -0
  198. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_response.py +0 -0
  199. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_response_base.py +0 -0
  200. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/task_module_task_info.py +0 -0
  201. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/team_details.py +0 -0
  202. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/team_info.py +0 -0
  203. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_batch_operation_response.py +0 -0
  204. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_channel_account.py +0 -0
  205. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_channel_data.py +0 -0
  206. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_channel_data_settings.py +0 -0
  207. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_meeting_info.py +0 -0
  208. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_meeting_member.py +0 -0
  209. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_meeting_participant.py +0 -0
  210. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_member.py +0 -0
  211. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/teams_paged_members_result.py +0 -0
  212. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/tenant_info.py +0 -0
  213. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/teams/user_meeting_details.py +0 -0
  214. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/text_format_types.py +0 -0
  215. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/text_highlight.py +0 -0
  216. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/thumbnail_url.py +0 -0
  217. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_exchange_invoke_request.py +0 -0
  218. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_exchange_invoke_response.py +0 -0
  219. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_exchange_resource.py +0 -0
  220. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_exchange_state.py +0 -0
  221. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_or_sign_in_resource_response.py +0 -0
  222. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_post_resource.py +0 -0
  223. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_request.py +0 -0
  224. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_response.py +0 -0
  225. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/token_status.py +0 -0
  226. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/transcript.py +0 -0
  227. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents/activity/turn_context_protocol.py +0 -0
  228. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents_activity.egg-info/dependency_links.txt +0 -0
  229. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents_activity.egg-info/requires.txt +0 -0
  230. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/microsoft_agents_activity.egg-info/top_level.txt +0 -0
  231. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/pyproject.toml +0 -0
  232. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/setup.cfg +0 -0
  233. {microsoft_agents_activity-1.2.0.dev20 → microsoft_agents_activity-1.4.0.dev10}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microsoft-agents-activity
3
- Version: 1.2.0.dev20
3
+ Version: 1.4.0.dev10
4
4
  Summary: A protocol library for Microsoft Agents
5
5
  Author: Microsoft Corporation
6
6
  License-Expression: MIT
@@ -35,6 +35,24 @@ This library is part of the **Microsoft 365 Agents SDK for Python** - a comprehe
35
35
  <th style="width:20%">Date</th>
36
36
  <th style="width:60%">Release Notes</th>
37
37
  </tr>
38
+ <tr>
39
+ <td>1.3.0</td>
40
+ <td>2026-07-30</td>
41
+ <td>
42
+ <a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v130">
43
+ 1.3.0 Release Notes
44
+ </a>
45
+ </td>
46
+ </tr>
47
+ <tr>
48
+ <td>1.2.0</td>
49
+ <td>2026-07-17</td>
50
+ <td>
51
+ <a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v120">
52
+ 1.2.0 Release Notes
53
+ </a>
54
+ </td>
55
+ </tr>
38
56
  <tr>
39
57
  <td>1.1.0</td>
40
58
  <td>2026-06-19</td>
@@ -53,6 +71,15 @@ This library is part of the **Microsoft 365 Agents SDK for Python** - a comprehe
53
71
  </a>
54
72
  </td>
55
73
  </tr>
74
+ <tr>
75
+ <td>0.9.1</td>
76
+ <td>2026-05-04</td>
77
+ <td>
78
+ <a href="https://github.com/microsoft/Agents-for-python/blob/main/changelog.md#microsoft-365-agents-sdk-for-python---release-notes-v091">
79
+ 0.9.1 Release Notes
80
+ </a>
81
+ </td>
82
+ </tr>
56
83
  <tr>
57
84
  <td>0.9.0</td>
58
85
  <td>2026-04-15</td>
@@ -118,11 +145,14 @@ We offer the following PyPI packages to create conversational experiences based
118
145
  | `microsoft-agents-activity` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-activity)](https://pypi.org/project/microsoft-agents-activity/) | Types and validators implementing the Activity protocol spec. |
119
146
  | `microsoft-agents-hosting-core` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-core)](https://pypi.org/project/microsoft-agents-hosting-core/) | Core library for Microsoft Agents hosting. |
120
147
  | `microsoft-agents-hosting-aiohttp` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-aiohttp)](https://pypi.org/project/microsoft-agents-hosting-aiohttp/) | Configures aiohttp to run the Agent. |
121
- | `microsoft-agents-hosting-teams` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-teams)](https://pypi.org/project/microsoft-agents-hosting-teams/) | Provides classes to host an Agent for Teams. |
148
+ | `microsoft-agents-hosting-fastapi` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-fastapi)](https://pypi.org/project/microsoft-agents-hosting-fastapi/) | Configures fastapi to run the Agent. |
149
+ | `microsoft-agents-hosting-msteams` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-msteams)](https://pypi.org/project/microsoft-agents-hosting-msteams/) | Provides classes to host an Agent for Teams. |
122
150
  | `microsoft-agents-hosting-dialogs` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-dialogs)](https://pypi.org/project/microsoft-agents-hosting-dialogs/) | Dialog system with waterfall dialogs, prompts, and multi-turn conversation management. |
151
+ | `microsoft-agents-hosting-slack` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-hosting-slack)](https://pypi.org/project/microsoft-agents-hosting-slack/) | Provides classes to host an Agent for Slack. |
123
152
  | `microsoft-agents-storage-blob` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-storage-blob)](https://pypi.org/project/microsoft-agents-storage-blob/) | Extension to use Azure Blob as storage. |
124
153
  | `microsoft-agents-storage-cosmos` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-storage-cosmos)](https://pypi.org/project/microsoft-agents-storage-cosmos/) | Extension to use CosmosDB as storage. |
125
154
  | `microsoft-agents-authentication-msal` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-authentication-msal)](https://pypi.org/project/microsoft-agents-authentication-msal/) | MSAL-based authentication for Microsoft Agents. |
155
+ | `microsoft-agents-authentication-entra-auth-sidecar` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-authentication-entra-auth-sidecar)](https://pypi.org/project/microsoft-agents-authentication-entra-auth-sidecar/) | Credential-free Entra ID Agent ID authentication via the sidecar. |
126
156
 
127
157
  Additionally we provide a Copilot Studio Client, to interact with Agents created in CopilotStudio:
128
158
 
@@ -0,0 +1 @@
1
+ 1.4.0.dev10
@@ -6,6 +6,7 @@ from .action_types import ActionTypes
6
6
  from .activity import Activity
7
7
  from .activity_event_names import ActivityEventNames
8
8
  from .activity_types import ActivityTypes
9
+ from .adaptive_card_card import AdaptiveCardCard
9
10
  from .adaptive_card_invoke_action import AdaptiveCardInvokeAction
10
11
  from .adaptive_card_invoke_response import AdaptiveCardInvokeResponse
11
12
  from .adaptive_card_invoke_value import AdaptiveCardInvokeValue
@@ -16,11 +17,11 @@ from .attachment_info import AttachmentInfo
16
17
  from .attachment_view import AttachmentView
17
18
  from .audio_card import AudioCard
18
19
  from .basic_card import BasicCard
20
+ from .card import Card
19
21
  from .card_action import CardAction
20
22
  from .card_image import CardImage
21
23
  from .channels import Channels
22
24
  from .channel_account import ChannelAccount
23
- from ._channel_id_field_mixin import _ChannelIdFieldMixin
24
25
  from .channel_id import ChannelId
25
26
  from .conversation_account import ConversationAccount
26
27
  from .conversation_members import ConversationMembers
@@ -28,6 +29,7 @@ from .conversation_parameters import ConversationParameters
28
29
  from .conversation_reference import ConversationReference
29
30
  from .conversation_resource_response import ConversationResourceResponse
30
31
  from .conversations_result import ConversationsResult
32
+ from .content_types import ContentTypes
31
33
  from .expected_replies import ExpectedReplies
32
34
  from .entity import (
33
35
  Entity,
@@ -45,6 +47,8 @@ from .entity import (
45
47
  ProductInfo,
46
48
  Thing,
47
49
  StreamInfo,
50
+ ActivityTreatment,
51
+ ActivityTreatmentTypes,
48
52
  )
49
53
  from .error import Error
50
54
  from .error_response import ErrorResponse
@@ -69,6 +73,7 @@ from .thumbnail_card import ThumbnailCard
69
73
  from .thumbnail_url import ThumbnailUrl
70
74
  from .token_exchange_invoke_request import TokenExchangeInvokeRequest
71
75
  from .token_exchange_invoke_response import TokenExchangeInvokeResponse
76
+ from .token_exchange_request import TokenExchangeRequest
72
77
  from .token_exchange_state import TokenExchangeState
73
78
  from .token_or_sign_in_resource_response import TokenOrSignInResourceResponse
74
79
  from .token_request import TokenRequest
@@ -94,7 +99,6 @@ from .sign_in_resource import SignInResource
94
99
  from .token_exchange_resource import TokenExchangeResource
95
100
  from .token_post_resource import TokenPostResource
96
101
 
97
- from .delivery_modes import DeliveryModes
98
102
  from .caller_id_constants import CallerIdConstants
99
103
 
100
104
  from .conversation_update_types import ConversationUpdateTypes
@@ -109,6 +113,7 @@ __all__ = [
109
113
  "Activity",
110
114
  "ActionTypes",
111
115
  "ActivityEventNames",
116
+ "AdaptiveCardCard",
112
117
  "AdaptiveCardInvokeAction",
113
118
  "AdaptiveCardInvokeResponse",
114
119
  "AdaptiveCardInvokeValue",
@@ -119,18 +124,19 @@ __all__ = [
119
124
  "AttachmentView",
120
125
  "AudioCard",
121
126
  "BasicCard",
127
+ "Card",
122
128
  "CardAction",
123
129
  "CardImage",
124
130
  "Channels",
125
131
  "ChannelAccount",
126
132
  "ChannelId",
127
- "_ChannelIdFieldMixin",
128
133
  "ConversationAccount",
129
134
  "ConversationMembers",
130
135
  "ConversationParameters",
131
136
  "ConversationReference",
132
137
  "ConversationResourceResponse",
133
138
  "ConversationsResult",
139
+ "ContentTypes",
134
140
  "ExpectedReplies",
135
141
  "Entity",
136
142
  "AIEntity",
@@ -170,6 +176,7 @@ __all__ = [
170
176
  "ThumbnailUrl",
171
177
  "TokenExchangeInvokeRequest",
172
178
  "TokenExchangeInvokeResponse",
179
+ "TokenExchangeRequest",
173
180
  "TokenExchangeState",
174
181
  "TokenRequest",
175
182
  "TokenResponse",
@@ -199,5 +206,7 @@ __all__ = [
199
206
  "load_configuration_from_env",
200
207
  "ChannelAdapterProtocol",
201
208
  "TurnContextProtocol",
209
+ "ActivityTreatment",
210
+ "ActivityTreatmentTypes",
202
211
  "TokenOrSignInResourceResponse",
203
212
  ]
@@ -2,10 +2,12 @@
2
2
  # Licensed under the MIT License.
3
3
 
4
4
  from abc import ABC
5
- from typing import Any, Callable
5
+ from typing import Any, Callable, TypeVar
6
6
 
7
7
  from .agents_model import AgentsModel
8
8
 
9
+ AgentsModelT = TypeVar("AgentsModelT", bound=AgentsModel)
10
+
9
11
 
10
12
  class ModelFieldHelper(ABC):
11
13
  """Base class for model field processing prior to initialization of an AgentsModel"""
@@ -55,7 +57,7 @@ def pick_model_dict(**kwargs):
55
57
  return model_dict
56
58
 
57
59
 
58
- def pick_model(model_class: type[AgentsModel], **kwargs) -> AgentsModel:
60
+ def pick_model(model_class: type[AgentsModelT], **kwargs) -> AgentsModelT:
59
61
  """Picks model fields from the given keyword arguments.
60
62
 
61
63
  Usage:
@@ -4,6 +4,7 @@
4
4
  from __future__ import annotations
5
5
 
6
6
  import logging
7
+ import re
7
8
  from copy import copy
8
9
  from datetime import datetime, timezone
9
10
  from typing import Optional, Any, cast, Annotated, TypeVar
@@ -16,7 +17,6 @@ from pydantic import (
16
17
  model_validator,
17
18
  SerializerFunctionWrapHandler,
18
19
  ModelWrapValidatorHandler,
19
- computed_field,
20
20
  ValidationError,
21
21
  )
22
22
 
@@ -31,6 +31,8 @@ from .entity import (
31
31
  Entity,
32
32
  EntityTypes,
33
33
  Mention,
34
+ ActivityTreatment,
35
+ ActivityTreatmentTypes,
34
36
  AIEntity,
35
37
  ClientCitation,
36
38
  ProductInfo,
@@ -41,7 +43,6 @@ from .text_highlight import TextHighlight
41
43
  from .semantic_action import SemanticAction
42
44
  from .agents_model import AgentsModel
43
45
  from .role_types import RoleTypes
44
- from ._channel_id_field_mixin import _ChannelIdFieldMixin
45
46
  from .channel_id import ChannelId
46
47
  from ._model_utils import pick_model, SkipNone
47
48
  from ._type_aliases import NonEmptyString
@@ -53,7 +54,7 @@ _EntityT = TypeVar("_EntityT", bound=Entity)
53
54
 
54
55
 
55
56
  # TODO: A2A Agent 2 is responding with None as id, had to mark it as optional (investigate)
56
- class Activity(AgentsModel, _ChannelIdFieldMixin):
57
+ class Activity(AgentsModel):
57
58
  """An Activity is the basic communication type for the protocol.
58
59
 
59
60
  :param type: Contains the activity type. Possible values include:
@@ -155,6 +156,7 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
155
156
  """
156
157
 
157
158
  type: NonEmptyString
159
+ channel_id: Optional[ChannelId] = None
158
160
  id: Optional[NonEmptyString] = None
159
161
  timestamp: datetime = None
160
162
  local_timestamp: datetime = None
@@ -211,10 +213,6 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
211
213
  # run Pydantic's standard validation first
212
214
  activity = handler(data)
213
215
 
214
- # needed to assign to a computed field
215
- # needed because we override the mixin validator
216
- activity._set_validated_channel_id(data)
217
-
218
216
  # sync sub_channel with productInfo entity
219
217
  product_info = activity.get_product_info_entity()
220
218
  if product_info and activity.channel_id:
@@ -280,9 +278,6 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
280
278
  if not serialized["entities"]: # after removal above, list may be empty
281
279
  del serialized["entities"]
282
280
 
283
- # necessary due to computed_field serialization
284
- self._remove_serialized_unset_channel_id(serialized)
285
-
286
281
  return serialized
287
282
 
288
283
  def apply_conversation_reference(
@@ -437,6 +432,377 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
437
432
  """
438
433
  return self if self.__is_activity(ActivityTypes.typing) else None
439
434
 
435
+ def with_text(self, text: str) -> Self:
436
+ """
437
+ Sets the text content of the activity.
438
+
439
+ :param text: The text content of the message.
440
+ :returns: This activity, to allow for method chaining.
441
+ """
442
+ self.text = text
443
+ return self
444
+
445
+ def with_speak(self, speak: str) -> Self:
446
+ """
447
+ Sets the text to speak for the activity.
448
+
449
+ :param speak: The text to speak.
450
+ :returns: This activity, to allow for method chaining.
451
+ """
452
+ self.speak = speak
453
+ return self
454
+
455
+ def with_input_hint(self, input_hint: str) -> Self:
456
+ """
457
+ Sets the input hint for the activity.
458
+
459
+ :param input_hint: Indicates whether the agent is accepting, expecting, or ignoring user input.
460
+ :returns: This activity, to allow for method chaining.
461
+ """
462
+ self.input_hint = input_hint
463
+ return self
464
+
465
+ def with_summary(self, summary: str) -> Self:
466
+ """
467
+ Sets the summary of the activity.
468
+
469
+ :param summary: The text to display if the channel cannot render cards.
470
+ :returns: This activity, to allow for method chaining.
471
+ """
472
+ self.summary = summary
473
+ return self
474
+
475
+ def with_locale(self, locale: str) -> Self:
476
+ """
477
+ Sets the locale of the activity.
478
+
479
+ :param locale: A locale name for the contents of the text field.
480
+ :returns: This activity, to allow for method chaining.
481
+ """
482
+ self.locale = locale
483
+ return self
484
+
485
+ def with_text_format(self, text_format: str) -> Self:
486
+ """
487
+ Sets the text format of the activity.
488
+
489
+ :param text_format: Format of the text fields. Possible values include: 'markdown', 'plain', 'xml'.
490
+ :returns: This activity, to allow for method chaining.
491
+ """
492
+ self.text_format = text_format
493
+ return self
494
+
495
+ def with_attachment_layout(self, attachment_layout: str) -> Self:
496
+ """
497
+ Sets the attachment layout hint for the activity.
498
+
499
+ :param attachment_layout: The layout hint for multiple attachments. Possible values include: 'list', 'carousel'.
500
+ :returns: This activity, to allow for method chaining.
501
+ """
502
+ self.attachment_layout = attachment_layout
503
+ return self
504
+
505
+ def with_delivery_mode(self, delivery_mode: str) -> Self:
506
+ """
507
+ Sets the delivery mode of the activity.
508
+
509
+ :param delivery_mode: The delivery mode for the activity.
510
+ :returns: This activity, to allow for method chaining.
511
+ """
512
+ self.delivery_mode = delivery_mode
513
+ return self
514
+
515
+ def with_name(self, name: str) -> Self:
516
+ """
517
+ Sets the name of the activity.
518
+
519
+ :param name: The name of the operation associated with an invoke or event activity.
520
+ :returns: This activity, to allow for method chaining.
521
+ """
522
+ self.name = name
523
+ return self
524
+
525
+ def with_value(self, value: object, value_type: str | None = None) -> Self:
526
+ """
527
+ Sets the value of the activity, and optionally its value type.
528
+
529
+ :param value: A value that is associated with the activity.
530
+ :param value_type: The type of the activity's value object. Only set when provided.
531
+ :returns: This activity, to allow for method chaining.
532
+ """
533
+ self.value = value
534
+ if value_type is not None:
535
+ self.value_type = value_type
536
+ return self
537
+
538
+ def with_suggested_actions(self, suggested_actions: SuggestedActions) -> Self:
539
+ """
540
+ Sets the suggested actions for the activity.
541
+
542
+ :param suggested_actions: The suggested actions for the activity.
543
+ :returns: This activity, to allow for method chaining.
544
+ """
545
+ self.suggested_actions = suggested_actions
546
+ return self
547
+
548
+ def add_text(self, text: str) -> Self:
549
+ """
550
+ Appends text to the existing text content of the activity.
551
+
552
+ :param text: The text to append to the activity's text.
553
+ :returns: This activity, to allow for method chaining.
554
+ """
555
+ self.text = (self.text or "") + text
556
+ return self
557
+
558
+ def add_attachment(self, *attachments: Attachment) -> Self:
559
+ """
560
+ Adds one or more attachments to the activity.
561
+
562
+ :param attachments: The attachments to add to the activity.
563
+ :returns: This activity, to allow for method chaining.
564
+ """
565
+ if not attachments:
566
+ return self
567
+
568
+ self.attachments = self.attachments or []
569
+ self.attachments.extend(attachments)
570
+ return self
571
+
572
+ def add_entity(self, *entities: Entity) -> Self:
573
+ """
574
+ Adds one or more entities to the activity.
575
+
576
+ :param entities: The entities to add to the activity.
577
+ :returns: This activity, to allow for method chaining.
578
+ """
579
+ if not entities:
580
+ return self
581
+
582
+ self.entities = self.entities or []
583
+ self.entities.extend(entities)
584
+ return self
585
+
586
+ def add_mention(
587
+ self,
588
+ account: ChannelAccount,
589
+ text: NonEmptyString | None = None,
590
+ add_text: bool = True,
591
+ ) -> Self:
592
+ """
593
+ Adds a mention of the given account to the activity.
594
+
595
+ :param account: The account to mention.
596
+ :param text: The text of the mention. Defaults to the account's name.
597
+ :param add_text: Whether to prepend the mention markup to the activity's text.
598
+ :returns: This activity, to allow for method chaining.
599
+ """
600
+ mention_text = text if text is not None else (account.name if account else None)
601
+ if mention_text is None:
602
+ logger.warning("Adding a mention with no text or account name.")
603
+
604
+ markup = f"<at>{mention_text}</at>"
605
+
606
+ if add_text:
607
+ self.text = markup if not self.text else f"{markup} {self.text}"
608
+
609
+ return self.add_entity(Mention(mentioned=account, text=markup))
610
+
611
+ def get_account_mention(self, account_id: NonEmptyString) -> Optional[Mention]:
612
+ """
613
+ Resolves the mention for the given account id, if any.
614
+
615
+ :param account_id: The id of the account to find a mention for.
616
+ :returns: The matching mention; or None, if none is found.
617
+ """
618
+ if not self.entities or account_id is None:
619
+ return None
620
+
621
+ for mention in self.get_mentions():
622
+ if mention.mentioned and mention.mentioned.id == account_id:
623
+ return mention
624
+
625
+ return None
626
+
627
+ def is_recipient_mentioned(self) -> bool:
628
+ """
629
+ Indicates whether the recipient of this activity was mentioned.
630
+
631
+ :returns: True if the recipient was mentioned; otherwise, False.
632
+ """
633
+ return (
634
+ self.recipient is not None
635
+ and self.recipient.id is not None
636
+ and self.get_account_mention(self.recipient.id) is not None
637
+ )
638
+
639
+ def remove_recipient_mention(self) -> str:
640
+ """
641
+ Removes the recipient's mention text from the activity's text.
642
+
643
+ :returns: The updated activity text.
644
+
645
+ .. remarks::
646
+ This method is defined on the :class:`microsoft_agents.activity.Activity` class, but is only intended for
647
+ use with a message activity, where the activity Activity.Type is set to ActivityTypes.Message.
648
+ """
649
+ return self.remove_mention_text(self.recipient.id if self.recipient else None)
650
+
651
+ def remove_mention_text(self, identifier: NonEmptyString | None) -> str:
652
+ """
653
+ Removes the mention text for the given account id from the activity's text.
654
+
655
+ For example, given the message `<at>echoAgent</at> Hi Agent`, this removes
656
+ `<at>echoAgent</at>`, leaving `Hi Agent`.
657
+
658
+ :param identifier: The id of the account whose mention text should be removed.
659
+ :returns: The updated activity text.
660
+
661
+ .. remarks::
662
+ The format of a mention entity is dependent on the channel, but in all cases
663
+ the Mention.text is expected to contain the exact text for the user as it
664
+ appears in Activity.text.
665
+ """
666
+ if not identifier:
667
+ return self.text
668
+
669
+ for mention in self.get_mentions():
670
+ if not mention.mentioned or mention.mentioned.id != identifier:
671
+ continue
672
+
673
+ if mention.text is None:
674
+ pattern = f"<at>{re.escape(mention.mentioned.name)}</at>"
675
+ else:
676
+ pattern = re.escape(mention.text)
677
+
678
+ self.text = re.sub(
679
+ pattern, "", self.text or "", flags=re.IGNORECASE
680
+ ).strip()
681
+
682
+ return self.text
683
+
684
+ def is_targeted_activity(self) -> bool:
685
+ """
686
+ Indicates whether this activity is targeted.
687
+
688
+ :returns: True if this activity carries a targeted treatment; otherwise, False.
689
+ """
690
+ if not self.entities:
691
+ return False
692
+
693
+ for entity in self.entities:
694
+ if (
695
+ entity.type == EntityTypes.ACTIVITY_TREATMENT
696
+ and isinstance(entity, ActivityTreatment)
697
+ and entity.treatment == ActivityTreatmentTypes.TARGETED
698
+ ):
699
+ return True
700
+
701
+ return False
702
+
703
+ def make_targeted_activity(self, user: ChannelAccount | None = None) -> Self:
704
+ """
705
+ Marks this activity as targeted, setting the recipient if provided.
706
+
707
+ :param user: The account to target. Defaults to the current recipient.
708
+ :returns: This activity, to allow for method chaining.
709
+ :raises ValueError: If both the activity's recipient and the user argument are None.
710
+ """
711
+ if self.is_targeted_activity():
712
+ return self
713
+
714
+ if self.recipient is None and user is None:
715
+ raise ValueError(str(activity_errors.InvalidTargetedActivityRecipient))
716
+
717
+ self.entities = self.entities or []
718
+ self.entities.append(
719
+ ActivityTreatment(treatment=ActivityTreatmentTypes.TARGETED)
720
+ )
721
+
722
+ self.recipient = user if user is not None else self.recipient
723
+
724
+ return self
725
+
726
+ def is_message(self) -> bool:
727
+ """
728
+ Indicates whether this activity is a message activity.
729
+
730
+ :return: True if this activity is a message activity; otherwise, False.
731
+ """
732
+ return self.__is_activity(ActivityTypes.message)
733
+
734
+ def is_event(self) -> bool:
735
+ """
736
+ Indicates whether this activity is an event activity.
737
+
738
+ :return: True if this activity is an event activity; otherwise, False.
739
+ """
740
+ return self.__is_activity(ActivityTypes.event)
741
+
742
+ def is_invoke(self) -> bool:
743
+ """
744
+ Indicates whether this activity is an invoke activity.
745
+
746
+ :return: True if this activity is an invoke activity; otherwise, False.
747
+ """
748
+ return self.__is_activity(ActivityTypes.invoke)
749
+
750
+ def is_typing(self) -> bool:
751
+ """
752
+ Indicates whether this activity is a typing activity.
753
+
754
+ :return: True if this activity is a typing activity; otherwise, False.
755
+ """
756
+ return self.__is_activity(ActivityTypes.typing)
757
+
758
+ def is_conversation_update(self) -> bool:
759
+ """
760
+ Indicates whether this activity is a conversation update activity.
761
+
762
+ :return: True if this activity is a conversation update activity; otherwise, False.
763
+ """
764
+ return self.__is_activity(ActivityTypes.conversation_update)
765
+
766
+ def is_end_of_conversation(self) -> bool:
767
+ """
768
+ Indicates whether this activity is an end of conversation activity.
769
+
770
+ :return: True if this activity is an end of conversation activity; otherwise, False.
771
+ """
772
+ return self.__is_activity(ActivityTypes.end_of_conversation)
773
+
774
+ def is_handoff(self) -> bool:
775
+ """
776
+ Indicates whether this activity is a handoff activity.
777
+
778
+ :return: True if this activity is a handoff activity; otherwise, False.
779
+ """
780
+ return self.__is_activity(ActivityTypes.handoff)
781
+
782
+ def is_trace(self) -> bool:
783
+ """
784
+ Indicates whether this activity is a trace activity.
785
+
786
+ :return: True if this activity is a trace activity; otherwise, False.
787
+ """
788
+ return self.__is_activity(ActivityTypes.trace)
789
+
790
+ def is_command(self) -> bool:
791
+ """
792
+ Indicates whether this activity is a command activity.
793
+
794
+ :return: True if this activity is a command activity; otherwise, False.
795
+ """
796
+ return self.__is_activity(ActivityTypes.command)
797
+
798
+ def is_command_result(self) -> bool:
799
+ """
800
+ Indicates whether this activity is a command result activity.
801
+
802
+ :return: True if this activity is a command result activity; otherwise, False.
803
+ """
804
+ return self.__is_activity(ActivityTypes.command_result)
805
+
440
806
  @staticmethod
441
807
  def create_contact_relation_update_activity():
442
808
  """
@@ -500,7 +866,9 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
500
866
  """
501
867
  return Activity(type=ActivityTypes.message)
502
868
 
503
- def create_reply(self, text: str | None = None, locale: str | None = None):
869
+ def create_reply(
870
+ self, text: str | None = None, locale: str | None = None
871
+ ) -> Activity:
504
872
  """
505
873
  Creates a new message activity as a response to this activity.
506
874
 
@@ -629,7 +997,7 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
629
997
  )
630
998
 
631
999
  @staticmethod
632
- def create_typing_activity() -> "Activity":
1000
+ def create_typing_activity() -> Activity:
633
1001
  """
634
1002
  Creates an instance of the :class:`microsoft_agents.activity.Activity` class as a TypingActivity object.
635
1003
 
@@ -662,8 +1030,8 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
662
1030
  agent=copy(self.recipient),
663
1031
  conversation=copy(self.conversation),
664
1032
  channel_id=(
665
- self.channel_id.split(":", 1)[0]
666
- if force_base_channel and self.channel_id is not None
1033
+ ChannelId.get_channel(self.channel_id)
1034
+ if force_base_channel
667
1035
  else self.channel_id
668
1036
  ),
669
1037
  locale=self.locale,
@@ -721,13 +1089,13 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
721
1089
  :returns: The array of mentions; or an empty array, if none are found.
722
1090
 
723
1091
  .. remarks::
724
- This method is defined on the :class:`microsoft_agents.activity.Activity` class, but is only intended for use with a message activity,
725
- where the activity Activity.Type is set to ActivityTypes.Message.
1092
+ This method is defined on the :class:`microsoft_agents.activity.Activity` class, but is only intended for use with
1093
+ a message activity, where the activity Activity.Type is set to ActivityTypes.Message.
726
1094
  """
727
1095
  if not self.entities:
728
1096
  return []
729
1097
  raw_mentions = [
730
- x for x in self.entities if x.type.lower() == EntityTypes.MENTION
1098
+ x for x in self.entities if x.type.lower() == EntityTypes.MENTION.value
731
1099
  ]
732
1100
 
733
1101
  return Activity._convert_entity_list(raw_mentions, Mention)
@@ -736,7 +1104,8 @@ class Activity(AgentsModel, _ChannelIdFieldMixin):
736
1104
  self, reply: ResourceResponse
737
1105
  ) -> ConversationReference:
738
1106
  """
739
- Create a ConversationReference based on this Activity's Conversation info and the ResourceResponse from sending an activity.
1107
+ Create a ConversationReference based on this Activity's Conversation info and the ResourceResponse from sending an
1108
+ activity.
740
1109
 
741
1110
  :param reply: ResourceResponse returned from send_activity.
742
1111