From 03a81ac5e67c86321784ac9917da83149d5b0c1c Mon Sep 17 00:00:00 2001 From: jsl517 Date: Thu, 8 Jan 2026 16:43:39 -0800 Subject: [PATCH 1/3] add missing agenttype attribute --- .../src/utils/ScopeUtils.ts | 2 ++ .../src/utils/TurnContextUtils.ts | 4 ++-- .../src/tracing/constants.ts | 1 + .../src/tracing/contracts.ts | 3 +++ .../src/tracing/middleware/BaggageBuilder.ts | 10 ++++++++++ .../src/tracing/processors/util.ts | 1 + .../src/tracing/scopes/OpenTelemetryScope.ts | 1 + tests/observability/core/BaggageBuilder.test.ts | 12 ++++++++++++ .../extension/hosting/BaggageBuilderUtils.test.ts | 1 + .../extension/hosting/TurnContextUtils.test.ts | 1 + .../extension/hosting/scope-utils.test.ts | 2 ++ 11 files changed, 36 insertions(+), 2 deletions(-) diff --git a/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts b/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts index 95b955a7..16c2eeb7 100644 --- a/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts +++ b/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts @@ -59,6 +59,7 @@ export class ScopeUtils { agentId: recipient.agenticAppId, agentName: recipient.name, agentAUID: recipient.aadObjectId, + agentType: recipient.role, agentDescription: recipient.role, tenantId: recipient.tenantId } as AgentDetails; @@ -77,6 +78,7 @@ export class ScopeUtils { agentBlueprintId: from.agenticAppBlueprintId, agentName: from.name, agentAUID: from.aadObjectId, + agentType: from.role, agentDescription: from.role, tenantId: from.tenantId, agentId: from.agenticAppId diff --git a/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts b/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts index dd548c79..b8daa37e 100644 --- a/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts +++ b/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts @@ -77,12 +77,12 @@ export function getTargetAgentBaggagePairs(turnContext: TurnContext): Array<[str const agentId = recipient.agenticAppId; const agentName = recipient.name; const aadObjectId = recipient.aadObjectId; - const agentDescription = recipient.role; + const agentType = recipient.role; const pairs: Array<[string, string | undefined]> = [ [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, agentId], [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentName], + [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, agentType], [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, aadObjectId], - [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDescription] ]; return normalizePairs(pairs); } diff --git a/packages/agents-a365-observability/src/tracing/constants.ts b/packages/agents-a365-observability/src/tracing/constants.ts index bc7426a2..0b3eb67d 100644 --- a/packages/agents-a365-observability/src/tracing/constants.ts +++ b/packages/agents-a365-observability/src/tracing/constants.ts @@ -41,6 +41,7 @@ export class OpenTelemetryConstants { public static readonly GEN_AI_AGENT_ID_KEY = 'gen_ai.agent.id'; public static readonly GEN_AI_AGENT_NAME_KEY = 'gen_ai.agent.name'; + public static readonly GEN_AI_AGENT_TYPE_KEY = 'gen_ai.agent.type'; public static readonly GEN_AI_AGENT_DESCRIPTION_KEY = 'gen_ai.agent.description'; public static readonly GEN_AI_AGENT_PLATFORM_ID_KEY = 'gen_ai.agent.platformid'; public static readonly GEN_AI_CONVERSATION_ID_KEY = 'gen_ai.conversation.id'; diff --git a/packages/agents-a365-observability/src/tracing/contracts.ts b/packages/agents-a365-observability/src/tracing/contracts.ts index 320b0f7a..d67521ed 100644 --- a/packages/agents-a365-observability/src/tracing/contracts.ts +++ b/packages/agents-a365-observability/src/tracing/contracts.ts @@ -104,6 +104,9 @@ export interface AgentDetails { /** The human-readable name of the AI agent */ agentName?: string; + /** Optional type of the AI agent */ + agentType?: string; + /** A description of the AI agent's purpose or capabilities */ agentDescription?: string; diff --git a/packages/agents-a365-observability/src/tracing/middleware/BaggageBuilder.ts b/packages/agents-a365-observability/src/tracing/middleware/BaggageBuilder.ts index 1d49936c..7a6f49f4 100644 --- a/packages/agents-a365-observability/src/tracing/middleware/BaggageBuilder.ts +++ b/packages/agents-a365-observability/src/tracing/middleware/BaggageBuilder.ts @@ -139,6 +139,16 @@ export class BaggageBuilder { return this; } + /** + * Set the agent type baggage value. + * @param value The agent type + * @returns Self for method chaining + */ + agentType(value: string | null | undefined): BaggageBuilder { + this.set(OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, value); + return this; + } + /** * Set the agent description baggage value. * @param value The agent description diff --git a/packages/agents-a365-observability/src/tracing/processors/util.ts b/packages/agents-a365-observability/src/tracing/processors/util.ts index ed0e729f..0ef02f5d 100644 --- a/packages/agents-a365-observability/src/tracing/processors/util.ts +++ b/packages/agents-a365-observability/src/tracing/processors/util.ts @@ -18,6 +18,7 @@ export const GENERIC_ATTRIBUTES: readonly string[] = [ consts.GEN_AI_OPERATION_NAME_KEY, consts.GEN_AI_AGENT_ID_KEY, consts.GEN_AI_AGENT_NAME_KEY, + consts.GEN_AI_AGENT_TYPE_KEY, consts.GEN_AI_AGENT_DESCRIPTION_KEY, consts.SESSION_DESCRIPTION_KEY, consts.GEN_AI_AGENT_USER_ID_KEY, diff --git a/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts b/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts index 7370fa1f..407f501e 100644 --- a/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts +++ b/packages/agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts @@ -54,6 +54,7 @@ export abstract class OpenTelemetryScope implements Disposable { if (agentDetails) { this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, agentDetails.agentId); this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentDetails.agentName); + this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, agentDetails.agentType); this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDetails.agentDescription); this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY, agentDetails.platformId); this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, agentDetails.conversationId); diff --git a/tests/observability/core/BaggageBuilder.test.ts b/tests/observability/core/BaggageBuilder.test.ts index ac955472..b4522772 100644 --- a/tests/observability/core/BaggageBuilder.test.ts +++ b/tests/observability/core/BaggageBuilder.test.ts @@ -39,6 +39,7 @@ describe('BaggageBuilder', () => { .agentId('agent-456') .correlationId('corr-789') .agentName('TestAgent') + .agentType('assistant') .agentPlatformId('platform-xyz-123') .conversationId('conv-001'); @@ -57,6 +58,17 @@ describe('BaggageBuilder', () => { expect(bag?.getEntry(OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY)?.value).toBe('platform-abc-456'); }); + it('should set agent type', () => { + const builder = new BaggageBuilder(); + builder.agentType('assistant'); + + const scope = builder.build(); + expect(scope).toBeInstanceOf(BaggageScope); + + const bag = propagation.getBaggage((scope as any).contextWithBaggage); + expect(bag?.getEntry(OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY)?.value).toBe('assistant'); + }); + it('should set caller agent platform ID via fluent API', () => { const builder = new BaggageBuilder(); builder.callerAgentPlatformId('caller-platform-xyz'); diff --git a/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts b/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts index 11a048d2..74adbd2a 100644 --- a/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts +++ b/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts @@ -47,6 +47,7 @@ describe('BaggageBuilderUtils', () => { expect(asObj[OpenTelemetryConstants.GEN_AI_CALLER_TENANT_ID_KEY]).toBe('tenant1'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY]).toBe('agent-app-1'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY]).toBe('Agent One'); + expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY]).toBe('agent'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY]).toBe('aad-object-2'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY]).toBe('blueprint-123'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_UPN_KEY]).toBe(undefined); diff --git a/tests/observability/extension/hosting/TurnContextUtils.test.ts b/tests/observability/extension/hosting/TurnContextUtils.test.ts index f9dfcc9f..5ea386df 100644 --- a/tests/observability/extension/hosting/TurnContextUtils.test.ts +++ b/tests/observability/extension/hosting/TurnContextUtils.test.ts @@ -45,6 +45,7 @@ describe('TurnContextUtils', () => { const obj = Object.fromEntries(pairs); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY]).toBe('agent-app-1'); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY]).toBe('Agent One'); + expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY]).toBe('agenticUser'); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY]).toBe('aad-object-1'); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY]).toBe(undefined); }); diff --git a/tests/observability/extension/hosting/scope-utils.test.ts b/tests/observability/extension/hosting/scope-utils.test.ts index 049962cb..6bc20d15 100644 --- a/tests/observability/extension/hosting/scope-utils.test.ts +++ b/tests/observability/extension/hosting/scope-utils.test.ts @@ -186,6 +186,7 @@ test('deriveAgentDetails maps recipient fields to AgentDetails', () => { expect(ScopeUtils.deriveAgentDetails(ctx)).toEqual({ agentId: 'aid', agentName: 'A', + agentType: 'bot', agentAUID: 'auid', agentDescription: 'bot', tenantId: 't1', @@ -203,6 +204,7 @@ test('deriveCallerAgent maps from fields to caller AgentDetails', () => { agentBlueprintId: 'bp', agentName: 'Caller', agentAUID: 'uid', + agentType: 'agent', agentDescription: 'agent', tenantId: 't2', agentId: 'agent-caller', From 1a2984893f65d6d5cc5e0d264f0a92ce67baa654 Mon Sep 17 00:00:00 2001 From: jsl517 Date: Thu, 8 Jan 2026 18:01:46 -0800 Subject: [PATCH 2/3] comment --- .../src/utils/ScopeUtils.ts | 2 -- tests/observability/extension/hosting/scope-utils.test.ts | 8 +++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts b/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts index 16c2eeb7..5393b2d3 100644 --- a/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts +++ b/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts @@ -60,7 +60,6 @@ export class ScopeUtils { agentName: recipient.name, agentAUID: recipient.aadObjectId, agentType: recipient.role, - agentDescription: recipient.role, tenantId: recipient.tenantId } as AgentDetails; } @@ -79,7 +78,6 @@ export class ScopeUtils { agentName: from.name, agentAUID: from.aadObjectId, agentType: from.role, - agentDescription: from.role, tenantId: from.tenantId, agentId: from.agenticAppId } as AgentDetails; diff --git a/tests/observability/extension/hosting/scope-utils.test.ts b/tests/observability/extension/hosting/scope-utils.test.ts index 6bc20d15..db7be84c 100644 --- a/tests/observability/extension/hosting/scope-utils.test.ts +++ b/tests/observability/extension/hosting/scope-utils.test.ts @@ -67,7 +67,7 @@ describe('ScopeUtils.populateFromTurnContext', () => { [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, 'agent-oid'], [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, 'agent-1'], - [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, 'assistant'], + [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, 'assistant'], [OpenTelemetryConstants.TENANT_ID_KEY, 'tenant-123'], [OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, 'input text'] ]) @@ -138,7 +138,7 @@ describe('ScopeUtils.populateFromTurnContext', () => { [OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, 'invoke message'], [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, 'agent-1'], [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], - [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, 'assistant'] + [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, 'assistant'] ]) ); scope?.dispose(); @@ -158,7 +158,7 @@ describe('ScopeUtils.populateFromTurnContext', () => { [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, 'agent-oid'], [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, 'agent-1'], - [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, 'assistant'], + [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, 'assistant'], [OpenTelemetryConstants.TENANT_ID_KEY, 'tenant-123'] ]) ); @@ -188,7 +188,6 @@ test('deriveAgentDetails maps recipient fields to AgentDetails', () => { agentName: 'A', agentType: 'bot', agentAUID: 'auid', - agentDescription: 'bot', tenantId: 't1', }); }); @@ -205,7 +204,6 @@ test('deriveCallerAgent maps from fields to caller AgentDetails', () => { agentName: 'Caller', agentAUID: 'uid', agentType: 'agent', - agentDescription: 'agent', tenantId: 't2', agentId: 'agent-caller', }); From c540a62535c60cebef208b07f2c61ff4960cac40 Mon Sep 17 00:00:00 2001 From: jsl517 Date: Mon, 12 Jan 2026 12:31:11 -0800 Subject: [PATCH 3/3] comment --- .../src/utils/ScopeUtils.ts | 4 ++-- .../src/utils/TurnContextUtils.ts | 4 ++-- .../hosting/BaggageBuilderUtils.test.ts | 2 +- .../hosting/TurnContextUtils.test.ts | 1 - .../extension/hosting/scope-utils.test.ts | 22 +++++++++---------- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts b/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts index 5393b2d3..95b955a7 100644 --- a/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts +++ b/packages/agents-a365-observability-hosting/src/utils/ScopeUtils.ts @@ -59,7 +59,7 @@ export class ScopeUtils { agentId: recipient.agenticAppId, agentName: recipient.name, agentAUID: recipient.aadObjectId, - agentType: recipient.role, + agentDescription: recipient.role, tenantId: recipient.tenantId } as AgentDetails; } @@ -77,7 +77,7 @@ export class ScopeUtils { agentBlueprintId: from.agenticAppBlueprintId, agentName: from.name, agentAUID: from.aadObjectId, - agentType: from.role, + agentDescription: from.role, tenantId: from.tenantId, agentId: from.agenticAppId } as AgentDetails; diff --git a/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts b/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts index b8daa37e..981d4ead 100644 --- a/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts +++ b/packages/agents-a365-observability-hosting/src/utils/TurnContextUtils.ts @@ -77,11 +77,11 @@ export function getTargetAgentBaggagePairs(turnContext: TurnContext): Array<[str const agentId = recipient.agenticAppId; const agentName = recipient.name; const aadObjectId = recipient.aadObjectId; - const agentType = recipient.role; + const agentDescription = recipient.role; const pairs: Array<[string, string | undefined]> = [ [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, agentId], [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentName], - [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, agentType], + [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDescription], [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, aadObjectId], ]; return normalizePairs(pairs); diff --git a/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts b/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts index 74adbd2a..f6d65821 100644 --- a/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts +++ b/tests/observability/extension/hosting/BaggageBuilderUtils.test.ts @@ -47,8 +47,8 @@ describe('BaggageBuilderUtils', () => { expect(asObj[OpenTelemetryConstants.GEN_AI_CALLER_TENANT_ID_KEY]).toBe('tenant1'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY]).toBe('agent-app-1'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY]).toBe('Agent One'); - expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY]).toBe('agent'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY]).toBe('aad-object-2'); + expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY]).toBe('agent'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY]).toBe('blueprint-123'); expect(asObj[OpenTelemetryConstants.GEN_AI_AGENT_UPN_KEY]).toBe(undefined); expect(asObj[OpenTelemetryConstants.TENANT_ID_KEY]).toBe('tenant1'); diff --git a/tests/observability/extension/hosting/TurnContextUtils.test.ts b/tests/observability/extension/hosting/TurnContextUtils.test.ts index 5ea386df..f9dfcc9f 100644 --- a/tests/observability/extension/hosting/TurnContextUtils.test.ts +++ b/tests/observability/extension/hosting/TurnContextUtils.test.ts @@ -45,7 +45,6 @@ describe('TurnContextUtils', () => { const obj = Object.fromEntries(pairs); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY]).toBe('agent-app-1'); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY]).toBe('Agent One'); - expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY]).toBe('agenticUser'); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY]).toBe('aad-object-1'); expect(obj[OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY]).toBe(undefined); }); diff --git a/tests/observability/extension/hosting/scope-utils.test.ts b/tests/observability/extension/hosting/scope-utils.test.ts index db7be84c..876d282f 100644 --- a/tests/observability/extension/hosting/scope-utils.test.ts +++ b/tests/observability/extension/hosting/scope-utils.test.ts @@ -45,7 +45,7 @@ function makeTurnContext( describe('ScopeUtils.populateFromTurnContext', () => { let spy: jest.SpyInstance; - beforeEach(() => { + beforeEach(() => { spy = jest.spyOn(OpenTelemetryScope.prototype as any, 'setTagMaybe'); }); @@ -53,7 +53,7 @@ describe('ScopeUtils.populateFromTurnContext', () => { spy.mockRestore(); }); - test('build InferenceScope based on turn context', () => { + test('build InferenceScope based on turn context', () => { const details = { operationName: 'inference', model: 'gpt-4o', providerName: 'openai' } as any; const ctx = makeTurnContext('input text', 'web', 'https://web', 'conv-A'); const scope = ScopeUtils.populateInferenceScopeFromTurnContext(details, ctx) as InferenceScope; @@ -64,10 +64,10 @@ describe('ScopeUtils.populateFromTurnContext', () => { [OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, 'conv-A'], [OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_NAME_KEY, 'web'], [OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_DESCRIPTION_KEY, 'https://web'], - [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], - [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, 'agent-oid'], + [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], + [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, 'agent-oid'], [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, 'agent-1'], - [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, 'assistant'], + [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, 'assistant'], [OpenTelemetryConstants.TENANT_ID_KEY, 'tenant-123'], [OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, 'input text'] ]) @@ -113,7 +113,7 @@ describe('ScopeUtils.populateFromTurnContext', () => { }); }); - test('build InvokeAgentScope based on turn context', () => { + test('build InvokeAgentScope based on turn context', () => { const details = { operationName: 'invoke', model: 'n/a', providerName: 'internal' } as any; const ctx = makeTurnContext('invoke message', 'teams', 'https://teams', 'conv-B'); ctx.activity.from!.role = RoleTypes.AgenticUser; @@ -138,7 +138,7 @@ describe('ScopeUtils.populateFromTurnContext', () => { [OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, 'invoke message'], [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, 'agent-1'], [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], - [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, 'assistant'] + [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, 'assistant'] ]) ); scope?.dispose(); @@ -158,11 +158,11 @@ describe('ScopeUtils.populateFromTurnContext', () => { [OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, 'agent-oid'], [OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, 'Agent One'], [OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, 'agent-1'], - [OpenTelemetryConstants.GEN_AI_AGENT_TYPE_KEY, 'assistant'], + [OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, 'assistant'], [OpenTelemetryConstants.TENANT_ID_KEY, 'tenant-123'] ]) ); - scope?.dispose(); + scope?.dispose(); }); }); @@ -186,8 +186,8 @@ test('deriveAgentDetails maps recipient fields to AgentDetails', () => { expect(ScopeUtils.deriveAgentDetails(ctx)).toEqual({ agentId: 'aid', agentName: 'A', - agentType: 'bot', agentAUID: 'auid', + agentDescription: 'bot', tenantId: 't1', }); }); @@ -203,7 +203,7 @@ test('deriveCallerAgent maps from fields to caller AgentDetails', () => { agentBlueprintId: 'bp', agentName: 'Caller', agentAUID: 'uid', - agentType: 'agent', + agentDescription: 'agent', tenantId: 't2', agentId: 'agent-caller', });