microsoft-agents-activity 1.10.0.dev6__tar.gz → 1.10.0.dev8__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.dev6/microsoft_agents_activity.egg-info → microsoft_agents_activity-1.10.0.dev8}/PKG-INFO +1 -1
  2. microsoft_agents_activity-1.10.0.dev8/VERSION.txt +1 -0
  3. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/__init__.py +9 -1
  4. microsoft_agents_activity-1.10.0.dev8/microsoft_agents/activity/config/_load_configuration.py +27 -0
  5. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_logging/_logging_configuration.py +15 -4
  6. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/configuration.py +133 -17
  7. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8/microsoft_agents_activity.egg-info}/PKG-INFO +1 -1
  8. microsoft_agents_activity-1.10.0.dev6/VERSION.txt +0 -1
  9. microsoft_agents_activity-1.10.0.dev6/microsoft_agents/activity/config/_load_configuration.py +0 -30
  10. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/LICENSE +0 -0
  11. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/MANIFEST.in +0 -0
  12. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/__init__.py +0 -0
  13. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/_model_utils.py +0 -0
  14. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/_type_aliases.py +0 -0
  15. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/_utils/__init__.py +0 -0
  16. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/_utils/_deferred_string.py +0 -0
  17. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/action_types.py +0 -0
  18. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/activity.py +0 -0
  19. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/activity_event_names.py +0 -0
  20. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/activity_importance.py +0 -0
  21. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/activity_types.py +0 -0
  22. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/adaptive_card_card.py +0 -0
  23. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/adaptive_card_invoke_action.py +0 -0
  24. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/adaptive_card_invoke_response.py +0 -0
  25. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/adaptive_card_invoke_value.py +0 -0
  26. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/adaptive_card_search_invoke_value.py +0 -0
  27. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/agents_model.py +0 -0
  28. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/animation_card.py +0 -0
  29. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/attachment.py +0 -0
  30. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/attachment_data.py +0 -0
  31. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/attachment_info.py +0 -0
  32. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/attachment_layout_types.py +0 -0
  33. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/attachment_view.py +0 -0
  34. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/audio_card.py +0 -0
  35. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/caller_id_constants.py +0 -0
  36. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/card.py +0 -0
  37. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/card_action.py +0 -0
  38. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/card_image.py +0 -0
  39. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/channel_account.py +0 -0
  40. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/channel_adapter_protocol.py +0 -0
  41. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/channel_id.py +0 -0
  42. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/channels.py +0 -0
  43. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_coercion.py +0 -0
  44. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_configuration_protocol.py +0 -0
  45. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_constants.py +0 -0
  46. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_logging/__init__.py +0 -0
  47. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_logging/_color_formatter.py +0 -0
  48. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_logging/_constants.py +0 -0
  49. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_logging/_load.py +0 -0
  50. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_resolve.py +0 -0
  51. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/config/_utils.py +0 -0
  52. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/contact_relation_update_action_types.py +0 -0
  53. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/content_types.py +0 -0
  54. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversation_account.py +0 -0
  55. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversation_members.py +0 -0
  56. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversation_parameters.py +0 -0
  57. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversation_reference.py +0 -0
  58. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversation_resource_response.py +0 -0
  59. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversation_update_types.py +0 -0
  60. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/conversations_result.py +0 -0
  61. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/delivery_modes.py +0 -0
  62. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/end_of_conversation_codes.py +0 -0
  63. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/__init__.py +0 -0
  64. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/_schema_mixin.py +0 -0
  65. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/_validate_known_entities.py +0 -0
  66. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/activity_treatment.py +0 -0
  67. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/ai_entity.py +0 -0
  68. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/entity.py +0 -0
  69. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/entity_types.py +0 -0
  70. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/geo_coordinates.py +0 -0
  71. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/mention.py +0 -0
  72. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/place.py +0 -0
  73. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/product_info.py +0 -0
  74. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/stream_info.py +0 -0
  75. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/entity/thing.py +0 -0
  76. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/error.py +0 -0
  77. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/error_response.py +0 -0
  78. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/errors/__init__.py +0 -0
  79. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/errors/error_message.py +0 -0
  80. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/errors/error_resources.py +0 -0
  81. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/expected_replies.py +0 -0
  82. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/fact.py +0 -0
  83. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/hero_card.py +0 -0
  84. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/inner_http_error.py +0 -0
  85. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/input_hints.py +0 -0
  86. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/installation_update_action_types.py +0 -0
  87. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/invoke_response.py +0 -0
  88. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/media_event_value.py +0 -0
  89. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/media_url.py +0 -0
  90. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/message_reaction.py +0 -0
  91. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/message_reaction_types.py +0 -0
  92. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/message_update_types.py +0 -0
  93. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/oauth_card.py +0 -0
  94. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/paged_members_result.py +0 -0
  95. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/py.typed +0 -0
  96. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/receipt_card.py +0 -0
  97. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/receipt_item.py +0 -0
  98. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/resource_response.py +0 -0
  99. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/role_types.py +0 -0
  100. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/search_invoke_options.py +0 -0
  101. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/search_invoke_value.py +0 -0
  102. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/semantic_action.py +0 -0
  103. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/semantic_actions_states.py +0 -0
  104. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/sign_in_constants.py +0 -0
  105. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/sign_in_resource.py +0 -0
  106. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/signin_card.py +0 -0
  107. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/suggested_actions.py +0 -0
  108. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/__init__.py +0 -0
  109. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/app_based_link_query.py +0 -0
  110. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/batch_failed_entries_response.py +0 -0
  111. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/batch_failed_entry.py +0 -0
  112. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/batch_operation_response.py +0 -0
  113. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/batch_operation_state_response.py +0 -0
  114. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/bot_config_auth.py +0 -0
  115. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/cache_info.py +0 -0
  116. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/cancel_operation_response.py +0 -0
  117. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/channel_info.py +0 -0
  118. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/config_auth_response.py +0 -0
  119. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/config_response.py +0 -0
  120. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/config_response_base.py +0 -0
  121. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/config_task_response.py +0 -0
  122. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/conversation_list.py +0 -0
  123. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/file_consent_card.py +0 -0
  124. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/file_consent_card_response.py +0 -0
  125. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/file_download_info.py +0 -0
  126. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/file_info_card.py +0 -0
  127. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/file_upload_info.py +0 -0
  128. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_details.py +0 -0
  129. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_details_base.py +0 -0
  130. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_end_event_details.py +0 -0
  131. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_event_details.py +0 -0
  132. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_info.py +0 -0
  133. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_notification.py +0 -0
  134. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_notification_base.py +0 -0
  135. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_notification_channel_data.py +0 -0
  136. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_notification_recipient_failure_info.py +0 -0
  137. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_notification_response.py +0 -0
  138. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_participant_info.py +0 -0
  139. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_participants_event_details.py +0 -0
  140. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_stage_surface.py +0 -0
  141. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_start_event_details.py +0 -0
  142. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/meeting_tab_icon_surface.py +0 -0
  143. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload.py +0 -0
  144. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_app.py +0 -0
  145. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_attachment.py +0 -0
  146. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_body.py +0 -0
  147. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_conversation.py +0 -0
  148. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_from.py +0 -0
  149. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_mention.py +0 -0
  150. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_reaction.py +0 -0
  151. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/message_actions_payload_user.py +0 -0
  152. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_action.py +0 -0
  153. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_action_response.py +0 -0
  154. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_attachment.py +0 -0
  155. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_parameter.py +0 -0
  156. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_query.py +0 -0
  157. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_query_options.py +0 -0
  158. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_response.py +0 -0
  159. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_result.py +0 -0
  160. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/messaging_extension_suggested_action.py +0 -0
  161. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/notification_info.py +0 -0
  162. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card.py +0 -0
  163. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_action_base.py +0 -0
  164. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_action_card.py +0 -0
  165. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_action_query.py +0 -0
  166. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_date_input.py +0 -0
  167. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_fact.py +0 -0
  168. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_http_post.py +0 -0
  169. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_image.py +0 -0
  170. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_input_base.py +0 -0
  171. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_multichoice_input.py +0 -0
  172. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_multichoice_input_choice.py +0 -0
  173. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_open_uri.py +0 -0
  174. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_open_uri_target.py +0 -0
  175. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_section.py +0 -0
  176. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_text_input.py +0 -0
  177. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/o365_connector_card_view_action.py +0 -0
  178. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/on_behalf_of.py +0 -0
  179. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/read_receipt_info.py +0 -0
  180. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/signin_state_verification_query.py +0 -0
  181. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/surface.py +0 -0
  182. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_context.py +0 -0
  183. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_entity_context.py +0 -0
  184. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_request.py +0 -0
  185. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_response.py +0 -0
  186. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_response_card.py +0 -0
  187. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_response_cards.py +0 -0
  188. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_response_payload.py +0 -0
  189. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_submit.py +0 -0
  190. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_submit_data.py +0 -0
  191. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tab_suggested_actions.py +0 -0
  192. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/targeted_meeting_notification.py +0 -0
  193. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/targeted_meeting_notification_value.py +0 -0
  194. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_card_response.py +0 -0
  195. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_continue_response.py +0 -0
  196. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_message_response.py +0 -0
  197. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_request.py +0 -0
  198. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_request_context.py +0 -0
  199. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_response.py +0 -0
  200. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_response_base.py +0 -0
  201. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/task_module_task_info.py +0 -0
  202. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/team_details.py +0 -0
  203. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/team_info.py +0 -0
  204. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_batch_operation_response.py +0 -0
  205. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_channel_account.py +0 -0
  206. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_channel_data.py +0 -0
  207. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_channel_data_settings.py +0 -0
  208. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_meeting_info.py +0 -0
  209. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_meeting_member.py +0 -0
  210. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_meeting_participant.py +0 -0
  211. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_member.py +0 -0
  212. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/teams_paged_members_result.py +0 -0
  213. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/tenant_info.py +0 -0
  214. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/teams/user_meeting_details.py +0 -0
  215. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/text_format_types.py +0 -0
  216. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/text_highlight.py +0 -0
  217. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/thumbnail_card.py +0 -0
  218. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/thumbnail_url.py +0 -0
  219. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_exchange_invoke_request.py +0 -0
  220. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_exchange_invoke_response.py +0 -0
  221. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_exchange_request.py +0 -0
  222. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_exchange_resource.py +0 -0
  223. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_exchange_state.py +0 -0
  224. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_or_sign_in_resource_response.py +0 -0
  225. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_post_resource.py +0 -0
  226. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_request.py +0 -0
  227. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_response.py +0 -0
  228. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/token_status.py +0 -0
  229. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/transcript.py +0 -0
  230. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/turn_context_protocol.py +0 -0
  231. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents/activity/video_card.py +0 -0
  232. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents_activity.egg-info/SOURCES.txt +0 -0
  233. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents_activity.egg-info/dependency_links.txt +0 -0
  234. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents_activity.egg-info/requires.txt +0 -0
  235. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/microsoft_agents_activity.egg-info/top_level.txt +0 -0
  236. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/pyproject.toml +0 -0
  237. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/readme.md +0 -0
  238. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/setup.cfg +0 -0
  239. {microsoft_agents_activity-1.10.0.dev6 → microsoft_agents_activity-1.10.0.dev8}/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.dev6
