microsoft-agents-hosting-core 1.10.0.dev2__tar.gz → 1.10.0.dev5__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 (206) hide show
  1. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/PKG-INFO +2 -2
  2. microsoft_agents_hosting_core-1.10.0.dev5/VERSION.txt +1 -0
  3. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/agent_application.py +57 -21
  4. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_handlers/connector_user_authorization.py +4 -2
  5. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/streaming/streaming_response.py +1 -1
  6. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/connection_settings_base.py +93 -0
  7. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/jwt/__init__.py +4 -0
  8. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/jwt/_authorize_request.py +31 -4
  9. microsoft_agents_hosting_core-1.10.0.dev5/microsoft_agents/hosting/core/authorization/jwt/jwt_connection_settings.py +40 -0
  10. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/jwt/jwt_token_validator.py +65 -29
  11. microsoft_agents_hosting_core-1.10.0.dev5/microsoft_agents/hosting/core/authorization/jwt/token_validation_configuration.py +75 -0
  12. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/adapter/metrics.py +4 -0
  13. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents_hosting_core.egg-info/PKG-INFO +2 -2
  14. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents_hosting_core.egg-info/SOURCES.txt +2 -0
  15. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents_hosting_core.egg-info/requires.txt +1 -1
  16. microsoft_agents_hosting_core-1.10.0.dev2/VERSION.txt +0 -1
  17. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/LICENSE +0 -0
  18. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/MANIFEST.in +0 -0
  19. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/__init__.py +0 -0
  20. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_http_adapter_base.py +0 -0
  21. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_oauth/__init__.py +0 -0
  22. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_oauth/_flow_state.py +0 -0
  23. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_oauth/_flow_storage_client.py +0 -0
  24. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_oauth/_oauth_flow.py +0 -0
  25. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_utils/__init__.py +0 -0
  26. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_utils/_service_set.py +0 -0
  27. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/_utils/_turn_context_wrapper.py +0 -0
  28. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/activity_handler.py +0 -0
  29. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/agent.py +0 -0
  30. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/__init__.py +0 -0
  31. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_routes/__init__.py +0 -0
  32. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_routes/_route.py +0 -0
  33. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_routes/_route_list.py +0 -0
  34. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_routes/route_rank.py +0 -0
  35. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_selector.py +0 -0
  36. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_type_defs.py +0 -0
  37. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/_utils.py +0 -0
  38. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/adaptive_card/__init__.py +0 -0
  39. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/adaptive_card/_type_defs.py +0 -0
  40. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/adaptive_card/adaptive_card.py +0 -0
  41. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/adaptive_card/factory.py +0 -0
  42. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/adaptive_card/models.py +0 -0
  43. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/app_error.py +0 -0
  44. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/app_options.py +0 -0
  45. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/attachment_downloader.py +0 -0
  46. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/input_file.py +0 -0
  47. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/m365_attachment_downloader.py +0 -0
  48. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/__init__.py +0 -0
  49. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_handlers/__init__.py +0 -0
  50. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_handlers/_authorization_handler.py +0 -0
  51. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_handlers/_user_authorization.py +0 -0
  52. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_handlers/agentic_user_authorization.py +0 -0
  53. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_sign_in_response.py +0 -0
  54. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/_sign_in_state.py +0 -0
  55. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/auth_handler.py +0 -0
  56. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/authorization.py +0 -0
  57. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/telemetry/__init__.py +0 -0
  58. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/telemetry/constants.py +0 -0
  59. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/oauth/telemetry/spans.py +0 -0
  60. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/__init__.py +0 -0
  61. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/conversation.py +0 -0
  62. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/conversation_builder.py +0 -0
  63. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/conversation_reference_builder.py +0 -0
  64. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/create_conversation_options.py +0 -0
  65. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/proactive.py +0 -0
  66. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/proactive_options.py +0 -0
  67. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/telemetry/__init__.py +0 -0
  68. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/telemetry/_utils.py +0 -0
  69. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/telemetry/constants.py +0 -0
  70. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/proactive/telemetry/spans.py +0 -0
  71. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/query.py +0 -0
  72. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/state/__init__.py +0 -0
  73. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/state/conversation_state.py +0 -0
  74. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/state/state.py +0 -0
  75. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/state/temp_state.py +0 -0
  76. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/state/turn_state.py +0 -0
  77. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/streaming/__init__.py +0 -0
  78. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/streaming/citation.py +0 -0
  79. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/streaming/citation_util.py +0 -0
  80. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/telemetry/__init__.py +0 -0
  81. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/telemetry/constants.py +0 -0
  82. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/telemetry/metrics.py +0 -0
  83. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/telemetry/spans.py +0 -0
  84. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/app/typing_indicator.py +0 -0
  85. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/__init__.py +0 -0
  86. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/_entra_issuers.py +0 -0
  87. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/_helpers.py +0 -0
  88. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/_log_config.py +0 -0
  89. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/access_token_provider_base.py +0 -0
  90. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/agent_auth_configuration.py +0 -0
  91. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/anonymous_token_provider.py +0 -0
  92. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/auth_types.py +0 -0
  93. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/authentication_constants.py +0 -0
  94. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/claims_identity.py +0 -0
  95. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/connection_manager.py +0 -0
  96. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/connections.py +0 -0
  97. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/telemetry/__init__.py +0 -0
  98. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/telemetry/constants.py +0 -0
  99. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/telemetry/metrics.py +0 -0
  100. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/authorization/telemetry/spans.py +0 -0
  101. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/card_factory.py +0 -0
  102. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/channel_adapter.py +0 -0
  103. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/channel_api_handler_protocol.py +0 -0
  104. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/channel_service_adapter.py +0 -0
  105. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/channel_service_client_factory_base.py +0 -0
  106. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/__init__.py +0 -0
  107. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/agent_conversation_reference.py +0 -0
  108. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/channel_factory_protocol.py +0 -0
  109. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/channel_host_protocol.py +0 -0
  110. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/channel_info_protocol.py +0 -0
  111. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/channel_protocol.py +0 -0
  112. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/channels_configuration.py +0 -0
  113. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/configuration_channel_host.py +0 -0
  114. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/conversation_constants.py +0 -0
  115. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/conversation_id_factory.py +0 -0
  116. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/conversation_id_factory_options.py +0 -0
  117. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/conversation_id_factory_protocol.py +0 -0
  118. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/http_agent_channel.py +0 -0
  119. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/client/http_agent_channel_factory.py +0 -0
  120. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/__init__.py +0 -0
  121. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/_utils.py +0 -0
  122. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/agent_sign_in_base.py +0 -0
  123. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/attachments_base.py +0 -0
  124. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/client/__init__.py +0 -0
  125. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/client/_base_client.py +0 -0
  126. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/client/agent_sign_in.py +0 -0
  127. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/client/connector_client.py +0 -0
  128. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/client/user_token.py +0 -0
  129. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/client/user_token_client.py +0 -0
  130. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/connector_client_base.py +0 -0
  131. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/conversations_base.py +0 -0
  132. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/get_product_info.py +0 -0
  133. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/mcs/__init__.py +0 -0
  134. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/mcs/mcs_connector_client.py +0 -0
  135. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/teams/__init__.py +0 -0
  136. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/teams/teams_connector_client.py +0 -0
  137. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/telemetry/__init__.py +0 -0
  138. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/telemetry/_request_span_wrapper.py +0 -0
  139. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/telemetry/connector_spans.py +0 -0
  140. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/telemetry/constants.py +0 -0
  141. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/telemetry/metrics.py +0 -0
  142. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/telemetry/user_token_client_spans.py +0 -0
  143. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/user_token_base.py +0 -0
  144. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/connector/user_token_client_base.py +0 -0
  145. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/errors/__init__.py +0 -0
  146. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/errors/error_resources.py +0 -0
  147. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/header_propagation/__init__.py +0 -0
  148. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/header_propagation/agentic_header_provider.py +0 -0
  149. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/header_propagation/header_propagation_context.py +0 -0
  150. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/header_propagation/header_value_provider.py +0 -0
  151. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/http/__init__.py +0 -0
  152. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/http/_channel_service_routes.py +0 -0
  153. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/http/_http_request_protocol.py +0 -0
  154. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/http/_http_response.py +0 -0
  155. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/message_factory.py +0 -0
  156. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/middleware_set.py +0 -0
  157. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/py.typed +0 -0
  158. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/rest_channel_service_client_factory.py +0 -0
  159. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/security/__init__.py +0 -0
  160. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/security/_connector.py +0 -0
  161. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/security/_middleware.py +0 -0
  162. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/security/_utils.py +0 -0
  163. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/security/_validator.py +0 -0
  164. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/security/outbound_host_validator.py +0 -0
  165. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/state/__init__.py +0 -0
  166. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/state/agent_state.py +0 -0
  167. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/state/state_property_accessor.py +0 -0
  168. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/state/user_state.py +0 -0
  169. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/__init__.py +0 -0
  170. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/_type_aliases.py +0 -0
  171. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/error_handling.py +0 -0
  172. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/memory_storage.py +0 -0
  173. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/storage.py +0 -0
  174. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/store_item.py +0 -0
  175. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/telemetry/__init__.py +0 -0
  176. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/telemetry/constants.py +0 -0
  177. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/telemetry/metrics.py +0 -0
  178. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/telemetry/spans.py +0 -0
  179. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/transcript/__init__.py +0 -0
  180. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/transcript/transcript_file_store.py +0 -0
  181. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/transcript/transcript_info.py +0 -0
  182. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/transcript/transcript_logger.py +0 -0
  183. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/transcript/transcript_memory_store.py +0 -0
  184. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/storage/transcript/transcript_store.py +0 -0
  185. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/__init__.py +0 -0
  186. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/adapter/__init__.py +0 -0
  187. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/adapter/constants.py +0 -0
  188. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/adapter/spans.py +0 -0
  189. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/attributes.py +0 -0
  190. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/core/__init__.py +0 -0
  191. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/core/_agents_telemetry.py +0 -0
  192. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/core/base_span_wrapper.py +0 -0
  193. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/core/resource.py +0 -0
  194. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/core/simple_span_wrapper.py +0 -0
  195. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/core/type_defs.py +0 -0
  196. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/turn_context/__init__.py +0 -0
  197. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/turn_context/constants.py +0 -0
  198. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/turn_context/spans.py +0 -0
  199. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/telemetry/utils.py +0 -0
  200. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents/hosting/core/turn_context.py +0 -0
  201. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents_hosting_core.egg-info/dependency_links.txt +0 -0
  202. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/microsoft_agents_hosting_core.egg-info/top_level.txt +0 -0
  203. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/pyproject.toml +0 -0
  204. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/readme.md +0 -0
  205. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/setup.cfg +0 -0
  206. {microsoft_agents_hosting_core-1.10.0.dev2 → microsoft_agents_hosting_core-1.10.0.dev5}/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.dev2
