Conversation
There was a problem hiding this comment.
Pull Request Overview
This pull request enhances the Microsoft Agents A365 observability library by adding new agent type support, caller details tracking, and extended telemetry methods. The changes improve the observability framework's ability to capture metadata about agents, their callers, and execution contexts.
- Introduces
AgentTypeenum andCallerDetailsmodel for better agent classification and caller tracking - Adds new telemetry recording methods to scopes (
record_input_messages,record_output_messages,record_response, etc.) - Updates copyright headers from "Microsoft. All rights reserved." to "Microsoft Corporation. Licensed under the MIT License."
- Adds comprehensive unit tests for the new telemetry methods
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
models/agent_type.py |
Introduces AgentType enum with 5 agent classifications |
models/caller_details.py |
Adds CallerDetails dataclass for tracking caller information |
models/__init__.py |
Initializes models module with copyright header |
agent_details.py |
Expands AgentDetails with new fields (auid, upn, blueprint_id, agent_type, tenant_id) and updates copyright |
constants.py |
Adds new constants for agent type and thought process tracking |
opentelemetry_scope.py |
Sets additional agent detail tags in telemetry spans |
invoke_agent_scope.py |
Adds caller tracking, execution metadata, and message recording methods; updates copyright |
inference_scope.py |
Adds methods for recording messages, tokens, response IDs, finish reasons, and thought processes; updates copyright |
execute_tool_scope.py |
Adds record_response method and refactors variable extraction; updates copyright |
trace_processor/util.py |
Includes GEN_AI_AGENT_TYPE_KEY in baggage attributes list |
test_invoke_agent_scope.py |
Unit tests verifying existence of new recording methods on InvokeAgentScope |
test_inference_scope.py |
Unit tests for new InferenceScope recording methods |
test_execute_tool_scope.py |
Unit test for ExecuteToolScope record_response method |
Comments suppressed due to low confidence (2)
libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/constants.py:21
- The constant name contains the keyword 'Kairo' which should be removed or replaced with appropriate terminology. Consider renaming to
ENABLE_LEGACY_EXPORTERor removing if no longer needed, given that the codebase is transitioning away from 'Kairo' references.
ENABLE_KAIRO_EXPORTER = "ENABLE_KAIRO_EXPORTER"
libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/constants.py:107
- The constant name contains the keyword 'Kairo' which should be removed or replaced. While this is marked as 'Legacy constant for backward compatibility', consider deprecation strategy or renaming to
LEGACY_AGENT_ID_KEY.
KAIRO_AGENT_ID_KEY = AGENT_ID_KEY
...gents-a365-observability-core/microsoft_agents_a365/observability/core/invoke_agent_scope.py
Outdated
Show resolved
Hide resolved
...gents-a365-observability-core/microsoft_agents_a365/observability/core/invoke_agent_scope.py
Outdated
Show resolved
Hide resolved
...t-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_scope.py
Outdated
Show resolved
Hide resolved
...t-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_scope.py
Outdated
Show resolved
Hide resolved
...t-agents-a365-observability-core/microsoft_agents_a365/observability/core/inference_scope.py
Outdated
Show resolved
Hide resolved
|
@nikhilNava I've opened a new pull request, #19, to work on those changes. Once the pull request is ready, I'll request review from you. |
Task
Introduce agent type and other helper attributes and methods on the SDK