@microsoft/agents-a365-observability-hosting 0.1.0-preview.115 → 0.1.0-preview.116

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 (33) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +2 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts +12 -0
  6. package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts.map +1 -1
  7. package/dist/cjs/middleware/OutputLoggingMiddleware.js +26 -2
  8. package/dist/cjs/middleware/OutputLoggingMiddleware.js.map +1 -1
  9. package/dist/cjs/utils/ScopeUtils.d.ts +13 -5
  10. package/dist/cjs/utils/ScopeUtils.d.ts.map +1 -1
  11. package/dist/cjs/utils/ScopeUtils.js +26 -14
  12. package/dist/cjs/utils/ScopeUtils.js.map +1 -1
  13. package/dist/cjs/utils/TurnContextUtils.d.ts +16 -2
  14. package/dist/cjs/utils/TurnContextUtils.d.ts.map +1 -1
  15. package/dist/cjs/utils/TurnContextUtils.js +25 -19
  16. package/dist/cjs/utils/TurnContextUtils.js.map +1 -1
  17. package/dist/esm/index.d.ts +1 -1
  18. package/dist/esm/index.d.ts.map +1 -1
  19. package/dist/esm/index.js +1 -1
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/middleware/OutputLoggingMiddleware.d.ts +12 -0
  22. package/dist/esm/middleware/OutputLoggingMiddleware.d.ts.map +1 -1
  23. package/dist/esm/middleware/OutputLoggingMiddleware.js +26 -2
  24. package/dist/esm/middleware/OutputLoggingMiddleware.js.map +1 -1
  25. package/dist/esm/utils/ScopeUtils.d.ts +13 -5
  26. package/dist/esm/utils/ScopeUtils.d.ts.map +1 -1
  27. package/dist/esm/utils/ScopeUtils.js +26 -14
  28. package/dist/esm/utils/ScopeUtils.js.map +1 -1
  29. package/dist/esm/utils/TurnContextUtils.d.ts +16 -2
  30. package/dist/esm/utils/TurnContextUtils.d.ts.map +1 -1
  31. package/dist/esm/utils/TurnContextUtils.js +24 -19
  32. package/dist/esm/utils/TurnContextUtils.js.map +1 -1
  33. package/package.json +4 -4
@@ -3,7 +3,7 @@ export * from './utils/ScopeUtils';
3
3
  export * from './utils/TurnContextUtils';
4
4
  export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
5
5
  export { BaggageMiddleware } from './middleware/BaggageMiddleware';
6
- export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY } from './middleware/OutputLoggingMiddleware';
6
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY } from './middleware/OutputLoggingMiddleware';
7
7
  export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
8
8
  export type { ObservabilityHostingOptions } from './middleware/ObservabilityHostingManager';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1H,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.ObservabilityHostingManager = exports.A365_PARENT_SPAN_KEY = exports.OutputLoggingMiddleware = exports.BaggageMiddleware = exports.AgenticTokenCacheInstance = exports.AgenticTokenCache = void 0;
21
+ exports.ObservabilityHostingManager = exports.A365_AUTH_TOKEN_KEY = exports.A365_PARENT_SPAN_KEY = exports.OutputLoggingMiddleware = exports.BaggageMiddleware = exports.AgenticTokenCacheInstance = exports.AgenticTokenCache = void 0;
22
22
  __exportStar(require("./utils/BaggageBuilderUtils"), exports);
23
23
  __exportStar(require("./utils/ScopeUtils"), exports);
24
24
  __exportStar(require("./utils/TurnContextUtils"), exports);