3
+ Version: 1.10.0.dev5
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.dev2
18
+ Requires-Dist: microsoft-agents-activity==1.10.0.dev5
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
@@ -0,0 +1 @@
1
+ 1.10.0.dev5
@@ -421,7 +421,10 @@ class AgentApplication(Agent, Generic[StateT]):
421
421
 
422
422
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
423
423
  logger.debug(
424
- f"Registering activity handler for route handler {func.__name__} with type: {activity_type} with auth handlers: {auth_handlers}"
424
+ "Registering activity handler for route handler %s with type: %s with auth handlers: %s",
425
+ func.__name__,
426
+ activity_type,
427
+ auth_handlers,
425
428
  )
426
429
  self.add_route(selector, func, auth_handlers=auth_handlers, **kwargs)
427
430
  return func
@@ -481,7 +484,10 @@ class AgentApplication(Agent, Generic[StateT]):
481
484
 
482
485
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
483
486
  logger.debug(
484
- f"Registering event handler for route handler {func.__name__} with select: {select} with auth handlers: {auth_handlers}"
487
+ "Registering event handler for route handler %s with select: %s with auth handlers: %s",
488
+ func.__name__,
489
+ select,
490
+ auth_handlers,
485
491
  )
486
492
  self.add_route(selector, func, auth_handlers=auth_handlers, **kwargs)