3
+ Version: 1.10.0.dev8
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.dev8
@@ -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,28 +46,54 @@ 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
64
82
  self._key = None
65
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
+
66
89
  @property
67
90
  def base_path(self) -> str:
91
+ """Source path used in diagnostics, not an indication of root identity."""
68
92
  return self._base_path
69
93
 
70
94
  @property
71
95
  def key(self) -> str:
96
+ """Last source-path segment, or an empty string when no path is set."""
72
97
  if not self._key:
73
98
  self._key = (
74
99
  self._base_path.rsplit(_PATH_SEPARATOR, maxsplit=1)[-1]
@@ -77,19 +102,59 @@ class Configuration(dict, _ConfigurationProtocol):
77
102
  )
78
103
  return self._key
79
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
+ )
131
+
80
132
  @classmethod
81
133
  def from_mapping(
82
- 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,
83
139
  ) -> Configuration:
84
140
  """Create configuration, using keyword arguments as fallback values.
85
141
 
86
- An existing Configuration is reused unless defaults or a different
87
- 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.
88
152
  """
89
153
  if (
90
154
  isinstance(_mapping, Configuration)
91
155
  and not kwargs
92
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)
93
158
  ):
94
159
  return _mapping
95
160
  if kwargs:
@@ -99,16 +164,28 @@ class Configuration(dict, _ConfigurationProtocol):
99
164
  resolved = _resolve(_mapping, kwargs, path_transformer=lambda x: x)