@@ -30,6 +30,7 @@ Object.defineProperty(exports, "BaggageMiddleware", { enumerable: true, get: fun
30
30
  var OutputLoggingMiddleware_1 = require("./middleware/OutputLoggingMiddleware");
31
31
  Object.defineProperty(exports, "OutputLoggingMiddleware", { enumerable: true, get: function () { return OutputLoggingMiddleware_1.OutputLoggingMiddleware; } });
32
32
  Object.defineProperty(exports, "A365_PARENT_SPAN_KEY", { enumerable: true, get: function () { return OutputLoggingMiddleware_1.A365_PARENT_SPAN_KEY; } });
33
+ Object.defineProperty(exports, "A365_AUTH_TOKEN_KEY", { enumerable: true, get: function () { return OutputLoggingMiddleware_1.A365_AUTH_TOKEN_KEY; } });
33
34
  var ObservabilityHostingManager_1 = require("./middleware/ObservabilityHostingManager");
34
35
  Object.defineProperty(exports, "ObservabilityHostingManager", { enumerable: true, get: function () { return ObservabilityHostingManager_1.ObservabilityHostingManager; } });
35
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,8DAA4C;AAC5C,qDAAmC;AACnC,2DAAyC;AACzC,iEAA2F;AAAlF,sHAAA,iBAAiB,OAAA;AAAE,8HAAA,yBAAyB,OAAA;AACrD,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,gFAAqG;AAA5F,kIAAA,uBAAuB,OAAA;AAAE,+HAAA,oBAAoB,OAAA;AACtD,wFAAuF;AAA9E,0IAAA,2BAA2B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;;;;;;;;;;;;;;;;;AAEjF,8DAA4C;AAC5C,qDAAmC;AACnC,2DAAyC;AACzC,iEAA2F;AAAlF,sHAAA,iBAAiB,OAAA;AAAE,8HAAA,yBAAyB,OAAA;AACrD,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,gFAA0H;AAAjH,kIAAA,uBAAuB,OAAA;AAAE,+HAAA,oBAAoB,OAAA;AAAE,8HAAA,mBAAmB,OAAA;AAC3E,wFAAuF;AAA9E,0IAAA,2BAA2B,OAAA"}
@@ -4,6 +4,12 @@ import { TurnContext, Middleware } from '@microsoft/agents-hosting';
4
4
  * Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
5
5
  */
6
6
  export declare const A365_PARENT_SPAN_KEY = "A365ParentSpanId";
7
+ /**
8
+ * TurnState key for the auth token.
9
+ * Set this in `turnState` so middleware can resolve the agent blueprint ID
10
+ * from token claims (used for embodied/agentic requests).
11
+ */
12
+ export declare const A365_AUTH_TOKEN_KEY = "A365AuthToken";
7
13
  /**
8
14
  * Middleware that creates {@link OutputScope} spans for outgoing messages.
9
15
  * Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
@@ -13,6 +19,12 @@ export declare const A365_PARENT_SPAN_KEY = "A365ParentSpanId";
13
19
  */
14
20
  export declare class OutputLoggingMiddleware implements Middleware {
15
21
  onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>;
22
+ /**
23
+ * Resolve the auth token for agent identity resolution.
24
+ * When per-request export is enabled, reads from turnState.
25
+ * Otherwise, reads from the cached observability token.
26
+ */
27
+ private resolveAuthToken;
16
28
  /**
17
29
  * Creates a send handler that wraps outgoing messages in OutputScope spans.
18
30
  * Reads parent span ref lazily so the agent handler can set it during `next()`.
@@ -1 +1 @@
1
- {"version":3,"file":"OutputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAW3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,UAAU;IAElD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA8C3B"}
1
+ {"version":3,"file":"OutputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAa3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,UAAU;IAElD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5E;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA8C3B"}
@@ -2,14 +2,21 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.OutputLoggingMiddleware = exports.A365_PARENT_SPAN_KEY = void 0;
5
+ exports.OutputLoggingMiddleware = exports.A365_AUTH_TOKEN_KEY = exports.A365_PARENT_SPAN_KEY = void 0;
6
6
  const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
7
7
  const ScopeUtils_1 = require("../utils/ScopeUtils");
8
+ const AgenticTokenCache_1 = require("../caching/AgenticTokenCache");
8
9
  /**
9
10
  * TurnState key for the parent span reference.
10
11
  * Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
11
12
  */
12
13
  exports.A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
14
+ /**
15
+ * TurnState key for the auth token.
16
+ * Set this in `turnState` so middleware can resolve the agent blueprint ID
17
+ * from token claims (used for embodied/agentic requests).
18
+ */
19
+ exports.A365_AUTH_TOKEN_KEY = 'A365AuthToken';
13
20
  /**
14
21
  * Middleware that creates {@link OutputScope} spans for outgoing messages.
15
22
  * Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
@@ -19,7 +26,8 @@ exports.A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
19
26
  */
20
27
  class OutputLoggingMiddleware {
21
28
  async onTurn(context, next) {
22
- const agentDetails = ScopeUtils_1.ScopeUtils.deriveAgentDetails(context);
29
+ const authToken = this.resolveAuthToken(context);
30
+ const agentDetails = ScopeUtils_1.ScopeUtils.deriveAgentDetails(context, authToken);
23
31
  const tenantDetails = ScopeUtils_1.ScopeUtils.deriveTenantDetails(context);
24
32
  if (!agentDetails || !tenantDetails) {
25
33
  await next();
@@ -31,6 +39,22 @@ class OutputLoggingMiddleware {
31
39
  context.onSendActivities(this._createSendHandler(context, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata));
32
40
  await next();
33
41
  }
42
+ /**
43
+ * Resolve the auth token for agent identity resolution.
44
+ * When per-request export is enabled, reads from turnState.
45
+ * Otherwise, reads from the cached observability token.
46
+ */
47
+ resolveAuthToken(context) {
48
+ if ((0, agents_a365_observability_1.isPerRequestExportEnabled)()) {
49
+ return context.turnState.get(exports.A365_AUTH_TOKEN_KEY) ?? '';
50
+ }
51
+ const agentId = context.activity?.getAgenticInstanceId?.() ?? '';
52
+ const tenantId = context.activity?.getAgenticTenantId?.() ?? '';
53
+ if (agentId && tenantId) {
54
+ return AgenticTokenCache_1.AgenticTokenCacheInstance.getObservabilityToken(agentId, tenantId) ?? '';
55
+ }
56
+ return '';
57
+ }
34
58
  /**
35
59
  * Creates a send handler that wraps outgoing messages in OutputScope spans.
36
60
  * Reads parent span ref lazily so the agent handler can set it during `next()`.
@@ -1 +1 @@
1
- {"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,oFAO8C;AAC9C,oDAAiD;AAEjD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAa,uBAAuB;IAElC,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAAG,uBAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,uBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,uBAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,uBAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,uBAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAC7G,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,WAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,aAA6B,EAC7B,cAAuB,EACvB,cAAwD;QAExD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,UAAU;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;YAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,aAAa,GAA8B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,4BAAoB,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,kCAAM,CAAC,IAAI,CACT,oEAAoE,4BAAoB,gDAAgD,CACzI,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,uCAAW,CAAC,KAAK,CACnC,EAAE,QAAQ,EAAE,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,WAAW,CACrB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtG,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAxED,0DAwEC"}
1
+ {"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,13 @@ export declare class ScopeUtils {
15
15
  static deriveTenantDetails(turnContext: TurnContext): TenantDetails | undefined;
16
16
  /**
17
17
  * Derive target agent details from the activity recipient.
18
+ * Uses {@link resolveEmbodiedAgentIds} to resolve the agent ID and blueprint ID, which are only
19
+ * set for embodied (agentic) agents — see that function for the rationale.
18
20
  * @param turnContext Activity context
21
+ * @param authToken Auth token for resolving agent identity from token claims.
19
22
  * @returns Agent details built from recipient properties; otherwise undefined.
20
23
  */
21
- static deriveAgentDetails(turnContext: TurnContext): AgentDetails | undefined;
24
+ static deriveAgentDetails(turnContext: TurnContext, authToken: string): AgentDetails | undefined;
22
25
  /**
23
26
  * Derive caller agent details from the activity from.
24
27
  * @param turnContext Activity context
@@ -52,11 +55,12 @@ export declare class ScopeUtils {
52
55
  * Also records input messages from the context if present.
53
56
  * @param details The inference call details (model, provider, tokens, etc.).
54
57
  * @param turnContext The current activity context to derive scope parameters from.
58
+ * @param authToken Auth token for resolving agent identity from token claims.
55
59
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
56
60
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
57
61
  * @returns A started `InferenceScope` enriched with context-derived parameters.
58
62
  */
59
- static populateInferenceScopeFromTurnContext(details: InferenceDetails, turnContext: TurnContext, startTime?: TimeInput, endTime?: TimeInput): InferenceScope;
63
+ static populateInferenceScopeFromTurnContext(details: InferenceDetails, turnContext: TurnContext, authToken: string, startTime?: TimeInput, endTime?: TimeInput): InferenceScope;
60
64
  /**
61
65
  * Create an `InvokeAgentScope` using `details` and values derived from the provided `TurnContext`.
62
66
  * Populates `conversationId` and `request.sourceMetadata` (channel name/link) in `details` from the `TurnContext`, overriding any existing values.
@@ -64,28 +68,32 @@ export declare class ScopeUtils {
64
68
  * Also sets execution type and input messages from the context if present.
65
69
  * @param details The invoke-agent call details to be augmented and used for the scope.
66
70
  * @param turnContext The current activity context to derive scope parameters from.
71
+ * @param authToken Auth token for resolving agent identity from token claims.
67
72
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
68
73
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
69
74
  * @returns A started `InvokeAgentScope` enriched with context-derived parameters.
70
75
  */
71
- static populateInvokeAgentScopeFromTurnContext(details: InvokeAgentDetails, turnContext: TurnContext, startTime?: TimeInput, endTime?: TimeInput): InvokeAgentScope;
76
+ static populateInvokeAgentScopeFromTurnContext(details: InvokeAgentDetails, turnContext: TurnContext, authToken: string, startTime?: TimeInput, endTime?: TimeInput): InvokeAgentScope;
72
77
  /**
73
78
  * Build InvokeAgentDetails by merging provided details with agent info, conversation id and source metadata from the TurnContext.
74
79
  * @param details Base invoke-agent details to augment
75
80
  * @param turnContext Activity context
81
+ * @param authToken Auth token for resolving agent identity from token claims.
76
82
  * @returns New InvokeAgentDetails suitable for starting an InvokeAgentScope.
77
83
  */
78
- static buildInvokeAgentDetails(details: InvokeAgentDetails, turnContext: TurnContext): InvokeAgentDetails;
84
+ static buildInvokeAgentDetails(details: InvokeAgentDetails, turnContext: TurnContext, authToken: string): InvokeAgentDetails;
85
+ private static buildInvokeAgentDetailsCore;
79
86
  /**
80
87
  * Create an `ExecuteToolScope` using `details` and values derived from the provided `TurnContext`.
81
88
  * Derives `agentDetails`, `tenantDetails`, `conversationId`, and `sourceMetadata` (channel name/link) from context.
82
89
  * @param details The tool call details (name, type, args, call id, etc.).
83
90
  * @param turnContext The current activity context to derive scope parameters from.
91
+ * @param authToken Auth token for resolving agent identity from token claims.
84
92
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime). Useful when recording a
85
93
  * tool call after execution has already completed.
86
94
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
87
95
  * @returns A started `ExecuteToolScope` enriched with context-derived parameters.
88
96
  */
89
- static populateExecuteToolScopeFromTurnContext(details: ToolCallDetails, turnContext: TurnContext, startTime?: TimeInput, endTime?: TimeInput): ExecuteToolScope;
97
+ static populateExecuteToolScopeFromTurnContext(details: ToolCallDetails, turnContext: TurnContext, authToken: string, startTime?: TimeInput, endTime?: TimeInput): ExecuteToolScope;
90
98
  }
91
99
  //# sourceMappingURL=ScopeUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,qBAAa,UAAU;IAGrB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAKtF;;;;OAIG;WACW,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAepF;;;;OAIG;WACW,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAenF;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAWtF;;;;OAIG;WACW,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;OAIG;WACW,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAO3G;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IAkBjB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;IAenB;;;;;OAKG;WACW,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAG,kBAAkB;IAqBhH;;;;;;;;;OASG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;CAepB"}
1
+ {"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAG9C;;;GAGG;AACH,qBAAa,UAAU;IAGrB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAKtF;;;;;;;OAOG;WACW,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAgBvG;;;;OAIG;WACW,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAenF;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAWtF;;;;OAIG;WACW,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;OAIG;WACW,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAO3G;;;;;;;;;;OAUG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IAkBjB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;IAenB;;;;;;OAMG;WACW,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAInI,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAqB1C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;CAepB"}
@@ -6,6 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.ScopeUtils = void 0;
8
8
  const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
9
+ const TurnContextUtils_1 = require("./TurnContextUtils");
9
10
  /**
10
11
  * Unified utilities to populate scope tags from a TurnContext.
11
12
  * Provides common tag population and scope-specific helpers.
@@ -26,26 +27,30 @@ class ScopeUtils {
26
27
  * @returns Tenant details if a recipient tenant id is present; otherwise undefined.
27
28
  */
28
29
  static deriveTenantDetails(turnContext) {
29
- const tenantId = turnContext?.activity?.recipient?.tenantId;
30
+ const tenantId = turnContext?.activity?.getAgenticTenantId?.();
30
31
  return tenantId ? { tenantId } : undefined;
31
32
  }
32
33
  /**
33
34
  * Derive target agent details from the activity recipient.
35
+ * Uses {@link resolveEmbodiedAgentIds} to resolve the agent ID and blueprint ID, which are only
36
+ * set for embodied (agentic) agents — see that function for the rationale.
34
37
  * @param turnContext Activity context
38
+ * @param authToken Auth token for resolving agent identity from token claims.
35
39
  * @returns Agent details built from recipient properties; otherwise undefined.
36
40
  */
37
- static deriveAgentDetails(turnContext) {
41
+ static deriveAgentDetails(turnContext, authToken) {
38
42
  const recipient = turnContext?.activity?.recipient;
39
43
  if (!recipient)
40
44
  return undefined;
45
+ const { agentId, agentBlueprintId } = (0, TurnContextUtils_1.resolveEmbodiedAgentIds)(turnContext, authToken);
41
46
  return {
42
- agentId: recipient.agenticAppId,
47
+ agentId,
43
48
  agentName: recipient.name,
44
49
  agentAUID: recipient.aadObjectId,
45
- agentBlueprintId: recipient.agenticAppBlueprintId,
46
- agentUPN: recipient.agenticUserId,
50
+ agentBlueprintId,
51
+ agentUPN: turnContext?.activity?.getAgenticUser?.(),
47
52
  agentDescription: recipient.role,
48
- tenantId: recipient.tenantId
53
+ tenantId: turnContext?.activity?.getAgenticTenantId?.()
49
54
  };
50
55
  }
51
56
  /**
@@ -108,12 +113,13 @@ class ScopeUtils {
108
113
  * Also records input messages from the context if present.
109
114
  * @param details The inference call details (model, provider, tokens, etc.).
110
115
  * @param turnContext The current activity context to derive scope parameters from.
116
+ * @param authToken Auth token for resolving agent identity from token claims.
111
117
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
112
118
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
113
119
  * @returns A started `InferenceScope` enriched with context-derived parameters.
114
120
  */
115
- static populateInferenceScopeFromTurnContext(details, turnContext, startTime, endTime) {
116
- const agent = ScopeUtils.deriveAgentDetails(turnContext);
121
+ static populateInferenceScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
122
+ const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
117
123
  const tenant = ScopeUtils.deriveTenantDetails(turnContext);
118
124
  const conversationId = ScopeUtils.deriveConversationId(turnContext);
119
125
  const sourceMetadata = ScopeUtils.deriveSourceMetadataObject(turnContext);
@@ -134,15 +140,16 @@ class ScopeUtils {
134
140
  * Also sets execution type and input messages from the context if present.
135
141
  * @param details The invoke-agent call details to be augmented and used for the scope.
136
142
  * @param turnContext The current activity context to derive scope parameters from.
143
+ * @param authToken Auth token for resolving agent identity from token claims.
137
144
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
138
145
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
139
146
  * @returns A started `InvokeAgentScope` enriched with context-derived parameters.
140
147
  */
141
- static populateInvokeAgentScopeFromTurnContext(details, turnContext, startTime, endTime) {
148
+ static populateInvokeAgentScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
142
149
  const tenant = ScopeUtils.deriveTenantDetails(turnContext);
143
150
  const callerAgent = ScopeUtils.deriveCallerAgent(turnContext);
144
151
  const caller = ScopeUtils.deriveCallerDetails(turnContext);
145
- const invokeAgentDetails = ScopeUtils.buildInvokeAgentDetails(details, turnContext);
152
+ const invokeAgentDetails = ScopeUtils.buildInvokeAgentDetailsCore(details, turnContext, authToken);
146
153
  if (!tenant) {
147
154
  throw new Error('populateInvokeAgentScopeFromTurnContext: Missing tenant details on TurnContext (recipient)');
148
155
  }
@@ -154,10 +161,14 @@ class ScopeUtils {
154
161
  * Build InvokeAgentDetails by merging provided details with agent info, conversation id and source metadata from the TurnContext.
155
162
  * @param details Base invoke-agent details to augment
156
163
  * @param turnContext Activity context
164
+ * @param authToken Auth token for resolving agent identity from token claims.
157
165
  * @returns New InvokeAgentDetails suitable for starting an InvokeAgentScope.
158
166
  */
159
- static buildInvokeAgentDetails(details, turnContext) {
160
- const agent = ScopeUtils.deriveAgentDetails(turnContext);
167
+ static buildInvokeAgentDetails(details, turnContext, authToken) {
168
+ return ScopeUtils.buildInvokeAgentDetailsCore(details, turnContext, authToken);
169
+ }
170
+ static buildInvokeAgentDetailsCore(details, turnContext, authToken) {
171
+ const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
161
172
  const srcMetaFromContext = ScopeUtils.deriveSourceMetadataObject(turnContext);
162
173
  const baseRequest = details.request ?? {};
163
174
  const baseSource = baseRequest.sourceMetadata ?? {};
@@ -181,13 +192,14 @@ class ScopeUtils {
181
192
  * Derives `agentDetails`, `tenantDetails`, `conversationId`, and `sourceMetadata` (channel name/link) from context.
182
193
  * @param details The tool call details (name, type, args, call id, etc.).
183
194
  * @param turnContext The current activity context to derive scope parameters from.
195
+ * @param authToken Auth token for resolving agent identity from token claims.
184
196
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime). Useful when recording a
185
197
  * tool call after execution has already completed.
186
198
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
187
199
  * @returns A started `ExecuteToolScope` enriched with context-derived parameters.
188
200
  */
189
- static populateExecuteToolScopeFromTurnContext(details, turnContext, startTime, endTime) {
190
- const agent = ScopeUtils.deriveAgentDetails(turnContext);
201
+ static populateExecuteToolScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
202
+ const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
191
203
  const tenant = ScopeUtils.deriveTenantDetails(turnContext);
192
204
  const conversationId = ScopeUtils.deriveConversationId(turnContext);
193
205
  const sourceMetadata = ScopeUtils.deriveSourceMetadataObject(turnContext);
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,28 @@ export declare function getCallerBaggagePairs(turnContext: TurnContext): Array<[
11
11
  * @returns Array of [key, value] for execution type
12
12
  */
13
13
  export declare function getExecutionTypePair(turnContext: TurnContext): Array<[string, string]>;
14
+ /**
15
+ * Resolves the agent instance ID and blueprint ID for embodied (agentic) agents only.
16
+ * For the non-embodied agent case, we cannot reliably determine whether the token contains an app ID,
17
+ * or whether the app ID present in the token claims actually corresponds to this agent. Therefore,
18
+ * we only set agentId and agentBlueprintId for embodied (agentic) agents.
19
+ * @param turnContext Activity context
20
+ * @param authToken Auth token for resolving blueprint ID from token claims.
21
+ * @returns Object with agentId and agentBlueprintId, both undefined for non-embodied agents.
22
+ */
23
+ export declare function resolveEmbodiedAgentIds(turnContext: TurnContext, authToken: string): {
24
+ agentId: string | undefined;
25
+ agentBlueprintId: string | undefined;
26
+ };
14
27
  /**
15
28
  * Extracts agent/recipient-related OpenTelemetry baggage pairs from the TurnContext.
16
29
  * @param turnContext The current TurnContext (activity context)
30
+ * @param authToken Optional auth token for resolving agent blueprint ID from token claims.
17
31
  * @returns Array of [key, value] pairs for agent identity and description
18
32
  */
19
- export declare function getTargetAgentBaggagePairs(turnContext: TurnContext): Array<[string, string]>;
33
+ export declare function getTargetAgentBaggagePairs(turnContext: TurnContext, authToken?: string): Array<[string, string]>;
20
34
  /**
21
- * Extracts the tenant ID baggage key-value pair, attempting to retrieve from ChannelData if necessary.
35
+ * Extracts the tenant ID baggage key-value pair using the Activity's getAgenticTenantId() helper.
22
36
  * @param turnContext The current TurnContext (activity context)
23
37
  * @returns Array of [key, value] for tenant ID
24
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TurnContextUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAcxD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAevF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBtF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgB5F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoBjF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAS/F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWnG"}
1
+ {"version":3,"file":"TurnContextUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAexD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAevF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAQ1J;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBhH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAS/F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWnG"}
@@ -6,12 +6,14 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.getCallerBaggagePairs = getCallerBaggagePairs;
8
8
  exports.getExecutionTypePair = getExecutionTypePair;
9
+ exports.resolveEmbodiedAgentIds = resolveEmbodiedAgentIds;
9
10
  exports.getTargetAgentBaggagePairs = getTargetAgentBaggagePairs;
10
11
  exports.getTenantIdPair = getTenantIdPair;
11
12
  exports.getSourceMetadataBaggagePairs = getSourceMetadataBaggagePairs;
12
13
  exports.getConversationIdAndItemLinkPairs = getConversationIdAndItemLinkPairs;
13
14
  const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
14
15
  const agents_activity_1 = require("@microsoft/agents-activity");
16
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
15
17
  /**
16
18
  * TurnContext utility methods.
17
19
  */
@@ -63,17 +65,36 @@ function getExecutionTypePair(turnContext) {
63
65
  }
64
66
  return [[agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY, executionType]];
65
67
  }
68
+ /**
69
+ * Resolves the agent instance ID and blueprint ID for embodied (agentic) agents only.
70
+ * For the non-embodied agent case, we cannot reliably determine whether the token contains an app ID,
71
+ * or whether the app ID present in the token claims actually corresponds to this agent. Therefore,
72
+ * we only set agentId and agentBlueprintId for embodied (agentic) agents.
73
+ * @param turnContext Activity context
74
+ * @param authToken Auth token for resolving blueprint ID from token claims.
75
+ * @returns Object with agentId and agentBlueprintId, both undefined for non-embodied agents.
76
+ */
77
+ function resolveEmbodiedAgentIds(turnContext, authToken) {
78
+ const isAgentic = turnContext?.activity?.isAgenticRequest?.();
79
+ const rawAgentId = isAgentic ? turnContext.activity.getAgenticInstanceId?.() : undefined;
80
+ const rawBlueprintId = isAgentic ? agents_a365_runtime_1.Utility.getAgentIdFromToken(authToken) : undefined;
81
+ return {
82
+ agentId: rawAgentId || undefined,
83
+ agentBlueprintId: rawBlueprintId || undefined,
84
+ };
85
+ }
66
86
  /**
67
87
  * Extracts agent/recipient-related OpenTelemetry baggage pairs from the TurnContext.
68
88
  * @param turnContext The current TurnContext (activity context)
89
+ * @param authToken Optional auth token for resolving agent blueprint ID from token claims.
69
90
  * @returns Array of [key, value] pairs for agent identity and description
70
91
  */
71
- function getTargetAgentBaggagePairs(turnContext) {
92
+ function getTargetAgentBaggagePairs(turnContext, authToken) {
72
93
  if (!turnContext || !turnContext.activity?.recipient) {
73
94
  return [];
74
95
  }
75
96
  const recipient = turnContext.activity.recipient;
76
- const agentId = recipient.agenticAppId;
97
+ const { agentId } = authToken ? resolveEmbodiedAgentIds(turnContext, authToken) : { agentId: turnContext.activity?.isAgenticRequest?.() ? turnContext.activity.getAgenticInstanceId?.() : undefined };
77
98
  const agentName = recipient.name;
78
99
  const aadObjectId = recipient.aadObjectId;
79
100
  const agentDescription = recipient.role;
@@ -86,27 +107,12 @@ function getTargetAgentBaggagePairs(turnContext) {
86
107
  return normalizePairs(pairs);
87
108
  }
88
109
  /**
89
- * Extracts the tenant ID baggage key-value pair, attempting to retrieve from ChannelData if necessary.
110
+ * Extracts the tenant ID baggage key-value pair using the Activity's getAgenticTenantId() helper.
90
111
  * @param turnContext The current TurnContext (activity context)
91
112
  * @returns Array of [key, value] for tenant ID
92
113
  */
93
114
  function getTenantIdPair(turnContext) {
94
- let tenantId = turnContext.activity?.recipient?.tenantId;
95
- // If not found, try to extract from channelData. Accepts both object and JSON string.
96
- if (!tenantId && turnContext.activity?.channelData) {
97
- try {
98
- let channelData = turnContext.activity.channelData;
99
- if (typeof channelData === 'string') {
100
- channelData = JSON.parse(channelData);
101
- }
102
- if (typeof channelData === 'object' && channelData !== null) {
103
- tenantId = channelData?.tenant?.id;
104
- }
105
- }
106
- catch (_err) {
107
- // ignore JSON parse errors
108
- }
109
- }
115
+ const tenantId = turnContext.activity?.getAgenticTenantId?.();
110
116
  return tenantId ? [[agents_a365_observability_1.OpenTelemetryConstants.TENANT_ID_KEY, tenantId]] : [];
111
117
  }
112
118
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TurnContextUtils.js","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnContextUtils.js","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export * from './utils/ScopeUtils';
3
3
  export * from './utils/TurnContextUtils';
4
4
  export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
5
5
  export { BaggageMiddleware } from './middleware/BaggageMiddleware';
6
- export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY } from './middleware/OutputLoggingMiddleware';
6
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY } from './middleware/OutputLoggingMiddleware';
7
7
  export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
8
8
  export type { ObservabilityHostingOptions } from './middleware/ObservabilityHostingManager';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1H,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
package/dist/esm/index.js CHANGED
@@ -7,6 +7,6 @@ export * from './utils/ScopeUtils';
7
7
  export * from './utils/TurnContextUtils';
8
8
  export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
9
9
  export { BaggageMiddleware } from './middleware/BaggageMiddleware';
10
- export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY } from './middleware/OutputLoggingMiddleware';
10
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY } from './middleware/OutputLoggingMiddleware';
11
11
  export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAEjF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACrG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAEjF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC1H,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC"}
@@ -4,6 +4,12 @@ import { TurnContext, Middleware } from '@microsoft/agents-hosting';
4
4
  * Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
5
5
  */
6
6
  export declare const A365_PARENT_SPAN_KEY = "A365ParentSpanId";
7
+ /**
8
+ * TurnState key for the auth token.
9
+ * Set this in `turnState` so middleware can resolve the agent blueprint ID
10
+ * from token claims (used for embodied/agentic requests).
11
+ */
12
+ export declare const A365_AUTH_TOKEN_KEY = "A365AuthToken";
7
13
  /**
8
14
  * Middleware that creates {@link OutputScope} spans for outgoing messages.
9
15
  * Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
@@ -13,6 +19,12 @@ export declare const A365_PARENT_SPAN_KEY = "A365ParentSpanId";
13
19
  */
14
20
  export declare class OutputLoggingMiddleware implements Middleware {
15
21
  onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>;
22
+ /**
23
+ * Resolve the auth token for agent identity resolution.
24
+ * When per-request export is enabled, reads from turnState.
25
+ * Otherwise, reads from the cached observability token.
26
+ */
27
+ private resolveAuthToken;
16
28
  /**
17
29
  * Creates a send handler that wraps outgoing messages in OutputScope spans.
18
30
  * Reads parent span ref lazily so the agent handler can set it during `next()`.
@@ -1 +1 @@
1
- {"version":3,"file":"OutputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAW3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,UAAU;IAElD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB5E;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA8C3B"}
1
+ {"version":3,"file":"OutputLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAa3F;;;GAGG;AACH,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,UAAU;IAElD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5E;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA8C3B"}
@@ -1,12 +1,19 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { OutputScope, logger, } from '@microsoft/agents-a365-observability';
3
+ import { OutputScope, logger, isPerRequestExportEnabled, } from '@microsoft/agents-a365-observability';
4
4
  import { ScopeUtils } from '../utils/ScopeUtils';
5
+ import { AgenticTokenCacheInstance } from '../caching/AgenticTokenCache';
5
6
  /**
6
7
  * TurnState key for the parent span reference.
7
8
  * Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
8
9
  */
9
10
  export const A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
11
+ /**
12
+ * TurnState key for the auth token.
13
+ * Set this in `turnState` so middleware can resolve the agent blueprint ID
14
+ * from token claims (used for embodied/agentic requests).
15
+ */
16
+ export const A365_AUTH_TOKEN_KEY = 'A365AuthToken';
10
17
  /**
11
18
  * Middleware that creates {@link OutputScope} spans for outgoing messages.
12
19
  * Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
@@ -16,7 +23,8 @@ export const A365_PARENT_SPAN_KEY = 'A365ParentSpanId';
16
23
  */
17
24
  export class OutputLoggingMiddleware {
18
25
  async onTurn(context, next) {
19
- const agentDetails = ScopeUtils.deriveAgentDetails(context);
26
+ const authToken = this.resolveAuthToken(context);
27
+ const agentDetails = ScopeUtils.deriveAgentDetails(context, authToken);
20
28
  const tenantDetails = ScopeUtils.deriveTenantDetails(context);
21
29
  if (!agentDetails || !tenantDetails) {
22
30
  await next();
@@ -28,6 +36,22 @@ export class OutputLoggingMiddleware {
28
36
  context.onSendActivities(this._createSendHandler(context, agentDetails, tenantDetails, callerDetails, conversationId, sourceMetadata));
29
37
  await next();
30
38
  }
39
+ /**
40
+ * Resolve the auth token for agent identity resolution.
41
+ * When per-request export is enabled, reads from turnState.
42
+ * Otherwise, reads from the cached observability token.
43
+ */
44
+ resolveAuthToken(context) {
45
+ if (isPerRequestExportEnabled()) {
46
+ return context.turnState.get(A365_AUTH_TOKEN_KEY) ?? '';
47
+ }
48
+ const agentId = context.activity?.getAgenticInstanceId?.() ?? '';
49
+ const tenantId = context.activity?.getAgenticTenantId?.() ?? '';
50
+ if (agentId && tenantId) {
51
+ return AgenticTokenCacheInstance.getObservabilityToken(agentId, tenantId) ?? '';
52
+ }
53
+ return '';
54
+ }
31
55
  /**
32
56
  * Creates a send handler that wraps outgoing messages in OutputScope spans.
33
57
  * Reads parent span ref lazily so the agent handler can set it during `next()`.
@@ -1 +1 @@
1
- {"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,WAAW,EAKX,MAAM,GACP,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAElC,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAC7G,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,WAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,aAA6B,EAC7B,cAAuB,EACvB,cAAwD;QAExD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,UAAU;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;YAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,aAAa,GAA8B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,oEAAoE,oBAAoB,gDAAgD,CACzI,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CACnC,EAAE,QAAQ,EAAE,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,WAAW,CACrB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtG,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"OutputLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/OutputLoggingMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,WAAW,EAKX,MAAM,EACN,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAElC,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAEtE,OAAO,CAAC,gBAAgB,CACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAC7G,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,OAAoB;QAC3C,IAAI,yBAAyB,EAAE,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAW,IAAI,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC;QAChE,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,OAAO,yBAAyB,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,WAAwB,EACxB,YAA0B,EAC1B,aAA4B,EAC5B,aAA6B,EAC7B,cAAuB,EACvB,cAAwD;QAExD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,UAAU;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;iBAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,CAAC;YAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,aAAa,GAA8B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,oEAAoE,oBAAoB,gDAAgD,CACzI,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CACnC,EAAE,QAAQ,EAAE,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,CACd,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,WAAW,CACrB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtG,CAAC;gBACF,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -15,10 +15,13 @@ export declare class ScopeUtils {
15
15
  static deriveTenantDetails(turnContext: TurnContext): TenantDetails | undefined;
16
16
  /**
17
17
  * Derive target agent details from the activity recipient.
18
+ * Uses {@link resolveEmbodiedAgentIds} to resolve the agent ID and blueprint ID, which are only
19
+ * set for embodied (agentic) agents — see that function for the rationale.
18
20
  * @param turnContext Activity context
21
+ * @param authToken Auth token for resolving agent identity from token claims.
19
22
  * @returns Agent details built from recipient properties; otherwise undefined.
20
23
  */
21
- static deriveAgentDetails(turnContext: TurnContext): AgentDetails | undefined;
24
+ static deriveAgentDetails(turnContext: TurnContext, authToken: string): AgentDetails | undefined;
22
25
  /**
23
26
  * Derive caller agent details from the activity from.
24
27
  * @param turnContext Activity context
@@ -52,11 +55,12 @@ export declare class ScopeUtils {
52
55
  * Also records input messages from the context if present.
53
56
  * @param details The inference call details (model, provider, tokens, etc.).
54
57
  * @param turnContext The current activity context to derive scope parameters from.
58
+ * @param authToken Auth token for resolving agent identity from token claims.
55
59
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
56
60
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
57
61
  * @returns A started `InferenceScope` enriched with context-derived parameters.
58
62
  */
59
- static populateInferenceScopeFromTurnContext(details: InferenceDetails, turnContext: TurnContext, startTime?: TimeInput, endTime?: TimeInput): InferenceScope;
63
+ static populateInferenceScopeFromTurnContext(details: InferenceDetails, turnContext: TurnContext, authToken: string, startTime?: TimeInput, endTime?: TimeInput): InferenceScope;
60
64
  /**
61
65
  * Create an `InvokeAgentScope` using `details` and values derived from the provided `TurnContext`.
62
66
  * Populates `conversationId` and `request.sourceMetadata` (channel name/link) in `details` from the `TurnContext`, overriding any existing values.
@@ -64,28 +68,32 @@ export declare class ScopeUtils {
64
68
  * Also sets execution type and input messages from the context if present.
65
69
  * @param details The invoke-agent call details to be augmented and used for the scope.
66
70
  * @param turnContext The current activity context to derive scope parameters from.
71
+ * @param authToken Auth token for resolving agent identity from token claims.
67
72
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
68
73
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
69
74
  * @returns A started `InvokeAgentScope` enriched with context-derived parameters.
70
75
  */
71
- static populateInvokeAgentScopeFromTurnContext(details: InvokeAgentDetails, turnContext: TurnContext, startTime?: TimeInput, endTime?: TimeInput): InvokeAgentScope;
76
+ static populateInvokeAgentScopeFromTurnContext(details: InvokeAgentDetails, turnContext: TurnContext, authToken: string, startTime?: TimeInput, endTime?: TimeInput): InvokeAgentScope;
72
77
  /**
73
78
  * Build InvokeAgentDetails by merging provided details with agent info, conversation id and source metadata from the TurnContext.
74
79
  * @param details Base invoke-agent details to augment
75
80
  * @param turnContext Activity context
81
+ * @param authToken Auth token for resolving agent identity from token claims.
76
82
  * @returns New InvokeAgentDetails suitable for starting an InvokeAgentScope.
77
83
  */
78
- static buildInvokeAgentDetails(details: InvokeAgentDetails, turnContext: TurnContext): InvokeAgentDetails;
84
+ static buildInvokeAgentDetails(details: InvokeAgentDetails, turnContext: TurnContext, authToken: string): InvokeAgentDetails;
85
+ private static buildInvokeAgentDetailsCore;
79
86
  /**
80
87
  * Create an `ExecuteToolScope` using `details` and values derived from the provided `TurnContext`.
81
88
  * Derives `agentDetails`, `tenantDetails`, `conversationId`, and `sourceMetadata` (channel name/link) from context.
82
89
  * @param details The tool call details (name, type, args, call id, etc.).
83
90
  * @param turnContext The current activity context to derive scope parameters from.
91
+ * @param authToken Auth token for resolving agent identity from token claims.
84
92
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime). Useful when recording a
85
93
  * tool call after execution has already completed.
86
94
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
87
95
  * @returns A started `ExecuteToolScope` enriched with context-derived parameters.
88
96
  */
89
- static populateExecuteToolScopeFromTurnContext(details: ToolCallDetails, turnContext: TurnContext, startTime?: TimeInput, endTime?: TimeInput): ExecuteToolScope;
97
+ static populateExecuteToolScopeFromTurnContext(details: ToolCallDetails, turnContext: TurnContext, authToken: string, startTime?: TimeInput, endTime?: TimeInput): ExecuteToolScope;
90
98
  }
91
99
  //# sourceMappingURL=ScopeUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAE9C;;;GAGG;AACH,qBAAa,UAAU;IAGrB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAKtF;;;;OAIG;WACW,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAepF;;;;OAIG;WACW,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAenF;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAWtF;;;;OAIG;WACW,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;OAIG;WACW,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAO3G;;;;;;;;;OASG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IAkBjB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;IAenB;;;;;OAKG;WACW,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,GAAG,kBAAkB;IAqBhH;;;;;;;;;OASG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;CAepB"}
1
+ {"version":3,"file":"ScopeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAG9C;;;GAGG;AACH,qBAAa,UAAU;IAGrB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAKtF;;;;;;;OAOG;WACW,kBAAkB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAgBvG;;;;OAIG;WACW,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS;IAenF;;;;OAIG;WACW,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAWtF;;;;OAIG;WACW,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;OAIG;WACW,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAO3G;;;;;;;;;;OAUG;IACH,MAAM,CAAC,qCAAqC,CAC1C,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,cAAc;IAkBjB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;IAenB;;;;;;OAMG;WACW,uBAAuB,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB;IAInI,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAqB1C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uCAAuC,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,SAAS,GAClB,gBAAgB;CAepB"}
@@ -3,6 +3,7 @@
3
3
  // Licensed under the MIT License.
4
4
  // ------------------------------------------------------------------------------
5
5
  import { InvokeAgentScope, InferenceScope, ExecuteToolScope, } from '@microsoft/agents-a365-observability';
6
+ import { resolveEmbodiedAgentIds } from './TurnContextUtils';
6
7
  /**
7
8
  * Unified utilities to populate scope tags from a TurnContext.
8
9
  * Provides common tag population and scope-specific helpers.
@@ -23,26 +24,30 @@ export class ScopeUtils {
23
24
  * @returns Tenant details if a recipient tenant id is present; otherwise undefined.
24
25
  */
25
26
  static deriveTenantDetails(turnContext) {
26
- const tenantId = turnContext?.activity?.recipient?.tenantId;
27
+ const tenantId = turnContext?.activity?.getAgenticTenantId?.();
27
28
  return tenantId ? { tenantId } : undefined;
28
29
  }
29
30
  /**
30
31
  * Derive target agent details from the activity recipient.
32
+ * Uses {@link resolveEmbodiedAgentIds} to resolve the agent ID and blueprint ID, which are only
33
+ * set for embodied (agentic) agents — see that function for the rationale.
31
34
  * @param turnContext Activity context
35
+ * @param authToken Auth token for resolving agent identity from token claims.
32
36
  * @returns Agent details built from recipient properties; otherwise undefined.
33
37
  */
34
- static deriveAgentDetails(turnContext) {
38
+ static deriveAgentDetails(turnContext, authToken) {
35
39
  const recipient = turnContext?.activity?.recipient;
36
40
  if (!recipient)
37
41
  return undefined;
42
+ const { agentId, agentBlueprintId } = resolveEmbodiedAgentIds(turnContext, authToken);
38
43
  return {
39
- agentId: recipient.agenticAppId,
44
+ agentId,
40
45
  agentName: recipient.name,
41
46
  agentAUID: recipient.aadObjectId,
42
- agentBlueprintId: recipient.agenticAppBlueprintId,
43
- agentUPN: recipient.agenticUserId,
47
+ agentBlueprintId,
48
+ agentUPN: turnContext?.activity?.getAgenticUser?.(),
44
49
  agentDescription: recipient.role,
45
- tenantId: recipient.tenantId
50
+ tenantId: turnContext?.activity?.getAgenticTenantId?.()
46
51
  };
47
52
  }
48
53
  /**
@@ -105,12 +110,13 @@ export class ScopeUtils {
105
110
  * Also records input messages from the context if present.
106
111
  * @param details The inference call details (model, provider, tokens, etc.).
107
112
  * @param turnContext The current activity context to derive scope parameters from.
113
+ * @param authToken Auth token for resolving agent identity from token claims.
108
114
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
109
115
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
110
116
  * @returns A started `InferenceScope` enriched with context-derived parameters.
111
117
  */
112
- static populateInferenceScopeFromTurnContext(details, turnContext, startTime, endTime) {
113
- const agent = ScopeUtils.deriveAgentDetails(turnContext);
118
+ static populateInferenceScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
119
+ const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
114
120
  const tenant = ScopeUtils.deriveTenantDetails(turnContext);
115
121
  const conversationId = ScopeUtils.deriveConversationId(turnContext);
116
122
  const sourceMetadata = ScopeUtils.deriveSourceMetadataObject(turnContext);
@@ -131,15 +137,16 @@ export class ScopeUtils {
131
137
  * Also sets execution type and input messages from the context if present.
132
138
  * @param details The invoke-agent call details to be augmented and used for the scope.
133
139
  * @param turnContext The current activity context to derive scope parameters from.
140
+ * @param authToken Auth token for resolving agent identity from token claims.
134
141
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime).
135
142
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
136
143
  * @returns A started `InvokeAgentScope` enriched with context-derived parameters.
137
144
  */
138
- static populateInvokeAgentScopeFromTurnContext(details, turnContext, startTime, endTime) {
145
+ static populateInvokeAgentScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
139
146
  const tenant = ScopeUtils.deriveTenantDetails(turnContext);
140
147
  const callerAgent = ScopeUtils.deriveCallerAgent(turnContext);
141
148
  const caller = ScopeUtils.deriveCallerDetails(turnContext);
142
- const invokeAgentDetails = ScopeUtils.buildInvokeAgentDetails(details, turnContext);
149
+ const invokeAgentDetails = ScopeUtils.buildInvokeAgentDetailsCore(details, turnContext, authToken);
143
150
  if (!tenant) {
144
151
  throw new Error('populateInvokeAgentScopeFromTurnContext: Missing tenant details on TurnContext (recipient)');
145
152
  }
@@ -151,10 +158,14 @@ export class ScopeUtils {
151
158
  * Build InvokeAgentDetails by merging provided details with agent info, conversation id and source metadata from the TurnContext.
152
159
  * @param details Base invoke-agent details to augment
153
160
  * @param turnContext Activity context
161
+ * @param authToken Auth token for resolving agent identity from token claims.
154
162
  * @returns New InvokeAgentDetails suitable for starting an InvokeAgentScope.
155
163
  */
156
- static buildInvokeAgentDetails(details, turnContext) {
157
- const agent = ScopeUtils.deriveAgentDetails(turnContext);
164
+ static buildInvokeAgentDetails(details, turnContext, authToken) {
165
+ return ScopeUtils.buildInvokeAgentDetailsCore(details, turnContext, authToken);
166
+ }
167
+ static buildInvokeAgentDetailsCore(details, turnContext, authToken) {
168
+ const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
158
169
  const srcMetaFromContext = ScopeUtils.deriveSourceMetadataObject(turnContext);
159
170
  const baseRequest = details.request ?? {};
160
171
  const baseSource = baseRequest.sourceMetadata ?? {};
@@ -178,13 +189,14 @@ export class ScopeUtils {
178
189
  * Derives `agentDetails`, `tenantDetails`, `conversationId`, and `sourceMetadata` (channel name/link) from context.
179
190
  * @param details The tool call details (name, type, args, call id, etc.).
180
191
  * @param turnContext The current activity context to derive scope parameters from.
192
+ * @param authToken Auth token for resolving agent identity from token claims.
181
193
  * @param startTime Optional explicit start time (ms epoch, Date, or HrTime). Useful when recording a
182
194
  * tool call after execution has already completed.
183
195
  * @param endTime Optional explicit end time (ms epoch, Date, or HrTime).
184
196
  * @returns A started `ExecuteToolScope` enriched with context-derived parameters.
185
197
  */
186
- static populateExecuteToolScopeFromTurnContext(details, turnContext, startTime, endTime) {
187
- const agent = ScopeUtils.deriveAgentDetails(turnContext);
198
+ static populateExecuteToolScopeFromTurnContext(details, turnContext, authToken, startTime, endTime) {
199
+ const agent = ScopeUtils.deriveAgentDetails(turnContext, authToken);
188
200
  const tenant = ScopeUtils.deriveTenantDetails(turnContext);
189
201
  const conversationId = ScopeUtils.deriveConversationId(turnContext);
190
202
  const sourceMetadata = ScopeUtils.deriveSourceMetadataObject(turnContext);
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScopeUtils.js","sourceRoot":"","sources":["../../../src/utils/ScopeUtils.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,28 @@ export declare function getCallerBaggagePairs(turnContext: TurnContext): Array<[
11
11
  * @returns Array of [key, value] for execution type
12
12
  */
13
13
  export declare function getExecutionTypePair(turnContext: TurnContext): Array<[string, string]>;
14
+ /**
15
+ * Resolves the agent instance ID and blueprint ID for embodied (agentic) agents only.
16
+ * For the non-embodied agent case, we cannot reliably determine whether the token contains an app ID,
17
+ * or whether the app ID present in the token claims actually corresponds to this agent. Therefore,
18
+ * we only set agentId and agentBlueprintId for embodied (agentic) agents.
19
+ * @param turnContext Activity context
20
+ * @param authToken Auth token for resolving blueprint ID from token claims.
21
+ * @returns Object with agentId and agentBlueprintId, both undefined for non-embodied agents.
22
+ */
23
+ export declare function resolveEmbodiedAgentIds(turnContext: TurnContext, authToken: string): {
24
+ agentId: string | undefined;
25
+ agentBlueprintId: string | undefined;
26
+ };
14
27
  /**
15
28
  * Extracts agent/recipient-related OpenTelemetry baggage pairs from the TurnContext.
16
29
  * @param turnContext The current TurnContext (activity context)
30
+ * @param authToken Optional auth token for resolving agent blueprint ID from token claims.
17
31
  * @returns Array of [key, value] pairs for agent identity and description
18
32
  */
19
- export declare function getTargetAgentBaggagePairs(turnContext: TurnContext): Array<[string, string]>;
33
+ export declare function getTargetAgentBaggagePairs(turnContext: TurnContext, authToken?: string): Array<[string, string]>;
20
34
  /**
21
- * Extracts the tenant ID baggage key-value pair, attempting to retrieve from ChannelData if necessary.
35
+ * Extracts the tenant ID baggage key-value pair using the Activity's getAgenticTenantId() helper.
22
36
  * @param turnContext The current TurnContext (activity context)
23
37
  * @returns Array of [key, value] for tenant ID
24
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TurnContextUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAcxD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAevF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBtF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgB5F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoBjF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAS/F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWnG"}
1
+ {"version":3,"file":"TurnContextUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAexD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAevF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAkBtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAQ1J;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgBhH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAGjF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAS/F;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWnG"}
@@ -4,6 +4,7 @@
4
4
  // ------------------------------------------------------------------------------
5
5
  import { ExecutionType, OpenTelemetryConstants } from '@microsoft/agents-a365-observability';
6
6
  import { RoleTypes } from '@microsoft/agents-activity';
7
+ import { Utility as RuntimeUtility } from '@microsoft/agents-a365-runtime';
7
8
  /**
8
9
  * TurnContext utility methods.
9
10
  */
@@ -55,17 +56,36 @@ export function getExecutionTypePair(turnContext) {
55
56
  }
56
57
  return [[OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY, executionType]];
57
58
  }
59
+ /**
60
+ * Resolves the agent instance ID and blueprint ID for embodied (agentic) agents only.
61
+ * For the non-embodied agent case, we cannot reliably determine whether the token contains an app ID,
62
+ * or whether the app ID present in the token claims actually corresponds to this agent. Therefore,
63
+ * we only set agentId and agentBlueprintId for embodied (agentic) agents.
64
+ * @param turnContext Activity context
65
+ * @param authToken Auth token for resolving blueprint ID from token claims.
66
+ * @returns Object with agentId and agentBlueprintId, both undefined for non-embodied agents.
67
+ */
68
+ export function resolveEmbodiedAgentIds(turnContext, authToken) {
69
+ const isAgentic = turnContext?.activity?.isAgenticRequest?.();
70
+ const rawAgentId = isAgentic ? turnContext.activity.getAgenticInstanceId?.() : undefined;
71
+ const rawBlueprintId = isAgentic ? RuntimeUtility.getAgentIdFromToken(authToken) : undefined;
72
+ return {
73
+ agentId: rawAgentId || undefined,
74
+ agentBlueprintId: rawBlueprintId || undefined,
75
+ };
76
+ }
58
77
  /**
59
78
  * Extracts agent/recipient-related OpenTelemetry baggage pairs from the TurnContext.
60
79
  * @param turnContext The current TurnContext (activity context)
80
+ * @param authToken Optional auth token for resolving agent blueprint ID from token claims.
61
81
  * @returns Array of [key, value] pairs for agent identity and description
62
82
  */
63
- export function getTargetAgentBaggagePairs(turnContext) {
83
+ export function getTargetAgentBaggagePairs(turnContext, authToken) {
64
84
  if (!turnContext || !turnContext.activity?.recipient) {
65
85
  return [];
66
86
  }
67
87
  const recipient = turnContext.activity.recipient;
68
- const agentId = recipient.agenticAppId;
88
+ const { agentId } = authToken ? resolveEmbodiedAgentIds(turnContext, authToken) : { agentId: turnContext.activity?.isAgenticRequest?.() ? turnContext.activity.getAgenticInstanceId?.() : undefined };
69
89
  const agentName = recipient.name;
70
90
  const aadObjectId = recipient.aadObjectId;
71
91
  const agentDescription = recipient.role;
@@ -78,27 +98,12 @@ export function getTargetAgentBaggagePairs(turnContext) {
78
98
  return normalizePairs(pairs);
79
99
  }
80
100
  /**
81
- * Extracts the tenant ID baggage key-value pair, attempting to retrieve from ChannelData if necessary.
101
+ * Extracts the tenant ID baggage key-value pair using the Activity's getAgenticTenantId() helper.
82
102
  * @param turnContext The current TurnContext (activity context)
83
103
  * @returns Array of [key, value] for tenant ID
84
104
  */
85
105
  export function getTenantIdPair(turnContext) {
86
- let tenantId = turnContext.activity?.recipient?.tenantId;
87
- // If not found, try to extract from channelData. Accepts both object and JSON string.
88
- if (!tenantId && turnContext.activity?.channelData) {
89
- try {
90
- let channelData = turnContext.activity.channelData;
91
- if (typeof channelData === 'string') {
92
- channelData = JSON.parse(channelData);
93
- }
94
- if (typeof channelData === 'object' && channelData !== null) {
95
- tenantId = channelData?.tenant?.id;
96
- }
97
- }
98
- catch (_err) {
99
- // ignore JSON parse errors
100
- }
101
- }
106
+ const tenantId = turnContext.activity?.getAgenticTenantId?.();
102
107
  return tenantId ? [[OpenTelemetryConstants.TENANT_ID_KEY, tenantId]] : [];
103
108
  }
104
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TurnContextUtils.js","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAGjF,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAErD;;GAEG;AAEH,SAAS,cAAc,CAAC,KAA0C;IAChE,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAwB;IAC5D,IAAI,CAAC,WAAW,IAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;IAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;IAC/B,MAAM,KAAK,GAAwC;QACjD,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC;QAC/D,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC;QAC1D,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,GAAG,CAAC;QACnD,CAAC,sBAAsB,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC;QACnE,CAAC,sBAAsB,CAAC,6BAA6B,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACnF,CAAC;IACF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAwB;IAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QACpF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvC,IAAI,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC;IAE7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,SAAS,CAAC,WAAW;gBACxB,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC;gBAC1C,MAAM;YACR,KAAK,SAAS,CAAC,IAAI;gBACjB,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC;gBAC3C,MAAM;QACR,CAAC;IACL,CAAC;IACH,OAAO,CAAC,CAAC,sBAAsB,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,WAAwB;IACjE,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC;IACvC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC1C,MAAM,gBAAgB,GAAI,SAAS,CAAC,IAAI,CAAC;IACzC,MAAM,KAAK,GAAwC;QACjD,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,OAAO,CAAC;QACrD,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,SAAS,CAAC;QACzD,CAAC,sBAAsB,CAAC,4BAA4B,EAAE,gBAAgB,CAAC;QACvE,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,WAAW,CAAC;KAC5D,CAAC;IACF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,WAAwB;IACrD,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;IAG1D,sFAAsF;IACtF,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,IAAI,WAAW,GAAY,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;YACD,IACE,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC1D,QAAQ,GAAI,WAA2C,EAAE,MAAM,EAAE,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;YACd,2BAA2B;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,WAAwB;IACpE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAwC;QACjD,CAAC,sBAAsB,CAAC,gCAAgC,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1F,CAAC,sBAAsB,CAAC,uCAAuC,EAAE,WAAW,CAAC,QAAQ,EAAE,mBAAyC,CAAC;KAClI,CAAC;IACF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,WAAwB;IACxE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;IAClD,MAAM,KAAK,GAAwC;QACjD,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,cAAc,CAAC;QACnE,CAAC,sBAAsB,CAAC,iCAAiC,EAAE,QAAQ,CAAC;KACrE,CAAC;IACF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"TurnContextUtils.js","sourceRoot":"","sources":["../../../src/utils/TurnContextUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/agents-a365-observability-hosting",
3
- "version": "0.1.0-preview.115",
3
+ "version": "0.1.0-preview.116",
4
4
  "description": "Hosting & Observability utilities for Agent365 (Node.js): token caching, baggage builder, hosting registration.",
5
5
  "keywords": [
6
6
  "agent365",
@@ -29,9 +29,9 @@
29
29
  "CHANGELOG.md"
30
30
  ],
31
31
  "dependencies": {
32
- "@microsoft/agents-a365-observability": "0.1.0-preview.115",
33
- "@microsoft/agents-a365-runtime": "0.1.0-preview.115",
34
- "@microsoft/agents-hosting": "^1.1.0-alpha.85",
32
+ "@microsoft/agents-a365-observability": "0.1.0-preview.116",
33
+ "@microsoft/agents-a365-runtime": "0.1.0-preview.116",
34
+ "@microsoft/agents-hosting": "^1.3.1",
35
35
  "@opentelemetry/api": "^1.9.0"
36
36
  },
37
37
  "devDependencies": {