487
493
  return func
@@ -523,7 +529,10 @@ class AgentApplication(Agent, Generic[StateT]):
523
529
 
524
530
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
525
531
  logger.debug(
526
- f"Registering invoke handler for route handler {func.__name__} with select: {select} with auth handlers: {auth_handlers}"
532
+ "Registering invoke handler for route handler %s with select: %s with auth handlers: %s",
533
+ func.__name__,
534
+ select,
535
+ auth_handlers,
527
536
  )
528
537
  self.add_route(
529
538
  selector, func, auth_handlers=auth_handlers, is_invoke=True, **kwargs
@@ -570,7 +579,10 @@ class AgentApplication(Agent, Generic[StateT]):
570
579
 
571
580
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
572
581
  logger.debug(
573
- f"Registering message handler for route handler {func.__name__} with select: {select} with auth handlers: {auth_handlers}"
582
+ "Registering message handler for route handler %s with select: %s with auth handlers: %s",
583
+ func.__name__,
584
+ select,
585
+ auth_handlers,
574
586
  )
575
587
  self.add_route(selector, func, auth_handlers=auth_handlers, **kwargs)
576
588
  return func
@@ -634,7 +646,10 @@ class AgentApplication(Agent, Generic[StateT]):
634
646
 
635
647
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
636
648
  logger.debug(
637
- f"Registering conversation update handler for route handler {func.__name__} with type: {update_type} with auth handlers: {auth_handlers}"
649
+ "Registering conversation update handler for route handler %s with type: %s with auth handlers: %s",
650
+ func.__name__,
651
+ update_type,
652
+ auth_handlers,
638
653
  )
639
654
  self.add_route(__selector, func, auth_handlers=auth_handlers, **kwargs)
640
655
  return func
@@ -763,7 +778,10 @@ class AgentApplication(Agent, Generic[StateT]):
763
778
 
764
779
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
765
780
  logger.debug(
766
- f"Registering message reaction handler for route handler {func.__name__} with type: {reaction_type} with auth handlers: {auth_handlers}"
781
+ "Registering message reaction handler for route handler %s with type: %s with auth handlers: %s",
782
+ func.__name__,
783
+ reaction_type,
784
+ auth_handlers,
767
785
  )
768
786
  self.add_route(__selector, func, auth_handlers=auth_handlers, **kwargs)
769
787
  return func
@@ -880,7 +898,10 @@ class AgentApplication(Agent, Generic[StateT]):
880
898
 
881
899
  def __call(func: RouteHandler[StateT]) -> RouteHandler[StateT]:
882
900
  logger.debug(
883
- f"Registering message update handler for route handler {func.__name__} with type: {update_type} with auth handlers: {auth_handlers}"
901
+ "Registering message update handler for route handler %s with type: %s with auth handlers: %s",
902
+ func.__name__,
903
+ update_type,
904
+ auth_handlers,
884
905
  )
885
906
  self.add_route(__selector, func, auth_handlers=auth_handlers, **kwargs)
886
907
  return func
@@ -961,7 +982,9 @@ class AgentApplication(Agent, Generic[StateT]):
961
982
  )
