@microsoft/agents-a365-observability-hosting 0.1.0-preview.95 → 0.2.0-preview.1

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 (65) hide show
  1. package/dist/cjs/caching/AgenticTokenCache.d.ts +38 -1
  2. package/dist/cjs/caching/AgenticTokenCache.d.ts.map +1 -1
  3. package/dist/cjs/caching/AgenticTokenCache.js +48 -5
  4. package/dist/cjs/caching/AgenticTokenCache.js.map +1 -1
  5. package/dist/cjs/index.d.ts +5 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +10 -1
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/middleware/BaggageMiddleware.d.ts +9 -0
  10. package/dist/cjs/middleware/BaggageMiddleware.d.ts.map +1 -0
  11. package/dist/cjs/middleware/BaggageMiddleware.js +34 -0
  12. package/dist/cjs/middleware/BaggageMiddleware.js.map +1 -0
  13. package/dist/cjs/middleware/ObservabilityHostingManager.d.ts +30 -0
  14. package/dist/cjs/middleware/ObservabilityHostingManager.d.ts.map +1 -0
  15. package/dist/cjs/middleware/ObservabilityHostingManager.js +46 -0
  16. package/dist/cjs/middleware/ObservabilityHostingManager.js.map +1 -0
  17. package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts +34 -0
  18. package/dist/cjs/middleware/OutputLoggingMiddleware.d.ts.map +1 -0
  19. package/dist/cjs/middleware/OutputLoggingMiddleware.js +95 -0
  20. package/dist/cjs/middleware/OutputLoggingMiddleware.js.map +1 -0
  21. package/dist/cjs/utils/BaggageBuilderUtils.d.ts +2 -9
  22. package/dist/cjs/utils/BaggageBuilderUtils.d.ts.map +1 -1
  23. package/dist/cjs/utils/BaggageBuilderUtils.js +4 -15
  24. package/dist/cjs/utils/BaggageBuilderUtils.js.map +1 -1
  25. package/dist/cjs/utils/ScopeUtils.d.ts +39 -26
  26. package/dist/cjs/utils/ScopeUtils.d.ts.map +1 -1
  27. package/dist/cjs/utils/ScopeUtils.js +96 -71
  28. package/dist/cjs/utils/ScopeUtils.js.map +1 -1
  29. package/dist/cjs/utils/TurnContextUtils.d.ts +18 -10
  30. package/dist/cjs/utils/TurnContextUtils.d.ts.map +1 -1
  31. package/dist/cjs/utils/TurnContextUtils.js +33 -53
  32. package/dist/cjs/utils/TurnContextUtils.js.map +1 -1
  33. package/dist/esm/caching/AgenticTokenCache.d.ts +38 -1
  34. package/dist/esm/caching/AgenticTokenCache.d.ts.map +1 -1
  35. package/dist/esm/caching/AgenticTokenCache.js +48 -6
  36. package/dist/esm/caching/AgenticTokenCache.js.map +1 -1
  37. package/dist/esm/index.d.ts +5 -1
  38. package/dist/esm/index.d.ts.map +1 -1
  39. package/dist/esm/index.js +4 -1
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/middleware/BaggageMiddleware.d.ts +9 -0
  42. package/dist/esm/middleware/BaggageMiddleware.d.ts.map +1 -0
  43. package/dist/esm/middleware/BaggageMiddleware.js +30 -0
  44. package/dist/esm/middleware/BaggageMiddleware.js.map +1 -0
  45. package/dist/esm/middleware/ObservabilityHostingManager.d.ts +30 -0
  46. package/dist/esm/middleware/ObservabilityHostingManager.d.ts.map +1 -0
  47. package/dist/esm/middleware/ObservabilityHostingManager.js +42 -0
  48. package/dist/esm/middleware/ObservabilityHostingManager.js.map +1 -0
  49. package/dist/esm/middleware/OutputLoggingMiddleware.d.ts +34 -0
  50. package/dist/esm/middleware/OutputLoggingMiddleware.d.ts.map +1 -0
  51. package/dist/esm/middleware/OutputLoggingMiddleware.js +91 -0
  52. package/dist/esm/middleware/OutputLoggingMiddleware.js.map +1 -0
  53. package/dist/esm/utils/BaggageBuilderUtils.d.ts +2 -9
  54. package/dist/esm/utils/BaggageBuilderUtils.d.ts.map +1 -1
  55. package/dist/esm/utils/BaggageBuilderUtils.js +5 -16
  56. package/dist/esm/utils/BaggageBuilderUtils.js.map +1 -1
  57. package/dist/esm/utils/ScopeUtils.d.ts +39 -26
  58. package/dist/esm/utils/ScopeUtils.d.ts.map +1 -1
  59. package/dist/esm/utils/ScopeUtils.js +98 -73
  60. package/dist/esm/utils/ScopeUtils.js.map +1 -1
  61. package/dist/esm/utils/TurnContextUtils.d.ts +18 -10
  62. package/dist/esm/utils/TurnContextUtils.d.ts.map +1 -1
  63. package/dist/esm/utils/TurnContextUtils.js +32 -52
  64. package/dist/esm/utils/TurnContextUtils.js.map +1 -1
  65. package/package.json +5 -4
