microsoft-agents-activity 1.10.0.dev5__tar.gz → 1.10.0.dev7__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 (239) hide show
  1. {microsoft_agents_activity-1.10.0.dev5/microsoft_agents_activity.egg-info → microsoft_agents_activity-1.10.0.dev7}/PKG-INFO +1 -1
  2. microsoft_agents_activity-1.10.0.dev7/VERSION.txt +1 -0
  3. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/__init__.py +9 -1
  4. microsoft_agents_activity-1.10.0.dev7/microsoft_agents/activity/config/_load_configuration.py +27 -0
  5. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_logging/_logging_configuration.py +15 -4
  6. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/configuration.py +149 -17
  7. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7/microsoft_agents_activity.egg-info}/PKG-INFO +1 -1
  8. microsoft_agents_activity-1.10.0.dev5/VERSION.txt +0 -1
  9. microsoft_agents_activity-1.10.0.dev5/microsoft_agents/activity/config/_load_configuration.py +0 -45
  10. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/LICENSE +0 -0
  11. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/MANIFEST.in +0 -0
  12. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/__init__.py +0 -0
  13. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/_model_utils.py +0 -0
  14. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/_type_aliases.py +0 -0
  15. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/_utils/__init__.py +0 -0
  16. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/_utils/_deferred_string.py +0 -0
  17. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/action_types.py +0 -0
  18. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/activity.py +0 -0
  19. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/activity_event_names.py +0 -0
  20. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/activity_importance.py +0 -0
  21. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/activity_types.py +0 -0
  22. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/adaptive_card_card.py +0 -0
  23. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/adaptive_card_invoke_action.py +0 -0
  24. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/adaptive_card_invoke_response.py +0 -0
  25. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/adaptive_card_invoke_value.py +0 -0
  26. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/adaptive_card_search_invoke_value.py +0 -0
  27. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/agents_model.py +0 -0
  28. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/animation_card.py +0 -0
  29. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/attachment.py +0 -0
  30. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/attachment_data.py +0 -0
  31. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/attachment_info.py +0 -0
  32. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/attachment_layout_types.py +0 -0
  33. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/attachment_view.py +0 -0
  34. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/audio_card.py +0 -0
  35. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/caller_id_constants.py +0 -0
  36. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/card.py +0 -0
  37. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/card_action.py +0 -0
  38. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/card_image.py +0 -0
  39. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/channel_account.py +0 -0
  40. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/channel_adapter_protocol.py +0 -0
  41. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/channel_id.py +0 -0
  42. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/channels.py +0 -0
  43. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_coercion.py +0 -0
  44. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_configuration_protocol.py +0 -0
  45. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_constants.py +0 -0
  46. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_logging/__init__.py +0 -0
  47. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_logging/_color_formatter.py +0 -0
  48. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_logging/_constants.py +0 -0
  49. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_logging/_load.py +0 -0
  50. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_resolve.py +0 -0
  51. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/config/_utils.py +0 -0
  52. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/contact_relation_update_action_types.py +0 -0
  53. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/content_types.py +0 -0
  54. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversation_account.py +0 -0
  55. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversation_members.py +0 -0
  56. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversation_parameters.py +0 -0
  57. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversation_reference.py +0 -0
  58. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversation_resource_response.py +0 -0
  59. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversation_update_types.py +0 -0
  60. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/conversations_result.py +0 -0
  61. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/delivery_modes.py +0 -0
  62. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/end_of_conversation_codes.py +0 -0
  63. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/__init__.py +0 -0
  64. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/_schema_mixin.py +0 -0
  65. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/_validate_known_entities.py +0 -0
  66. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/activity_treatment.py +0 -0
  67. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/ai_entity.py +0 -0
  68. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/entity.py +0 -0
  69. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/entity_types.py +0 -0
  70. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/geo_coordinates.py +0 -0
  71. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/mention.py +0 -0
  72. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/place.py +0 -0
  73. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/product_info.py +0 -0
  74. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/stream_info.py +0 -0
  75. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/entity/thing.py +0 -0
  76. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/error.py +0 -0
  77. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/error_response.py +0 -0
  78. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/errors/__init__.py +0 -0
  79. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/errors/error_message.py +0 -0
  80. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/errors/error_resources.py +0 -0
  81. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/expected_replies.py +0 -0
  82. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/fact.py +0 -0
  83. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/hero_card.py +0 -0
  84. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/inner_http_error.py +0 -0
  85. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/input_hints.py +0 -0
  86. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/installation_update_action_types.py +0 -0
  87. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/invoke_response.py +0 -0
  88. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/media_event_value.py +0 -0
  89. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/media_url.py +0 -0
  90. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/message_reaction.py +0 -0
  91. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/message_reaction_types.py +0 -0
  92. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/message_update_types.py +0 -0
  93. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/oauth_card.py +0 -0
  94. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/paged_members_result.py +0 -0
  95. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/py.typed +0 -0
  96. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/receipt_card.py +0 -0
  97. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/receipt_item.py +0 -0
  98. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/resource_response.py +0 -0
  99. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/role_types.py +0 -0
  100. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/search_invoke_options.py +0 -0
  101. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/search_invoke_value.py +0 -0
  102. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/semantic_action.py +0 -0
  103. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/semantic_actions_states.py +0 -0
  104. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/sign_in_constants.py +0 -0
  105. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/sign_in_resource.py +0 -0
  106. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/signin_card.py +0 -0
  107. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/suggested_actions.py +0 -0
  108. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/__init__.py +0 -0
  109. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/app_based_link_query.py +0 -0
  110. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/batch_failed_entries_response.py +0 -0
  111. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/batch_failed_entry.py +0 -0
  112. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/batch_operation_response.py +0 -0
  113. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/batch_operation_state_response.py +0 -0
  114. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/bot_config_auth.py +0 -0
  115. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/cache_info.py +0 -0
  116. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/cancel_operation_response.py +0 -0
  117. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/channel_info.py +0 -0
  118. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/config_auth_response.py +0 -0
  119. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/config_response.py +0 -0
  120. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/config_response_base.py +0 -0
  121. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/config_task_response.py +0 -0
  122. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/conversation_list.py +0 -0
  123. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/file_consent_card.py +0 -0
  124. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/file_consent_card_response.py +0 -0
  125. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/file_download_info.py +0 -0
  126. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/file_info_card.py +0 -0
  127. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/file_upload_info.py +0 -0
  128. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_details.py +0 -0
  129. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_details_base.py +0 -0
  130. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_end_event_details.py +0 -0
  131. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_event_details.py +0 -0
  132. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_info.py +0 -0
  133. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_notification.py +0 -0
  134. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_notification_base.py +0 -0
  135. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_notification_channel_data.py +0 -0
  136. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_notification_recipient_failure_info.py +0 -0
  137. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_notification_response.py +0 -0
  138. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_participant_info.py +0 -0
  139. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_participants_event_details.py +0 -0
  140. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_stage_surface.py +0 -0
  141. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_start_event_details.py +0 -0
  142. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/meeting_tab_icon_surface.py +0 -0
  143. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload.py +0 -0
  144. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_app.py +0 -0
  145. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_attachment.py +0 -0
  146. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_body.py +0 -0
  147. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_conversation.py +0 -0
  148. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_from.py +0 -0
  149. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_mention.py +0 -0
  150. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_reaction.py +0 -0
  151. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/message_actions_payload_user.py +0 -0
  152. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_action.py +0 -0
  153. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_action_response.py +0 -0
  154. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_attachment.py +0 -0
  155. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_parameter.py +0 -0
  156. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_query.py +0 -0
  157. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_query_options.py +0 -0
  158. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_response.py +0 -0
  159. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_result.py +0 -0
  160. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/messaging_extension_suggested_action.py +0 -0
  161. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/notification_info.py +0 -0
  162. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card.py +0 -0
  163. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_action_base.py +0 -0
  164. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_action_card.py +0 -0
  165. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_action_query.py +0 -0
  166. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_date_input.py +0 -0
  167. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_fact.py +0 -0
  168. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_http_post.py +0 -0
  169. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_image.py +0 -0
  170. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_input_base.py +0 -0
  171. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_multichoice_input.py +0 -0
  172. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_multichoice_input_choice.py +0 -0
  173. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_open_uri.py +0 -0
  174. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_open_uri_target.py +0 -0
  175. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_section.py +0 -0
  176. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_text_input.py +0 -0
  177. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/o365_connector_card_view_action.py +0 -0
  178. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/on_behalf_of.py +0 -0
  179. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/read_receipt_info.py +0 -0
  180. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/signin_state_verification_query.py +0 -0
  181. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/surface.py +0 -0
  182. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_context.py +0 -0
  183. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_entity_context.py +0 -0
  184. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_request.py +0 -0
  185. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_response.py +0 -0
  186. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_response_card.py +0 -0
  187. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_response_cards.py +0 -0
  188. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_response_payload.py +0 -0
  189. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_submit.py +0 -0
  190. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_submit_data.py +0 -0
  191. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tab_suggested_actions.py +0 -0
  192. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/targeted_meeting_notification.py +0 -0
  193. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/targeted_meeting_notification_value.py +0 -0
  194. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_card_response.py +0 -0
  195. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_continue_response.py +0 -0
  196. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_message_response.py +0 -0
  197. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_request.py +0 -0
  198. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_request_context.py +0 -0
  199. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_response.py +0 -0
  200. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_response_base.py +0 -0
  201. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/task_module_task_info.py +0 -0
  202. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/team_details.py +0 -0
  203. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/team_info.py +0 -0
  204. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_batch_operation_response.py +0 -0
  205. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_channel_account.py +0 -0
  206. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_channel_data.py +0 -0
  207. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_channel_data_settings.py +0 -0
  208. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_meeting_info.py +0 -0
  209. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_meeting_member.py +0 -0
  210. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_meeting_participant.py +0 -0
  211. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_member.py +0 -0
  212. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/teams_paged_members_result.py +0 -0
  213. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/tenant_info.py +0 -0
  214. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/teams/user_meeting_details.py +0 -0
  215. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/text_format_types.py +0 -0
  216. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/text_highlight.py +0 -0
  217. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/thumbnail_card.py +0 -0
  218. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/thumbnail_url.py +0 -0
  219. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_exchange_invoke_request.py +0 -0
  220. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_exchange_invoke_response.py +0 -0
  221. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_exchange_request.py +0 -0
  222. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_exchange_resource.py +0 -0
  223. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_exchange_state.py +0 -0
  224. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_or_sign_in_resource_response.py +0 -0
  225. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_post_resource.py +0 -0
  226. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_request.py +0 -0
  227. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_response.py +0 -0
  228. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/token_status.py +0 -0
  229. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/transcript.py +0 -0
  230. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/turn_context_protocol.py +0 -0
  231. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents/activity/video_card.py +0 -0
  232. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents_activity.egg-info/SOURCES.txt +0 -0
  233. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents_activity.egg-info/dependency_links.txt +0 -0
  234. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents_activity.egg-info/requires.txt +0 -0
  235. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/microsoft_agents_activity.egg-info/top_level.txt +0 -0
  236. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/pyproject.toml +0 -0
  237. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/readme.md +0 -0
  238. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/setup.cfg +0 -0
  239. {microsoft_agents_activity-1.10.0.dev5 → microsoft_agents_activity-1.10.0.dev7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microsoft-agents-activity
3
- Version: 1.10.0.dev5
3
+ Version: 1.10.0.dev7
4
4
  Summary: A protocol library for Microsoft Agents
5
5
  Author: Microsoft Corporation
6
6
  License-Expression: MIT
@@ -0,0 +1 @@
1
+ 1.10.0.dev7
@@ -1,8 +1,15 @@
1
1
  # Copyright (c) Microsoft Corporation. All rights reserved.
2
2
  # Licensed under the MIT License.
3
3
 
4
+ """Configuration loading and typed settings binding.
5
+
6
+ ``load_configuration_from_env`` returns a root ``Configuration``. Plain mappings
7
+ and extracted sections are scoped inputs; ``_RootConfigurable`` distinguishes
8
+ these forms using ``Configuration.is_root_config``, not their contents or paths.
9
+ """
10
+
4
11
  from ._load_configuration import load_configuration_from_env
5
- from .configuration import Configuration, _Configurable
12
+ from .configuration import Configuration, _Configurable, _RootConfigurable
6
13
  from ._configuration_protocol import _ConfigurationProtocol, _DictConfigurable
7
14
  from ._resolve import _resolve
8
15
  from ._utils import (
@@ -31,6 +38,7 @@ __all__ = [
31
38
  "_try_set",
32
39
  "_resolve",
33
40
  "_Configurable",
41
+ "_RootConfigurable",
34
42
  "_DictConfigurable",
35
43
  "coerce_bool",
36
44
  "coerce_int",
@@ -0,0 +1,27 @@
1
+ # Copyright (c) Microsoft Corporation. All rights reserved.
2
+ # Licensed under the MIT License.
3
+
4
+ from typing import Any, Mapping
5
+
6
+ from .configuration import Configuration
7
+
8
+ from ._logging import _configure_logging
9
+
10
+
11
+ def load_configuration_from_env(
12
+ env_vars: Mapping[str, Any], defaults: Mapping[str, Any] | None = None
13
+ ) -> Configuration:
14
+ """Resolve environment values and defaults into root configuration.
15
+
16
+ Environment-style ``__`` paths are expanded and indexed mappings become
17
+ lists. Environment values take precedence over defaults without modifying
18
+ either input. The resolved logging section is applied before returning.
19
+
20
+ :param env_vars: A mapping of environment variable names to their values.
21
+ :param defaults: Optional fallback values, either nested or environment-style.
22
+ :return: A Configuration with ``is_root_config=True``, suitable for binding
23
+ application-level settings. Extracted sections are scoped configurations.
24
+ """
25
+ config = Configuration.resolve(env_vars, defaults or {}, _is_root_config=True)
26
+ _configure_logging(config)
27
+ return config
@@ -7,10 +7,11 @@ from __future__ import annotations
7
7
 
8
8
  from dataclasses import dataclass
9
9
  from typing import Mapping
10
+ from typing_extensions import Self
10
11
 
11
12
  from microsoft_agents.activity.errors import configuration_errors
12
13
 
13
- from ..configuration import Configuration, _Configurable
14
+ from ..configuration import Configuration, _RootConfigurable
14
15
  from .._utils import _xpath
15
16
  from ._constants import _NAME_TO_LEVEL
16
17
 
@@ -35,13 +36,23 @@ class _LogLevelEntry:
35
36
 
36
37
 
37
38
  @dataclass(frozen=True)
38
- class _LoggingConfiguration(_Configurable):
39
- """Configuration class for logging levels."""
39
+ class _LoggingConfiguration(_RootConfigurable):
40
+ """Bind namespace log levels from root configuration or a logging section.
41
+
42
+ Root input reads ``logging::log_level``; scoped input reads ``log_level``
43
+ directly. Missing entries produce no level overrides.
44
+ """
40
45
 
41
46
  log_levels: list[_LogLevelEntry]
42
47
 
43
48
  @classmethod
44
- def _from_configuration(cls, config: Configuration) -> _LoggingConfiguration:
49
+ def _from_root_configuration(cls, config: Configuration) -> _LoggingConfiguration:
50
+ return cls._from_scoped_configuration(
51
+ config.get_section(_xpath("logging"), default=Configuration())
52
+ )
53
+
54
+ @classmethod
55
+ def _from_scoped_configuration(cls, config: Configuration) -> _LoggingConfiguration:
45
56
 
46
57
  raw_log_levels = config.get(_xpath("log_level"), default={})
47
58
  if not isinstance(raw_log_levels, Mapping):
@@ -6,7 +6,6 @@ from __future__ import annotations
6
6
  from abc import ABC, abstractmethod
7
7
  from typing import (
8
8
  Any,
9
- Callable,
10
9
  Iterable,
11
10
  Mapping,
12
11
  TypeVar,
@@ -47,34 +46,115 @@ class Configuration(dict, _ConfigurationProtocol):
47
46
  Paths use ``::`` separators. Alternative paths are tried in the supplied
48
47
  order. Sections carry the matched source path for diagnostics.
49
48
  Construction makes a shallow copy; nested mutable values can remain shared.
49
+
50
+ Plain mappings are scoped by default. Root configurations, such as those
51
+ returned by ``load_configuration_from_env``, let settings binders locate
52
+ their sections within the application configuration. Root identity is
53
+ explicit metadata, independent of the diagnostic base path.
50
54
  """
51
55
 
52
56
  def __init__(
53
- self, _original: Mapping | None = None, _base_path: str | None = None, **kwargs
57
+ self,
58
+ original: Mapping | None = None,
59
+ _base_path: str | None = None,
60
+ _is_root_config: bool | None = None,
61
+ **kwargs,
54
62
  ):
55
63
  """Initialize a Configuration instance.
56
64
 
57
- :param _original: The original mapping to initialize the configuration from.
58
- :param _base_path: The base path for resolving nested configuration keys.
65
+ :param original: The original mapping to initialize the configuration from.
66
+ :param _base_path: Source path used in diagnostics; defaults to an empty
67
+ path, even when copying another Configuration.
68
+ :param _is_root_config: Whether this is application-level configuration.
69
+ When omitted, inherit the flag from an original Configuration;
70
+ otherwise default to False. Explicit False overrides an inherited
71
+ root flag.
72
+ :param kwargs: Configuration entries when no original mapping is supplied.
73
+ :raises ValueError: If both original and keyword entries are supplied.
59
74
  """
60
- if _original is not None and kwargs:
61
- raise ValueError("Cannot provide both '_original' and keyword arguments.")
62
- super().__init__(_original or kwargs)
75
+ if original is not None and kwargs:
76
+ raise ValueError("Cannot provide both 'original' and keyword arguments.")
77
+ super().__init__(original or kwargs)
63
78
  self._base_path = _base_path or ""
79
+ if isinstance(original, Configuration) and _is_root_config is None:
80
+ _is_root_config = original._is_root_config
81
+ self._is_root_config = _is_root_config or False
82
+ self._key = None
83
+
84
+ @property
85
+ def is_root_config(self) -> bool:
86
+ """Whether settings binders should treat this as application-level input."""
87
+ return self._is_root_config
88
+
89
+ @property
90
+ def base_path(self) -> str:
91
+ """Source path used in diagnostics, not an indication of root identity."""
92
+ return self._base_path
93
+
94
+ @property
95
+ def key(self) -> str:
96
+ """Last source-path segment, or an empty string when no path is set."""
97
+ if not self._key:
98
+ self._key = (
99
+ self._base_path.rsplit(_PATH_SEPARATOR, maxsplit=1)[-1]
100
+ if self._base_path
101
+ else ""
102
+ )
103
+ return self._key
104
+
105
+ @classmethod
106
+ def resolve(
107
+ cls,
108
+ primary: Mapping | None = None,
109
+ defaults: Mapping | None = None,
110
+ *,
111
+ _base_path: str | None = None,
112
+ _is_root_config: bool | None = None,
113
+ ) -> Configuration:
114
+ """Normalize and merge sources, with primary values taking precedence.
115
+
116
+ Expand environment-style ``__`` paths and convert indexed mappings to
117
+ lists. Nested mappings merge recursively; primary lists replace default
118
+ lists. Neither input's containers are modified.
119
+
120
+ :param primary: Values that override defaults.
121
+ :param defaults: Optional fallback values.
122
+ :param _base_path: Diagnostic source path for the result.
123
+ :param _is_root_config: Mark the result as root when True. Unlike copying
124
+ a Configuration, resolution does not inherit input metadata; the
125
+ result is scoped unless explicitly marked as root.
126
+ """
127
+ resolved = _resolve(primary or {}, defaults or {})
128
+ return Configuration(
129
+ resolved, _base_path=_base_path, _is_root_config=_is_root_config
130
+ )
64
131
 
65
132
  @classmethod
66
133
  def from_mapping(
67
- cls, _mapping: Mapping | None = None, _base_path: str | None = None, **kwargs
134
+ cls,
135
+ _mapping: Mapping | None = None,
136
+ _base_path: str | None = None,
137
+ _is_root_config: bool | None = None,
138
+ **kwargs,
68
139
  ) -> Configuration:
69
140
  """Create configuration, using keyword arguments as fallback values.
70
141
 
71
- An existing Configuration is reused unless defaults or a different
72
- diagnostic base path are supplied.
142
+ An existing Configuration is reused when no defaults or metadata changes
143
+ are requested. Otherwise a new instance is constructed. Root identity is
144
+ inherited from a Configuration unless explicitly overridden; ordinary
145
+ mappings are scoped by default.
146
+
147
+ :param _mapping: Primary values, which take precedence over kwargs.
148
+ :param _base_path: Diagnostic source path for a new instance. Use
149
+ ``from_config`` to preserve a source path when adding defaults.
150
+ :param _is_root_config: Optional override of root/scoped identity.
151
+ :param kwargs: Fallback configuration entries, not environment variables.
73
152
  """
74
153
  if (
75
154
  isinstance(_mapping, Configuration)
76
155
  and not kwargs
77
156
  and (_base_path is None or _base_path == _mapping._base_path)
157
+ and (_is_root_config is None or _is_root_config == _mapping._is_root_config)
78
158
  ):
79
159
  return _mapping
80
160
  if kwargs:
@@ -84,16 +164,28 @@ class Configuration(dict, _ConfigurationProtocol):
84
164
  resolved = _resolve(_mapping, kwargs, path_transformer=lambda x: x)
85
165
  else:
86
166
  resolved = _mapping
87
- return cls(resolved, _base_path=_base_path)
167
+
168
+ if _is_root_config is None:
169
+ if isinstance(_mapping, Configuration):
170
+ _is_root_config = _mapping._is_root_config
171
+ return cls(resolved, _base_path=_base_path, _is_root_config=_is_root_config)
88
172
 
89
173
  @classmethod
90
- def from_config(self, base: Configuration | None, **kwargs) -> Configuration:
91
- """Create a new Configuration instance by forking the current configuration with additional key-value pairs."""
174
+ def from_config(cls, base: Configuration | None, **kwargs) -> Configuration:
175
+ """Fork configuration, preserving its source path and root identity.
176
+
177
+ Values in base take precedence; kwargs supply missing defaults rather
178
+ than overwriting existing entries. If base is None, create a scoped
179
+ Configuration from kwargs.
180
+ """
92
181
  if base is None:
93
- return Configuration(**kwargs)
182
+ return Configuration(**kwargs, _is_root_config=False)
94
183
  new_config = base.copy()
95
184
  return Configuration.from_mapping(
96
- new_config, _base_path=base._base_path, **kwargs
185
+ new_config,
186
+ _base_path=base._base_path,
187
+ _is_root_config=base._is_root_config,
188
+ **kwargs,
97
189
  )
98
190
 
99
191
  def _resolve_path(self, key: str) -> str:
@@ -407,15 +499,22 @@ class Configuration(dict, _ConfigurationProtocol):
407
499
  if scopes is None:
408
500
  return []
409
501
  if isinstance(scopes, str):
502
+ scopes = scopes.replace(",", " ")
410
503
  lst = scopes.strip().split()
411
504
  return [s for s in lst if s]
412
- return scopes
505
+ return list(scopes)
413
506
 
414
507
 
415
508
  class _Configurable(ABC):
509
+ """Bind typed settings from a Configuration or reuse an already-bound object."""
416
510
 
417
511
  @classmethod
418
512
  def from_mapping(cls, _mapping: Mapping | None = None, **kwargs) -> Self:
513
+ """Bind mapping values, using kwargs as fallbacks for missing entries.
514
+
515
+ Configuration inputs preserve their root identity. Ordinary mappings
516
+ are scoped; use a marked root Configuration for application-level input.
517
+ """
419
518
  return cls.from_configuration(Configuration.from_mapping(_mapping, **kwargs))
420
519
 
421
520
  @classmethod
@@ -423,9 +522,42 @@ class _Configurable(ABC):
423
522
  def _from_configuration(cls, config: Configuration) -> Self: ...
424
523
 
425
524
  @classmethod
426
- def from_configuration(cls, config: Configuration | Self) -> Self:
525
+ def from_configuration(cls, config: Configuration | Self | None) -> Self:
526
+ """Bind a Configuration, reuse a settings instance, or bind defaults.
527
+
528
+ None binds an empty scoped Configuration. Plain mappings must instead
529
+ be passed to ``from_mapping``.
530
+
531
+ :raises TypeError: If config is not a supported input type.
532
+ """
533
+ if config is None:
534
+ config = Configuration()
427
535
  if isinstance(config, cls):
428
536
  return config
429
537
  if isinstance(config, Configuration):
430
538
  return cls._from_configuration(config)
431
539
  raise TypeError(f"Cannot create {cls.__name__} from {type(config).__name__}")
540
+
541
+
542
+ class _RootConfigurable(_Configurable, ABC):
543
+ """Bind settings from either application-level or scoped configuration.
544
+
545
+ Subclasses implement root and scoped binding separately. Dispatch uses only
546
+ ``Configuration.is_root_config``: a root binder locates its own section,
547
+ while a scoped binder reads fields directly. Passing None uses the scoped
548
+ binder with empty configuration.
549
+ """
550
+
551
+ @classmethod
552
+ def _from_configuration(cls, config: Configuration) -> Self:
553
+ if config._is_root_config:
554
+ return cls._from_root_configuration(config)
555
+ return cls._from_scoped_configuration(config)
556
+
557
+ @classmethod
558
+ @abstractmethod
559
+ def _from_scoped_configuration(cls, config: Configuration) -> Self: ...
560
+
561
+ @classmethod
562
+ @abstractmethod
563
+ def _from_root_configuration(cls, config: Configuration) -> Self: ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microsoft-agents-activity
3
- Version: 1.10.0.dev5
3
+ Version: 1.10.0.dev7
4
4
  Summary: A protocol library for Microsoft Agents
5
5
  Author: Microsoft Corporation
6
6
  License-Expression: MIT
@@ -1 +0,0 @@
1
- 1.10.0.dev5
@@ -1,45 +0,0 @@
1
- # Copyright (c) Microsoft Corporation. All rights reserved.
2
- # Licensed under the MIT License.
3
-
4
- from typing import Any, Mapping
5
-
6
- from ._logging import _configure_logging
7
- from ._resolve import _resolve
8
-
9
-
10
- def load_configuration_from_env(env_vars: Mapping[str, Any]) -> dict:
11
- """
12
- Parses environment variables and returns a dictionary with the relevant configuration.
13
- """
14
- local_vars = dict(env_vars)
15
- result = {}
16
- for key, value in local_vars.items():
17
- levels = key.split("__")
18
- current_level = result
19
- last_level = None
20
- for next_level in levels:
21
- if next_level not in current_level:
22
- current_level[next_level] = {}
23
- last_level = current_level
24
- current_level = current_level[next_level]
25
- last_level[levels[-1]] = value
26
-
27
- if result.get("CONNECTIONSMAP") and isinstance(result["CONNECTIONSMAP"], dict):
28
- result["CONNECTIONSMAP"] = [
29
- conn for conn in result.get("CONNECTIONSMAP", {}).values()
30
- ]
31
-
32
- _configure_logging(result.get("LOGGING", {}))
33
-
34
- # temporary fix before next PR
35
- token_validation_options = _resolve(
36
- result.get("TOKENVALIDATION", {}),
37
- )
38
-
39
- return {
40
- "AGENTAPPLICATION": result.pop("AGENTAPPLICATION", {}),
41
- "CONNECTIONS": result.pop("CONNECTIONS", {}),
42
- "CONNECTIONSMAP": result.pop("CONNECTIONSMAP", []),
43
- "LOGGING": result.pop("LOGGING", {}),
44
- "TOKENVALIDATION": token_validation_options,
45
- }