962
983
 
963
984
  logger.debug(
964
- f"Registering handoff handler for route handler {func.__name__} with auth handlers: {auth_handlers}"
985
+ "Registering handoff handler for route handler %s with auth handlers: %s",
986
+ func.__name__,
987
+ auth_handlers,
965
988
  )
966
989
 
967
990
  self.add_route(selector, __handler, auth_handlers=auth_handlers, **kwargs)
@@ -991,12 +1014,14 @@ class AgentApplication(Agent, Generic[StateT]):
991
1014
 
992
1015
  if self._auth:
993
1016
  logger.debug(
994
- f"Registering sign-in success handler for route handler {func.__name__}"
1017
+ "Registering sign-in success handler for route handler %s",
1018
+ func.__name__,
995
1019
  )
996
1020
  self._auth.on_sign_in_success(func)
997
1021
  else:
998
1022
  logger.error(
999
- f"Failed to register sign-in success handler for route handler {func.__name__}",
1023
+ "Failed to register sign-in success handler for route handler %s",
1024
+ func.__name__,
1000
1025
  stack_info=True,
1001
1026
  )
1002
1027
  raise ApplicationError("""
@@ -1025,12 +1050,14 @@ class AgentApplication(Agent, Generic[StateT]):
1025
1050
 
1026
1051
  if self._auth:
1027
1052
  logger.debug(
1028
- f"Registering sign-in failure handler for route handler {func.__name__}"
1053
+ "Registering sign-in failure handler for route handler %s",
1054
+ func.__name__,
1029
1055
  )
1030
1056
  self._auth.on_sign_in_failure(func)
1031
1057
  else:
1032
1058
  logger.error(
1033
- f"Failed to register sign-in failure handler for route handler {func.__name__}",
1059
+ "Failed to register sign-in failure handler for route handler %s",
1060
+ func.__name__,
1034
1061
  stack_info=True,
1035
1062
  )
1036
1063
  raise ApplicationError("""
@@ -1056,7 +1083,7 @@ class AgentApplication(Agent, Generic[StateT]):
1056
1083
  :type func: Callable[[TurnContext, Exception], Awaitable[None]]
1057
1084
  """
1058
1085
 
1059
- logger.debug(f"Registering the error handler {func.__name__} ")
1086
+ logger.debug("Registering the error handler %s ", func.__name__)
1060
1087
  self._turn_error_handlers.append(func)
1061
1088
 
1062
1089
  return func
@@ -1065,13 +1092,14 @@ class AgentApplication(Agent, Generic[StateT]):
1065
1092
  """
1066
1093
  Custom Turn State Factory
1067
1094
  """
1068
- logger.debug(f"Setting custom turn state factory: {func.__name__}")
1095
+ logger.debug("Setting custom turn state factory: %s", func.__name__)
1069
1096
  self._turn_state_factory = func
1070
1097
  return func
1071
1098
 
1072
1099
  async def on_turn(self, context: TurnContext):
1073
1100
  logger.debug(
1074
- f"AgentApplication.on_turn(): Processing turn for context: {context.activity.id}"
1101
+ "AgentApplication.on_turn(): Processing turn for context: %s",
1102
+ context.activity.id,
1075
1103
  )
1076
1104
  await self._start_long_running_call(context, self._on_turn)
1077
1105
 
@@ -1179,7 +1207,8 @@ class AgentApplication(Agent, Generic[StateT]):
1179
1207
  input_files = state.temp.input_files if state.temp.input_files else []
1180
1208
  for file_downloader in self._options.file_downloaders:
1181
1209
  logger.info(
1182
- f"Using file downloader: {file_downloader.__class__.__name__}"
1210
+ "Using file downloader: %s",
1211
+ file_downloader.__class__.__name__,
1183
1212
  )
1184
1213
  files = await file_downloader.download_files(context)
1185
1214
  input_files.extend(files)
@@ -1237,7 +1266,9 @@ class AgentApplication(Agent, Generic[StateT]):
1237
1266
 
1238
1267
  if not route_matched:
1239
1268
  logger.warning(
1240
- f"No route found for activity type: {context.activity.type} with text: {context.activity.text}"
1269
+ "No route found for activity type: %s with text: %s",
1270
+ context.activity.type,
1271
+ context.activity.text,
1241
1272
  )
1242
1273
  if on_turn_span is not None:
1243
1274
  on_turn_span.share(
@@ -1254,7 +1285,9 @@ class AgentApplication(Agent, Generic[StateT]):
1254
1285
  and context.identity is not None
1255
1286
  ):
1256
1287
  logger.debug(
1257
- f"Starting long running call for context: {context.activity.id} with function: {func.__name__}"
1288
+ "Starting long running call for context: %s with function: %s",
1289
+ context.activity.id,
1290
+ func.__name__,
1258
1291
  )
1259
1292
  return await context.adapter.continue_conversation_with_claims(
1260
1293
  claims_identity=context.identity,
@@ -1290,7 +1323,7 @@ class AgentApplication(Agent, Generic[StateT]):
1290
1323
  task.result()
1291
1324
  except Exception as e:
1292
1325
  logger.error(
1293
- f"Error occurred while replaying the turn.",
1326
+ "Error occurred while replaying the turn.",
1294
1327
  exc_info=True,
1295
1328
  )
1296
1329
 
@@ -1327,12 +1360,15 @@ class AgentApplication(Agent, Generic[StateT]):
1327
1360
  """
1328
1361
 
1329
1362
  logger.error(
1330
- f"An error occurred in the AgentApplication: {err}",
1363
+ "An error occurred in the AgentApplication: %s",
1364
+ err,
1331
1365
  exc_info=True,
1332
1366
  )
1333
1367
 
1334
1368
  for err_func in self._turn_error_handlers:
1335
- logger.info(f"Calling error handler {err_func.__name__} for error: {err}")
1369
+ logger.info(
1370
+ "Calling error handler %s for error: %s", err_func.__name__, err
1371
+ )
1336
1372
  await err_func(context, err)
1337
1373
 
1338
1374
  if not self._turn_error_handlers:
@@ -119,7 +119,9 @@ class ConnectorUserAuthorization(_AuthorizationHandler):
119
119
  )
