@microsoft/opentelemetry 0.1.0-alpha.6 → 0.1.0-beta.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 (150) hide show
  1. package/README.md +86 -1
  2. package/dist/commonjs/a365/configuration/A365Configuration.js +1 -1
  3. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
  4. package/dist/commonjs/a365/constants.d.ts +1 -1
  5. package/dist/commonjs/a365/constants.d.ts.map +1 -1
  6. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +4 -2
  7. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  8. package/dist/commonjs/a365/exporter/Agent365Exporter.js +55 -30
  9. package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
  10. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +3 -0
  11. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  12. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +5 -1
  13. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  14. package/dist/commonjs/a365/exporter/utils.d.ts +29 -1
  15. package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -1
  16. package/dist/commonjs/a365/exporter/utils.js +121 -5
  17. package/dist/commonjs/a365/exporter/utils.js.map +1 -1
  18. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts +58 -0
  19. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts.map +1 -0
  20. package/dist/commonjs/a365/hosting/agenticTokenCache.js +229 -0
  21. package/dist/commonjs/a365/hosting/agenticTokenCache.js.map +1 -0
  22. package/dist/commonjs/a365/hosting/index.d.ts +2 -0
  23. package/dist/commonjs/a365/hosting/index.d.ts.map +1 -1
  24. package/dist/commonjs/a365/hosting/index.js +4 -1
  25. package/dist/commonjs/a365/hosting/index.js.map +1 -1
  26. package/dist/commonjs/a365/index.d.ts +2 -2
  27. package/dist/commonjs/a365/index.d.ts.map +1 -1
  28. package/dist/commonjs/a365/index.js +3 -1
  29. package/dist/commonjs/a365/index.js.map +1 -1
  30. package/dist/commonjs/distro/distro.d.ts +8 -1
  31. package/dist/commonjs/distro/distro.d.ts.map +1 -1
  32. package/dist/commonjs/distro/distro.js +75 -6
  33. package/dist/commonjs/distro/distro.js.map +1 -1
  34. package/dist/commonjs/distro/loader.d.ts +10 -0
  35. package/dist/commonjs/distro/loader.d.ts.map +1 -0
  36. package/dist/commonjs/distro/loader.js +16 -0
  37. package/dist/commonjs/distro/loader.js.map +1 -0
  38. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +2 -6
  39. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  40. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +10 -14
  41. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  42. package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts +9 -8
  43. package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
  44. package/dist/commonjs/genai/instrumentations/langchain/tracer.js +40 -15
  45. package/dist/commonjs/genai/instrumentations/langchain/tracer.js.map +1 -1
  46. package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts.map +1 -1
  47. package/dist/commonjs/genai/instrumentations/langchain/utils.js +259 -75
  48. package/dist/commonjs/genai/instrumentations/langchain/utils.js.map +1 -1
  49. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
  50. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +0 -1
  51. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
  52. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts +4 -5
  53. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts.map +1 -1
  54. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.js +72 -37
  55. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.js.map +1 -1
  56. package/dist/commonjs/genai/instrumentations/openai/semconv.d.ts +0 -2
  57. package/dist/commonjs/genai/instrumentations/openai/semconv.d.ts.map +1 -1
  58. package/dist/commonjs/genai/instrumentations/openai/semconv.js +1 -3
  59. package/dist/commonjs/genai/instrumentations/openai/semconv.js.map +1 -1
  60. package/dist/commonjs/genai/instrumentations/openai/utils.d.ts +37 -16
  61. package/dist/commonjs/genai/instrumentations/openai/utils.d.ts.map +1 -1
  62. package/dist/commonjs/genai/instrumentations/openai/utils.js +239 -60
  63. package/dist/commonjs/genai/instrumentations/openai/utils.js.map +1 -1
  64. package/dist/commonjs/genai/semconv.d.ts +2 -0
  65. package/dist/commonjs/genai/semconv.d.ts.map +1 -1
  66. package/dist/commonjs/genai/semconv.js +5 -1
  67. package/dist/commonjs/genai/semconv.js.map +1 -1
  68. package/dist/commonjs/index.d.ts +2 -2
  69. package/dist/commonjs/index.d.ts.map +1 -1
  70. package/dist/commonjs/index.js +3 -1
  71. package/dist/commonjs/index.js.map +1 -1
  72. package/dist/commonjs/types.d.ts +1 -8
  73. package/dist/commonjs/types.d.ts.map +1 -1
  74. package/dist/commonjs/types.js +1 -1
  75. package/dist/commonjs/types.js.map +1 -1
  76. package/dist/esm/a365/configuration/A365Configuration.js +1 -1
  77. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
  78. package/dist/esm/a365/constants.d.ts +1 -1
  79. package/dist/esm/a365/constants.d.ts.map +1 -1
  80. package/dist/esm/a365/exporter/Agent365Exporter.d.ts +4 -2
  81. package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  82. package/dist/esm/a365/exporter/Agent365Exporter.js +56 -31
  83. package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
  84. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +3 -0
  85. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  86. package/dist/esm/a365/exporter/Agent365ExporterOptions.js +5 -1
  87. package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  88. package/dist/esm/a365/exporter/utils.d.ts +29 -1
  89. package/dist/esm/a365/exporter/utils.d.ts.map +1 -1
  90. package/dist/esm/a365/exporter/utils.js +119 -6
  91. package/dist/esm/a365/exporter/utils.js.map +1 -1
  92. package/dist/esm/a365/hosting/agenticTokenCache.d.ts +58 -0
  93. package/dist/esm/a365/hosting/agenticTokenCache.d.ts.map +1 -0
  94. package/dist/esm/a365/hosting/agenticTokenCache.js +225 -0
  95. package/dist/esm/a365/hosting/agenticTokenCache.js.map +1 -0
  96. package/dist/esm/a365/hosting/index.d.ts +2 -0
  97. package/dist/esm/a365/hosting/index.d.ts.map +1 -1
  98. package/dist/esm/a365/hosting/index.js +1 -0
  99. package/dist/esm/a365/hosting/index.js.map +1 -1
  100. package/dist/esm/a365/index.d.ts +2 -2
  101. package/dist/esm/a365/index.d.ts.map +1 -1
  102. package/dist/esm/a365/index.js +1 -1
  103. package/dist/esm/a365/index.js.map +1 -1
  104. package/dist/esm/distro/distro.d.ts +8 -1
  105. package/dist/esm/distro/distro.d.ts.map +1 -1
  106. package/dist/esm/distro/distro.js +74 -6
  107. package/dist/esm/distro/distro.js.map +1 -1
  108. package/dist/esm/distro/loader.d.ts +10 -0
  109. package/dist/esm/distro/loader.d.ts.map +1 -0
  110. package/dist/esm/distro/loader.js +14 -0
  111. package/dist/esm/distro/loader.js.map +1 -0
  112. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +2 -6
  113. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  114. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +10 -14
  115. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  116. package/dist/esm/genai/instrumentations/langchain/tracer.d.ts +9 -8
  117. package/dist/esm/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
  118. package/dist/esm/genai/instrumentations/langchain/tracer.js +41 -16
  119. package/dist/esm/genai/instrumentations/langchain/tracer.js.map +1 -1
  120. package/dist/esm/genai/instrumentations/langchain/utils.d.ts.map +1 -1
  121. package/dist/esm/genai/instrumentations/langchain/utils.js +260 -76
  122. package/dist/esm/genai/instrumentations/langchain/utils.js.map +1 -1
  123. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
  124. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +0 -1
  125. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
  126. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts +4 -5
  127. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts.map +1 -1
  128. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.js +75 -40
  129. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.js.map +1 -1
  130. package/dist/esm/genai/instrumentations/openai/semconv.d.ts +0 -2
  131. package/dist/esm/genai/instrumentations/openai/semconv.d.ts.map +1 -1
  132. package/dist/esm/genai/instrumentations/openai/semconv.js +0 -2
  133. package/dist/esm/genai/instrumentations/openai/semconv.js.map +1 -1
  134. package/dist/esm/genai/instrumentations/openai/utils.d.ts +37 -16
  135. package/dist/esm/genai/instrumentations/openai/utils.d.ts.map +1 -1
  136. package/dist/esm/genai/instrumentations/openai/utils.js +233 -57
  137. package/dist/esm/genai/instrumentations/openai/utils.js.map +1 -1
  138. package/dist/esm/genai/semconv.d.ts +2 -0
  139. package/dist/esm/genai/semconv.d.ts.map +1 -1
  140. package/dist/esm/genai/semconv.js +4 -0
  141. package/dist/esm/genai/semconv.js.map +1 -1
  142. package/dist/esm/index.d.ts +2 -2
  143. package/dist/esm/index.d.ts.map +1 -1
  144. package/dist/esm/index.js +1 -1
  145. package/dist/esm/index.js.map +1 -1
  146. package/dist/esm/types.d.ts +1 -8
  147. package/dist/esm/types.d.ts.map +1 -1
  148. package/dist/esm/types.js +1 -1
  149. package/dist/esm/types.js.map +1 -1
  150. package/package.json +5 -5