@@ -5,13 +5,13 @@
5
5
  // ------------------------------------------------------------------------------
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.getCallerBaggagePairs = getCallerBaggagePairs;
8
- exports.getExecutionTypePair = getExecutionTypePair;
8
+ exports.resolveEmbodiedAgentIds = resolveEmbodiedAgentIds;
9
9
  exports.getTargetAgentBaggagePairs = getTargetAgentBaggagePairs;
10
10
  exports.getTenantIdPair = getTenantIdPair;
11
- exports.getSourceMetadataBaggagePairs = getSourceMetadataBaggagePairs;
11
+ exports.getChannelBaggagePairs = getChannelBaggagePairs;
12
12
  exports.getConversationIdAndItemLinkPairs = getConversationIdAndItemLinkPairs;
13
13
  const agents_a365_observability_1 = require("@microsoft/agents-a365-observability");
14
- const agents_activity_1 = require("@microsoft/agents-activity");
14
+ const agents_a365_runtime_1 = require("@microsoft/agents-a365-runtime");
15
15
  /**
16
16
  * TurnContext utility methods.
17
17
  */
@@ -23,7 +23,7 @@ function normalizePairs(pairs) {
23
23
  /**
24
24
  * Extracts caller-related OpenTelemetry baggage pairs from the TurnContext.
25
25
  * @param turnContext The current TurnContext (activity context)
26
- * @returns Array of [key, value] pairs for caller identity and tenant
26
+ * @returns Array of [key, value] pairs for caller identity
27
27
  */
28
28
  function getCallerBaggagePairs(turnContext) {
29
29
  if (!turnContext || !turnContext.activity?.from) {
@@ -32,48 +32,43 @@ function getCallerBaggagePairs(turnContext) {
32
32
  const from = turnContext.activity.from;
33
33
  const upn = from.agenticUserId;
34
34
  const pairs = [
35
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_CALLER_ID_KEY, from.aadObjectId],
36
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_CALLER_NAME_KEY, from.name],
37
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_CALLER_UPN_KEY, upn],
38
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_CALLER_TENANT_ID_KEY, from.tenantId],
39
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY, from.agenticAppBlueprintId]
35
+ [agents_a365_observability_1.OpenTelemetryConstants.USER_ID_KEY, from.aadObjectId],
36
+ [agents_a365_observability_1.OpenTelemetryConstants.USER_NAME_KEY, from.name],
37
+ [agents_a365_observability_1.OpenTelemetryConstants.USER_EMAIL_KEY, upn],
38
+ [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY, from.agenticAppBlueprintId]
40
39
  ];
41
40
  return normalizePairs(pairs);
42
41
  }
43
42
  /**
44
- * Extracts the execution type baggage key-value pair based on caller and recipient agentic status.
45
- * @param turnContext The current TurnContext (activity context)
46
- * @returns Array of [key, value] for execution type
43
+ * Resolves the agent instance ID and blueprint ID for embodied (agentic) agents only.
44
+ * For the non-embodied agent case, we cannot reliably determine whether the token contains an app ID,
45
+ * or whether the app ID present in the token claims actually corresponds to this agent. Therefore,
46
+ * we only set agentId and agentBlueprintId for embodied (agentic) agents.
47
+ * @param turnContext Activity context
48
+ * @param authToken Auth token for resolving blueprint ID from token claims.
49
+ * @returns Object with agentId and agentBlueprintId, both undefined for non-embodied agents.
47
50
  */
