From 1145e31db5219b9ea9d06a735a51efd853161104 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:11:31 -0800 Subject: [PATCH 01/28] Revise HOW_TO_SET_A_VERSION for Microsoft Agent 365 Updated the document to reflect the Microsoft branding for the Agent 365 Python SDK and made minor formatting adjustments. --- HOW_TO_SET_A_VERSION.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/HOW_TO_SET_A_VERSION.md b/HOW_TO_SET_A_VERSION.md index b46d6b02..f92155cf 100644 --- a/HOW_TO_SET_A_VERSION.md +++ b/HOW_TO_SET_A_VERSION.md @@ -1,6 +1,6 @@ # How to Set a Version -This document describes how to manage versioning for the Agent365 Python SDK, whether you're creating development builds or official releases. +This document describes how to manage versioning for the Microsoft Agent 365 Python SDK, whether you're creating development builds or official releases. ## Branch Strategy @@ -381,3 +381,4 @@ If you encounter issues with versioning: 2. Verify your Git setup with `git log` and `git describe` 3. Check CI logs for version calculation errors 4. Open an issue with version output and Git status + From ab2943ea38ea5920d8f3e1bc764f27263eb846b0 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:19:31 -0800 Subject: [PATCH 02/28] Fix docstring casing for agent365 exporter check --- .../microsoft_agents_a365/observability/core/exporters/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py index 4d1c75ca..2d57a607 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/utils.py @@ -66,7 +66,7 @@ def partition_by_identity( def is_agent365_exporter_enabled() -> bool: - """Check if agent365 exporter is enabled.""" + """Check if Agent 365 exporter is enabled.""" # Check environment variable enable_exporter = os.getenv(ENABLE_A365_OBSERVABILITY_EXPORTER, "").lower() return (enable_exporter) in ("true", "1", "yes", "on") From e21f930365b7f6fae7b6eca0ffff1f128d51b615 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:20:19 -0800 Subject: [PATCH 03/28] Fix typo in Agent365Exporter class docstring --- .../observability/core/exporters/agent365_exporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py index f16c4b9a..efe6c0e3 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/exporters/agent365_exporter.py @@ -37,7 +37,7 @@ class Agent365Exporter(SpanExporter): """ - Agent365 span exporter for Agent365: + Agent 365 span exporter for Agent 365: * Partitions spans by (tenantId, agentId) * Builds OTLP-like JSON: resourceSpans -> scopeSpans -> spans * POSTs per group to https://{endpoint}/maven/agent365/agents/{agentId}/traces?api-version=1 From 133748b1971535db9fbbc2cefb79b99ade059f1f Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:21:05 -0800 Subject: [PATCH 04/28] Update module docstring and copyright notice --- versioning/helper/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/versioning/helper/__init__.py b/versioning/helper/__init__.py index 0f4930f9..1ac0cb88 100644 --- a/versioning/helper/__init__.py +++ b/versioning/helper/__init__.py @@ -1,7 +1,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -"""Agent365 Python SDK setup utilities.""" +"""Microsoft Agent 365 Python SDK setup utilities.""" from .setup_utils import ( get_package_version, @@ -16,3 +16,4 @@ "get_base_version", "get_next_major_version", ] + From 9d84f5431c3edaf6a984fd209706e18fc41cd5b5 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:21:58 -0800 Subject: [PATCH 05/28] Refactor docstring and comments in setup_utils.py Updated the module docstring and improved comments for clarity. --- versioning/helper/setup_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/versioning/helper/setup_utils.py b/versioning/helper/setup_utils.py index 0ae10711..bcac905a 100644 --- a/versioning/helper/setup_utils.py +++ b/versioning/helper/setup_utils.py @@ -2,7 +2,7 @@ # Licensed under the MIT License. """ -Shared utilities for setup.py files across all Agent365 Python SDK packages. +Shared utilities for setup.py files across all Microsoft Agent 365 Python SDK packages. This module provides helper functions to dynamically set internal package versions at build time, ensuring all packages in the monorepo use the exact same version. @@ -233,3 +233,4 @@ def get_dynamic_dependencies( updated_dependencies.append(dep) return updated_dependencies + From 53516a2ea82fc2a34f0da4e2e72111f5f707903c Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:22:55 -0800 Subject: [PATCH 06/28] Update comment to reflect Microsoft branding --- .../microsoft_agents_a365/runtime/version_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/version_utils.py b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/version_utils.py index 7a471b38..300e6979 100644 --- a/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/version_utils.py +++ b/libraries/microsoft-agents-a365-runtime/microsoft_agents_a365/runtime/version_utils.py @@ -2,7 +2,7 @@ # Licensed under the MIT License. """ -Version utilities for Agent365 SDK packages. +Version utilities for Microsoft Agent 365 SDK packages. This module is deprecated. Versioning is now handled automatically by setuptools-git-versioning. See versioning/TARGET-VERSION and From fb71c7710dfa3200831ef79f7a0de93c7caff95f Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:23:45 -0800 Subject: [PATCH 07/28] Update SDK name in __init__.py comment --- .../microsoft_agents_a365/observability/core/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py index 9d81d174..07a1a9f8 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/__init__.py @@ -1,6 +1,6 @@ # Copyright (c) Microsoft. All rights reserved. -# Agent365 Python SDK for OpenTelemetry tracing. +# Microsoft Agent 365 Python SDK for OpenTelemetry tracing. from .agent_details import AgentDetails from .config import ( From d79acd9bdce92065f0c236886e11357ef046ef69 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:24:41 -0800 Subject: [PATCH 08/28] Fix comment formatting in tracer_instrumentor.py --- .../observability/extensions/langchain/tracer_instrumentor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py index 4fd843bf..73ebc669 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-langchain/microsoft_agents_a365/observability/extensions/langchain/tracer_instrumentor.py @@ -48,7 +48,7 @@ def _instrument(self, **kwargs: Any) -> None: tracer_name: str | None = kwargs.get("tracer_name") tracer_version: str | None = kwargs.get("tracer_version") - # Prefer the Agent365 tracer; fall back to OpenTelemetry’s default if needed. + # Prefer the Agent 365 tracer; fall back to OpenTelemetry’s default if needed. try: tracer = get_tracer(tracer_name, tracer_version) except Exception: From 0d808c822c602557b695fde3bbcccbb8e64f6899 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:26:42 -0800 Subject: [PATCH 09/28] Update comment for Microsoft Agent 365 SDK --- .../observability/core/middleware/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py index 0af5659c..27367a57 100644 --- a/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py +++ b/libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/middleware/__init__.py @@ -1,6 +1,6 @@ # Copyright (c) Microsoft. All rights reserved. -# Middleware components for Agent365 SDK. +# Middleware components for Microsoft Agent 365 SDK. from .baggage_builder import BaggageBuilder From 6bd9ee46a6490ddd8bb4a8bb3329e186bcf3fb94 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:28:42 -0800 Subject: [PATCH 10/28] Update references from Agent365 to Microsoft Agent 365 --- .../extensions/openai/trace_instrumentor.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py index 6e8fd0cf..5f8199dd 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/trace_instrumentor.py @@ -22,21 +22,21 @@ class OpenAIAgentsTraceInstrumentor(BaseInstrumentor): """ - Custom Trace Processor for OpenAI Agents SDK using Agent365. - Forwards OpenAI Agents SDK traces and spans to Agent365's tracing scopes. + Custom Trace Processor for OpenAI Agents SDK using Microsoft Agent 365. + Forwards OpenAI Agents SDK traces and spans to Microsoft Agent 365's tracing scopes. ``` """ def __init__(self): """Initialize the OpenAIAgentsTraceInstrumentor. - Raises: RuntimeError: If Agent365 is not configured. + Raises: RuntimeError: If Microsoft Agent 365 is not configured. """ # Verify if Agent365 is configured Agent365_status = is_configured() if not Agent365_status: raise RuntimeError( - "Agent365 is not configured yet. Please configure Agent365 before initializing this instrumentor." + "Microsoft Agent 365 is not configured yet. Please configure Microsoft Agent 365 before initializing this instrumentor." ) super().__init__() @@ -44,18 +44,18 @@ def instrumentation_dependencies(self) -> Collection[str]: return _instruments def _instrument(self, **kwargs: Any) -> None: - """Instruments the OpenAI Agents SDK with Agent365 tracing.""" + """Instruments the OpenAI Agents SDK with Microsoft Agent 365 tracing.""" tracer_name = kwargs["tracer_name"] if kwargs.get("tracer_name") else None tracer_version = kwargs["tracer_version"] if kwargs.get("tracer_version") else None - # Get the configured Agent365 Tracer + # Get the configured Microsoft Agent 365 Tracer try: tracer = get_tracer(tracer_name, tracer_version) except Exception: # fallback tracer = optel_trace.get_tracer(tracer_name, tracer_version) - # Get the configured Agent365 Tracer Provider instance + # Get the configured Microsoft Agent 365 Tracer Provider instance try: get_tracer_provider() except Exception: From 14200297b164bdd9aa231ae61a04e035d6199eb4 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:29:36 -0800 Subject: [PATCH 11/28] Update error message for telemetry configuration --- .../extensions/agentframework/trace_instrumentor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-extensions-agentframework/microsoft_agents_a365/observability/extensions/agentframework/trace_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-agentframework/microsoft_agents_a365/observability/extensions/agentframework/trace_instrumentor.py index ad7d82fa..c881590a 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-agentframework/microsoft_agents_a365/observability/extensions/agentframework/trace_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-agentframework/microsoft_agents_a365/observability/extensions/agentframework/trace_instrumentor.py @@ -28,7 +28,7 @@ class AgentFrameworkInstrumentor(BaseInstrumentor): def __init__(self): if not is_configured(): raise RuntimeError( - "Agent365 (or your telemetry config) is not initialized. Configure it before instrumenting." + "Microsoft Agent 365 (or your telemetry config) is not initialized. Configure it before instrumenting." ) super().__init__() From 2bb00cd381176a0f590e49571311ac45b8371a8a Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:30:15 -0800 Subject: [PATCH 12/28] Update error message for telemetry configuration --- .../extensions/semantickernel/trace_instrumentor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py index 1c986696..1d1b75c6 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py +++ b/libraries/microsoft-agents-a365-observability-extensions-semantickernel/microsoft_agents_a365/observability/extensions/semantickernel/trace_instrumentor.py @@ -28,7 +28,7 @@ class SemanticKernelInstrumentor(BaseInstrumentor): def __init__(self): if not is_configured(): raise RuntimeError( - "Agent365 (or your telemetry config) is not initialized. Configure it before instrumenting." + "Microsoft Agent 365 (or your telemetry config) is not initialized. Configure it before instrumenting." ) super().__init__() From 96bb458cedda12f73c1b444fa371445eee72b98c Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:31:03 -0800 Subject: [PATCH 13/28] Update documentation for Agent 365 Telemetry Solution --- .../observability/extensions/openai/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py index 1ac30218..72259f15 100644 --- a/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py +++ b/libraries/microsoft-agents-a365-observability-extensions-openai/microsoft_agents_a365/observability/extensions/openai/__init__.py @@ -1,7 +1,7 @@ # Copyright (c) Microsoft. All rights reserved. """ -Wraps the OpenAI Agents SDK tracer to integrate with our Agent365 Telemetry Solution. +Wraps the OpenAI Agents SDK tracer to integrate with the Microsoft Agent 365 Telemetry Solution. """ from .trace_instrumentor import OpenAIAgentsTraceInstrumentor From c9cc17e71af4f33143952c2d282ac5ed06a6332b Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:32:21 -0800 Subject: [PATCH 14/28] Update test description for Agent365 SDK --- tests/observability/core/test_agent365.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/observability/core/test_agent365.py b/tests/observability/core/test_agent365.py index c2a6c84e..02bbb32a 100644 --- a/tests/observability/core/test_agent365.py +++ b/tests/observability/core/test_agent365.py @@ -6,8 +6,8 @@ def test_basic_functionality(): - """Test basic Agent365 SDK functionality""" - print("Testing Agent365 SDK...") + """Test basic Microsoft Agent 365 SDK functionality""" + print("Testing Microsoft Agent 365 SDK...") # Test configure function try: From de68723c71af1a5c21760a545665fdd4eea641ab Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:33:15 -0800 Subject: [PATCH 15/28] Restore copyright and license headers in conftest.py --- tests/observability/extensions/openai/integration/conftest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/observability/extensions/openai/integration/conftest.py b/tests/observability/extensions/openai/integration/conftest.py index 82faa952..addbafdd 100644 --- a/tests/observability/extensions/openai/integration/conftest.py +++ b/tests/observability/extensions/openai/integration/conftest.py @@ -49,7 +49,7 @@ def azure_openai_config() -> dict[str, Any]: @pytest.fixture(scope="session") def agent365_config() -> dict[str, Any]: - """Agent365 configuration for integration tests.""" + """Microsoft Agent 365 configuration for integration tests.""" tenant_id = os.getenv("AGENT365_TEST_TENANT_ID", "4d44f041-f91e-4d00-b107-61e47b26f5a8") agent_id = os.getenv("AGENT365_TEST_AGENT_ID", "3bccd52b-daaa-4b11-af40-47443852137c") @@ -57,3 +57,4 @@ def agent365_config() -> dict[str, Any]: pytest.skip("Integration tests require AGENT365_TEST_TENANT_ID") return {"tenant_id": tenant_id, "agent_id": agent_id} + From fcfaa156ac6dacc21b6f81ae882766c1777bd6d7 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:34:59 -0800 Subject: [PATCH 16/28] Refactor test_wrapper_langchain.py with updates --- .../extensions/langchain/test_wrapper_langchain.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tests/observability/extensions/langchain/test_wrapper_langchain.py b/tests/observability/extensions/langchain/test_wrapper_langchain.py index b1fff3a7..098b2dce 100644 --- a/tests/observability/extensions/langchain/test_wrapper_langchain.py +++ b/tests/observability/extensions/langchain/test_wrapper_langchain.py @@ -39,15 +39,15 @@ def tearDown(self): pass def test_instrumentor_initialization_and_Agent365_integration(self): - """Test 1: Verify InstrumentorForLangChain initializes and integrates with Agent365.""" + """Test 1: Verify InstrumentorForLangChain initializes and integrates with Microsoft Agent 365.""" from microsoft_agents_a365.observability.core.config import get_tracer, is_configured - # Verify Agent365 is configured - self.assertTrue(is_configured(), "Agent365 should be configured") + # Verify Microsoft Agent 365 is configured + self.assertTrue(is_configured(), "Microsoft Agent 365 should be configured") # Get tracer to ensure it works tracer = get_tracer() - self.assertIsNotNone(tracer, "Agent365 tracer should be available") + self.assertIsNotNone(tracer, "Microsoft Agent 365 tracer should be available") # Create instrumentor self._test_instrumentor = CustomLangChainInstrumentor() @@ -67,7 +67,7 @@ def test_instrumentor_initialization_and_Agent365_integration(self): self._test_instrumentor._tracer, "Tracer should be created after initialization" ) - print("✅ Test 1: InstrumentorForLangChain initialization and Agent365 integration works") + print("✅ Test 1: InstrumentorForLangChain initialization and Microsoft Agent 365 integration works") def test_instrumentor_get_span_functionality(self): """Test 2: Verify get_span method works correctly with mock data.""" @@ -122,7 +122,7 @@ def test_instrumentor_wrapping_mechanism(self): def run_langchain_tests(): """Run all LangChain wrapper tests with detailed output.""" - print("🧪 Running Agent365 LangChain Instrumentor tests...") + print("🧪 Running Microsoft Agent 365 LangChain Instrumentor tests...") print("=" * 80) # Create test suite @@ -154,3 +154,4 @@ def run_langchain_tests(): if __name__ == "__main__": success = run_langchain_tests() exit(0 if success else 1) + From 5a9180b00d46e3c2bd2e194b1a24595eabfc873d Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:36:31 -0800 Subject: [PATCH 17/28] Update comments to reflect Microsoft Agent 365 --- .../extensions/openai/test_wrapper_openaiagents.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/observability/extensions/openai/test_wrapper_openaiagents.py b/tests/observability/extensions/openai/test_wrapper_openaiagents.py index 3349b2d9..a5852c5a 100644 --- a/tests/observability/extensions/openai/test_wrapper_openaiagents.py +++ b/tests/observability/extensions/openai/test_wrapper_openaiagents.py @@ -13,7 +13,7 @@ class TestOpenAIAgentsTraceInstrumentor(unittest.TestCase): @classmethod def setUpClass(cls): """Set up test environment once for all tests.""" - # Configure Agent365 for testing + # Configure Microsoft Agent 365 for testing configure( service_name="test-service-openaiAgents", service_namespace="test-namespace-openaiAgents", @@ -60,20 +60,20 @@ def test_instrumentor_methods_exist(self): class TestAgent365InstrumentorIntegration(unittest.TestCase): - """Integration tests for the instrumentor with the broader Agent365 system.""" + """Integration tests for the instrumentor with the broader Microsoft Agent 365 system.""" def setUp(self): - """Set up each test with a fresh Agent365 configuration.""" + """Set up each test with a fresh Microsoft Agent 365 configuration.""" configure( service_name="integration-test-service", service_namespace="integration-test-namespace", ) def test_instrumentor_with_Agent365_configured(self): - """Test instrumentor behavior when Agent365 is properly configured.""" + """Test instrumentor behavior when Microsoft Agent 365 is properly configured.""" from microsoft_agents_a365.observability.core import get_tracer, is_configured - # Verify Agent365 is configured + # Verify Microsoft Agent 365 is configured self.assertTrue(is_configured()) # Get tracer to ensure it works @@ -84,12 +84,12 @@ def test_instrumentor_with_Agent365_configured(self): instrumentor = OpenAIAgentsTraceInstrumentor() self.assertIsNotNone(instrumentor) - print("✅ Integration test passed: Instrumentor works with configured Agent365") + print("✅ Integration test passed: Instrumentor works with configured Microsoft Agent 365") def run_comprehensive_tests(): """Run all tests with detailed output.""" - print("🧪 Running comprehensive Agent365 OpenAI Agents Instrumentor tests...") + print("🧪 Running comprehensive Microsoft Agent 365 OpenAI Agents Instrumentor tests...") print("=" * 80) # Create test suite From 3862d1293bd92c151cd4d16901765aac1c63df94 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:38:07 -0800 Subject: [PATCH 18/28] Update Agent365 config description for clarity --- .../extensions/agentframework/integration/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/observability/extensions/agentframework/integration/conftest.py b/tests/observability/extensions/agentframework/integration/conftest.py index 96362ac1..7085a997 100644 --- a/tests/observability/extensions/agentframework/integration/conftest.py +++ b/tests/observability/extensions/agentframework/integration/conftest.py @@ -49,7 +49,7 @@ def azure_openai_config() -> dict[str, Any]: @pytest.fixture(scope="session") def agent365_config() -> dict[str, Any]: - """Agent365 configuration for integration tests.""" + """Microsoft Agent 365 configuration for integration tests.""" tenant_id = os.getenv("AGENT365_TEST_TENANT_ID", "4d44f041-f91e-4d00-b107-61e47b26f5a8") agent_id = os.getenv("AGENT365_TEST_AGENT_ID", "3bccd52b-daaa-4b11-af40-47443852137c") From 53c961b320da198d5b2b5265d3a2393c487a74e3 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:39:38 -0800 Subject: [PATCH 19/28] Update documentation for Microsoft Agent 365 SDK --- tests/usage_example.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/usage_example.py b/tests/usage_example.py index 266a1d32..e091e859 100644 --- a/tests/usage_example.py +++ b/tests/usage_example.py @@ -8,7 +8,7 @@ def main(): - """Demonstrate the aligned Agent365 Python SDK functionality.""" + """Demonstrate the aligned Microsoft Agent 365 Python SDK functionality.""" # Enable telemetry (aligned with .NET SDK environment variable) os.environ["ENABLE_OBSERVABILITY"] = "true" @@ -24,7 +24,7 @@ def main(): configure, ) - print("🚀 Agent365 Python SDK - Aligned with .NET SDK") + print("🚀 Microsoft Agent 365 Python SDK - Aligned with .NET SDK") print("=" * 50) # Configure telemetry (existing function still works) From 124144e12e7a86f30d865dc425f1e4ce3b9fa7bd Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:40:20 -0800 Subject: [PATCH 20/28] Refactor test_execute_tool_scope.py for clarity --- tests/observability/core/test_execute_tool_scope.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/observability/core/test_execute_tool_scope.py b/tests/observability/core/test_execute_tool_scope.py index 55be2820..1b2d1757 100644 --- a/tests/observability/core/test_execute_tool_scope.py +++ b/tests/observability/core/test_execute_tool_scope.py @@ -18,7 +18,7 @@ class TestExecuteToolScope(unittest.TestCase): @classmethod def setUpClass(cls): """Set up test environment once for all tests.""" - # Configure Agent365 for testing + # Configure Microsoft Agent 365 for testing configure( service_name="test-execute-tool-service", service_namespace="test-namespace", @@ -50,3 +50,4 @@ def test_record_response_method_exists(self): if __name__ == "__main__": unittest.main(verbosity=2) + From af470c507e2662864bffa5ba848af499291ea118 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:41:16 -0800 Subject: [PATCH 21/28] Update comment to specify Microsoft Agent 365 --- tests/observability/core/test_baggage_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/observability/core/test_baggage_builder.py b/tests/observability/core/test_baggage_builder.py index 290a7281..274232bb 100644 --- a/tests/observability/core/test_baggage_builder.py +++ b/tests/observability/core/test_baggage_builder.py @@ -108,7 +108,7 @@ def test_baggage_propagates_to_child_spans(self): processor = SimpleSpanProcessor(exporter) provider.add_span_processor(processor) - # Also add the Agent365 span processor directly + # Also add the Microsoft Agent 365 span processor directly from microsoft_agents_a365.observability.core.trace_processor.span_processor import ( SpanProcessor as Agent365SpanProcessor, ) From e772f781144085240c1ffb7462b47b09fd44bee2 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:42:18 -0800 Subject: [PATCH 22/28] Update print statement for test alignment message --- tests/observability/core/test_alignment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/observability/core/test_alignment.py b/tests/observability/core/test_alignment.py index 802ac364..5dc45f8a 100644 --- a/tests/observability/core/test_alignment.py +++ b/tests/observability/core/test_alignment.py @@ -170,7 +170,7 @@ def test_span_processor(): def main(): """Run all tests.""" - print("🔍 Testing Agent365 Python SDK alignment with .NET SDK...\n") + print("🔍 Testing Microsoft Agent 365 Python SDK alignment with .NET SDK...\n") try: test_constants_alignment() From cc99cefe0ef75e8f55cf6276576121833d3c9232 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:46:54 -0800 Subject: [PATCH 23/28] Reformat test_invoke_agent_scope.py with consistent style --- tests/observability/core/test_invoke_agent_scope.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/observability/core/test_invoke_agent_scope.py b/tests/observability/core/test_invoke_agent_scope.py index e923a9db..ef928d0f 100644 --- a/tests/observability/core/test_invoke_agent_scope.py +++ b/tests/observability/core/test_invoke_agent_scope.py @@ -19,7 +19,7 @@ class TestInvokeAgentScope(unittest.TestCase): @classmethod def setUpClass(cls): """Set up test environment once for all tests.""" - # Configure Agent365 for testing + # Configure Microsoft Agent 365 for testing configure( service_name="test-invoke-agent-service", service_namespace="test-namespace", @@ -70,3 +70,4 @@ def test_record_output_messages_method_exists(self): if __name__ == "__main__": unittest.main(verbosity=2) + From 3eb9aeaffecee6e070b951c0b2c770eb33fc8a03 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:47:49 -0800 Subject: [PATCH 24/28] Update comment to reflect correct service name --- tests/observability/core/test_inference_scope.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/observability/core/test_inference_scope.py b/tests/observability/core/test_inference_scope.py index 2c9c7b94..6743287f 100644 --- a/tests/observability/core/test_inference_scope.py +++ b/tests/observability/core/test_inference_scope.py @@ -21,7 +21,7 @@ class TestInferenceScope(unittest.TestCase): @classmethod def setUpClass(cls): """Set up test environment once for all tests.""" - # Configure Agent365 for testing + # Configure Microsoft Agent 365 for testing configure( service_name="test-inference-service", service_namespace="test-namespace", From 86b6a0053c9cf1ca8ac5981729f0cf60c3b7a9e0 Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:48:29 -0800 Subject: [PATCH 25/28] Refactor test_wrapper_semantic_kernel.py structure --- .../extensions/semantickernel/test_wrapper_semantic_kernel.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py b/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py index 7d1ed913..01d8e0b7 100644 --- a/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py +++ b/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py @@ -19,7 +19,7 @@ class TestSemanticKernelInstrumentor(unittest.TestCase): @classmethod def setUpClass(cls): """Set up test environment once for all tests.""" - # Configure Agent365 for testing + # Configure Microsoft Agent 365 for testing configure( service_name="test-service-semantic-kernel", service_namespace="test-namespace-semantic-kernel", @@ -101,3 +101,4 @@ def test_span_processor_chat_span_processing(self): if __name__ == "__main__": unittest.main() + From 7f408bad003eea40ce82f77b105496ea2ed2539e Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:49:00 -0800 Subject: [PATCH 26/28] Update copyright notice in integration tests --- .../extensions/agentframework/integration/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/observability/extensions/agentframework/integration/__init__.py b/tests/observability/extensions/agentframework/integration/__init__.py index f50dabf5..37373b78 100644 --- a/tests/observability/extensions/agentframework/integration/__init__.py +++ b/tests/observability/extensions/agentframework/integration/__init__.py @@ -1,4 +1,4 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -"""Integration tests for Agent365 Python SDK.""" +"""Integration tests for Microsoft Agent 365 Python SDK.""" From e0c19927a3f59d86c8571430c805f5a412945afb Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 21:49:25 -0800 Subject: [PATCH 27/28] Update integration test header for Agent 365 SDK --- tests/observability/extensions/openai/integration/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/observability/extensions/openai/integration/__init__.py b/tests/observability/extensions/openai/integration/__init__.py index 672c50f8..93989f17 100644 --- a/tests/observability/extensions/openai/integration/__init__.py +++ b/tests/observability/extensions/openai/integration/__init__.py @@ -1,4 +1,5 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -"""Integration tests for Agent365 Python SDK.""" +"""Integration tests for Microsoft Agent 365 Python SDK.""" + From 1d337ac98380b0768c7265b3f157c89b5433e54e Mon Sep 17 00:00:00 2001 From: Johan Broberg Date: Thu, 13 Nov 2025 22:34:59 -0800 Subject: [PATCH 28/28] Fix formatting --- tests/observability/core/test_execute_tool_scope.py | 1 - tests/observability/core/test_invoke_agent_scope.py | 1 - .../extensions/langchain/test_wrapper_langchain.py | 5 +++-- .../observability/extensions/openai/integration/__init__.py | 1 - .../observability/extensions/openai/integration/conftest.py | 1 - .../semantickernel/test_wrapper_semantic_kernel.py | 1 - versioning/helper/__init__.py | 1 - versioning/helper/setup_utils.py | 1 - 8 files changed, 3 insertions(+), 9 deletions(-) diff --git a/tests/observability/core/test_execute_tool_scope.py b/tests/observability/core/test_execute_tool_scope.py index 1b2d1757..26f9900e 100644 --- a/tests/observability/core/test_execute_tool_scope.py +++ b/tests/observability/core/test_execute_tool_scope.py @@ -50,4 +50,3 @@ def test_record_response_method_exists(self): if __name__ == "__main__": unittest.main(verbosity=2) - diff --git a/tests/observability/core/test_invoke_agent_scope.py b/tests/observability/core/test_invoke_agent_scope.py index ef928d0f..ac43a9d9 100644 --- a/tests/observability/core/test_invoke_agent_scope.py +++ b/tests/observability/core/test_invoke_agent_scope.py @@ -70,4 +70,3 @@ def test_record_output_messages_method_exists(self): if __name__ == "__main__": unittest.main(verbosity=2) - diff --git a/tests/observability/extensions/langchain/test_wrapper_langchain.py b/tests/observability/extensions/langchain/test_wrapper_langchain.py index 098b2dce..a5ff15e5 100644 --- a/tests/observability/extensions/langchain/test_wrapper_langchain.py +++ b/tests/observability/extensions/langchain/test_wrapper_langchain.py @@ -67,7 +67,9 @@ def test_instrumentor_initialization_and_Agent365_integration(self): self._test_instrumentor._tracer, "Tracer should be created after initialization" ) - print("✅ Test 1: InstrumentorForLangChain initialization and Microsoft Agent 365 integration works") + print( + "✅ Test 1: InstrumentorForLangChain initialization and Microsoft Agent 365 integration works" + ) def test_instrumentor_get_span_functionality(self): """Test 2: Verify get_span method works correctly with mock data.""" @@ -154,4 +156,3 @@ def run_langchain_tests(): if __name__ == "__main__": success = run_langchain_tests() exit(0 if success else 1) - diff --git a/tests/observability/extensions/openai/integration/__init__.py b/tests/observability/extensions/openai/integration/__init__.py index 93989f17..30fd8f65 100644 --- a/tests/observability/extensions/openai/integration/__init__.py +++ b/tests/observability/extensions/openai/integration/__init__.py @@ -2,4 +2,3 @@ # Licensed under the MIT License. """Integration tests for Microsoft Agent 365 Python SDK.""" - diff --git a/tests/observability/extensions/openai/integration/conftest.py b/tests/observability/extensions/openai/integration/conftest.py index addbafdd..2d99cf44 100644 --- a/tests/observability/extensions/openai/integration/conftest.py +++ b/tests/observability/extensions/openai/integration/conftest.py @@ -57,4 +57,3 @@ def agent365_config() -> dict[str, Any]: pytest.skip("Integration tests require AGENT365_TEST_TENANT_ID") return {"tenant_id": tenant_id, "agent_id": agent_id} - diff --git a/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py b/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py index 01d8e0b7..99c9a266 100644 --- a/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py +++ b/tests/observability/extensions/semantickernel/test_wrapper_semantic_kernel.py @@ -101,4 +101,3 @@ def test_span_processor_chat_span_processing(self): if __name__ == "__main__": unittest.main() - diff --git a/versioning/helper/__init__.py b/versioning/helper/__init__.py index 1ac0cb88..40ecc2c3 100644 --- a/versioning/helper/__init__.py +++ b/versioning/helper/__init__.py @@ -16,4 +16,3 @@ "get_base_version", "get_next_major_version", ] - diff --git a/versioning/helper/setup_utils.py b/versioning/helper/setup_utils.py index bcac905a..1f08ca8a 100644 --- a/versioning/helper/setup_utils.py +++ b/versioning/helper/setup_utils.py @@ -233,4 +233,3 @@ def get_dynamic_dependencies( updated_dependencies.append(dep) return updated_dependencies -