microsoft-agents-activity 0.3.0.dev0__tar.gz → 0.4.0.dev3__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.

Potentially problematic release.


This version of microsoft-agents-activity might be problematic. Click here for more details.

Files changed (209) hide show
  1. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/PKG-INFO +1 -1
  2. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/__init__.py +6 -9
  3. microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/_model_utils.py +61 -0
  4. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/activity.py +100 -63
  5. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/adaptive_card_invoke_value.py +2 -2
  6. microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/agents_model.py +46 -0
  7. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/animation_card.py +4 -4
  8. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/attachment_info.py +1 -1
  9. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/audio_card.py +4 -4
  10. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/basic_card.py +4 -4
  11. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/card_action.py +1 -1
  12. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/card_image.py +1 -1
  13. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/channel_account.py +1 -1
  14. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/channel_adapter_protocol.py +1 -1
  15. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversation_account.py +1 -1
  16. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversation_members.py +1 -1
  17. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversation_parameters.py +3 -3
  18. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversation_reference.py +3 -3
  19. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversations_result.py +1 -1
  20. microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity/__init__.py +29 -0
  21. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity → microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity}/ai_entity.py +1 -32
  22. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity → microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity}/entity.py +5 -3
  23. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity → microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity}/geo_coordinates.py +2 -2
  24. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity → microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity}/mention.py +7 -5
  25. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity → microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity}/place.py +2 -2
  26. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity → microsoft_agents_activity-0.4.0.dev3/microsoft_agents/activity/entity}/thing.py +2 -2
  27. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/error.py +1 -1
  28. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/error_response.py +1 -1
  29. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/expected_replies.py +1 -1
  30. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/hero_card.py +4 -4
  31. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/media_card.py +4 -4
  32. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/message_reaction.py +1 -1
  33. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/oauth_card.py +2 -2
  34. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/paged_members_result.py +1 -1
  35. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/receipt_card.py +4 -4
  36. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/receipt_item.py +3 -3
  37. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/semantic_action.py +2 -2
  38. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/signin_card.py +2 -2
  39. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/suggested_actions.py +1 -1
  40. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/text_highlight.py +1 -1
  41. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/thumbnail_card.py +4 -4
  42. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_exchange_state.py +2 -2
  43. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_response.py +3 -0
  44. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/transcript.py +1 -1
  45. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/turn_context_protocol.py +1 -1
  46. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/video_card.py +4 -4
  47. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/microsoft_agents_activity.egg-info/PKG-INFO +1 -1
  48. microsoft_agents_activity-0.4.0.dev3/microsoft_agents_activity.egg-info/SOURCES.txt +203 -0
  49. microsoft_agents_activity-0.4.0.dev3/microsoft_agents_activity.egg-info/top_level.txt +1 -0
  50. microsoft_agents_activity-0.4.0.dev3/tests/test_activity.py +371 -0
  51. microsoft_agents_activity-0.4.0.dev3/tests/test_token_response.py +24 -0
  52. microsoft_agents_activity-0.4.0.dev3/tests/test_tools.py +116 -0
  53. microsoft_agents_activity-0.3.0.dev0/microsoft/agents/activity/agents_model.py +0 -18
  54. microsoft_agents_activity-0.3.0.dev0/microsoft_agents_activity.egg-info/SOURCES.txt +0 -199
  55. microsoft_agents_activity-0.3.0.dev0/microsoft_agents_activity.egg-info/top_level.txt +0 -1
  56. microsoft_agents_activity-0.3.0.dev0/tests/test_activity_types.py +0 -2
  57. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/_load_configuration.py +0 -0
  58. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/_type_aliases.py +0 -0
  59. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/action_types.py +0 -0
  60. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/activity_event_names.py +0 -0
  61. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/activity_importance.py +0 -0
  62. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/activity_types.py +0 -0
  63. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/adaptive_card_invoke_action.py +0 -0
  64. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/adaptive_card_invoke_response.py +0 -0
  65. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/attachment.py +0 -0
  66. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/attachment_data.py +0 -0
  67. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/attachment_layout_types.py +0 -0
  68. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/attachment_view.py +0 -0
  69. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/caller_id_constants.py +0 -0
  70. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/channels.py +0 -0
  71. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/contact_relation_update_action_types.py +0 -0
  72. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversation_resource_response.py +0 -0
  73. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/conversation_update_types.py +0 -0
  74. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/delivery_modes.py +0 -0
  75. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/end_of_conversation_codes.py +0 -0
  76. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/fact.py +0 -0
  77. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/inner_http_error.py +0 -0
  78. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/input_hints.py +0 -0
  79. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/installation_update_action_types.py +0 -0
  80. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/invoke_response.py +0 -0
  81. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/media_event_value.py +0 -0
  82. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/media_url.py +0 -0
  83. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/message_reaction_types.py +0 -0
  84. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/message_update_types.py +0 -0
  85. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/resource_response.py +0 -0
  86. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/role_types.py +0 -0
  87. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/semantic_actions_states.py +0 -0
  88. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/sign_in_constants.py +0 -0
  89. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/sign_in_resource.py +0 -0
  90. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/__init__.py +0 -0
  91. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/app_based_link_query.py +0 -0
  92. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/batch_failed_entries_response.py +0 -0
  93. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/batch_failed_entry.py +0 -0
  94. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/batch_operation_response.py +0 -0
  95. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/batch_operation_state_response.py +0 -0
  96. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/bot_config_auth.py +0 -0
  97. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/cache_info.py +0 -0
  98. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/cancel_operation_response.py +0 -0
  99. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/channel_info.py +0 -0
  100. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/config_auth_response.py +0 -0
  101. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/config_response.py +0 -0
  102. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/config_response_base.py +0 -0
  103. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/config_task_response.py +0 -0
  104. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/conversation_list.py +0 -0
  105. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/file_consent_card.py +0 -0
  106. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/file_consent_card_response.py +0 -0
  107. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/file_download_info.py +0 -0
  108. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/file_info_card.py +0 -0
  109. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/file_upload_info.py +0 -0
  110. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_details.py +0 -0
  111. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_details_base.py +0 -0
  112. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_end_event_details.py +0 -0
  113. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_event_details.py +0 -0
  114. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_info.py +0 -0
  115. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_notification.py +0 -0
  116. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_notification_base.py +0 -0
  117. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_notification_channel_data.py +0 -0
  118. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_notification_recipient_failure_info.py +0 -0
  119. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_notification_response.py +0 -0
  120. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_participant_info.py +0 -0
  121. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_participants_event_details.py +0 -0
  122. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_stage_surface.py +0 -0
  123. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_start_event_details.py +0 -0
  124. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/meeting_tab_icon_surface.py +0 -0
  125. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload.py +0 -0
  126. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_app.py +0 -0
  127. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_attachment.py +0 -0
  128. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_body.py +0 -0
  129. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_conversation.py +0 -0
  130. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_from.py +0 -0
  131. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_mention.py +0 -0
  132. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_reaction.py +0 -0
  133. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/message_actions_payload_user.py +0 -0
  134. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_action.py +0 -0
  135. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_action_response.py +0 -0
  136. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_attachment.py +0 -0
  137. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_parameter.py +0 -0
  138. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_query.py +0 -0
  139. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_query_options.py +0 -0
  140. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_response.py +0 -0
  141. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_result.py +0 -0
  142. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/messaging_extension_suggested_action.py +0 -0
  143. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/notification_info.py +0 -0
  144. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card.py +0 -0
  145. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_action_base.py +0 -0
  146. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_action_card.py +0 -0
  147. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_action_query.py +0 -0
  148. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_date_input.py +0 -0
  149. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_fact.py +0 -0
  150. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_http_post.py +0 -0
  151. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_image.py +0 -0
  152. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_input_base.py +0 -0
  153. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_multichoice_input.py +0 -0
  154. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_multichoice_input_choice.py +0 -0
  155. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_open_uri.py +0 -0
  156. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_open_uri_target.py +0 -0
  157. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_section.py +0 -0
  158. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_text_input.py +0 -0
  159. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/o365_connector_card_view_action.py +0 -0
  160. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/on_behalf_of.py +0 -0
  161. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/read_receipt_info.py +0 -0
  162. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/signin_state_verification_query.py +0 -0
  163. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/surface.py +0 -0
  164. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_context.py +0 -0
  165. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_entity_context.py +0 -0
  166. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_request.py +0 -0
  167. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_response.py +0 -0
  168. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_response_card.py +0 -0
  169. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_response_cards.py +0 -0
  170. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_response_payload.py +0 -0
  171. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_submit.py +0 -0
  172. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_submit_data.py +0 -0
  173. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tab_suggested_actions.py +0 -0
  174. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/targeted_meeting_notification.py +0 -0
  175. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/targeted_meeting_notification_value.py +0 -0
  176. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_card_response.py +0 -0
  177. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_continue_response.py +0 -0
  178. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_message_response.py +0 -0
  179. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_request.py +0 -0
  180. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_request_context.py +0 -0
  181. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_response.py +0 -0
  182. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_response_base.py +0 -0
  183. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/task_module_task_info.py +0 -0
  184. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/team_details.py +0 -0
  185. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/team_info.py +0 -0
  186. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_batch_operation_response.py +0 -0
  187. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_channel_account.py +0 -0
  188. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_channel_data.py +0 -0
  189. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_channel_data_settings.py +0 -0
  190. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_meeting_info.py +0 -0
  191. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_meeting_member.py +0 -0
  192. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_meeting_participant.py +0 -0
  193. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_member.py +0 -0
  194. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/teams_paged_members_result.py +0 -0
  195. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/tenant_info.py +0 -0
  196. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/teams/user_meeting_details.py +0 -0
  197. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/text_format_types.py +0 -0
  198. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/thumbnail_url.py +0 -0
  199. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_exchange_invoke_request.py +0 -0
  200. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_exchange_invoke_response.py +0 -0
  201. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_exchange_resource.py +0 -0
  202. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_post_resource.py +0 -0
  203. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_request.py +0 -0
  204. {microsoft_agents_activity-0.3.0.dev0/microsoft/agents → microsoft_agents_activity-0.4.0.dev3/microsoft_agents}/activity/token_status.py +0 -0
  205. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/microsoft_agents_activity.egg-info/dependency_links.txt +0 -0
  206. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/microsoft_agents_activity.egg-info/requires.txt +0 -0
  207. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/pyproject.toml +0 -0
  208. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/setup.cfg +0 -0
  209. {microsoft_agents_activity-0.3.0.dev0 → microsoft_agents_activity-0.4.0.dev3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microsoft-agents-activity
3
- Version: 0.3.0.dev0
3
+ Version: 0.4.0.dev3
4
4
  Summary: A protocol library for Microsoft Agents
5
5
  Author: Microsoft Corporation
6
6
  Project-URL: Homepage, https://github.com/microsoft/Agents
@@ -24,32 +24,32 @@ from .conversation_reference import ConversationReference
24
24
  from .conversation_resource_response import ConversationResourceResponse
25
25
  from .conversations_result import ConversationsResult
26
26
  from .expected_replies import ExpectedReplies
27
- from .entity import Entity
28
- from .ai_entity import (
27
+ from .entity import (
28
+ Entity,
29
29
  AIEntity,
30
30
  ClientCitation,
31
31
  ClientCitationAppearance,
32
32
  ClientCitationImage,
33
33
  ClientCitationIconName,
34
+ Mention,
34
35
  SensitivityUsageInfo,
35
36
  SensitivityPattern,
36
- add_ai_to_activity,
37
+ GeoCoordinates,
38
+ Place,
39
+ Thing,
37
40
  )
38
41
  from .error import Error
39
42
  from .error_response import ErrorResponse
40
43
  from .fact import Fact
41
- from .geo_coordinates import GeoCoordinates
42
44
  from .hero_card import HeroCard
43
45
  from .inner_http_error import InnerHttpError
44
46
  from .invoke_response import InvokeResponse
45
47
  from .media_card import MediaCard
46
48
  from .media_event_value import MediaEventValue
47
49
  from .media_url import MediaUrl
48
- from .mention import Mention
49
50
  from .message_reaction import MessageReaction
50
51
  from .oauth_card import OAuthCard
51
52
  from .paged_members_result import PagedMembersResult
52
- from .place import Place
53
53
  from .receipt_card import ReceiptCard
54
54
  from .receipt_item import ReceiptItem
55
55
  from .resource_response import ResourceResponse
@@ -57,7 +57,6 @@ from .semantic_action import SemanticAction
57
57
  from .signin_card import SigninCard
58
58
  from .suggested_actions import SuggestedActions
59
59
  from .text_highlight import TextHighlight
60
- from .thing import Thing
61
60
  from .thumbnail_card import ThumbnailCard
62
61
  from .thumbnail_url import ThumbnailUrl
63
62
  from .token_exchange_invoke_request import TokenExchangeInvokeRequest
@@ -92,7 +91,6 @@ from .caller_id_constants import CallerIdConstants
92
91
  from .conversation_update_types import ConversationUpdateTypes
93
92
  from .message_update_types import MessageUpdateTypes
94
93
 
95
-
96
94
  from .channel_adapter_protocol import ChannelAdapterProtocol
97
95
  from .turn_context_protocol import TurnContextProtocol
98
96
  from ._load_configuration import load_configuration_from_env
@@ -131,7 +129,6 @@ __all__ = [
131
129
  "ClientCitationIconName",
132
130
  "SensitivityUsageInfo",
133
131
  "SensitivityPattern",
134
- "add_ai_to_activity",
135
132
  "Error",
136
133
  "ErrorResponse",
137
134
  "Fact",
@@ -0,0 +1,61 @@
1
+ from abc import ABC
2
+ from typing import Any, Callable
3
+
4
+ from .agents_model import AgentsModel
5
+
6
+
7
+ class ModelFieldHelper(ABC):
8
+ """Base class for model field processing prior to initialization of an AgentsModel"""
9
+
10
+ def process(self, key: str) -> dict[str, Any]:
11
+ """Takes the key in the destination object and returns a dictionary of new fields to add"""
12
+ raise NotImplementedError()
13
+
14
+
15
+ class SkipIf(ModelFieldHelper):
16
+ """Skip if the value meets the given condition."""
17
+
18
+ def __init__(self, value, skip_condition: Callable[[Any], bool]):
19
+ self.value = value
20
+ self._skip_condition = skip_condition
21
+
22
+ def process(self, key: str) -> dict[str, Any]:
23
+ if self._skip_condition(self.value):
24
+ return {}
25
+ return {key: self.value}
26
+
27
+
28
+ class SkipNone(SkipIf):
29
+ """Skip if the value is None."""
30
+
31
+ def __init__(self, value):
32
+ super().__init__(value, lambda v: v is None)
33
+
34
+
35
+ def pick_model_dict(**kwargs):
36
+ """Processes a list of keyword arguments, using ModelFieldHelper subclasses to determine which fields to include in the final model.
37
+
38
+ This function is useful for dynamically constructing models based on varying input data.
39
+
40
+ Usage:
41
+ activity_dict = pick_model_dict(type="message", id="123", text=SkipNone(text_variable))
42
+ activity = Activity.model_validate(activity_dict)
43
+ """
44
+
45
+ model_dict = {}
46
+ for key, value in kwargs.items():
47
+ if not isinstance(value, ModelFieldHelper):
48
+ model_dict[key] = value
49
+ else:
50
+ model_dict.update(value.process(key))
51
+
52
+ return model_dict
53
+
54
+
55
+ def pick_model(model_class: type[AgentsModel], **kwargs) -> AgentsModel:
56
+ """Picks model fields from the given keyword arguments.
57
+
58
+ Usage:
59
+ activity = pick_model(Activity, type="message", id="123", text=SkipNone(text_variable))
60
+ """
61
+ return model_class(**pick_model_dict(**kwargs))
@@ -5,16 +5,22 @@ from pydantic import Field, SerializeAsAny
5
5
  from .activity_types import ActivityTypes
6
6
  from .channel_account import ChannelAccount
7
7
  from .conversation_account import ConversationAccount
8
- from .mention import Mention
9
8
  from .message_reaction import MessageReaction
10
9
  from .resource_response import ResourceResponse
11
10
  from .suggested_actions import SuggestedActions
12
11
  from .attachment import Attachment
13
- from .entity import Entity
12
+ from .entity import (
13
+ Entity,
14
+ Mention,
15
+ AIEntity,
16
+ ClientCitation,
17
+ SensitivityUsageInfo,
18
+ )
14
19
  from .conversation_reference import ConversationReference
15
20
  from .text_highlight import TextHighlight
16
21
  from .semantic_action import SemanticAction
17
22
  from .agents_model import AgentsModel
23
+ from ._model_utils import pick_model, SkipNone
18
24
  from ._type_aliases import NonEmptyString
19
25
 
20
26
 
@@ -27,7 +33,7 @@ class Activity(AgentsModel):
27
33
  'endOfConversation', 'event', 'invoke', 'deleteUserData', 'messageUpdate',
28
34
  'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion',
29
35
  'trace', 'handoff'
30
- :type type: str or ~microsoft.agents.protocols.models.ActivityTypes
36
+ :type type: str or ~microsoft_agents.activity.ActivityTypes
31
37
  :param id: Contains an ID that uniquely identifies the activity on the channel.
32
38
  :type id: str
33
39
  :param timestamp: Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.
@@ -43,23 +49,23 @@ class Activity(AgentsModel):
43
49
  :param channel_id: Contains an ID that uniquely identifies the channel. Set by the channel.
44
50
  :type channel_id: str
45
51
  :param from_property: Identifies the sender of the message.
46
- :type from_property: ~microsoft.agents.protocols.models.ChannelAccount
52
+ :type from_property: ~microsoft_agents.activity.ChannelAccount
47
53
  :param conversation: Identifies the conversation to which the activity belongs.
48
- :type conversation: ~microsoft.agents.protocols.models.ConversationAccount
54
+ :type conversation: ~microsoft_agents.activity.ConversationAccount
49
55
  :param recipient: Identifies the recipient of the message.
50
- :type recipient: ~microsoft.agents.protocols.models.ChannelAccount
56
+ :type recipient: ~microsoft_agents.activity.ChannelAccount
51
57
  :param text_format: Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml'
52
- :type text_format: str or ~microsoft.agents.protocols.models.TextFormatTypes
58
+ :type text_format: str or ~microsoft_agents.activity.TextFormatTypes
53
59
  :param attachment_layout: The layout hint for multiple attachments. Default: list. Possible values include: 'list', 'carousel'
54
- :type attachment_layout: str or ~microsoft.agents.protocols.models.AttachmentLayoutTypes
60
+ :type attachment_layout: str or ~microsoft_agents.activity.AttachmentLayoutTypes
55
61
  :param members_added: The collection of members added to the conversation.
56
- :type members_added: list[~microsoft.agents.protocols.models.ChannelAccount]
62
+ :type members_added: list[~microsoft_agents.activity.ChannelAccount]
57
63
  :param members_removed: The collection of members removed from the conversation.
58
- :type members_removed: list[~microsoft.agents.protocols.models.ChannelAccount]
64
+ :type members_removed: list[~microsoft_agents.activity.ChannelAccount]
59
65
  :param reactions_added: The collection of reactions added to the conversation.
60
- :type reactions_added: list[~microsoft.agents.protocols.models.MessageReaction]
66
+ :type reactions_added: list[~microsoft_agents.activity.MessageReaction]
61
67
  :param reactions_removed: The collection of reactions removed from the conversation.
62
- :type reactions_removed: list[~microsoft.agents.protocols.models.MessageReaction]
68
+ :type reactions_removed: list[~microsoft_agents.activity.MessageReaction]
63
69
  :param topic_name: The updated topic name of the conversation.
64
70
  :type topic_name: str
65
71
  :param history_disclosed: Indicates whether the prior history of the channel is disclosed.
@@ -74,15 +80,15 @@ class Activity(AgentsModel):
74
80
  :type speak: str
75
81
  :param input_hint: Indicates whether your agent is accepting, expecting, or ignoring user input after the message is delivered to the client.
76
82
  Possible values include: 'acceptingInput', 'ignoringInput', 'expectingInput'
77
- :type input_hint: str or ~microsoft.agents.protocols.models.InputHints
83
+ :type input_hint: str or ~microsoft_agents.activity.InputHints
78
84
  :param summary: The text to display if the channel cannot render cards.
79
85
  :type summary: str
80
86
  :param suggested_actions: The suggested actions for the activity.
81
- :type suggested_actions: ~microsoft.agents.protocols.models.SuggestedActions
87
+ :type suggested_actions: ~microsoft_agents.activity.SuggestedActions
82
88
  :param attachments: Attachments
83
- :type attachments: list[~microsoft.agents.protocols.models.Attachment]
89
+ :type attachments: list[~microsoft_agents.activity.Attachment]
84
90
  :param entities: Represents the entities that were mentioned in the message.
85
- :type entities: list[~microsoft.agents.protocols.models.Entity]
91
+ :type entities: list[~microsoft_agents.activity.Entity]
86
92
  :param channel_data: Contains channel-specific content.
87
93
  :type channel_data: object
88
94
  :param action: Indicates whether the recipient of a contactRelationUpdate was added or removed from the sender's contact list.
@@ -98,23 +104,23 @@ class Activity(AgentsModel):
98
104
  :param name: The name of the operation associated with an invoke or event activity.
99
105
  :type name: str
100
106
  :param relates_to: A reference to another conversation or activity.
101
- :type relates_to: ~microsoft.agents.protocols.models.ConversationReference
107
+ :type relates_to: ~microsoft_agents.activity.ConversationReference
102
108
  :param code: The a code for endOfConversation activities that indicates why the conversation ended. Possible values include: 'unknown',
103
109
  'completedSuccessfully', 'userCancelled', 'botTimedOut', 'botIssuedInvalidMessage', 'channelFailed'
104
- :type code: str or ~microsoft.agents.protocols.models.EndOfConversationCodes
110
+ :type code: str or ~microsoft_agents.activity.EndOfConversationCodes
105
111
  :param expiration: The time at which the activity should be considered to be "expired" and should not be presented to the recipient.
106
112
  :type expiration: datetime
107
113
  :param importance: The importance of the activity. Possible values include: 'low', 'normal', 'high'
108
- :type importance: str or ~microsoft.agents.protocols.models.ActivityImportance
114
+ :type importance: str or ~microsoft_agents.activity.ActivityImportance
109
115
  :param delivery_mode: A delivery hint to signal to the recipient alternate delivery paths for the activity.
110
116
  The default delivery mode is "default". Possible values include: 'normal', 'notification', 'expectReplies', 'ephemeral'
111
- :type delivery_mode: str or ~microsoft.agents.protocols.models.DeliveryModes
117
+ :type delivery_mode: str or ~microsoft_agents.activity.DeliveryModes
112
118
  :param listen_for: List of phrases and references that speech and language priming systems should listen for
113
119
  :type listen_for: list[str]
114
120
  :param text_highlights: The collection of text fragments to highlight when the activity contains a ReplyToId value.
115
- :type text_highlights: list[~microsoft.agents.protocols.models.TextHighlight]
121
+ :type text_highlights: list[~microsoft_agents.activity.TextHighlight]
116
122
  :param semantic_action: An optional programmatic action accompanying this request
117
- :type semantic_action: ~microsoft.agents.protocols.models.SemanticAction
123
+ :type semantic_action: ~microsoft_agents.activity.SemanticAction
118
124
  :param caller_id: A string containing an IRI identifying the caller of an agent. This field is not intended to be transmitted over the wire,
119
125
  but is instead populated by agents and clients based on cryptographically verifiable data that asserts the identity of the callers (e.g. tokens).
120
126
  :type caller_id: str
@@ -390,32 +396,31 @@ class Activity(AgentsModel):
390
396
  .. remarks::
391
397
  The new activity sets up routing information based on this activity.
392
398
  """
393
- return Activity(
399
+ return pick_model(
400
+ Activity,
394
401
  type=ActivityTypes.message,
395
402
  timestamp=datetime.now(timezone.utc),
396
- from_property=ChannelAccount(
397
- id=self.recipient.id if self.recipient else None,
398
- name=self.recipient.name if self.recipient else None,
403
+ from_property=SkipNone(
404
+ ChannelAccount.pick_properties(self.recipient, ["id", "name"])
399
405
  ),
400
- recipient=ChannelAccount(
401
- id=self.from_property.id if self.from_property else None,
402
- name=self.from_property.name if self.from_property else None,
406
+ recipient=SkipNone(
407
+ ChannelAccount.pick_properties(self.from_property, ["id", "name"])
403
408
  ),
404
409
  reply_to_id=(
405
- self.id
410
+ SkipNone(self.id)
406
411
  if type != ActivityTypes.conversation_update
407
412
  or self.channel_id not in ["directline", "webchat"]
408
413
  else None
409
414
  ),
410
415
  service_url=self.service_url,
411
416
  channel_id=self.channel_id,
412
- conversation=ConversationAccount(
413
- is_group=self.conversation.is_group,
414
- id=self.conversation.id,
415
- name=self.conversation.name,
417
+ conversation=SkipNone(
418
+ ConversationAccount.pick_properties(
419
+ self.conversation, ["is_group", "id", "name"]
420
+ )
416
421
  ),
417
422
  text=text if text else "",
418
- locale=locale if locale else self.locale,
423
+ locale=locale if locale else SkipNone(self.locale),
419
424
  attachments=[],
420
425
  entities=[],
421
426
  )
@@ -423,6 +428,7 @@ class Activity(AgentsModel):
423
428
  def create_trace(
424
429
  self, name: str, value: object = None, value_type: str = None, label: str = None
425
430
  ):
431
+ # robrandao: TODO -> needs to handle Nones like create_reply
426
432
  """
427
433
  Creates a new trace activity based on this activity.
428
434
 
@@ -434,42 +440,42 @@ class Activity(AgentsModel):
434
440
  :returns: The new trace activity.
435
441
  """
436
442
  if not value_type and value:
437
- value_type = type(value)
443
+ value_type = type(value).__name__
438
444
 
439
- return Activity(
445
+ return pick_model(
446
+ Activity,
440
447
  type=ActivityTypes.trace,
441
448
  timestamp=datetime.now(timezone.utc),
442
- from_property=ChannelAccount(
443
- id=self.recipient.id if self.recipient else None,
444
- name=self.recipient.name if self.recipient else None,
449
+ from_property=SkipNone(
450
+ ChannelAccount.pick_properties(self.recipient, ["id", "name"])
445
451
  ),
446
- recipient=ChannelAccount(
447
- id=self.from_property.id if self.from_property else None,
448
- name=self.from_property.name if self.from_property else None,
452
+ recipient=SkipNone(
453
+ ChannelAccount.pick_properties(self.from_property, ["id", "name"])
449
454
  ),
450
455
  reply_to_id=(
451
- self.id
456
+ SkipNone(self.id) # preserve unset
452
457
  if type != ActivityTypes.conversation_update
453
458
  or self.channel_id not in ["directline", "webchat"]
454
459
  else None
455
460
  ),
456
461
  service_url=self.service_url,
457
462
  channel_id=self.channel_id,
458
- conversation=ConversationAccount(
459
- is_group=self.conversation.is_group,
460
- id=self.conversation.id,
461
- name=self.conversation.name,
463
+ conversation=SkipNone(
464
+ ConversationAccount.pick_properties(
465
+ self.conversation, ["is_group", "id", "name"]
466
+ )
462
467
  ),
463
- name=name,
464
- label=label,
465
- value_type=value_type,
466
- value=value,
468
+ name=SkipNone(name),
469
+ label=SkipNone(label),
470
+ value_type=SkipNone(value_type),
471
+ value=SkipNone(value),
467
472
  ).as_trace_activity()
468
473
 
469
474
  @staticmethod
470
475
  def create_trace_activity(
471
476
  name: str, value: object = None, value_type: str = None, label: str = None
472
477
  ):
478
+ # robrandao: TODO -> SkipNone
473
479
  """
474
480
  Creates an instance of the :class:`Activity` class as a TraceActivity object.
475
481
 
@@ -481,14 +487,15 @@ class Activity(AgentsModel):
481
487
  :returns: The new trace activity.
482
488
  """
483
489
  if not value_type and value:
484
- value_type = type(value)
490
+ value_type = type(value).__name__
485
491
 
486
- return Activity(
492
+ return pick_model(
493
+ Activity,
487
494
  type=ActivityTypes.trace,
488
495
  name=name,
489
- label=label,
490
- value_type=value_type,
491
- value=value,
496
+ label=SkipNone(label),
497
+ value_type=SkipNone(value_type),
498
+ value=SkipNone(value),
492
499
  )
493
500
 
494
501
  @staticmethod
@@ -506,10 +513,10 @@ class Activity(AgentsModel):
506
513
 
507
514
  :returns: A conversation reference for the conversation that contains this activity.
508
515
  """
509
-
510
- return ConversationReference(
516
+ return pick_model(
517
+ ConversationReference,
511
518
  activity_id=(
512
- self.id
519
+ SkipNone(self.id)
513
520
  if self.type != ActivityTypes.conversation_update
514
521
  or self.channel_id not in ["directline", "webchat"]
515
522
  else None
@@ -532,8 +539,9 @@ class Activity(AgentsModel):
532
539
  This method is defined on the :class:`Activity` class, but is only intended for use with a message activity,
533
540
  where the activity Activity.Type is set to ActivityTypes.Message.
534
541
  """
535
- _list = self.entities
536
- return [x for x in _list if str(x.type).lower() == "mention"]
542
+ if not self.entities:
543
+ return []
544
+ return [x for x in self.entities if x.type.lower() == "mention"]
537
545
 
538
546
  def get_reply_conversation_reference(
539
547
  self, reply: ResourceResponse
@@ -596,7 +604,7 @@ class Activity(AgentsModel):
596
604
  if self.type is None:
597
605
  return False
598
606
 
599
- type_attribute = str(self.type).lower()
607
+ type_attribute = f"ActivityTypes.{str(self.type)}".lower()
600
608
  activity_type = str(activity_type).lower()
601
609
 
602
610
  result = type_attribute.startswith(activity_type)
@@ -611,3 +619,32 @@ class Activity(AgentsModel):
611
619
  )
612
620
 
613
621
  return result
622
+
623
+ def add_ai_metadata(
624
+ self,
625
+ citations: Optional[list[ClientCitation]] = None,
626
+ usage_info: Optional[SensitivityUsageInfo] = None,
627
+ ) -> None:
628
+ """
629
+ Adds AI entity to an activity to indicate AI-generated content.
630
+
631
+ Args:
632
+ activity: The activity to modify
633
+ citations: Optional list of citations
634
+ usage_info: Optional sensitivity usage information
635
+ """
636
+ if citations:
637
+ ai_entity = AIEntity(
638
+ type="https://schema.org/Message",
639
+ schema_type="Message",
640
+ context="https://schema.org",
641
+ id="",
642
+ additional_type=["AIGeneratedContent"],
643
+ citation=citations,
644
+ usage_info=usage_info,
645
+ )
646
+
647
+ if self.entities is None:
648
+ self.entities = []
649
+
650
+ self.entities.append(ai_entity)
@@ -10,9 +10,9 @@ class AdaptiveCardInvokeValue(AgentsModel):
10
10
  Defines the structure that arrives in the Activity.Value for Invoke activity with Name of 'adaptiveCard/action'.
11
11
 
12
12
  :param action: The action of this adaptive card invoke action value.
13
- :type action: :class:`microsoft.agents.activity.models.AdaptiveCardInvokeAction`
13
+ :type action: :class:`microsoft_agents.activity.models.AdaptiveCardInvokeAction`
14
14
  :param authentication: The TokenExchangeInvokeRequest for this adaptive card invoke action value.
15
- :type authentication: :class:`microsoft.agents.activity.models.TokenExchangeInvokeRequest`
15
+ :type authentication: :class:`microsoft_agents.activity.models.TokenExchangeInvokeRequest`
16
16
  :param state: The 'state' or magic code for an OAuth flow.
17
17
  :type state: str
18
18
  """
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+
3
+ from pydantic import BaseModel, ConfigDict
4
+ from pydantic.alias_generators import to_camel
5
+
6
+
7
+ class AgentsModel(BaseModel):
8
+ model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True)
9
+
10
+ """
11
+ @model_serializer
12
+ def _serialize(self):
13
+ omit_if_empty = {
14
+ k
15
+ for k, v in self
16
+ if isinstance(v, list) and not v
17
+ }
18
+
19
+ return {k: v for k, v in self if k not in omit_if_empty and v is not None}
20
+ """
21
+
22
+ @classmethod
23
+ def pick_properties(cls, original: AgentsModel, fields_to_copy=None, **kwargs):
24
+ """Picks properties from the original model and returns a new instance (of a possibly different AgentsModel) with those properties.
25
+
26
+ This method preserves unset values.
27
+
28
+ args:
29
+ original: The original model instance to copy properties from. If None, returns None.
30
+ fields_to_copy: The specific fields to copy. If None, all fields are copied.
31
+ **kwargs: Additional fields to include in the new instance.
32
+ """
33
+ if not original:
34
+ return None
35
+
36
+ if fields_to_copy is None:
37
+ fields_to_copy = original.model_fields_set
38
+ else:
39
+ fields_to_copy = original.model_fields_set & set(fields_to_copy)
40
+
41
+ dest = {}
42
+ for field in fields_to_copy:
43
+ dest[field] = getattr(original, field)
44
+
45
+ dest.update(kwargs)
46
+ return cls.model_validate(dest)
@@ -15,12 +15,12 @@ class AnimationCard(AgentsModel):
15
15
  :param text: Text of this card
16
16
  :type text: str
17
17
  :param image: Thumbnail placeholder
18
- :type image: ~microsoft.agents.protocols.models.ThumbnailUrl
18
+ :type image: ~microsoft_agents.activity.ThumbnailUrl
19
19
  :param media: Media URLs for this card. When this field contains more than
20
20
  one URL, each URL is an alternative format of the same content.
21
- :type media: list[~microsoft.agents.protocols.models.MediaUrl]
21
+ :type media: list[~microsoft_agents.activity.MediaUrl]
22
22
  :param buttons: Actions on this card
23
- :type buttons: list[~microsoft.agents.protocols.models.CardAction]
23
+ :type buttons: list[~microsoft_agents.activity.CardAction]
24
24
  :param shareable: This content may be shared with others (default:true)
25
25
  :type shareable: bool
26
26
  :param autoloop: Should the client loop playback at end of content
@@ -42,7 +42,7 @@ class AnimationCard(AgentsModel):
42
42
 
43
43
  title: NonEmptyString = None
44
44
  subtitle: NonEmptyString = None
45
- text: NonEmptyString = None
45
+ text: str = None
46
46
  image: ThumbnailUrl = None
47
47
  media: list[MediaUrl] = None
48
48
  buttons: list[CardAction] = None
@@ -11,7 +11,7 @@ class AttachmentInfo(AgentsModel):
11
11
  :param type: ContentType of the attachment
12
12
  :type type: str
13
13
  :param views: attachment views
14
- :type views: list[~microsoft.agents.protocols.models.AttachmentView]
14
+ :type views: list[~microsoft_agents.activity.AttachmentView]
15
15
  """
16
16
 
17
17
  name: NonEmptyString = None
@@ -15,12 +15,12 @@ class AudioCard(AgentsModel):
15
15
  :param text: Text of this card
16
16
  :type text: str
17
17
  :param image: Thumbnail placeholder
18
- :type image: ~microsoft.agents.protocols.models.ThumbnailUrl
18
+ :type image: ~microsoft_agents.activity.ThumbnailUrl
19
19
  :param media: Media URLs for this card. When this field contains more than
20
20
  one URL, each URL is an alternative format of the same content.
21
- :type media: list[~microsoft.agents.protocols.models.MediaUrl]
21
+ :type media: list[~microsoft_agents.activity.MediaUrl]
22
22
  :param buttons: Actions on this card
23
- :type buttons: list[~microsoft.agents.protocols.models.CardAction]
23
+ :type buttons: list[~microsoft_agents.activity.CardAction]
24
24
  :param shareable: This content may be shared with others (default:true)
25
25
  :type shareable: bool
26
26
  :param autoloop: Should the client loop playback at end of content
@@ -42,7 +42,7 @@ class AudioCard(AgentsModel):
42
42
 
43
43
  title: NonEmptyString = None
44
44
  subtitle: NonEmptyString = None
45
- text: NonEmptyString = None
45
+ text: str = None
46
46
  image: ThumbnailUrl = None
47
47
  media: list[MediaUrl] = None
48
48
  buttons: list[CardAction] = None
@@ -14,17 +14,17 @@ class BasicCard(AgentsModel):
14
14
  :param text: Text for the card
15
15
  :type text: str
16
16
  :param images: Array of images for the card
17
- :type images: list[~microsoft.agents.protocols.models.CardImage]
17
+ :type images: list[~microsoft_agents.activity.CardImage]
18
18
  :param buttons: Set of actions applicable to the current card
19
- :type buttons: list[~microsoft.agents.protocols.models.CardAction]
19
+ :type buttons: list[~microsoft_agents.activity.CardAction]
20
20
  :param tap: This action will be activated when user taps on the card
21
21
  itself
22
- :type tap: ~microsoft.agents.protocols.models.CardAction
22
+ :type tap: ~microsoft_agents.activity.CardAction
23
23
  """
24
24
 
25
25
  title: NonEmptyString = None
26
26
  subtitle: NonEmptyString = None
27
- text: NonEmptyString = None
27
+ text: str = None
28
28
  images: list[CardImage] = None
29
29
  buttons: list[CardAction] = None
30
30
  tap: CardAction = None
@@ -9,7 +9,7 @@ class CardAction(AgentsModel):
9
9
  :param type: The type of action implemented by this button. Possible
10
10
  values include: 'openUrl', 'imBack', 'postBack', 'playAudio', 'playVideo',
11
11
  'showImage', 'downloadFile', 'signin', 'call', 'messageBack'
12
- :type type: str or ~microsoft.agents.protocols.models.ActionTypes
12
+ :type type: str or ~microsoft_agents.activity.ActionTypes
13
13
  :param title: Text description which appears on the button
14
14
  :type title: str
15
15
  :param image: Image URL which will appear on the button, next to text
@@ -11,7 +11,7 @@ class CardImage(AgentsModel):
11
11
  :param alt: Image description intended for screen readers
12
12
  :type alt: str
13
13
  :param tap: Action assigned to specific Attachment
14
- :type tap: ~microsoft.agents.protocols.models.CardAction
14
+ :type tap: ~microsoft_agents.activity.CardAction
15
15
  """
16
16
 
17
17
  url: NonEmptyString = None
@@ -17,7 +17,7 @@ class ChannelAccount(AgentsModel):
17
17
  Directory (AAD)
18
18
  :type aad_object_id: str
19
19
  :param role: Role of the entity behind the account
20
- :type role: str or ~microsoft.agents.protocols.models.RoleTypes
20
+ :type role: str or ~microsoft_agents.activity.RoleTypes
21
21
  """
22
22
 
23
23
  model_config = ConfigDict(extra="allow")
@@ -2,7 +2,7 @@ from abc import abstractmethod
2
2
  from typing import Protocol, List, Callable, Awaitable, Optional
3
3
 
4
4
  from .turn_context_protocol import TurnContextProtocol
5
- from microsoft.agents.activity import (
5
+ from microsoft_agents.activity import (
6
6
  Activity,
7
7
  ResourceResponse,
8
8
  ConversationReference,
@@ -21,7 +21,7 @@ class ConversationAccount(AgentsModel):
21
21
  Directory (AAD)
22
22
  :type aad_object_id: str
23
23
  :param role: Role of the entity behind the account
24
- :type role: str or ~microsoft.agents.protocols.models.RoleTypes
24
+ :type role: str or ~microsoft_agents.activity.RoleTypes
25
25
  :param tenant_id: This conversation's tenant ID
26
26
  :type tenant_id: str
27
27
  :param properties: This conversation's properties
@@ -9,7 +9,7 @@ class ConversationMembers(AgentsModel):
9
9
  :param id: Conversation ID
10
10
  :type id: str
11
11
  :param members: List of members in this conversation
12
- :type members: list[~microsoft.agents.protocols.models.ChannelAccount]
12
+ :type members: list[~microsoft_agents.activity.ChannelAccount]
13
13
  """
14
14
 
15
15
  id: NonEmptyString = None