@@ -0,0 +1,58 @@
1
+ import type { TurnContextLike } from "./types.js";
2
+ /**
3
+ * Minimal authorization shape required by AgenticTokenCache.
4
+ *
5
+ * Mirrors the `Authorization` interface from `@microsoft/agents-hosting`
6
+ * so the cache can be used without a direct dependency on that package.
7
+ */
8
+ export interface AuthorizationLike {
9
+ exchangeToken(turnContext: TurnContextLike, authHandlerName: string, options: {
10
+ scopes: string[];
11
+ }): Promise<{
12
+ token?: string;
13
+ } | undefined>;
14
+ }
15
+ /**
16
+ * Cache for agentic authentication tokens used by observability services.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Use the default singleton:
21
+ * import { AgenticTokenCacheInstance } from '@microsoft/opentelemetry';
22
+ *
23
+ * // Or create an instance with custom scopes:
24
+ * const cache = new AgenticTokenCache({ authScopes: ['api://my-scope/.default'] });
25
+ * ```
26
+ */
27
+ export declare class AgenticTokenCache {
28
+ private readonly _map;
29
+ private readonly _defaultRefreshSkewMs;
30
+ private readonly _defaultMaxTokenAgeMs;
31
+ private readonly _maxCacheSize;
32
+ private readonly _maxExpSeconds;
33
+ private readonly _keyLocks;
34
+ private readonly _authScopes;
35
+ constructor(options?: AgenticTokenCacheOptions);
36
+ static makeKey(agentId: string, tenantId: string): string;
37
+ getObservabilityToken(agentId: string, tenantId: string): string | null;
38
+ refreshObservabilityToken(agentId: string, tenantId: string, turnContext: TurnContextLike, authorization: AuthorizationLike, scopes?: string[], authHandlerName?: string): Promise<void>;
39
+ invalidateToken(agentId: string, tenantId: string): void;
40
+ invalidateAll(): void;
41
+ private decodeExp;
42
+ private isExpired;
43
+ private isRetriableError;
44
+ private sleep;
45
+ private withKeyLock;
46
+ }
47
+ /**
48
+ * Options for constructing an AgenticTokenCache instance.
49
+ */
50
+ export interface AgenticTokenCacheOptions {
51
+ /** OAuth scopes for token exchange. Defaults to the A365 observability scope. */
52
+ authScopes?: string[];
53
+ }
54
+ /**
55
+ * Default singleton instance of AgenticTokenCache using the default configuration.
56
+ */
57
+ export declare const AgenticTokenCacheInstance: AgenticTokenCache;
58
+ //# sourceMappingURL=agenticTokenCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticTokenCache.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/agenticTokenCache.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,CACX,WAAW,EAAE,eAAe,EAC5B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAC5B,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAC5C;AASD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAC5B,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,WAAW,CAAW;gBAE3B,OAAO,CAAC,EAAE,wBAAwB;WAWhC,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;IAuBjE,yBAAyB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,iBAAiB,EAChC,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,eAAe,GAAE,MAAkB,GAClC,OAAO,CAAC,IAAI,CAAC;IA0FT,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;IAaxB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,WAAW;CAkBpB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,mBAA0B,CAAC"}
@@ -0,0 +1,225 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Adapted from microsoft/Agent365-nodejs agents-a365-observability-hosting/src/caching/AgenticTokenCache.ts
5
+ */
6
+ import { getA365Logger } from "../logging.js";
7
+ /**
8
+ * Cache for agentic authentication tokens used by observability services.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Use the default singleton:
13
+ * import { AgenticTokenCacheInstance } from '@microsoft/opentelemetry';
14
+ *
15
+ * // Or create an instance with custom scopes:
16
+ * const cache = new AgenticTokenCache({ authScopes: ['api://my-scope/.default'] });
17
+ * ```
18
+ */
19
+ export class AgenticTokenCache {
20
+ _map = new Map();
21
+ _defaultRefreshSkewMs = 60_000;
22
+ _defaultMaxTokenAgeMs = 3_600_000;
23
+ _maxCacheSize = 10_000;
24
+ _maxExpSeconds = 86_400; // 24 hours
25
+ _keyLocks = new Map();
26
+ _authScopes;
27
+ constructor(options) {
28
+ const envScopes = process.env.A365_OBSERVABILITY_SCOPES_OVERRIDE?.trim();
29
+ if (envScopes) {
30
+ this._authScopes = envScopes.split(/\s+/).filter(Boolean);
31
+ }
32
+ else {
33
+ this._authScopes = options?.authScopes ?? [
34
+ "api://9b975845-388f-4429-889e-eab1ef63949c/.default",
35
+ ];
36
+ }
37
+ }
38
+ static makeKey(agentId, tenantId) {
39
+ return `${agentId}:${tenantId}`;
40
+ }
41
+ getObservabilityToken(agentId, tenantId) {
42
+ const key = AgenticTokenCache.makeKey(agentId, tenantId);
43
+ const entry = this._map.get(key);
44
+ // Touch entry for LRU recency
45
+ if (entry) {
46
+ this._map.delete(key);
47
+ this._map.set(key, entry);
48
+ }
49
+ if (!entry) {
50
+ getA365Logger().error(`[AgenticTokenCache] No cache entry for ${key}`);
51
+ return null;
52
+ }
53
+ if (!entry.token) {
54
+ getA365Logger().error(`[AgenticTokenCache] No token cached for ${key}`);
55
+ return null;
56
+ }
57
+ if (this.isExpired(entry)) {
58
+ getA365Logger().error(`[AgenticTokenCache] Token expired for ${key}`);
59
+ return null;
60
+ }
61
+ return entry.token;
62
+ }
63
+ async refreshObservabilityToken(agentId, tenantId, turnContext, authorization, scopes, authHandlerName = "agentic") {
64
+ const key = AgenticTokenCache.makeKey(agentId, tenantId);
65
+ if (!authorization) {
66
+ throw new Error("[AgenticTokenCache] Authorization not set");
67
+ }
68
+ if (!turnContext) {
69
+ throw new Error("[AgenticTokenCache] TurnContext not set");
70
+ }
71
+ return this.withKeyLock(key, async () => {
72
+ let entry = this._map.get(key);
73
+ if (!entry) {
74
+ const effectiveScopes = scopes && scopes.length > 0 ? [...scopes] : [...this._authScopes];
75
+ if (!Array.isArray(effectiveScopes) || effectiveScopes.length === 0) {
76
+ getA365Logger().error("[AgenticTokenCache] No valid scopes");
77
+ return;
78
+ }
79
+ entry = { scopes: effectiveScopes };
80
+ if (this._map.size >= this._maxCacheSize) {
81
+ // Evict least-recently-used (first key in Map insertion order)
82
+ const lruKey = this._map.keys().next().value;
83
+ if (lruKey !== undefined) {
84
+ this._map.delete(lruKey);
85
+ }
86
+ }
87
+ this._map.set(key, entry);
88
+ }
89
+ else {
90
+ // Touch for LRU recency
91
+ this._map.delete(key);
92
+ this._map.set(key, entry);
93
+ // Update scopes if caller provided new ones
94
+ if (scopes && scopes.length > 0) {
95
+ entry.scopes = [...scopes];
96
+ }
97
+ }
98
+ if (!Array.isArray(entry.scopes) || entry.scopes.length === 0) {
99
+ getA365Logger().error("[AgenticTokenCache] Entry has invalid scopes");
100
+ return;
101
+ }
102
+ if (entry.token && !this.isExpired(entry)) {
103
+ return;
104
+ }
105
+ const maxRetries = 2;
106
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
107
+ getA365Logger().info(`[AgenticTokenCache] Exchanging token attempt ${attempt + 1}/${maxRetries + 1}`);
108
+ try {
109
+ const tokenResponse = await authorization.exchangeToken(turnContext, authHandlerName, {
110
+ scopes: entry.scopes,
111
+ });
112
+ if (!tokenResponse?.token) {
113
+ getA365Logger().error("[AgenticTokenCache] Undefined token returned");
114
+ entry.token = undefined;
115
+ entry.expiresOn = undefined;
116
+ break;
117
+ }
118
+ entry.token = tokenResponse.token;
119
+ entry.acquiredOn = Date.now();
120
+ const oboExp = this.decodeExp(entry.token);
121
+ if (oboExp) {
122
+ entry.expiresOn = oboExp * 1000;
123
+ }
124
+ else {
125
+ getA365Logger().warn("[AgenticTokenCache] No exp claim, fallback TTL");
126
+ }
127
+ getA365Logger().info("[AgenticTokenCache] Token cached");
128
+ return;
129
+ }
130
+ catch (e) {
131
+ const retriable = this.isRetriableError(e);
132
+ if (retriable && attempt < maxRetries) {
133
+ getA365Logger().warn(`[AgenticTokenCache] Retriable failure attempt ${attempt + 1}`, e instanceof Error ? e.message : String(e));
134
+ await this.sleep(200 * (attempt + 1));
135
+ continue;
136
+ }
137
+ getA365Logger().error("[AgenticTokenCache] Non-retriable failure", e instanceof Error ? e.message : String(e));
138
+ entry.token = undefined;
139
+ entry.expiresOn = undefined;
140
+ break;
141
+ }
142
+ }
143
+ });
144
+ }
145
+ invalidateToken(agentId, tenantId) {
146
+ const entry = this._map.get(AgenticTokenCache.makeKey(agentId, tenantId));
147
+ if (entry) {
148
+ entry.token = undefined;
149
+ entry.expiresOn = undefined;
150
+ }
151
+ }
152
+ invalidateAll() {
153
+ this._map.clear();
154
+ }
155
+ decodeExp(jwt) {
156
+ try {
157
+ if (!jwt)
158
+ return undefined;
159
+ const parts = jwt.split(".");
160
+ if (parts.length < 2)
161
+ return undefined;
162
+ const payloadSegment = parts[1];
163
+ const padded = payloadSegment + "=".repeat((4 - (payloadSegment.length % 4)) % 4);
164
+ const json = JSON.parse(Buffer.from(padded, "base64").toString("utf8"));
165
+ if (typeof json.exp !== "number")
166
+ return undefined;
167
+ const maxExp = Math.floor(Date.now() / 1000) + this._maxExpSeconds;
168
+ return Math.min(json.exp, maxExp);
169
+ }
170
+ catch {
171
+ return undefined;
172
+ }
173
+ }
174
+ isExpired(entry) {
175
+ const now = Date.now();
176
+ if (entry.expiresOn) {
177
+ return now >= entry.expiresOn - this._defaultRefreshSkewMs;
178
+ }
179
+ if (entry.acquiredOn) {
180
+ return now >= entry.acquiredOn + this._defaultMaxTokenAgeMs;
181
+ }
182
+ return true;
183
+ }
184
+ isRetriableError(err) {
185
+ const e = err;
186
+ if (!e)
187
+ return false;
188
+ const msg = (e.message || "").toLowerCase();
189
+ if (msg.includes("timeout") || msg.includes("econnreset") || msg.includes("network"))
190
+ return true;
191
+ if (typeof e.status === "number") {
192
+ if (e.status === 408 || e.status === 429)
193
+ return true;
194
+ if (e.status >= 500 && e.status < 600)
195
+ return true;
196
+ }
197
+ return false;
198
+ }
199
+ sleep(ms) {
200
+ return new Promise((resolve) => setTimeout(resolve, ms));
201
+ }
202
+ withKeyLock(key, fn) {
203
+ // Chain onto any existing promise for this key so that concurrent
204
+ // callers are serialised rather than racing after the same await.
205
+ const previous = this._keyLocks.get(key) ?? Promise.resolve();
206
+ const next = previous
207
+ .catch(() => {
208
+ /* swallow */
209
+ })
210
+ .then(fn);
211
+ this._keyLocks.set(key, next);
212
+ // Clean up the lock when the chain settles and hasn't been extended.
213
+ next.finally(() => {
214
+ if (this._keyLocks.get(key) === next) {
215
+ this._keyLocks.delete(key);
216
+ }
217
+ });
218
+ return next;
219
+ }
220
+ }
221
+ /**
222
+ * Default singleton instance of AgenticTokenCache using the default configuration.
223
+ */
224
+ export const AgenticTokenCacheInstance = new AgenticTokenCache();
225
+ //# sourceMappingURL=agenticTokenCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agenticTokenCache.js","sourceRoot":"","sources":["../../../../src/a365/hosting/agenticTokenCache.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export { BaggageMiddleware } from "./baggageMiddleware.js";
5
5
  export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, } from "./outputLoggingMiddleware.js";