120
120
  except (ValueError, AttributeError) as ex:
121
121
  logger.error(
122
- f"Error checking token expiration for handler {self._id}: {ex}"
122
+ "Error checking token expiration for handler %s: %s",
123
+ self._id,
124
+ ex,
123
125
  )
124
126
  raise
125
127
 
@@ -234,7 +236,7 @@ class ConnectorUserAuthorization(_AuthorizationHandler):
234
236
  token_response.expiration = expiration.isoformat()
235
237
 
236
238
  except Exception as ex:
237
- logger.warning(f"Failed to parse JWT token for handler {self._id}: {ex}")
239
+ logger.warning("Failed to parse JWT token for handler %s: %s", self._id, ex)
238
240
  raise ex
239
241
 
240
242
  return token_response
@@ -468,7 +468,7 @@ class StreamingResponse:
468
468
  Sends any queued activities to the client until the queue is empty.
469
469
  """
470
470
  try:
471
- logger.debug(f"Draining queue with {len(self._queue)} activities.")
471
+ logger.debug("Draining queue with %s activities.", len(self._queue))
472
472
  while self._queue:
473
473
  factory = self._queue.pop(0)
474
474
  activity = factory()
@@ -4,7 +4,16 @@
4
4
  from __future__ import annotations
5
5
 
6
6
  from collections.abc import Mapping
7
+ from dataclasses import dataclass, field, fields
7
8
  from typing import Any, TYPE_CHECKING
9
+ from typing_extensions import Self
10
+
11
+ from microsoft_agents.activity.config import (
12
+ Configuration,
13
+ _Configurable,
14
+ _resolve,
15
+ xpath,
16
+ )
8
17
 
9
18
  if TYPE_CHECKING:
10
19
  from .agent_auth_configuration import AgentAuthConfiguration
@@ -109,3 +118,87 @@ class _ConnectionSettingsBase:
109
118
  ) -> "_ConnectionSettingsBase":
110
119
  """Build base settings from an :class:`AgentAuthConfiguration`."""
111
120
  return cls(**cls.base_kwargs_from_configuration(configuration))
121
+
122
+
123
+ _KNOWN_KWARGS_CACHE: dict[type[ConnectionSettingsBase], list[str]] = {}
124
+
125
+
126
+ @dataclass(frozen=True)
127
+ class ConnectionSettingsBase(_Configurable):
128
+ """Provider-independent settings bound from Configuration.
129
+
130
+ Frozen fields cannot be reassigned, but scopes and extras remain mutable.
131
+ Treat those containers as read-only after handing settings to a provider.
132
+ """
133
+
134
+ client_id: str | None = None
135
+ authority: str | None = None
136
+ tenant_id: str | None = None
137
+ alternate_blueprint_connection_name: str | None = None
138
+ scopes: list[str] = field(default_factory=list)
139
+ _extras: Configuration = field(default_factory=Configuration)
140
+
141
+ @property
142
+ def extras(self) -> Configuration:
143
+ """Return unrecognized provider settings, not an immutable copy."""
144
+ return self._extras
145
+
146
+ @classmethod
147
+ def _from_agent_auth_config(cls, agent_auth_config: AgentAuthConfiguration) -> Self:
148
+ attrs = dict(vars(agent_auth_config))
149
+ attrs.update(attrs.pop("provider_settings", {}))
150
+ attrs["ISSUERS"] = agent_auth_config.ISSUERS
151
+ if isinstance(attrs.get("SCOPES"), Mapping):
152
+ # TODO: Temporary compatibility for legacy indexed scopes; the next
153
+ # PR's configuration-loader migration will normalize these mappings.
154
+ attrs["SCOPES"] = _resolve({"SCOPES": attrs["SCOPES"]})["SCOPES"]
155
+ return cls.from_mapping(attrs)
156
+
157
+ @classmethod
158
+ def _get_init_kwargs(cls, config: Configuration) -> dict:
159
+ return {
160
+ "client_id": config.get_strn(cls._xpath("client_id")),
161
+ "authority": config.get_strn(
162
+ cls._xpath("authority"), cls._xpath("authorityendpoint")
163
+ ),
164
+ "tenant_id": config.get_strn(cls._xpath("tenant_id")),
165
+ "scopes": config.get_scopes(cls._xpath("scopes")),
166
+ "alternate_blueprint_connection_name": config.get_strn(
167
+ "alt_blueprint_name",
168
+ "ALT_BLUEPRINT_NAME",
169
+ "alt_blueprint_id",
170
+ "ALT_BLUEPRINT_ID",
171
+ *cls._xpath("alternate_blueprint_connection_name"),
172
+ ),
173
+ }
174
+
175
+ @classmethod
176
+ def _known_kwargs(cls) -> list[str]:
177
+ if cls not in _KNOWN_KWARGS_CACHE:
178
+ _KNOWN_KWARGS_CACHE[cls] = [
179
+ alias
180
+ for f in fields(cls)
181
+ if f.init and f.name != "_extras"
182
+ for alias in xpath(f.name)
183
+ ]
184
+ return _KNOWN_KWARGS_CACHE[cls]
185
+
186
+ @classmethod
187
+ def _get_extras(cls, config: Configuration) -> Configuration:
188
+ known_kwargs = cls._known_kwargs()
189
+ base = {k: v for k, v in config.items() if k not in known_kwargs}
190
+ return Configuration.from_mapping(
191
+ base, _base_path=config._base_path, **base.pop("extras", {})
192
+ )
193
+
194
+ @classmethod
195
+ def _from_configuration(cls, config: Configuration) -> Self:
196
+ try:
197
+ settings = config.get_section(xpath("settings"))
198
+ except KeyError:
199
+ settings = config
200
+ return cls(**cls._get_init_kwargs(settings), _extras=cls._get_extras(settings))
201
+
202
+ @staticmethod
203
+ def _xpath(name: str) -> list[str]:
204
+ return xpath(name, lower_snake=True)
@@ -3,8 +3,12 @@
3
3
 
4
4
  from ._authorize_request import _authorize_request
5
5
  from .jwt_token_validator import JwtTokenValidator
6
+ from .jwt_connection_settings import JwtConnectionSettings
7
+ from .token_validation_configuration import TokenValidationConfiguration
6
8
 
7
9
  __all__ = [
8
10
  "JwtTokenValidator",
9
11
  "_authorize_request",
12
+ "JwtConnectionSettings",
13
+ "TokenValidationConfiguration",
10
14
  ]
@@ -4,7 +4,10 @@
4
4
  import logging
5
5
 
6
6
  from jwt import PyJWTError
7
+ from typing import Any, Mapping
8
+ from weakref import WeakKeyDictionary
7
9
 
10
+ from microsoft_agents.activity.config import Configuration
8
11
  from microsoft_agents.hosting.core.http import HttpResponse
9
12
 
10
13
  from ..agent_auth_configuration import AgentAuthConfiguration
@@ -13,9 +16,33 @@ from .jwt_token_validator import JwtTokenValidator
13
16
 
14
17
  logger = logging.getLogger(__name__)
15
18
 
19
+ _TOKEN_VALIDATION_CACHE: WeakKeyDictionary[Any, JwtTokenValidator] = WeakKeyDictionary()
20
+
21
+
22
+ def _resolve_token_validator(
23
+ auth_config: Configuration | AgentAuthConfiguration | None,
24
+ cache_key: Any = None,
25
+ ) -> JwtTokenValidator | None:
26
+
27
+ if cache_key is not None and cache_key in _TOKEN_VALIDATION_CACHE:
28
+ return _TOKEN_VALIDATION_CACHE[cache_key]
29
+
30
+ if auth_config is not None:
31
+ config: AgentAuthConfiguration | Configuration = auth_config
32
+ if not isinstance(auth_config, AgentAuthConfiguration):
33
+ config = Configuration(auth_config)
34
+ validator = JwtTokenValidator(config)
35
+ if cache_key is not None:
36
+ _TOKEN_VALIDATION_CACHE[cache_key] = validator
37
+ return validator
38
+ return None
39
+
16
40
 
17
41
  async def _authorize_request(
18
- authorization_header: str | None, auth_config: AgentAuthConfiguration | None
42
+ authorization_header: str | None,
43
+ auth_config: Configuration | AgentAuthConfiguration | None,
44
+ *,
45
+ cache_key: Any = None
19
46
  ) -> ClaimsIdentity | HttpResponse:
20
47
  """
