@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.
- package/README.md +86 -1
- package/dist/commonjs/a365/configuration/A365Configuration.js +1 -1
- package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
- package/dist/commonjs/a365/constants.d.ts +1 -1
- package/dist/commonjs/a365/constants.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +4 -2
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365Exporter.js +55 -30
- package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +3 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +5 -1
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/commonjs/a365/exporter/utils.d.ts +29 -1
- package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -1
- package/dist/commonjs/a365/exporter/utils.js +121 -5
- package/dist/commonjs/a365/exporter/utils.js.map +1 -1
- package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts +58 -0
- package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts.map +1 -0
- package/dist/commonjs/a365/hosting/agenticTokenCache.js +229 -0
- package/dist/commonjs/a365/hosting/agenticTokenCache.js.map +1 -0
- package/dist/commonjs/a365/hosting/index.d.ts +2 -0
- package/dist/commonjs/a365/hosting/index.d.ts.map +1 -1
- package/dist/commonjs/a365/hosting/index.js +4 -1
- package/dist/commonjs/a365/hosting/index.js.map +1 -1
- package/dist/commonjs/a365/index.d.ts +2 -2
- package/dist/commonjs/a365/index.d.ts.map +1 -1
- package/dist/commonjs/a365/index.js +3 -1
- package/dist/commonjs/a365/index.js.map +1 -1
- package/dist/commonjs/distro/distro.d.ts +8 -1
- package/dist/commonjs/distro/distro.d.ts.map +1 -1
- package/dist/commonjs/distro/distro.js +75 -6
- package/dist/commonjs/distro/distro.js.map +1 -1
- package/dist/commonjs/distro/loader.d.ts +10 -0
- package/dist/commonjs/distro/loader.d.ts.map +1 -0
- package/dist/commonjs/distro/loader.js +16 -0
- package/dist/commonjs/distro/loader.js.map +1 -0
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +2 -6
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +10 -14
- package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts +9 -8
- package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/tracer.js +40 -15
- package/dist/commonjs/genai/instrumentations/langchain/tracer.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/langchain/utils.js +259 -75
- package/dist/commonjs/genai/instrumentations/langchain/utils.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +0 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts +4 -5
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.js +72 -37
- package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/semconv.d.ts +0 -2
- package/dist/commonjs/genai/instrumentations/openai/semconv.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/semconv.js +1 -3
- package/dist/commonjs/genai/instrumentations/openai/semconv.js.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/utils.d.ts +37 -16
- package/dist/commonjs/genai/instrumentations/openai/utils.d.ts.map +1 -1
- package/dist/commonjs/genai/instrumentations/openai/utils.js +239 -60
- package/dist/commonjs/genai/instrumentations/openai/utils.js.map +1 -1
- package/dist/commonjs/genai/semconv.d.ts +2 -0
- package/dist/commonjs/genai/semconv.d.ts.map +1 -1
- package/dist/commonjs/genai/semconv.js +5 -1
- package/dist/commonjs/genai/semconv.js.map +1 -1
- package/dist/commonjs/index.d.ts +2 -2
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +3 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/types.d.ts +1 -8
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +1 -1
- package/dist/commonjs/types.js.map +1 -1
- package/dist/esm/a365/configuration/A365Configuration.js +1 -1
- package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
- package/dist/esm/a365/constants.d.ts +1 -1
- package/dist/esm/a365/constants.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts +4 -2
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365Exporter.js +56 -31
- package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +3 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js +5 -1
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
- package/dist/esm/a365/exporter/utils.d.ts +29 -1
- package/dist/esm/a365/exporter/utils.d.ts.map +1 -1
- package/dist/esm/a365/exporter/utils.js +119 -6
- package/dist/esm/a365/exporter/utils.js.map +1 -1
- package/dist/esm/a365/hosting/agenticTokenCache.d.ts +58 -0
- package/dist/esm/a365/hosting/agenticTokenCache.d.ts.map +1 -0
- package/dist/esm/a365/hosting/agenticTokenCache.js +225 -0
- package/dist/esm/a365/hosting/agenticTokenCache.js.map +1 -0
- package/dist/esm/a365/hosting/index.d.ts +2 -0
- package/dist/esm/a365/hosting/index.d.ts.map +1 -1
- package/dist/esm/a365/hosting/index.js +1 -0
- package/dist/esm/a365/hosting/index.js.map +1 -1
- package/dist/esm/a365/index.d.ts +2 -2
- package/dist/esm/a365/index.d.ts.map +1 -1
- package/dist/esm/a365/index.js +1 -1
- package/dist/esm/a365/index.js.map +1 -1
- package/dist/esm/distro/distro.d.ts +8 -1
- package/dist/esm/distro/distro.d.ts.map +1 -1
- package/dist/esm/distro/distro.js +74 -6
- package/dist/esm/distro/distro.js.map +1 -1
- package/dist/esm/distro/loader.d.ts +10 -0
- package/dist/esm/distro/loader.d.ts.map +1 -0
- package/dist/esm/distro/loader.js +14 -0
- package/dist/esm/distro/loader.js.map +1 -0
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +2 -6
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +10 -14
- package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/tracer.d.ts +9 -8
- package/dist/esm/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/tracer.js +41 -16
- package/dist/esm/genai/instrumentations/langchain/tracer.js.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/utils.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/langchain/utils.js +260 -76
- package/dist/esm/genai/instrumentations/langchain/utils.js.map +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +0 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts +4 -5
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.js +75 -40
- package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.js.map +1 -1
- package/dist/esm/genai/instrumentations/openai/semconv.d.ts +0 -2
- package/dist/esm/genai/instrumentations/openai/semconv.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/openai/semconv.js +0 -2
- package/dist/esm/genai/instrumentations/openai/semconv.js.map +1 -1
- package/dist/esm/genai/instrumentations/openai/utils.d.ts +37 -16
- package/dist/esm/genai/instrumentations/openai/utils.d.ts.map +1 -1
- package/dist/esm/genai/instrumentations/openai/utils.js +233 -57
- package/dist/esm/genai/instrumentations/openai/utils.js.map +1 -1
- package/dist/esm/genai/semconv.d.ts +2 -0
- package/dist/esm/genai/semconv.d.ts.map +1 -1
- package/dist/esm/genai/semconv.js +4 -0
- package/dist/esm/genai/semconv.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +1 -8
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/types.js.map +1 -1
- 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"}
|
package/dist/esm/a365/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/esm/a365/index.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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(
|
|
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
|
|
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":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAEL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,uCAAuC,EAAE,MAAM,8DAA8D,CAAC;AACvH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAO1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,GAAG,mCAAmC,CAAC;AAClF,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,GAAG,+BAA+B,CAAC;AAEjF,IAAI,GAAY,CAAC;AACjB,IAAI,mBAA6C,CAAC;AAClD,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAuC;IAC/E,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,uCAAuC,EAAE,CAAC;
|
|
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
|
|
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
|
|
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
|