48
- function getExecutionTypePair(turnContext) {
49
- if (!turnContext || !turnContext.activity?.from || !turnContext.activity?.recipient) {
50
- return [];
51
- }
52
- const from = turnContext.activity.from;
53
- let executionType = agents_a365_observability_1.ExecutionType.HumanToAgent;
54
- if (from.role) {
55
- switch (from.role) {
56
- case agents_activity_1.RoleTypes.AgenticUser:
57
- executionType = agents_a365_observability_1.ExecutionType.Agent2Agent;
58
- break;
59
- case agents_activity_1.RoleTypes.User:
60
- executionType = agents_a365_observability_1.ExecutionType.HumanToAgent;
61
- break;
62
- }
63
- }
64
- return [[agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY, executionType]];
51
+ function resolveEmbodiedAgentIds(turnContext, authToken) {
52
+ const isAgentic = turnContext?.activity?.isAgenticRequest?.();
53
+ const rawAgentId = isAgentic ? turnContext.activity.getAgenticInstanceId?.() : undefined;
54
+ const rawBlueprintId = isAgentic ? agents_a365_runtime_1.Utility.getAgentIdFromToken(authToken) : undefined;
55
+ return {
56
+ agentId: rawAgentId || undefined,
57
+ agentBlueprintId: rawBlueprintId || undefined,
58
+ };
65
59
  }
66
60
  /**
67
61
  * Extracts agent/recipient-related OpenTelemetry baggage pairs from the TurnContext.
68
62
  * @param turnContext The current TurnContext (activity context)
63
+ * @param authToken Optional auth token for resolving agent blueprint ID from token claims.
69
64
  * @returns Array of [key, value] pairs for agent identity and description
70
65
  */
71
- function getTargetAgentBaggagePairs(turnContext) {
66
+ function getTargetAgentBaggagePairs(turnContext, authToken) {
72
67
  if (!turnContext || !turnContext.activity?.recipient) {
73
68
  return [];
74
69
  }
75
70
  const recipient = turnContext.activity.recipient;
76
- const agentId = recipient.agenticAppId;
71
+ const { agentId } = authToken ? resolveEmbodiedAgentIds(turnContext, authToken) : { agentId: turnContext.activity?.isAgenticRequest?.() ? turnContext.activity.getAgenticInstanceId?.() : undefined };
77
72
  const agentName = recipient.name;
78
73
  const aadObjectId = recipient.aadObjectId;
79
74
  const agentDescription = recipient.role;
@@ -86,41 +81,26 @@ function getTargetAgentBaggagePairs(turnContext) {
86
81
  return normalizePairs(pairs);
87
82
  }
88
83
  /**
89
- * Extracts the tenant ID baggage key-value pair, attempting to retrieve from ChannelData if necessary.
84
+ * Extracts the tenant ID baggage key-value pair using the Activity's getAgenticTenantId() helper.
90
85
  * @param turnContext The current TurnContext (activity context)
91
86
  * @returns Array of [key, value] for tenant ID
92
87
  */
93
88
  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
- }
89
+ const tenantId = turnContext.activity?.getAgenticTenantId?.();
110
90
  return tenantId ? [[agents_a365_observability_1.OpenTelemetryConstants.TENANT_ID_KEY, tenantId]] : [];
111
91
  }
112
92
  /**
113
- * Extracts source metadata baggage pairs from the TurnContext.
93
+ * Extracts channel baggage pairs from the TurnContext.
114
94
  * @param turnContext The current TurnContext (activity context)
115
- * @returns Array of [key, value] pairs for channel name and link
95
+ * @returns Array of [key, value] pairs for channel name and subchannel description
116
96
  */
117
- function getSourceMetadataBaggagePairs(turnContext) {
97
+ function getChannelBaggagePairs(turnContext) {
118
98
  if (!turnContext) {
119
99
  return [];
120
100
  }
121
101
  const pairs = [
122
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_NAME_KEY, turnContext.activity?.channelId],
123
- [agents_a365_observability_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_DESCRIPTION_KEY, turnContext.activity?.channelIdSubChannel]
102
+ [agents_a365_observability_1.OpenTelemetryConstants.CHANNEL_NAME_KEY, turnContext.activity?.channelId],
103
+ [agents_a365_observability_1.OpenTelemetryConstants.CHANNEL_LINK_KEY, turnContext.activity?.channelIdSubChannel]
124
104
  ];
125
105
  return normalizePairs(pairs);
126
106
  }
@@ -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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"}
@@ -1,9 +1,30 @@
1
1
  import { TurnContext, Authorization } from '@microsoft/agents-hosting';
2
- declare class AgenticTokenCache {
2
+ import { ObservabilityConfiguration } from '@microsoft/agents-a365-observability';
3
+ import { IConfigurationProvider } from '@microsoft/agents-a365-runtime';
4
+ /**
5
+ * Cache for agentic authentication tokens used by observability services.
6
+ *
7
+ * For custom configuration, create a new instance with your own configuration provider:
8
+ * ```typescript
9
+ * const customCache = new AgenticTokenCache(myConfigProvider);
10
+ * ```
11
+ *
12
+ * For default configuration using environment variables, use the exported
13
+ * `AgenticTokenCacheInstance` singleton.
14
+ */
15
+ export declare class AgenticTokenCache {
3
16
  private readonly _map;
4
17
  private readonly _defaultRefreshSkewMs;
5
18
  private readonly _defaultMaxTokenAgeMs;
19
+ private readonly _maxCacheSize;
20
+ private readonly _maxExpSeconds;
6
21
  private readonly _keyLocks;
22
+ private readonly _configProvider;
23
+ /**
24
+ * Construct an AgenticTokenCache.
25
+ * @param configProvider Optional configuration provider. Defaults to defaultObservabilityConfigurationProvider if not specified.
26
+ */
27
+ constructor(configProvider?: IConfigurationProvider<ObservabilityConfiguration>);
7
28
  static makeKey(agentId: string, tenantId: string): string;
8
29
  getObservabilityToken(agentId: string, tenantId: string): string | null;
9
30
  RefreshObservabilityToken(agentId: string, tenantId: string, turnContext: TurnContext, authorization: Authorization, scopes: string[]): Promise<void>;
@@ -15,6 +36,22 @@ declare class AgenticTokenCache {
15
36
  private sleep;
16
37
  private withKeyLock;
17
38
  }
39
+ /**
40
+ * Default singleton instance of AgenticTokenCache using the default configuration provider.
41
+ *
42
+ * This instance uses `defaultObservabilityConfigurationProvider` which reads from
43
+ * environment variables. It is suitable for:
44
+ * - Single-tenant deployments
45
+ * - Multi-tenant deployments using dynamic override functions in the configuration
46
+ *
47
+ * **For custom configuration:** Create a new `AgenticTokenCache` instance with your
48
+ * own `IConfigurationProvider<ObservabilityConfiguration>`:
49
+ * ```typescript
50
+ * import { AgenticTokenCache } from '@microsoft/agents-a365-observability-hosting';
51
+ *
52
+ * const customCache = new AgenticTokenCache(myCustomConfigProvider);
53
+ * ```
54
+ */
18
55
  export declare const AgenticTokenCacheInstance: AgenticTokenCache;
19
56
  export default AgenticTokenCacheInstance;
20
57
  //# sourceMappingURL=AgenticTokenCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgenticTokenCache.d.ts","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAWvE,cAAM,iBAAiB;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;WAEnD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIzD,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBjE,yBAAyB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;IAiET,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQxD,aAAa,IAAI,IAAI;IAI5B,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,KAAK;YAIC,WAAW;CAiB5B;AAED,eAAO,MAAM,yBAAyB,mBAA0B,CAAC;AACjE,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"AgenticTokenCache.d.ts","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAuB,0BAA0B,EAA6C,MAAM,sCAAsC,CAAC;AAClJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AASxE;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqD;IAErF;;;OAGG;gBACS,cAAc,CAAC,EAAE,sBAAsB,CAAC,0BAA0B,CAAC;WAIjE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIzD,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBjE,yBAAyB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;IAuET,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQxD,aAAa,IAAI,IAAI;IAI5B,OAAO,CAAC,SAAS;IAoBjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,KAAK;YAIC,WAAW;CAiB5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,mBAA0B,CAAC;AACjE,eAAe,yBAAyB,CAAC"}
@@ -2,14 +2,31 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
4
  // ------------------------------------------------------------------------------
5
- import { getObservabilityAuthenticationScope } from '@microsoft/agents-a365-runtime';
6
- import { logger, formatError } from '@microsoft/agents-a365-observability';
7
- class AgenticTokenCache {
8
- constructor() {
5
+ import { logger, formatError, defaultObservabilityConfigurationProvider } from '@microsoft/agents-a365-observability';
6
+ /**
7
+ * Cache for agentic authentication tokens used by observability services.
8
+ *
9
+ * For custom configuration, create a new instance with your own configuration provider:
10
+ * ```typescript
11
+ * const customCache = new AgenticTokenCache(myConfigProvider);
12
+ * ```
13
+ *
14
+ * For default configuration using environment variables, use the exported
15
+ * `AgenticTokenCacheInstance` singleton.
16
+ */
17
+ export class AgenticTokenCache {
18
+ /**
19
+ * Construct an AgenticTokenCache.
20
+ * @param configProvider Optional configuration provider. Defaults to defaultObservabilityConfigurationProvider if not specified.
21
+ */
22
+ constructor(configProvider) {
9
23
  this._map = new Map();
10
24
  this._defaultRefreshSkewMs = 60000;
11
25
  this._defaultMaxTokenAgeMs = 3600000;
26
+ this._maxCacheSize = 10000;
27
+ this._maxExpSeconds = 86400; // 24 hours
12
28
  this._keyLocks = new Map();
29
+ this._configProvider = configProvider ?? defaultObservabilityConfigurationProvider;
13
30
  }
14
31
  static makeKey(agentId, tenantId) {
15
32
  return `${agentId}:${tenantId}`;
@@ -42,12 +59,18 @@ class AgenticTokenCache {
42
59
  return this.withKeyLock(key, async () => {
43
60
  let entry = this._map.get(key);
44
61
  if (!entry) {
45
- const effectiveScopes = (scopes && scopes.length > 0) ? scopes : getObservabilityAuthenticationScope();
62
+ const effectiveScopes = (scopes && scopes.length > 0) ? scopes : [...this._configProvider.getConfiguration().observabilityAuthenticationScopes];
46
63
  if (!Array.isArray(effectiveScopes) || effectiveScopes.length === 0) {
47
64
  logger.error('[AgenticTokenCache] No valid scopes');
48
65
  return;
49
66
  }
50
67
  entry = { scopes: effectiveScopes };
68
+ if (this._map.size >= this._maxCacheSize) {
69
+ const oldest = this._map.keys().next().value;
70
+ if (oldest !== undefined) {
71
+ this._map.delete(oldest);
72
+ }
73
+ }
51
74
  this._map.set(key, entry);
52
75
  }
53
76
  if (!Array.isArray(entry.scopes) || entry.scopes.length === 0) {
@@ -117,7 +140,10 @@ class AgenticTokenCache {
117
140
  const payloadSegment = parts[1];
118
141
  const padded = payloadSegment + '='.repeat((4 - (payloadSegment.length % 4)) % 4);
119
142
  const json = JSON.parse(Buffer.from(padded, 'base64').toString('utf8'));
120
- return typeof json.exp === 'number' ? json.exp : undefined;
143
+ if (typeof json.exp !== 'number')
144
+ return undefined;
145
+ const maxExp = Math.floor(Date.now() / 1000) + this._maxExpSeconds;
146
+ return Math.min(json.exp, maxExp);
121
147
  }
122
148
  catch {
123
149
  return undefined;
@@ -174,6 +200,22 @@ class AgenticTokenCache {
174
200
  return currentPromise;
175
201
  }
176
202
  }
203
+ /**
204
+ * Default singleton instance of AgenticTokenCache using the default configuration provider.
205
+ *
206
+ * This instance uses `defaultObservabilityConfigurationProvider` which reads from
207
+ * environment variables. It is suitable for:
208
+ * - Single-tenant deployments
209
+ * - Multi-tenant deployments using dynamic override functions in the configuration
210
+ *
211
+ * **For custom configuration:** Create a new `AgenticTokenCache` instance with your
212
+ * own `IConfigurationProvider<ObservabilityConfiguration>`:
213
+ * ```typescript
214
+ * import { AgenticTokenCache } from '@microsoft/agents-a365-observability-hosting';
215
+ *
216
+ * const customCache = new AgenticTokenCache(myCustomConfigProvider);
217
+ * ```
218
+ */
177
219
  export const AgenticTokenCacheInstance = new AgenticTokenCache();
178
220
  export default AgenticTokenCacheInstance;
179
221
  //# sourceMappingURL=AgenticTokenCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgenticTokenCache.js","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgenticTokenCache.js","sourceRoot":"","sources":["../../../src/caching/AgenticTokenCache.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAGjF,OAAO,EAAE,MAAM,EAAE,WAAW,EAA8B,yCAAyC,EAAE,MAAM,sCAAsC,CAAC;AAUlJ;;;;;;;;;;GAUG;AACH,MAAM,OAAO,iBAAiB;IAS1B;;;OAGG;IACH,YAAY,cAAmE;QAZ9D,SAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;QACrC,0BAAqB,GAAG,KAAM,CAAC;QAC/B,0BAAqB,GAAG,OAAS,CAAC;QAClC,kBAAa,GAAG,KAAM,CAAC;QACvB,mBAAc,GAAG,KAAM,CAAC,CAAC,WAAW;QACpC,cAAS,GAAG,IAAI,GAAG,EAA4B,CAAC;QAQ7D,IAAI,CAAC,eAAe,GAAG,cAAc,IAAI,yCAAyC,CAAC;IACvF,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,QAAgB;QACnD,OAAO,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC;IACpC,CAAC;IAEM,qBAAqB,CAAC,OAAe,EAAE,QAAgB;QAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,yBAAyB,CAClC,OAAe,EACf,QAAgB,EAChB,WAAwB,EACxB,aAA4B,EAC5B,MAAgB;QAEhB,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAO,GAAG,EAAE,KAAK,IAAI,EAAE;YAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC,iCAAiC,CAAC,CAAC;gBAChJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClE,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACpD,OAAO;gBACX,CAAC;gBACD,KAAK,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;oBAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC7D,OAAO;YACX,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,CAAC;YACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,gDAAgD,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7F,IAAI,CAAC;oBACD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1G,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;wBACxB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;wBAC7D,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;wBACxB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;wBAC5B,MAAM;oBACV,CAAC;oBACD,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;oBAClC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,MAAM,EAAE,CAAC;wBACT,KAAK,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;oBACpC,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;oBAClE,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;oBAChD,OAAO;gBACX,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBAC3C,IAAI,SAAS,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC,iDAAiD,OAAO,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;wBACtC,SAAS;oBACb,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;oBACxB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC5B,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,eAAe,CAAC,OAAe,EAAE,QAAgB;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1E,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YACxB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;IACL,CAAC;IAEM,aAAa;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,SAAS,CAAC,GAAW;QACzB,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAsB,CAAC;YAC7F,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACnE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,KAAiB;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,GAAY;QACjC,MAAM,CAAC,GAAG,GAAuE,CAAC;QAClF,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,EAAU;QACpB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,EAAoB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC;gBACD,MAAM,QAAQ,CAAC;YACnB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,YAAY,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/F,CAAC;QACL,CAAC;QACD,MAAM,cAAc,GAAe,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACjD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,cAAc,EAAE,CAAC;gBAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACxC,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACjE,eAAe,yBAAyB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  export * from './utils/BaggageBuilderUtils';
2
2
  export * from './utils/ScopeUtils';
3
3
  export * from './utils/TurnContextUtils';
4
- export { AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
4
+ export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
5
+ export { BaggageMiddleware } from './middleware/BaggageMiddleware';
6
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY } from './middleware/OutputLoggingMiddleware';
7
+ export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
8
+ export type { ObservabilityHostingOptions } from './middleware/ObservabilityHostingManager';
5
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,yBAAyB,EAAE,MAAM,6BAA6B,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
@@ -5,5 +5,8 @@
5
5
  export * from './utils/BaggageBuilderUtils';
6
6
  export * from './utils/ScopeUtils';
7
7
  export * from './utils/TurnContextUtils';
8
- export { AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
8
+ export { AgenticTokenCache, AgenticTokenCacheInstance } from './caching/AgenticTokenCache';
9
+ export { BaggageMiddleware } from './middleware/BaggageMiddleware';
10
+ export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY } from './middleware/OutputLoggingMiddleware';
11
+ export { ObservabilityHostingManager } from './middleware/ObservabilityHostingManager';
9
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,yBAAyB,EAAE,MAAM,6BAA6B,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"}
@@ -0,0 +1,9 @@
1
+ import { TurnContext, Middleware } from '@microsoft/agents-hosting';
2
+ /**
3
+ * Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
4
+ * Async replies (ContinueConversation) are passed through without baggage setup.
5
+ */
6
+ export declare class BaggageMiddleware implements Middleware {
7
+ onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=BaggageMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaggageMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/BaggageMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAWpE;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAE5C,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAsB7E"}
@@ -0,0 +1,30 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { ActivityTypes, ActivityEventNames } from '@microsoft/agents-activity';
4
+ import { BaggageBuilder } from '@microsoft/agents-a365-observability';
5
+ import { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, } from '../utils/TurnContextUtils';
6
+ /**
7
+ * Middleware that propagates OpenTelemetry baggage context derived from TurnContext.
8
+ * Async replies (ContinueConversation) are passed through without baggage setup.
9
+ */
10
+ export class BaggageMiddleware {
11
+ async onTurn(context, next) {
12
+ const isAsyncReply = context.activity?.type === ActivityTypes.Event &&
13
+ context.activity?.name === ActivityEventNames.ContinueConversation;
14
+ if (isAsyncReply) {
15
+ await next();
16
+ return;
17
+ }
18
+ const baggageScope = new BaggageBuilder()
19
+ .setPairs(getCallerBaggagePairs(context))
20
+ .setPairs(getTargetAgentBaggagePairs(context))
21
+ .setPairs(getTenantIdPair(context))
22
+ .setPairs(getChannelBaggagePairs(context))
23
+ .setPairs(getConversationIdAndItemLinkPairs(context))
24
+ .build();
25
+ await baggageScope.run(async () => {
26
+ await next();
27
+ });
28
+ }
29
+ }
30
+ //# sourceMappingURL=BaggageMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaggageMiddleware.js","sourceRoot":"","sources":["../../../src/middleware/BaggageMiddleware.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAE5B,KAAK,CAAC,MAAM,CAAC,OAAoB,EAAE,IAAyB;QAC1D,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,aAAa,CAAC,KAAK;YAC9C,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,kBAAkB,CAAC,oBAAoB,CAAC;QAErE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE;aACtC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACxC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;aAC7C,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAClC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;aACzC,QAAQ,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;aACpD,KAAK,EAAE,CAAC;QAEX,MAAM,YAAY,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,IAAI,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { Middleware } from '@microsoft/agents-hosting';
2
+ /**
3
+ * Configuration options for the hosting observability layer.
4
+ */
5
+ export interface ObservabilityHostingOptions {
6
+ /** Enable baggage propagation middleware. Defaults to false. */
7
+ enableBaggage?: boolean;
8
+ /** Enable output logging middleware for tracing outgoing messages. Defaults to false. */
9
+ enableOutputLogging?: boolean;
10
+ }
11
+ /**
12
+ * Manager for configuring hosting-layer observability middleware.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const manager = new ObservabilityHostingManager();
17
+ * manager.configure(adapter, { enableOutputLogging: true });
18
+ * ```
19
+ */
20
+ export declare class ObservabilityHostingManager {
21
+ private _configured;
22
+ /**
23
+ * Registers observability middleware on the adapter.
24
+ * Subsequent calls are ignored.
25
+ */
26
+ configure(adapter: {
27
+ use(...middlewares: Array<Middleware>): void;
28
+ }, options: ObservabilityHostingOptions): void;
29
+ }
30
+ //# sourceMappingURL=ObservabilityHostingManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityHostingManager.d.ts","sourceRoot":"","sources":["../../../src/middleware/ObservabilityHostingManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,WAAW,CAAS;IAE5B;;;OAGG;IACH,SAAS,CACP,OAAO,EAAE;QAAE,GAAG,CAAC,GAAG,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;KAAE,EACzD,OAAO,EAAE,2BAA2B,GACnC,IAAI;CAqBR"}
@@ -0,0 +1,42 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { logger } from '@microsoft/agents-a365-observability';
4
+ import { BaggageMiddleware } from './BaggageMiddleware';
5
+ import { OutputLoggingMiddleware } from './OutputLoggingMiddleware';
6
+ /**
7
+ * Manager for configuring hosting-layer observability middleware.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const manager = new ObservabilityHostingManager();
12
+ * manager.configure(adapter, { enableOutputLogging: true });
13
+ * ```
14
+ */
15
+ export class ObservabilityHostingManager {
16
+ constructor() {
17
+ this._configured = false;
18
+ }
19
+ /**
20
+ * Registers observability middleware on the adapter.
21
+ * Subsequent calls are ignored.
22
+ */
23
+ configure(adapter, options) {
24
+ if (this._configured) {
25
+ logger.warn('[ObservabilityHostingManager] Already configured. Subsequent configure() calls are ignored.');
26
+ return;
27
+ }
28
+ const enableBaggage = options.enableBaggage === true;
29
+ const enableOutputLogging = options.enableOutputLogging === true;
30
+ if (enableBaggage) {
31
+ adapter.use(new BaggageMiddleware());
32
+ logger.info('[ObservabilityHostingManager] BaggageMiddleware registered.');
33
+ }
34
+ if (enableOutputLogging) {
35
+ adapter.use(new OutputLoggingMiddleware());
36
+ logger.info('[ObservabilityHostingManager] OutputLoggingMiddleware registered.');
37
+ }
38
+ logger.info(`[ObservabilityHostingManager] Configured. Baggage: ${enableBaggage}, OutputLogging: ${enableOutputLogging}.`);
39
+ this._configured = true;
40
+ }
41
+ }
42
+ //# sourceMappingURL=ObservabilityHostingManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObservabilityHostingManager.js","sourceRoot":"","sources":["../../../src/middleware/ObservabilityHostingManager.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAapE;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IAAxC;QACU,gBAAW,GAAG,KAAK,CAAC;IA8B9B,CAAC;IA5BC;;;OAGG;IACH,SAAS,CACP,OAAyD,EACzD,OAAoC;QAEpC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC;QACrD,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAEjE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sDAAsD,aAAa,oBAAoB,mBAAmB,GAAG,CAAC,CAAC;QAC3H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import { TurnContext, Middleware } from '@microsoft/agents-hosting';
2
+ /**
3
+ * TurnState key for the parent span reference.
4
+ * Set this in `turnState` to link OutputScope spans as children of an InvokeAgentScope.
5
+ */
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";
13
+ /**
14
+ * Middleware that creates {@link OutputScope} spans for outgoing messages.
15
+ * Links to a parent span when {@link A365_PARENT_SPAN_KEY} is set in turnState.
16
+ *
17
+ * **Privacy note:** Outgoing message content is captured verbatim
18
+ * as span attributes and exported to the configured telemetry backend.
19
+ */
20
+ export declare class OutputLoggingMiddleware implements Middleware {
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;
28
+ /**
29
+ * Creates a send handler that wraps outgoing messages in OutputScope spans.
30
+ * Reads parent span ref lazily so the agent handler can set it during `next()`.
31
+ */
32
+ private _createSendHandler;
33
+ }
34
+ //# sourceMappingURL=OutputLoggingMiddleware.d.ts.map
@@ -0,0 +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;AAc3F;;;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;IAyB5E;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CA6C3B"}