microsoft-agents-hosting-core 1.10.0.dev4__tar.gz → 1.10.0.dev6__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 (211) hide show
  1. {microsoft_agents_hosting_core-1.10.0.dev4/microsoft_agents_hosting_core.egg-info → microsoft_agents_hosting_core-1.10.0.dev6}/PKG-INFO +20 -2
  2. microsoft_agents_hosting_core-1.10.0.dev6/VERSION.txt +1 -0
  3. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/__init__.py +14 -9
  4. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/auth_handler.py +5 -2
  5. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/authorization.py +11 -7
  6. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/__init__.py +7 -3
  7. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/_entra_issuers.py +3 -4
  8. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/_helpers.py +1 -1
  9. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/_log_config.py +36 -28
  10. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/access_token_provider_base.py +20 -5
  11. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/anonymous_token_provider.py +11 -5
  12. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connection_manager.py +6 -0
  13. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connections/__init__.py +16 -0
  14. {microsoft_agents_hosting_core-1.10.0.dev4/microsoft_agents/hosting/core/authorization → microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connections}/agent_auth_configuration.py +47 -1
  15. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connections/connection_manager.py +293 -0
  16. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connections/connection_settings_base.py +98 -0
  17. {microsoft_agents_hosting_core-1.10.0.dev4/microsoft_agents/hosting/core/authorization → microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connections}/connections.py +3 -3
  18. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/connections/connections_map.py +76 -0
  19. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/jwt/__init__.py +4 -0
  20. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/jwt/_authorize_request.py +32 -5
  21. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/jwt/jwt_connection_settings.py +45 -0
  22. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/jwt/jwt_token_validator.py +63 -30
  23. microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents/hosting/core/authorization/jwt/token_validation_configuration.py +80 -0
  24. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/rest_channel_service_client_factory.py +1 -2
  25. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6/microsoft_agents_hosting_core.egg-info}/PKG-INFO +20 -2
  26. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents_hosting_core.egg-info/SOURCES.txt +8 -3
  27. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents_hosting_core.egg-info/requires.txt +1 -1
  28. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/readme.md +18 -0
  29. microsoft_agents_hosting_core-1.10.0.dev4/VERSION.txt +0 -1
  30. microsoft_agents_hosting_core-1.10.0.dev4/microsoft_agents/hosting/core/authorization/connection_manager.py +0 -224
  31. microsoft_agents_hosting_core-1.10.0.dev4/microsoft_agents/hosting/core/authorization/connection_settings_base.py +0 -111
  32. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/LICENSE +0 -0
  33. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/MANIFEST.in +0 -0
  34. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_http_adapter_base.py +0 -0
  35. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_oauth/__init__.py +0 -0
  36. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_oauth/_flow_state.py +0 -0
  37. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_oauth/_flow_storage_client.py +0 -0
  38. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_oauth/_oauth_flow.py +0 -0
  39. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_utils/__init__.py +0 -0
  40. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_utils/_service_set.py +0 -0
  41. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/_utils/_turn_context_wrapper.py +0 -0
  42. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/activity_handler.py +0 -0
  43. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/agent.py +0 -0
  44. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/__init__.py +0 -0
  45. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_routes/__init__.py +0 -0
  46. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_routes/_route.py +0 -0
  47. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_routes/_route_list.py +0 -0
  48. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_routes/route_rank.py +0 -0
  49. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_selector.py +0 -0
  50. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_type_defs.py +0 -0
  51. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/_utils.py +0 -0
  52. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/adaptive_card/__init__.py +0 -0
  53. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/adaptive_card/_type_defs.py +0 -0
  54. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/adaptive_card/adaptive_card.py +0 -0
  55. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/adaptive_card/factory.py +0 -0
  56. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/adaptive_card/models.py +0 -0
  57. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/agent_application.py +0 -0
  58. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/app_error.py +0 -0
  59. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/app_options.py +0 -0
  60. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/attachment_downloader.py +0 -0
  61. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/input_file.py +0 -0
  62. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/m365_attachment_downloader.py +0 -0
  63. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/__init__.py +0 -0
  64. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_handlers/__init__.py +0 -0
  65. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_handlers/_authorization_handler.py +0 -0
  66. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_handlers/_user_authorization.py +0 -0
  67. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_handlers/agentic_user_authorization.py +0 -0
  68. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_handlers/connector_user_authorization.py +0 -0
  69. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_sign_in_response.py +0 -0
  70. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/_sign_in_state.py +0 -0
  71. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/telemetry/__init__.py +0 -0
  72. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/telemetry/constants.py +0 -0
  73. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/oauth/telemetry/spans.py +0 -0
  74. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/__init__.py +0 -0
  75. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/conversation.py +0 -0
  76. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/conversation_builder.py +0 -0
  77. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/conversation_reference_builder.py +0 -0
  78. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/create_conversation_options.py +0 -0
  79. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/proactive.py +0 -0
  80. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/proactive_options.py +0 -0
  81. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/telemetry/__init__.py +0 -0
  82. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/telemetry/_utils.py +0 -0
  83. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/telemetry/constants.py +0 -0
  84. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/proactive/telemetry/spans.py +0 -0
  85. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/query.py +0 -0
  86. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/state/__init__.py +0 -0
  87. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/state/conversation_state.py +0 -0
  88. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/state/state.py +0 -0
  89. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/state/temp_state.py +0 -0
  90. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/state/turn_state.py +0 -0
  91. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/streaming/__init__.py +0 -0
  92. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/streaming/citation.py +0 -0
  93. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/streaming/citation_util.py +0 -0
  94. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/streaming/streaming_response.py +0 -0
  95. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/telemetry/__init__.py +0 -0
  96. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/telemetry/constants.py +0 -0
  97. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/telemetry/metrics.py +0 -0
  98. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/telemetry/spans.py +0 -0
  99. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/app/typing_indicator.py +0 -0
  100. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/auth_types.py +0 -0
  101. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/authentication_constants.py +0 -0
  102. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/claims_identity.py +0 -0
  103. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/telemetry/__init__.py +0 -0
  104. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/telemetry/constants.py +0 -0
  105. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/telemetry/metrics.py +0 -0
  106. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/authorization/telemetry/spans.py +0 -0
  107. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/card_factory.py +0 -0
  108. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/channel_adapter.py +0 -0
  109. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/channel_api_handler_protocol.py +0 -0
  110. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/channel_service_adapter.py +0 -0
  111. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/channel_service_client_factory_base.py +0 -0
  112. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/__init__.py +0 -0
  113. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/agent_conversation_reference.py +0 -0
  114. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/channel_factory_protocol.py +0 -0
  115. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/channel_host_protocol.py +0 -0
  116. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/channel_info_protocol.py +0 -0
  117. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/channel_protocol.py +0 -0
  118. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/channels_configuration.py +0 -0
  119. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/configuration_channel_host.py +0 -0
  120. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/conversation_constants.py +0 -0
  121. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/conversation_id_factory.py +0 -0
  122. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/conversation_id_factory_options.py +0 -0
  123. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/conversation_id_factory_protocol.py +0 -0
  124. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/http_agent_channel.py +0 -0
  125. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/client/http_agent_channel_factory.py +0 -0
  126. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/__init__.py +0 -0
  127. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/_utils.py +0 -0
  128. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/agent_sign_in_base.py +0 -0
  129. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/attachments_base.py +0 -0
  130. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/client/__init__.py +0 -0
  131. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/client/_base_client.py +0 -0
  132. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/client/agent_sign_in.py +0 -0
  133. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/client/connector_client.py +0 -0
  134. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/client/user_token.py +0 -0
  135. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/client/user_token_client.py +0 -0
  136. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/connector_client_base.py +0 -0
  137. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/conversations_base.py +0 -0
  138. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/get_product_info.py +0 -0
  139. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/mcs/__init__.py +0 -0
  140. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/mcs/mcs_connector_client.py +0 -0
  141. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/teams/__init__.py +0 -0
  142. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/teams/teams_connector_client.py +0 -0
  143. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/telemetry/__init__.py +0 -0
  144. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/telemetry/_request_span_wrapper.py +0 -0
  145. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/telemetry/connector_spans.py +0 -0
  146. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/telemetry/constants.py +0 -0
  147. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/telemetry/metrics.py +0 -0
  148. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/telemetry/user_token_client_spans.py +0 -0
  149. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/user_token_base.py +0 -0
  150. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/connector/user_token_client_base.py +0 -0
  151. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/errors/__init__.py +0 -0
  152. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/errors/error_resources.py +0 -0
  153. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/header_propagation/__init__.py +0 -0
  154. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/header_propagation/agentic_header_provider.py +0 -0
  155. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/header_propagation/header_propagation_context.py +0 -0
  156. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/header_propagation/header_value_provider.py +0 -0
  157. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/http/__init__.py +0 -0
  158. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/http/_channel_service_routes.py +0 -0
  159. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/http/_http_request_protocol.py +0 -0
  160. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/http/_http_response.py +0 -0
  161. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/message_factory.py +0 -0
  162. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/middleware_set.py +0 -0
  163. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/py.typed +0 -0
  164. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/security/__init__.py +0 -0
  165. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/security/_connector.py +0 -0
  166. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/security/_middleware.py +0 -0
  167. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/security/_utils.py +0 -0
  168. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/security/_validator.py +0 -0
  169. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/security/outbound_host_validator.py +0 -0
  170. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/state/__init__.py +0 -0
  171. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/state/agent_state.py +0 -0
  172. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/state/state_property_accessor.py +0 -0
  173. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/state/user_state.py +0 -0
  174. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/__init__.py +0 -0
  175. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/_type_aliases.py +0 -0
  176. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/error_handling.py +0 -0
  177. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/memory_storage.py +0 -0
  178. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/storage.py +0 -0
  179. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/store_item.py +0 -0
  180. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/telemetry/__init__.py +0 -0
  181. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/telemetry/constants.py +0 -0
  182. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/telemetry/metrics.py +0 -0
  183. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/telemetry/spans.py +0 -0
  184. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/transcript/__init__.py +0 -0
  185. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/transcript/transcript_file_store.py +0 -0
  186. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/transcript/transcript_info.py +0 -0
  187. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/transcript/transcript_logger.py +0 -0
  188. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/transcript/transcript_memory_store.py +0 -0
  189. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/storage/transcript/transcript_store.py +0 -0
  190. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/__init__.py +0 -0
  191. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/adapter/__init__.py +0 -0
  192. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/adapter/constants.py +0 -0
  193. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/adapter/metrics.py +0 -0
  194. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/adapter/spans.py +0 -0
  195. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/attributes.py +0 -0
  196. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/core/__init__.py +0 -0
  197. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/core/_agents_telemetry.py +0 -0
  198. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/core/base_span_wrapper.py +0 -0
  199. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/core/resource.py +0 -0
  200. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/core/simple_span_wrapper.py +0 -0
  201. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/core/type_defs.py +0 -0
  202. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/turn_context/__init__.py +0 -0
  203. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/turn_context/constants.py +0 -0
  204. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/turn_context/spans.py +0 -0
  205. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/telemetry/utils.py +0 -0
  206. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents/hosting/core/turn_context.py +0 -0
  207. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents_hosting_core.egg-info/dependency_links.txt +0 -0
  208. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/microsoft_agents_hosting_core.egg-info/top_level.txt +0 -0
  209. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/pyproject.toml +0 -0
  210. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/setup.cfg +0 -0
  211. {microsoft_agents_hosting_core-1.10.0.dev4 → microsoft_agents_hosting_core-1.10.0.dev6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: microsoft-agents-hosting-core
3
- Version: 1.10.0.dev4
3
+ Version: 1.10.0.dev6
4
4
  Summary: Core library for Microsoft Agents
5
5
  Author: Microsoft Corporation
6
6
  License-Expression: MIT
@@ -15,7 +15,7 @@ Classifier: Operating System :: OS Independent
15
15
  Requires-Python: >=3.10
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: microsoft-agents-activity==1.10.0.dev4
18
+ Requires-Dist: microsoft-agents-activity==1.10.0.dev6
19
19
  Requires-Dist: pyjwt>=2.10.1
20
20
  Requires-Dist: isodate>=0.6.1
21
21
  Requires-Dist: python-dotenv>=1.1.1
@@ -216,6 +216,24 @@ Additionally we provide a Copilot Studio Client, to interact with Agents created
216
216
  | `microsoft-agents-copilotstudio-client` | [![PyPI](https://img.shields.io/pypi/v/microsoft-agents-copilotstudio-client)](https://pypi.org/project/microsoft-agents-copilotstudio-client/) | Direct to Engine client to interact with Agents created in CopilotStudio |
217
217
 
218
218
 
219
+ ## Connection Configuration
220
+
221
+ `microsoft_agents.hosting.core.authorization.connections` contains `Connections`,
222
+ `ConnectionManager`, `ConnectionSettingsBase`, and the legacy `AgentAuthConfiguration`.
223
+ Existing top-level and legacy module imports remain supported.
224
+
225
+ Pass application settings as `ConnectionManager(provider_factory, config=configuration)`
226
+ to deliver each connection's settings to the provider as a `Configuration`. Read bound
227
+ provider settings through `provider.config`; provider-specific settings derive from
228
+ `ConnectionSettingsBase`. Connection maps accept ordered lists or named mappings with
229
+ `service_url`, `audience`, and `connection` fields, including environment-style aliases.
230
+
231
+ Existing `connections_configurations`, `connections_map`, and `**legacy_config`
232
+ constructor calls still pass `AgentAuthConfiguration` objects to the provider factory.
233
+ `get_default_connection_configuration()` remains available for those legacy calls;
234
+ configuration-based managers should use `get_default_connection().config`.
235
+ The environment loader is unchanged.
236
+
219
237
  ## Installation
220
238
 
221
239
  ```bash
@@ -0,0 +1 @@
1
+ 1.10.0.dev6
@@ -53,15 +53,18 @@ from .app.state.temp_state import TempState
53
53
  from .app.state.turn_state import TurnState
54
54
 
55
55
  # Authorization
56
- from .authorization.access_token_provider_base import AccessTokenProviderBase
57
- from .authorization.authentication_constants import AuthenticationConstants
58
- from .authorization.anonymous_token_provider import AnonymousTokenProvider
59
- from .authorization.connections import Connections
60
- from .authorization.connection_manager import ConnectionManager
61
- from .authorization.agent_auth_configuration import AgentAuthConfiguration
62
- from .authorization.claims_identity import ClaimsIdentity
63
- from .authorization.jwt.jwt_token_validator import JwtTokenValidator
64
- from .authorization.auth_types import AuthTypes
56
+ from .authorization import (
57
+ AccessTokenProviderBase,
58
+ AuthenticationConstants,
59
+ AnonymousTokenProvider,
60
+ Connections,
61
+ ConnectionManager,
62
+ AgentAuthConfiguration,
63
+ ClaimsIdentity,
64
+ JwtTokenValidator,
65
+ AuthTypes,
66
+ ConnectionSettingsBase,
67
+ )
65
68
 
66
69
  # Client API
67
70
  from .client.agent_conversation_reference import AgentConversationReference
@@ -114,8 +117,10 @@ from .errors import error_resources, ErrorMessage, ErrorResources
114
117
 
115
118
  # Define the package's public interface
116
119
  __all__ = [
120
+ "ConnectionSettingsBase",
117
121
  "ActivityHandler",
118
122
  "Agent",
123
+ "AuthTypes",
119
124
  "CardFactory",
120
125
  "ChannelAdapter",
121
126
  "ChannelApiHandlerProtocol",
@@ -71,8 +71,11 @@ class AuthHandler:
71
71
  self._alt_blueprint_name = kwargs.get("ALT_BLUEPRINT_NAME", None)
72
72
 
73
73
  @staticmethod
74
- def _format_scopes(scopes: str) -> list[str]:
75
- lst = scopes.strip().split(" ")
74
+ def _format_scopes(scopes: str | list[str]) -> list[str]:
75
+ if isinstance(scopes, str):
76
+ lst = scopes.strip().split(" ")
77
+ else:
78
+ lst = scopes
76
79
  return [s for s in lst if s]
77
80
 
78
81
  @staticmethod
@@ -17,6 +17,7 @@ from microsoft_agents.activity import (
17
17
  TokenResponse,
18
18
  )
19
19
  from microsoft_agents.activity.activity_types import ActivityTypes
20
+ from microsoft_agents.activity.config import Configuration, xpath, _get, _get_str
20
21
 
21
22
  from microsoft_agents.hosting.core.authorization._helpers import (
22
23
  _CallableTokenCredential,
@@ -68,7 +69,9 @@ class Authorization:
68
69
  connection_manager: Connections,
69
70
  auth_handlers: dict[str, AuthHandler] | None = None,
70
71
  auto_sign_in: bool = False,
72
+ *,
71
73
  use_cache: bool = False,
74
+ config: Configuration | None = None,
72
75
  **kwargs,
73
76
  ):
74
77
  """
@@ -100,24 +103,25 @@ class Authorization:
100
103
 
101
104
  self._handlers = {}
102
105
 
103
- auth_configuration: dict = kwargs.get("AGENTAPPLICATION", {}).get(
104
- "USERAUTHORIZATION", {}
106
+ auth_configuration = Configuration.from_mapping(config, **kwargs).get_section(
107
+ xpath("agent_application", "user_authorization"), default=Configuration()
105
108
  )
109
+
106
110
  if not auth_handlers:
107
111
  # get from config
108
- handlers_config: dict[str, dict] = auth_configuration.get("HANDLERS") or {}
112
+ handlers_config = auth_configuration.get(xpath("handlers"), default={})
109
113
  auth_handlers = {
110
114
  handler_name: AuthHandler(
111
115
  name=handler_name,
112
- auth_type=config.get("TYPE", ""),
113
- **config.get("SETTINGS", {}),
116
+ auth_type=_get_str(config, *xpath("type"), default=""),
117
+ **_get(config, *xpath("settings"), default={}),
114
118
  )
115
119
  for handler_name, config in handlers_config.items()
116
120
  }
117
121
 
118
122
  self._handler_settings = auth_handlers
119
- self._auto_sign_in = auto_sign_in or bool(
120
- auth_configuration.get("AUTO_SIGN_IN", False)
123
+ self._auto_sign_in = auto_sign_in or auth_configuration.get_bool(
124
+ xpath("auto_sign_in"), default=False
121
125
  )
122
126
 
123
127
  # operations default to the first handler if none specified
@@ -4,9 +4,12 @@
4
4
  from .access_token_provider_base import AccessTokenProviderBase
5
5
  from .authentication_constants import AuthenticationConstants
6
6
  from .anonymous_token_provider import AnonymousTokenProvider
7
- from .connections import Connections
8
- from .connection_manager import ConnectionManager
9
- from .agent_auth_configuration import AgentAuthConfiguration
7
+ from .connections import (
8
+ AgentAuthConfiguration,
9
+ Connections,
10
+ ConnectionManager,
11
+ ConnectionSettingsBase,
12
+ )
10
13
  from .claims_identity import ClaimsIdentity
11
14
  from .jwt import JwtTokenValidator
12
15
  from .auth_types import AuthTypes
@@ -21,4 +24,5 @@ __all__ = [
21
24
  "ClaimsIdentity",
22
25
  "JwtTokenValidator",
23
26
  "AuthTypes",
27
+ "ConnectionSettingsBase",
24
28
  ]
@@ -3,10 +3,9 @@
3
3
 
4
4
  """Shared helpers for recognizing Microsoft Entra ID / Bot Framework token issuers.
5
5
 
6
- Centralizes the cloud (public vs. US Government) and tenant-GUID parsing rules
7
- used by both :class:`AgentAuthConfiguration` (default ``ISSUERS``) and
8
- :class:`JwtTokenValidator` (issuer allow-list validation, tid-to-issuer
9
- binding, and JWKS routing) so the two stay consistent.
6
+ Centralizes cloud (public vs. US Government) and tenant-GUID parsing for
7
+ JwtTokenValidator's issuer validation, tenant binding, and JWKS routing.
8
+ Also provides default issuer construction for legacy configuration compatibility.
10
9
  """
11
10
 
12
11
  from __future__ import annotations
@@ -2,7 +2,7 @@
2
2
  # Licensed under the MIT License.
3
3
 
4
4
  import datetime
5
- from typing import Protocol
5
+ from typing import Any, Protocol
6
6
 
7
7
  from azure.core.credentials_async import AsyncTokenCredential
8
8
  from azure.core.credentials import AccessToken
@@ -6,9 +6,10 @@ import json
6
6
  from logging import Logger
7
7
  from urllib.parse import urlparse
8
8
 
9
+ from microsoft_agents.activity.config import Configuration, xpath
9
10
  from microsoft_agents.activity._model_utils import pick_model_dict, SkipNone
10
11
 
11
- from .agent_auth_configuration import AgentAuthConfiguration
12
+ from .connections.connections_map import _ConnectionMap
12
13
 
13
14
  _REDACTION_PEEK_LENGTH = 3
14
15
  _REDACTION_THRESH = _REDACTION_PEEK_LENGTH + 6
@@ -90,53 +91,60 @@ def _redact_url_or_none(url: str | None) -> str | None:
90
91
  return _redact_url(url)
91
92
 
92
93
 
93
- def _summarize_auth_configs(config_map: dict[str, AgentAuthConfiguration]) -> str:
94
+ def _summarize_auth_configs(config_map: dict[str, Configuration]) -> str:
94
95
  """
95
96
  Summarize the authentication configuration for logging.
96
97
 
97
98
  :arg config_map: A dictionary of connection configurations.
98
- :type config_map: dict[str, :class:`microsoft_agents.hosting.core.AgentAuthConfiguration`]
99
+ :type config_map: dict[str, :class:`microsoft_agents.activity.config.Configuration`]
99
100
  :return: A string summarizing the authentication configuration.
100
101
  :rtype: str
101
102
  """
103
+ get_strn = lambda key: config.get_strn(xpath(key))
102
104
  summary = []
103
105
  for connection_name, config in config_map.items():
104
106
  summary.append(
105
107
  pick_model_dict(
106
108
  CONNECTION=connection_name,
107
- CONNECTION_NAME=SkipNone(config.CONNECTION_NAME),
108
- CLIENTID=SkipNone(_redact_str_or_none(config.CLIENT_ID, peek=True)),
109
- TENANTID=SkipNone(_redact_str_or_none(config.TENANT_ID, peek=True)),
110
- CLIENTSECRET=SkipNone(_redact_str_or_none(config.CLIENT_SECRET)),
111
- AUTHORITY=SkipNone(_redact_url_or_none(config.AUTHORITY)),
112
- SCOPES=SkipNone(_redact_scopes(config.SCOPES)),
109
+ CONNECTION_NAME=SkipNone(get_strn("CONNECTION_NAME")),
110
+ CLIENTID=SkipNone(
111
+ _redact_str_or_none(get_strn("CLIENT_ID"), peek=True)
112
+ ),
113
+ TENANTID=SkipNone(
114
+ _redact_str_or_none(get_strn("TENANT_ID"), peek=True)
115
+ ),
116
+ CLIENTSECRET=SkipNone(_redact_str_or_none(get_strn("CLIENT_SECRET"))),
117
+ AUTHORITY=SkipNone(
118
+ _redact_url_or_none(
119
+ config.get_strn(xpath("authority"), xpath("authorityendpoint"))
120
+ )
121
+ ),
122
+ SCOPES=SkipNone(_redact_scopes(config.get_scopes(xpath("SCOPES")))),
113
123
  FEDERATED_CLIENT_ID=SkipNone(
114
- _redact_str_or_none(config.FEDERATED_CLIENT_ID, peek=True)
124
+ _redact_str_or_none(get_strn("FEDERATED_CLIENT_ID"), peek=True)
115
125
  ),
116
- CERT_PFX_FILE=SkipNone(_redact_str_or_none(config.CERT_PFX_FILE)),
126
+ CERT_PFX_FILE=SkipNone(_redact_str_or_none(get_strn("CERT_PFX_FILE"))),
117
127
  ALT_BLUEPRINT_ID=SkipNone(
118
- _redact_str_or_none(config.ALT_BLUEPRINT_ID, peek=True)
128
+ _redact_str_or_none(get_strn("ALT_BLUEPRINT_ID"), peek=True)
119
129
  ),
120
- IDPM_RESOURCE=SkipNone(_redact_url_or_none(config.IDPM_RESOURCE)),
121
- AZURE_REGION=SkipNone(_redact_url_or_none(config.AZURE_REGION)),
122
- ANONYMOUS_ALLOWED=str(config.ANONYMOUS_ALLOWED),
130
+ IDPM_RESOURCE=SkipNone(_redact_url_or_none(get_strn("IDPM_RESOURCE"))),
131
+ AZURE_REGION=SkipNone(_redact_url_or_none(get_strn("AZURE_REGION"))),
132
+ ANONYMOUS_ALLOWED=str(config.get_booln(xpath("ANONYMOUS_ALLOWED"))),
123
133
  )
124
134
  )
125
135
  return json.dumps(summary, indent=2)
126
136
 
127
137
 
128
- def _summarize_connections_map(connections_map: list[dict[str, str]]) -> str:
138
+ def _summarize_connections_map(connections_map: _ConnectionMap) -> str:
129
139
  connections_map_output = []
130
140
  for mapping in connections_map:
131
- obj = {
132
- "CONNECTION": mapping.get("CONNECTION", ""),
133
- }
141
+ obj = {"CONNECTION": mapping.connection}
134
142
 
135
- if "AUDIENCE" in mapping:
136
- obj["AUDIENCE"] = mapping["AUDIENCE"]
143
+ if mapping.audience:
144
+ obj["AUDIENCE"] = mapping.audience
137
145
 
138
- if "SERVICEURL" in mapping:
139
- service_url = mapping.get("SERVICEURL", "").strip()
146
+ if mapping.service_url:
147
+ service_url = mapping.service_url.strip()
140
148
  if service_url != "*":
141
149
  service_url = _redact_url(service_url)
142
150
  obj["SERVICEURL"] = service_url
@@ -148,18 +156,18 @@ def _summarize_connections_map(connections_map: list[dict[str, str]]) -> str:
148
156
 
149
157
  def _log_config(
150
158
  logger: Logger,
151
- config_map: dict[str, AgentAuthConfiguration],
152
- connections_map: list[dict[str, str]],
159
+ config_map: dict[str, Configuration],
160
+ connections_map: _ConnectionMap,
153
161
  ) -> None:
154
162
  """
155
- Log the configuration of the MSAL connection manager.
163
+ Log redacted configuration for a provider-independent connection manager.
156
164
 
157
165
  :arg logger: The logger to use for logging.
158
166
  :type logger: :class:`logging.Logger`
159
167
  :arg connections_map: A list of connection mappings.
160
- :type connections_map: list[dict[str, str]]
168
+ :type connections_map: _ConnectionMap
161
169
  :arg config_map: A dictionary of connection configurations.
162
- :type config_map: dict[str, :class:`microsoft_agents.hosting.core.AgentAuthConfiguration`]
170
+ :type config_map: dict[str, Configuration]
163
171
  """
164
172
 
165
173
  connections_output = _summarize_auth_configs(config_map)
@@ -1,26 +1,41 @@
1
1
  # Copyright (c) Microsoft Corporation. All rights reserved.
2
2
  # Licensed under the MIT License.
3
3
 
4
- from typing import Protocol
4
+ from __future__ import annotations
5
+
6
+ from typing import TYPE_CHECKING, Protocol
5
7
  from abc import abstractmethod
6
8
 
7
9
  from azure.core.credentials_async import AsyncTokenCredential
8
10
 
9
- from .agent_auth_configuration import AgentAuthConfiguration
11
+ if TYPE_CHECKING:
12
+ from .connections import AgentAuthConfiguration, ConnectionSettingsBase
10
13
 
11
14
 
12
15
  class AccessTokenProviderBase(Protocol):
13
16
 
14
17
  @property
15
- @abstractmethod
16
18
  def configuration(self) -> AgentAuthConfiguration:
17
19
  """
18
- The configuration for the access token provider.
20
+ Deprecated legacy configuration view. Prefer :attr:`config`.
19
21
 
20
- :return: The configuration for the access token provider.
22
+ :return: AgentAuthConfiguration retained for compatibility.
21
23
  """
24
+ # this property is deprecated and will be removed in future versions
22
25
  raise NotImplementedError()
23
26
 
27
+ @property
28
+ def config(self) -> ConnectionSettingsBase:
29
+ """
30
+ Bound provider-specific settings extending ConnectionSettingsBase.
31
+
32
+ :return: The provider's typed connection settings.
33
+ """
34
+ # Convert the deprecated configuration to the new connection settings format.
35
+ from .connections.connection_settings_base import ConnectionSettingsBase
36
+
37
+ return ConnectionSettingsBase.from_mapping(**self.configuration._to_dict())
38
+
24
39
  @abstractmethod
25
40
  async def get_access_token(
26
41
  self, resource_url: str, scopes: list[str], force_refresh: bool = False
@@ -1,13 +1,11 @@
1
1
  # Copyright (c) Microsoft Corporation. All rights reserved.
2
2
  # Licensed under the MIT License.
3
3
 
4
- from typing import Optional
5
-
6
4
  from azure.core.credentials import AccessToken
7
5
  from azure.core.credentials_async import AsyncTokenCredential
8
6
 
9
7
  from .access_token_provider_base import AccessTokenProviderBase
10
- from .agent_auth_configuration import AgentAuthConfiguration
8
+ from .connections import AgentAuthConfiguration, ConnectionSettingsBase
11
9
  from ._helpers import _CallableTokenCredential
12
10
 
13
11
  _ANONYMOUS_TOKEN_EXPIRATION = 2**31 - 1
@@ -27,6 +25,14 @@ class AnonymousTokenProvider(AccessTokenProviderBase):
27
25
  """
28
26
  return AgentAuthConfiguration()
29
27
 
28
+ @property
29
+ def config(self) -> ConnectionSettingsBase:
30
+ """
31
+ The configuration for the access token provider.
32
+ :return: The configuration for the access token provider.
33
+ """
34
+ return ConnectionSettingsBase()
35
+
30
36
  async def get_access_token(
31
37
  self, resource_url: str, scopes: list[str], force_refresh: bool = False
32
38
  ) -> str:
@@ -45,7 +51,7 @@ class AnonymousTokenProvider(AccessTokenProviderBase):
45
51
 
46
52
  async def get_agentic_application_token(
47
53
  self, tenant_id: str, agent_app_instance_id: str
48
- ) -> Optional[str]:
54
+ ) -> str | None:
49
55
  return ""
50
56
 
51
57
  async def get_agentic_instance_token(
@@ -59,5 +65,5 @@ class AnonymousTokenProvider(AccessTokenProviderBase):
59
65
  agent_app_instance_id: str,
60
66
  agentic_user_id: str,
61
67
  scopes: list[str],
62
- ) -> Optional[str]:
68
+ ) -> str | None:
63
69
  return ""
@@ -0,0 +1,6 @@
1
+ # Copyright (c) Microsoft Corporation. All rights reserved.
2
+ # Licensed under the MIT License.
3
+
4
+ from .connections.connection_manager import ConnectionManager
5
+
6
+ __all__ = ["ConnectionManager"]
@@ -0,0 +1,16 @@
1
+ # Copyright (c) Microsoft Corporation. All rights reserved.
2
+ # Licensed under the MIT License.
3
+
4
+ from .agent_auth_configuration import AgentAuthConfiguration
5
+ from .connection_settings_base import ConnectionSettingsBase
6
+ from .connections import Connections
7
+ from .connection_manager import ConnectionManager
8
+ from .connections_map import _ConnectionMap
9
+
10
+ __all__ = [
11
+ "AgentAuthConfiguration",
12
+ "ConnectionSettingsBase",
13
+ "Connections",
14
+ "ConnectionManager",
15
+ "_ConnectionMap",
16
+ ]
@@ -3,9 +3,11 @@
3
3
 
4
4
  from __future__ import annotations
5
5
 
6
+ import warnings
7
+
6
8
  from typing import Any
7
9
 
8
- from microsoft_agents.activity.config._coercion import coerce_bool
10
+ from microsoft_agents.activity.config import coerce_bool
9
11
 
10
12
  from microsoft_agents.hosting.core.authorization.auth_types import AuthTypes
11
13
  from microsoft_agents.hosting.core.authorization._entra_issuers import (
@@ -120,6 +122,10 @@ class AgentAuthConfiguration:
120
122
  # not directly access _connections.
121
123
  _connections: dict[str, AgentAuthConfiguration]
122
124
 
125
+ @staticmethod
126
+ def from_dict(config: dict[str, Any]) -> AgentAuthConfiguration:
127
+ return AgentAuthConfiguration(**config)
128
+
123
129
  def __init__(
124
130
  self,
125
131
  auth_type: AuthTypes | None = None,
@@ -142,6 +148,12 @@ class AgentAuthConfiguration:
142
148
  **kwargs: Any,
143
149
  ):
144
150
 
151
+ warnings.warn(
152
+ "AgentAuthConfiguration is deprecated and will be removed in a future version. Please use ConnectionSettings instead.",
153
+ DeprecationWarning,
154
+ stacklevel=2,
155
+ )
156
+
145
157
  self.AUTH_TYPE = auth_type or kwargs.get("AUTHTYPE", AuthTypes.client_secret)
146
158
  self.CLIENT_ID = client_id or kwargs.get("CLIENTID", None)
147
159
  # .NET binds the authority from the "AuthorityEndpoint" configuration key;
@@ -257,6 +269,32 @@ class AgentAuthConfiguration:
257
269
  "FEDERATED_TOKEN_FILE is required for workload_identity authentication."
258
270
  )
259
271
 
272
+ def _to_dict(self) -> dict[str, Any]:
273
+ """
274
+ Converts the agent auth configuration to a dictionary representation.
275
+
276
+ :return: A dictionary containing the configuration fields and their values.
277
+ """
278
+ return {
279
+ "tenant_id": self.TENANT_ID,
280
+ "client_id": self.CLIENT_ID,
281
+ "authority": self.AUTHORITY,
282
+ "scopes": self.SCOPES,
283
+ "auth_type": self.AUTH_TYPE,
284
+ "cert_pfx_file": self.CERT_PFX_FILE,
285
+ "federated_client_id": self.FEDERATED_CLIENT_ID,
286
+ "federated_token_file": self.FEDERATED_TOKEN_FILE,
287
+ "alt_blueprint_id": self.ALT_BLUEPRINT_ID,
288
+ "alternate_blueprint_connection_name": self.ALT_BLUEPRINT_ID,
289
+ "idpm_resource": self.IDPM_RESOURCE,
290
+ "validate_issuer": self.VALIDATE_ISSUER,
291
+ "issuers": self._configured_issuers,
292
+ "anonymous_allowed": self.ANONYMOUS_ALLOWED,
293
+ "client_secret": self.CLIENT_SECRET,
294
+ "azure_region": self.AZURE_REGION,
295
+ **self.provider_settings,
296
+ }
297
+
260
298
  @property
261
299
  def ISSUERS(self) -> list[str]:
262
300
  """
@@ -300,6 +338,14 @@ class AgentAuthConfiguration:
300
338
  """Alias for :attr:`ALT_BLUEPRINT_ID` (.NET ``AlternateBlueprintConnectionName``)."""
301
339
  return self.ALT_BLUEPRINT_ID
302
340
 
341
+ def _get_audiences(self) -> list[str]:
342
+ """Returns a list of all audiences (CLIENT_IDs) for the configured connections."""
343
+ audiences = []
344
+ for conn in self._connections.values():
345
+ if conn.CLIENT_ID:
346
+ audiences.append(conn.CLIENT_ID)
347
+ return audiences
348
+
303
349
  def _jwt_patch_is_valid_aud(self, aud: Any) -> bool:
304
350
  """
305
351
  JWT-patch: Checks if the given audience is valid for any of the