diff --git a/CHANGELOG.md b/CHANGELOG.md index ef9c635d..ecbe8748 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,17 @@ All notable changes to the Agent365 TypeScript SDK will be documented in this fi The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.0] - 2025-12-08 + +### Changed +- Merged `EnhancedAgentDetails` into `AgentDetails` to unify agent detail typing across scopes and middleware. + +### Deprecated +- `EnhancedAgentDetails` is now an alias of `AgentDetails` and marked as deprecated. Existing imports continue to work without breaking changes; migrate to `AgentDetails` when convenient. + +### Notes +- This release is non-breaking. A minor version bump reflects additive API changes and deprecation guidance. + ## [1.0.0] - 2025-01-03 ### Added @@ -40,4 +51,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Requirements - Node.js 18.0 or later - TypeScript 5.0 or later (for development) -- OpenTelemetry 1.8.0 or later \ No newline at end of file +- OpenTelemetry 1.8.0 or later diff --git a/packages/agents-a365-observability/src/tracing/contracts.ts b/packages/agents-a365-observability/src/tracing/contracts.ts index a72f0251..794a2e89 100644 --- a/packages/agents-a365-observability/src/tracing/contracts.ts +++ b/packages/agents-a365-observability/src/tracing/contracts.ts @@ -109,6 +109,21 @@ export interface AgentDetails { /** Optional icon identifier or URL for visual representation of the agent */ iconUri?: string; + + /** The agent user ID (AUID) */ + agentAUID?: string; + + /** The agent user principal name (UPN) */ + agentUPN?: string; + + /** The agent blueprint/application ID */ + agentBlueprintId?: string; + + /** The tenant ID for the agent */ + tenantId?: string; + + /** The client IP address for the agent user */ + agentClientIP?: string; } /** @@ -158,24 +173,9 @@ export interface CallerDetails { } /** - * Enhanced agent details with additional properties + * @deprecated Use AgentDetails. EnhancedAgentDetails is now an alias of AgentDetails. */ -export interface EnhancedAgentDetails extends AgentDetails { - /** The agent user ID (AUID) */ - agentAUID?: string; - - /** The agent user principal name (UPN) */ - agentUPN?: string; - - /** The agent blueprint/application ID */ - agentBlueprintId?: string; - - /** The tenant ID for the agent */ - tenantId?: string; - - /** The client IP address for the agent user */ - agentClientIP?: string; -} +export type EnhancedAgentDetails = AgentDetails; /** * Represents an endpoint for agent invocation @@ -195,7 +195,7 @@ export interface ServiceEndpoint { /** * Details for invoking another agent */ -export interface InvokeAgentDetails extends EnhancedAgentDetails { +export interface InvokeAgentDetails extends AgentDetails { /** The request payload for the agent invocation */ request?: AgentRequest; diff --git a/packages/agents-a365-observability/src/tracing/scopes/InvokeAgentScope.ts b/packages/agents-a365-observability/src/tracing/scopes/InvokeAgentScope.ts index f540c9a2..f777c90d 100644 --- a/packages/agents-a365-observability/src/tracing/scopes/InvokeAgentScope.ts +++ b/packages/agents-a365-observability/src/tracing/scopes/InvokeAgentScope.ts @@ -8,7 +8,7 @@ import { InvokeAgentDetails, TenantDetails, CallerDetails, - EnhancedAgentDetails + AgentDetails } from '../contracts'; import { OpenTelemetryConstants } from '../constants'; @@ -27,7 +27,7 @@ export class InvokeAgentScope extends OpenTelemetryScope { public static start( invokeAgentDetails: InvokeAgentDetails, tenantDetails: TenantDetails, - callerAgentDetails?: EnhancedAgentDetails, + callerAgentDetails?: AgentDetails, callerDetails?: CallerDetails, ): InvokeAgentScope { return new InvokeAgentScope(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails); @@ -36,7 +36,7 @@ export class InvokeAgentScope extends OpenTelemetryScope { private constructor( invokeAgentDetails: InvokeAgentDetails, tenantDetails: TenantDetails, - callerAgentDetails?: EnhancedAgentDetails, + callerAgentDetails?: AgentDetails, callerDetails?: CallerDetails, ) { super( diff --git a/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts b/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts index 2089418b..5dea8e34 100644 --- a/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts +++ b/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts @@ -5,7 +5,7 @@ import { trace, SpanKind, Span, SpanStatusCode, Attributes, context } from '@opentelemetry/api'; import { OpenTelemetryConstants } from '../constants'; import { isAgent365TelemetryEnabled } from '../util'; -import { EnhancedAgentDetails, TenantDetails } from '../contracts'; +import { AgentDetails, TenantDetails } from '../contracts'; import logger from '../../utils/logging'; /** @@ -35,7 +35,7 @@ export abstract class OpenTelemetryScope implements Disposable { kind: SpanKind, operationName: string, spanName: string, - agentDetails?: EnhancedAgentDetails, + agentDetails?: AgentDetails, tenantDetails?: TenantDetails ) { const currentContext = context.active(); diff --git a/tests-agent/basic-agent-sdk-sample/src/agent.ts b/tests-agent/basic-agent-sdk-sample/src/agent.ts index b46ac005..3842dae2 100644 --- a/tests-agent/basic-agent-sdk-sample/src/agent.ts +++ b/tests-agent/basic-agent-sdk-sample/src/agent.ts @@ -20,8 +20,6 @@ import { ToolCallDetails, InferenceDetails, InferenceOperationType, - ExecutionType, - EnhancedAgentDetails, ServiceEndpoint, } from '@microsoft/agents-a365-observability'; import { getObservabilityAuthenticationScope } from '@microsoft/agents-a365-runtime';