6
6
  export { ObservabilityHostingManager } from "./observabilityHostingManager.js";
7
7
  export type { ObservabilityHostingOptions } from "./observabilityHostingManager.js";
8
+ export { AgenticTokenCache, AgenticTokenCacheInstance } from "./agenticTokenCache.js";
9
+ export type { AuthorizationLike, AgenticTokenCacheOptions } from "./agenticTokenCache.js";
8
10
  export { configureA365Hosting } from "./configureA365Hosting.js";
9
11
  export type { HostingAdapterLike, TurnContextLike, ActivityLike, MiddlewareLike, SendActivitiesHandler, } from "./types.js";
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,YAAY,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACtF,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
@@ -6,5 +6,6 @@ export { getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, get
6
6
  export { BaggageMiddleware } from "./baggageMiddleware.js";
7
7
  export { OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, } from "./outputLoggingMiddleware.js";
8
8
  export { ObservabilityHostingManager } from "./observabilityHostingManager.js";
9
+ export { AgenticTokenCache, AgenticTokenCacheInstance } from "./agenticTokenCache.js";
9
10
  export { configureA365Hosting } from "./configureA365Hosting.js";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a365/hosting/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -13,6 +13,6 @@ export type { HeadersCarrier } from "./context.js";
13
13
  export { BaggageBuilder, BaggageScope } from "./middleware/index.js";
14
14
  export { A365SpanProcessor, GENERIC_ATTRIBUTES, INVOKE_AGENT_ATTRIBUTES, } from "./processors/index.js";
15
15
  export { runWithExportToken, updateExportToken, getExportToken } from "./context/tokenContext.js";
16
- export { BaggageBuilderUtils, ScopeUtils, getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, BaggageMiddleware, OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, ObservabilityHostingManager, configureA365Hosting, } from "./hosting/index.js";
17
- export type { ObservabilityHostingOptions, HostingAdapterLike, TurnContextLike, ActivityLike, MiddlewareLike, SendActivitiesHandler, } from "./hosting/index.js";
16
+ export { BaggageBuilderUtils, ScopeUtils, getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, BaggageMiddleware, OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, ObservabilityHostingManager, AgenticTokenCache, AgenticTokenCacheInstance, configureA365Hosting, } from "./hosting/index.js";
17
+ export type { ObservabilityHostingOptions, AuthorizationLike, AgenticTokenCacheOptions, HostingAdapterLike, TurnContextLike, ActivityLike, MiddlewareLike, SendActivitiesHandler, } from "./hosting/index.js";
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a365/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,OAAO,EACP,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGlG,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/a365/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,OAAO,EACP,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGlG,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC"}
@@ -19,5 +19,5 @@ export { A365SpanProcessor, GENERIC_ATTRIBUTES, INVOKE_AGENT_ATTRIBUTES, } from
19
19
  // ── Token context ───────────────────────────────────────────────────────────
20
20
  export { runWithExportToken, updateExportToken, getExportToken } from "./context/tokenContext.js";
21
21
  // ── Hosting utilities ───────────────────────────────────────────────────────
22
- export { BaggageBuilderUtils, ScopeUtils, getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, BaggageMiddleware, OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, ObservabilityHostingManager, configureA365Hosting, } from "./hosting/index.js";
22
+ export { BaggageBuilderUtils, ScopeUtils, getCallerBaggagePairs, getTargetAgentBaggagePairs, getTenantIdPair, getChannelBaggagePairs, getConversationIdAndItemLinkPairs, resolveEmbodiedAgentIds, BaggageMiddleware, OutputLoggingMiddleware, A365_PARENT_SPAN_KEY, A365_AUTH_TOKEN_KEY, ObservabilityHostingManager, AgenticTokenCache, AgenticTokenCacheInstance, configureA365Hosting, } from "./hosting/index.js";
23
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a365/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,+EAA+E;AAC/E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,+EAA+E;AAC/E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AA8BxB,+EAA+E;AAC/E,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAGtB,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErE,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAElG,+EAA+E;AAC/E,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/a365/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG5E,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,+EAA+E;AAC/E,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAE3B,+EAA+E;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,+EAA+E;AAC/E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AA8BxB,+EAA+E;AAC/E,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAGtB,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErE,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAElG,+EAA+E;AAC/E,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
@@ -1,5 +1,12 @@
1
1
  import { NodeSDK } from "@opentelemetry/sdk-node";
2
- import type { MicrosoftOpenTelemetryOptions } from "../types.js";
2
+ import type { MicrosoftOpenTelemetryOptions, InstrumentationOptions } from "../types.js";
3
+ /**
4
+ * When A365 export is enabled, default to GenAI-focused telemetry by disabling
5
+ * non-GenAI instrumentations unless callers explicitly configure them.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare function _applyA365InstrumentationDefaults(instrumentationOptions: InstrumentationOptions, userInstrumentationOptions: unknown, a365Enabled: boolean): void;
3
10
  /**
4
11
  * Initialize Microsoft OpenTelemetry distribution.
5
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"distro.d.ts","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AA0BlD,OAAO,KAAK,EACV,6BAA6B,EAI9B,MAAM,aAAa,CAAC;AAYrB;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,IAAI,CA6JvF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9D;AAED;;;GAGG;AAEH,wBAAgB,eAAe,IAAI,OAAO,GAAG,SAAS,CAErD;AAcD;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC"}
1
+ {"version":3,"file":"distro.d.ts","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AA0BlD,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EAGvB,MAAM,aAAa,CAAC;AA+BrB;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,sBAAsB,EAAE,sBAAsB,EAC9C,0BAA0B,EAAE,OAAO,EACnC,WAAW,EAAE,OAAO,GACnB,IAAI,CAuCN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAkLvF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9D;AAED;;;GAGG;AAEH,wBAAgB,eAAe,IAAI,OAAO,GAAG,SAAS,CAErD;AAcD;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC"}
@@ -24,6 +24,60 @@ process.env["MICROSOFT_OPENTELEMETRY_VERSION"] = MICROSOFT_OPENTELEMETRY_VERSION
24
24
  let sdk;
25
25
  let disposeAzureMonitor;
26
26
  let isShutdown = false;
27
+ const A365_DISABLED_INSTRUMENTATIONS_BY_DEFAULT = [
28
+ "http",
29
+ "azureSdk",
30
+ "mongoDb",
31
+ "mySql",
32
+ "postgreSql",
33
+ "redis",
34
+ "redis4",
35
+ "bunyan",
36
+ "winston",
37
+ ];
38
+ /**
39
+ * Redis and redis4 share the same underlying instrumentation. If a caller
40
+ * explicitly configures either key, treat both as explicitly configured so
41
+ * the other is not inadvertently disabled.
42
+ */
43
+ const REDIS_LINKED_KEYS = ["redis", "redis4"];
44
+ /**
45
+ * When A365 export is enabled, default to GenAI-focused telemetry by disabling
46
+ * non-GenAI instrumentations unless callers explicitly configure them.
47
+ *
48
+ * @internal
49
+ */
50
+ export function _applyA365InstrumentationDefaults(instrumentationOptions, userInstrumentationOptions, a365Enabled) {
51
+ if (!a365Enabled) {
52
+ return;
53
+ }
54
+ const userOptionsRecord = userInstrumentationOptions && typeof userInstrumentationOptions === "object"
55
+ ? userInstrumentationOptions
56
+ : undefined;
57
+ // Pre-compute whether any Redis-linked key was explicitly configured so
58
+ // that configuring `redis4` alone does not inadvertently disable `redis`
59
+ // (and vice-versa), which would break the underlying shared instrumentation.
60
+ const redisLinkedExplicit = !!userOptionsRecord &&
61
+ REDIS_LINKED_KEYS.some((k) => Object.prototype.hasOwnProperty.call(userOptionsRecord, k));
62
+ for (const instrumentationKey of A365_DISABLED_INSTRUMENTATIONS_BY_DEFAULT) {
63
+ const isExplicitlyConfigured = !!userOptionsRecord &&
64
+ Object.prototype.hasOwnProperty.call(userOptionsRecord, instrumentationKey);
65
+ // Treat redis/redis4 as a linked pair: if either was set by the caller,
66
+ // skip disabling both keys.
67
+ if (isExplicitlyConfigured ||
68
+ (redisLinkedExplicit &&
69
+ REDIS_LINKED_KEYS.includes(instrumentationKey))) {
70
+ continue;
71
+ }
72
+ const currentValue = instrumentationOptions[instrumentationKey];
73
+ if (currentValue && typeof currentValue === "object") {
74
+ currentValue.enabled = false;
75
+ }
76
+ else {
77
+ instrumentationOptions[instrumentationKey] = { enabled: false };
78
+ }
79
+ }
80
+ }
27
81
  /**
28
82
  * Initialize Microsoft OpenTelemetry distribution.
29
83
  *
@@ -40,6 +94,7 @@ let isShutdown = false;
40
94
  export function useMicrosoftOpenTelemetry(options) {
41
95
  const config = new InternalConfig(options);
42
96
  patchOpenTelemetryInstrumentationEnable();
97
+ const a365Config = new A365Configuration(options?.a365);
43
98
  // Azure Monitor is enabled when configured programmatically or via JSON config.
44
99
  // An explicit `enabled: false` always wins, even if a connection string is present.
45
100
  // Connection-string validation is delegated to the Azure Monitor module.
@@ -66,6 +121,12 @@ export function useMicrosoftOpenTelemetry(options) {
66
121
  // registerGlobal() to create a fresh one with the correct version.
67
122
  const globalOpentelemetryApiKey = Symbol.for("opentelemetry.js.api.1");
68
123
  delete globalThis[globalOpentelemetryApiKey];
124
+ // Apply A365 instrumentation defaults (disable non-GenAI instrumentations)
125
+ // when A365 is enabled and Azure Monitor is not. When both A365 and Azure
126
+ // Monitor are active, infra instrumentations must remain enabled so Azure
127
+ // Monitor receives the telemetry it expects.
128
+ const applyA365Defaults = a365Config.enabled && !azureMonitorEnabled;
129
+ _applyA365InstrumentationDefaults(config.instrumentationOptions, options?.instrumentationOptions, applyA365Defaults);
69
130
  // ── Instrumentations, sampler, and views (always created) ─────────
70
131
  const instrumentations = createInstrumentations(config, {
71
132
  filterAzureMonitorRequests: azureMonitorEnabled,
@@ -105,8 +166,13 @@ export function useMicrosoftOpenTelemetry(options) {
105
166
  }
106
167
  }
107
168
  // ── A365 exporter (enabled via options.a365 or env vars) ──────────
108
- const a365Config = new A365Configuration(options?.a365);
109
169
  const a365ConsoleExportFallback = !a365Config.enabled && !!options?.a365;
170
+ if (a365Config.enabled || a365ConsoleExportFallback) {
171
+ // A365SpanProcessor copies baggage (tenant, agent, session, etc.) and
172
+ // telemetry.sdk.* attributes to span attributes — needed regardless of
173
+ // whether the A365 exporter or console fallback is active.
174
+ spanProcessors.push(new A365SpanProcessor());
175
+ }
110
176
  if (a365Config.enabled) {
111
177
  const a365Exporter = new Agent365Exporter({
112
178
  clusterCategory: a365Config.clusterCategory,
@@ -114,8 +180,6 @@ export function useMicrosoftOpenTelemetry(options) {
114
180
  authScopes: a365Config.authScopes,
115
181
  tokenResolver: a365Config.tokenResolver,
116
182
  });
117
- // A365SpanProcessor copies baggage (tenant, agent, session, etc.) to span attributes
118
- spanProcessors.push(new A365SpanProcessor());
119
183
  spanProcessors.push(new BatchSpanProcessor(a365Exporter));
120
184
  }
121
185
  else if (a365ConsoleExportFallback) {
@@ -173,7 +237,11 @@ export function useMicrosoftOpenTelemetry(options) {
173
237
  sdk.start();
174
238
  // Initialize GenAI instrumentations after providers are registered so any
175
239
  // tracer they capture is backed by the active SDK provider.
176
- initializeGenAIInstrumentations(options?.instrumentationOptions);
240
+ // When A365 defaults were applied, use the resolved config so GenAI
241
+ // instrumentations are active by default even if the caller omitted
242
+ // instrumentationOptions. Otherwise honour the caller's original options
243
+ // to avoid initializing GenAI when it was not requested.
244
+ initializeGenAIInstrumentations(applyA365Defaults ? config.instrumentationOptions : options?.instrumentationOptions);
177
245
  }
178
246
  /**
179
247
  * Shutdown Microsoft OpenTelemetry distribution.
@@ -219,7 +287,7 @@ async function initializeOpenAIAgentsInstrumentation(options) {
219
287
  "Ensure @openai/agents is installed when openaiAgents config is enabled.", error);
220
288
  }
221
289
  }
222
- async function initializeLangChainInstrumentation(options) {
290
+ async function initializeLangChainInstrumentation(_options) {
223
291
  try {
224
292
  const [{ LangChainTraceInstrumentor }, callbackManagerModule] = await Promise.all([
225
293
  import("../genai/instrumentations/langchain/langchainTraceInstrumentor.js"),
@@ -227,7 +295,7 @@ async function initializeLangChainInstrumentation(options) {
227
295
  ]);
228
296
  if (isShutdown)
229
297
  return;
230
- LangChainTraceInstrumentor.instrument(callbackManagerModule, options);
298
+ LangChainTraceInstrumentor.instrument(callbackManagerModule);
231
299
  }
232
300
  catch (error) {
233
301
  Logger.getInstance().warn("[GenAI] Failed to initialize LangChain instrumentation. " +
@@ -1 +1 @@
1
- {"version":3,"file":"distro.js","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distro.js","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ESM loader entry point for Microsoft OpenTelemetry distro.
3
+ *
4
+ * For ESM applications, this loader should be preloaded with the --import flag
5
+ * so OpenTelemetry import hooks are registered before application modules load.
6
+ *
7
+ * Usage: node --import @microsoft/opentelemetry/loader <your-app-entry-point>
8
+ */
9
+ import "../azureMonitor/loader.js";
10
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/distro/loader.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAIH,OAAO,2BAA2B,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * ESM loader entry point for Microsoft OpenTelemetry distro.
5
+ *
6
+ * For ESM applications, this loader should be preloaded with the --import flag
7
+ * so OpenTelemetry import hooks are registered before application modules load.
8
+ *
9
+ * Usage: node --import @microsoft/opentelemetry/loader <your-app-entry-point>
10
+ */
11
+ // Reuse the shared loader registration implementation so this entrypoint stays
12
+ // in sync with the Azure Monitor loader behavior.
13
+ import "../azureMonitor/loader.js";
14
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/distro/loader.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,kDAAkD;AAClD,OAAO,2BAA2B,CAAC"}
@@ -11,9 +11,7 @@ export declare class LangChainTraceInstrumentor {
11
11
  * @param module The CallbackManager module to instrument
12
12
  * @param options Optional configuration options
13
13
  */
14
- static instrument(module: CallbackManagerModuleType, options?: {
15
- isContentRecordingEnabled?: boolean;
16
- }): void;
14
+ static instrument(module: CallbackManagerModuleType): void;
17
15
  /**
18
16
  * Enable LangChain instrumentation
19
17
  */
@@ -27,8 +25,6 @@ export declare class LangChainTraceInstrumentor {
27
25
  */
28
26
  static resetInstance(): void;
29
27
  }
30
- export declare function addTracerToHandlers(tracer: Tracer, handlers: CallbackManagerModule.Callbacks | undefined, options?: {
31
- isContentRecordingEnabled?: boolean;
32
- }): CallbackManagerModule.Callbacks;
28
+ export declare function addTracerToHandlers(tracer: Tracer, handlers: CallbackManagerModule.Callbacks | undefined): CallbackManagerModule.Callbacks;
33
29
  export {};
34
30
  //# sourceMappingURL=langchainTraceInstrumentor.d.ts.map