21
48
  Authorizes a request based on the provided JWT token in the Authorization header.
@@ -25,16 +52,16 @@ async def _authorize_request(
25
52
  :return: A ClaimsIdentity object if the token is valid, or an HttpResponse with an
26
53
  error message and status code if the token is invalid or missing.
27
54
  """
55
+ validator = _resolve_token_validator(auth_config, cache_key)
28
56
 
29
- if auth_config is None:
57
+ if not validator:
30
58
  return HttpResponse(
31
59
  body={"error": "Agent Authentication configuration not found"},
32
60
  status_code=500,
33
61
  )
34
- validator = JwtTokenValidator(auth_config)
35
62
 
36
63
  if not authorization_header:
37
- if auth_config.ANONYMOUS_ALLOWED:
64
+ if validator.config.anonymous_allowed:
38
65
  claims_identity = validator.get_anonymous_claims()
39
66
  return claims_identity
40
67
  return HttpResponse(
@@ -0,0 +1,40 @@
1
+ # Copyright (c) Microsoft Corporation. All rights reserved.
2
+ # Licensed under the MIT License.
3
+
4
+ from __future__ import annotations
5
+
6
+ from dataclasses import dataclass, field
7
+
8
+ from microsoft_agents.activity.config import Configuration, xpath
9
+
10
+ from .._entra_issuers import default_connection_issuers
11
+ from ..connection_settings_base import ConnectionSettingsBase
12
+
13
+
14
+ @dataclass(frozen=True)
15
+ class JwtConnectionSettings(ConnectionSettingsBase):
16
+ """Provider-independent connection settings for inbound JWT validation."""
17
+
18
+ validate_issuer: bool = False
19
+ issuers: list[str] = field(default_factory=list)
20
+ anonymous_allowed: bool = False
21
+
22
+ @classmethod
23
+ def _get_init_kwargs(cls, config: Configuration) -> dict:
24
+ base = super()._get_init_kwargs(config)
25
+ issuers = config.get_str_list(xpath("issuers"))
26
+ issuers = issuers or default_connection_issuers(
27
+ base.get("tenant_id"), base.get("authority")
28
+ )
29
+ base.update(
30
+ {
31
+ "validate_issuer": config.get_bool(
32
+ xpath("validate_issuer"), default=False
33
+ ),
34
+ "issuers": issuers,
35
+ "anonymous_allowed": config.get_bool(
36
+ xpath("anonymous_allowed"), default=False
37
+ ),
38
+ }
39
+ )
40
+ return base