100
165
  else:
101
166
  resolved = _mapping
102
- 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)
103
172
 
104
173
  @classmethod
105
- def from_config(self, base: Configuration | None, **kwargs) -> Configuration:
106
- """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
+ """
107
181
  if base is None:
108
- return Configuration(**kwargs)
182
+ return Configuration(**kwargs, _is_root_config=False)
109
183
  new_config = base.copy()
110
184
  return Configuration.from_mapping(
111
- 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,
112
189
  )
113
190
 
114
191
  def _resolve_path(self, key: str) -> str:
@@ -425,13 +502,19 @@ class Configuration(dict, _ConfigurationProtocol):
425
502
  scopes = scopes.replace(",", " ")
426
503
  lst = scopes.strip().split()
427
504
  return [s for s in lst if s]
428
- return scopes
505
+ return list(scopes)
429
506
 
430
507
 
431
508
  class _Configurable(ABC):
509
+ """Bind typed settings from a Configuration or reuse an already-bound object."""
432
510
 
433
511
  @classmethod
434
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
+ """
435
518
  return cls.from_configuration(Configuration.from_mapping(_mapping, **kwargs))
436
519
 
437
520
  @classmethod
@@ -439,9 +522,42 @@ class _Configurable(ABC):
439
522
  def _from_configuration(cls, config: Configuration) -> Self: ...
440
523
 
441
524
  @classmethod
442
- 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()
443
535
  if isinstance(config, cls):
444
536
  return config
445
537
  if isinstance(config, Configuration):
446
538
  return cls._from_configuration(config)
447
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.dev6
3
+ Version: 1.10.0.dev8
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.dev6
@@ -1,30 +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 .configuration import Configuration
7
-
8
- from ._logging import _configure_logging
9
- from ._utils import _xpath
10
- from ._resolve import _resolve
11
-
12
-
13
- def load_configuration_from_env(
14
- env_vars: Mapping[str, Any], defaults: Mapping[str, Any] | None = None
15
- ) -> Configuration:
16
- """
17
- Parses environment variables and returns a Configuration object with the relevant configuration.
18
-
19
- :param env_vars: A mapping of environment variable names to their values.
20
- :param defaults: A mapping of default configuration values.
21
- :return: A Configuration object containing the resolved configuration.
22
- """
23
- local_vars = dict(env_vars)
24
-
25
- resolved = _resolve(local_vars, defaults or {})
26
- config = Configuration(resolved)
27
- _configure_logging(
28
- config.get_section(_xpath("logging"), default=None) or Configuration()
29
- )
30
- return config