@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
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
};
|
|
36
36
|
})();
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports._applyA365InstrumentationDefaults = _applyA365InstrumentationDefaults;
|
|
38
39
|
exports.useMicrosoftOpenTelemetry = useMicrosoftOpenTelemetry;
|
|
39
40
|
exports.shutdownMicrosoftOpenTelemetry = shutdownMicrosoftOpenTelemetry;
|
|
40
41
|
exports._getSdkInstance = _getSdkInstance;
|
|
@@ -63,6 +64,60 @@ process.env["MICROSOFT_OPENTELEMETRY_VERSION"] = types_js_2.MICROSOFT_OPENTELEME
|
|
|
63
64
|
let sdk;
|
|
64
65
|
let disposeAzureMonitor;
|
|
65
66
|
let isShutdown = false;
|
|
67
|
+
const A365_DISABLED_INSTRUMENTATIONS_BY_DEFAULT = [
|
|
68
|
+
"http",
|
|
69
|
+
"azureSdk",
|
|
70
|
+
"mongoDb",
|
|
71
|
+
"mySql",
|
|
72
|
+
"postgreSql",
|
|
73
|
+
"redis",
|
|
74
|
+
"redis4",
|
|
75
|
+
"bunyan",
|
|
76
|
+
"winston",
|
|
77
|
+
];
|
|
78
|
+
/**
|
|
79
|
+
* Redis and redis4 share the same underlying instrumentation. If a caller
|
|
80
|
+
* explicitly configures either key, treat both as explicitly configured so
|
|
81
|
+
* the other is not inadvertently disabled.
|
|
82
|
+
*/
|
|
83
|
+
const REDIS_LINKED_KEYS = ["redis", "redis4"];
|
|
84
|
+
/**
|
|
85
|
+
* When A365 export is enabled, default to GenAI-focused telemetry by disabling
|
|
86
|
+
* non-GenAI instrumentations unless callers explicitly configure them.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
function _applyA365InstrumentationDefaults(instrumentationOptions, userInstrumentationOptions, a365Enabled) {
|
|
91
|
+
if (!a365Enabled) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const userOptionsRecord = userInstrumentationOptions && typeof userInstrumentationOptions === "object"
|
|
95
|
+
? userInstrumentationOptions
|
|
96
|
+
: undefined;
|
|
97
|
+
// Pre-compute whether any Redis-linked key was explicitly configured so
|
|
98
|
+
// that configuring `redis4` alone does not inadvertently disable `redis`
|
|
99
|
+
// (and vice-versa), which would break the underlying shared instrumentation.
|
|
100
|
+
const redisLinkedExplicit = !!userOptionsRecord &&
|
|
101
|
+
REDIS_LINKED_KEYS.some((k) => Object.prototype.hasOwnProperty.call(userOptionsRecord, k));
|
|
102
|
+
for (const instrumentationKey of A365_DISABLED_INSTRUMENTATIONS_BY_DEFAULT) {
|
|
103
|
+
const isExplicitlyConfigured = !!userOptionsRecord &&
|
|
104
|
+
Object.prototype.hasOwnProperty.call(userOptionsRecord, instrumentationKey);
|
|
105
|
+
// Treat redis/redis4 as a linked pair: if either was set by the caller,
|
|
106
|
+
// skip disabling both keys.
|
|
107
|
+
if (isExplicitlyConfigured ||
|
|
108
|
+
(redisLinkedExplicit &&
|
|
109
|
+
REDIS_LINKED_KEYS.includes(instrumentationKey))) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const currentValue = instrumentationOptions[instrumentationKey];
|
|
113
|
+
if (currentValue && typeof currentValue === "object") {
|
|
114
|
+
currentValue.enabled = false;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
instrumentationOptions[instrumentationKey] = { enabled: false };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
66
121
|
/**
|
|
67
122
|
* Initialize Microsoft OpenTelemetry distribution.
|
|
68
123
|
*
|
|
@@ -79,6 +134,7 @@ let isShutdown = false;
|
|
|
79
134
|
function useMicrosoftOpenTelemetry(options) {
|
|
80
135
|
const config = new config_js_1.InternalConfig(options);
|
|
81
136
|
(0, opentelemetryInstrumentationPatcher_js_1.patchOpenTelemetryInstrumentationEnable)();
|
|
137
|
+
const a365Config = new index_js_5.A365Configuration(options?.a365);
|
|
82
138
|
// Azure Monitor is enabled when configured programmatically or via JSON config.
|
|
83
139
|
// An explicit `enabled: false` always wins, even if a connection string is present.
|
|
84
140
|
// Connection-string validation is delegated to the Azure Monitor module.
|
|
@@ -105,6 +161,12 @@ function useMicrosoftOpenTelemetry(options) {
|
|
|
105
161
|
// registerGlobal() to create a fresh one with the correct version.
|
|
106
162
|
const globalOpentelemetryApiKey = Symbol.for("opentelemetry.js.api.1");
|
|
107
163
|
delete globalThis[globalOpentelemetryApiKey];
|
|
164
|
+
// Apply A365 instrumentation defaults (disable non-GenAI instrumentations)
|
|
165
|
+
// when A365 is enabled and Azure Monitor is not. When both A365 and Azure
|
|
166
|
+
// Monitor are active, infra instrumentations must remain enabled so Azure
|
|
167
|
+
// Monitor receives the telemetry it expects.
|
|
168
|
+
const applyA365Defaults = a365Config.enabled && !azureMonitorEnabled;
|
|
169
|
+
_applyA365InstrumentationDefaults(config.instrumentationOptions, options?.instrumentationOptions, applyA365Defaults);
|
|
108
170
|
// ── Instrumentations, sampler, and views (always created) ─────────
|
|
109
171
|
const instrumentations = (0, instrumentations_js_1.createInstrumentations)(config, {
|
|
110
172
|
filterAzureMonitorRequests: azureMonitorEnabled,
|
|
@@ -144,8 +206,13 @@ function useMicrosoftOpenTelemetry(options) {
|
|
|
144
206
|
}
|
|
145
207
|
}
|
|
146
208
|
// ── A365 exporter (enabled via options.a365 or env vars) ──────────
|
|
147
|
-
const a365Config = new index_js_5.A365Configuration(options?.a365);
|
|
148
209
|
const a365ConsoleExportFallback = !a365Config.enabled && !!options?.a365;
|
|
210
|
+
if (a365Config.enabled || a365ConsoleExportFallback) {
|
|
211
|
+
// A365SpanProcessor copies baggage (tenant, agent, session, etc.) and
|
|
212
|
+
// telemetry.sdk.* attributes to span attributes — needed regardless of
|
|
213
|
+
// whether the A365 exporter or console fallback is active.
|
|
214
|
+
spanProcessors.push(new index_js_5.A365SpanProcessor());
|
|
215
|
+
}
|
|
149
216
|
if (a365Config.enabled) {
|
|
150
217
|
const a365Exporter = new index_js_5.Agent365Exporter({
|
|
151
218
|
clusterCategory: a365Config.clusterCategory,
|
|
@@ -153,8 +220,6 @@ function useMicrosoftOpenTelemetry(options) {
|
|
|
153
220
|
authScopes: a365Config.authScopes,
|
|
154
221
|
tokenResolver: a365Config.tokenResolver,
|
|
155
222
|
});
|
|
156
|
-
// A365SpanProcessor copies baggage (tenant, agent, session, etc.) to span attributes
|
|
157
|
-
spanProcessors.push(new index_js_5.A365SpanProcessor());
|
|
158
223
|
spanProcessors.push(new sdk_trace_base_1.BatchSpanProcessor(a365Exporter));
|
|
159
224
|
}
|
|
160
225
|
else if (a365ConsoleExportFallback) {
|
|
@@ -212,7 +277,11 @@ function useMicrosoftOpenTelemetry(options) {
|
|
|
212
277
|
sdk.start();
|
|
213
278
|
// Initialize GenAI instrumentations after providers are registered so any
|
|
214
279
|
// tracer they capture is backed by the active SDK provider.
|
|
215
|
-
|
|
280
|
+
// When A365 defaults were applied, use the resolved config so GenAI
|
|
281
|
+
// instrumentations are active by default even if the caller omitted
|
|
282
|
+
// instrumentationOptions. Otherwise honour the caller's original options
|
|
283
|
+
// to avoid initializing GenAI when it was not requested.
|
|
284
|
+
initializeGenAIInstrumentations(applyA365Defaults ? config.instrumentationOptions : options?.instrumentationOptions);
|
|
216
285
|
}
|
|
217
286
|
/**
|
|
218
287
|
* Shutdown Microsoft OpenTelemetry distribution.
|
|
@@ -258,7 +327,7 @@ async function initializeOpenAIAgentsInstrumentation(options) {
|
|
|
258
327
|
"Ensure @openai/agents is installed when openaiAgents config is enabled.", error);
|
|
259
328
|
}
|
|
260
329
|
}
|
|
261
|
-
async function initializeLangChainInstrumentation(
|
|
330
|
+
async function initializeLangChainInstrumentation(_options) {
|
|
262
331
|
try {
|
|
263
332
|
const [{ LangChainTraceInstrumentor }, callbackManagerModule] = await Promise.all([
|
|
264
333
|
Promise.resolve().then(() => __importStar(require("../genai/instrumentations/langchain/langchainTraceInstrumentor.js"))),
|
|
@@ -266,7 +335,7 @@ async function initializeLangChainInstrumentation(options) {
|
|
|
266
335
|
]);
|
|
267
336
|
if (isShutdown)
|
|
268
337
|
return;
|
|
269
|
-
LangChainTraceInstrumentor.instrument(callbackManagerModule
|
|
338
|
+
LangChainTraceInstrumentor.instrument(callbackManagerModule);
|
|
270
339
|
}
|
|
271
340
|
catch (error) {
|
|
272
341
|
index_js_6.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
/**
|
|
6
|
+
* ESM loader entry point for Microsoft OpenTelemetry distro.
|
|
7
|
+
*
|
|
8
|
+
* For ESM applications, this loader should be preloaded with the --import flag
|
|
9
|
+
* so OpenTelemetry import hooks are registered before application modules load.
|
|
10
|
+
*
|
|
11
|
+
* Usage: node --import @microsoft/opentelemetry/loader <your-app-entry-point>
|
|
12
|
+
*/
|
|
13
|
+
// Reuse the shared loader registration implementation so this entrypoint stays
|
|
14
|
+
// in sync with the Azure Monitor loader behavior.
|
|
15
|
+
require("../azureMonitor/loader.js");
|
|
16
|
+
//# 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,qCAAmC"}
|
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchainTraceInstrumentor.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AASzD,KAAK,yBAAyB,GAAG,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"langchainTraceInstrumentor.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,qBAAqB,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AASzD,KAAK,yBAAyB,GAAG,OAAO,qBAAqB,CAAC;AAoH9D;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAI1D;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAOrB;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,IAAI;IAOtB;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,qBAAqB,CAAC,SAAS,GAAG,SAAS,GACpD,qBAAqB,CAAC,SAAS,CAgBjC"}
|
|
@@ -14,8 +14,7 @@ class LangChainTraceInstrumentorImpl extends instrumentation_1.InstrumentationBa
|
|
|
14
14
|
_hasBeenEnabled = false;
|
|
15
15
|
_isPatched = false;
|
|
16
16
|
otelTracer;
|
|
17
|
-
|
|
18
|
-
constructor(options) {
|
|
17
|
+
constructor() {
|
|
19
18
|
if (LangChainTraceInstrumentorImpl._instance !== null) {
|
|
20
19
|
throw new Error("LangChainTraceInstrumentor can only be instantiated once.");
|
|
21
20
|
}
|
|
@@ -23,13 +22,12 @@ class LangChainTraceInstrumentorImpl extends instrumentation_1.InstrumentationBa
|
|
|
23
22
|
enabled: true,
|
|
24
23
|
});
|
|
25
24
|
this.otelTracer = api_1.trace.getTracer("microsoft-otel-langchain", "1.0.0");
|
|
26
|
-
this.isContentRecordingEnabled = options?.isContentRecordingEnabled ?? false;
|
|
27
25
|
LangChainTraceInstrumentorImpl._instance = this;
|
|
28
26
|
api_1.diag.info("[LangChainTraceInstrumentor] Initialized and automatically enabled");
|
|
29
27
|
}
|
|
30
|
-
static getInstance(
|
|
28
|
+
static getInstance() {
|
|
31
29
|
if (!LangChainTraceInstrumentorImpl._instance) {
|
|
32
|
-
LangChainTraceInstrumentorImpl._instance = new LangChainTraceInstrumentorImpl(
|
|
30
|
+
LangChainTraceInstrumentorImpl._instance = new LangChainTraceInstrumentorImpl();
|
|
33
31
|
}
|
|
34
32
|
return LangChainTraceInstrumentorImpl._instance;
|
|
35
33
|
}
|
|
@@ -72,9 +70,7 @@ class LangChainTraceInstrumentorImpl extends instrumentation_1.InstrumentationBa
|
|
|
72
70
|
const instrumentor = this;
|
|
73
71
|
this._wrap(CallbackManager, "_configureSync", (original) => {
|
|
74
72
|
return function (...args) {
|
|
75
|
-
args[0] = addTracerToHandlers(instrumentor.otelTracer, args[0]
|
|
76
|
-
isContentRecordingEnabled: instrumentor.isContentRecordingEnabled,
|
|
77
|
-
});
|
|
73
|
+
args[0] = addTracerToHandlers(instrumentor.otelTracer, args[0]);
|
|
78
74
|
api_1.diag.debug("[LangChainTraceInstrumentor] _configureSync wrapped to add LangChainTracer");
|
|
79
75
|
return original.apply(this, args);
|
|
80
76
|
};
|
|
@@ -117,8 +113,8 @@ class LangChainTraceInstrumentor {
|
|
|
117
113
|
* @param module The CallbackManager module to instrument
|
|
118
114
|
* @param options Optional configuration options
|
|
119
115
|
*/
|
|
120
|
-
static instrument(module
|
|
121
|
-
LangChainTraceInstrumentorImpl.getInstance(
|
|
116
|
+
static instrument(module) {
|
|
117
|
+
LangChainTraceInstrumentorImpl.getInstance().manuallyInstrumentImpl(module);
|
|
122
118
|
}
|
|
123
119
|
/**
|
|
124
120
|
* Enable LangChain instrumentation
|
|
@@ -146,18 +142,18 @@ class LangChainTraceInstrumentor {
|
|
|
146
142
|
}
|
|
147
143
|
}
|
|
148
144
|
exports.LangChainTraceInstrumentor = LangChainTraceInstrumentor;
|
|
149
|
-
function addTracerToHandlers(tracer, handlers
|
|
145
|
+
function addTracerToHandlers(tracer, handlers) {
|
|
150
146
|
if (handlers == null) {
|
|
151
|
-
return [new tracer_js_1.LangChainTracer(tracer
|
|
147
|
+
return [new tracer_js_1.LangChainTracer(tracer)];
|
|
152
148
|
}
|
|
153
149
|
if (Array.isArray(handlers)) {
|
|
154
150
|
if (!handlers.some((h) => h instanceof tracer_js_1.LangChainTracer)) {
|
|
155
|
-
handlers.push(new tracer_js_1.LangChainTracer(tracer
|
|
151
|
+
handlers.push(new tracer_js_1.LangChainTracer(tracer));
|
|
156
152
|
}
|
|
157
153
|
return handlers;
|
|
158
154
|
}
|
|
159
155
|
if (!handlers.inheritableHandlers.some((h) => h instanceof tracer_js_1.LangChainTracer)) {
|
|
160
|
-
handlers.addHandler(new tracer_js_1.LangChainTracer(tracer
|
|
156
|
+
handlers.addHandler(new tracer_js_1.LangChainTracer(tracer), true);
|
|
161
157
|
}
|
|
162
158
|
return handlers;
|
|
163
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchainTraceInstrumentor.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,kGAAkG;AAClG,4FAA4F;;;
|
|
1
|
+
{"version":3,"file":"langchainTraceInstrumentor.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/langchainTraceInstrumentor.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,21 +15,18 @@ import { BaseTracer, Run } from "@langchain/core/tracers/base";
|
|
|
15
15
|
* - Skips LangChain-internal runs (tagged `langsmith:hidden`, `Branch*`, or
|
|
16
16
|
* unmapped run types) to avoid noisy traces.
|
|
17
17
|
* - Guards against unbounded memory with a hard cap of {@link MAX_RUNS}.
|
|
18
|
-
* - Content
|
|
19
|
-
*
|
|
18
|
+
* - Content attributes (messages, tool args) are always recorded
|
|
19
|
+
* (aligned with Python/.NET SDKs).
|
|
20
20
|
*/
|
|
21
21
|
export declare class LangChainTracer extends BaseTracer {
|
|
22
22
|
/** Hard cap on concurrent tracked runs to prevent memory leaks. */
|
|
23
23
|
private static readonly MAX_RUNS;
|
|
24
24
|
private tracer;
|
|
25
|
-
private isContentRecordingEnabled;
|
|
26
25
|
/** Active runs keyed by LangChain run ID. */
|
|
27
26
|
private runs;
|
|
28
27
|
/** Maps each run ID → its parent run ID for parent-span-context lookup. */
|
|
29
28
|
private parentByRunId;
|
|
30
|
-
constructor(tracer: Tracer
|
|
31
|
-
isContentRecordingEnabled?: boolean;
|
|
32
|
-
});
|
|
29
|
+
constructor(tracer: Tracer);
|
|
33
30
|
name: string;
|
|
34
31
|
protected persistRun(_run: Run): Promise<void>;
|
|
35
32
|
/**
|
|
@@ -45,8 +42,7 @@ export declare class LangChainTracer extends BaseTracer {
|
|
|
45
42
|
protected startTracing(run: Run): void;
|
|
46
43
|
/**
|
|
47
44
|
* Called by LangChain when a run finishes. Sets status, enriches the span
|
|
48
|
-
* with GenAI attributes, and ends it.
|
|
49
|
-
* message bodies, tool arguments, and system instructions are also attached.
|
|
45
|
+
* with GenAI attributes, and ends it.
|
|
50
46
|
*/
|
|
51
47
|
protected _endTrace(run: Run): Promise<void>;
|
|
52
48
|
/**
|
|
@@ -55,5 +51,10 @@ export declare class LangChainTracer extends BaseTracer {
|
|
|
55
51
|
* as a child.
|
|
56
52
|
*/
|
|
57
53
|
private getNearestParentSpanContext;
|
|
54
|
+
/**
|
|
55
|
+
* Walk up the parent run chain to find the nearest ancestor that is an
|
|
56
|
+
* invoke_agent run, returning its name as the caller agent name.
|
|
57
|
+
*/
|
|
58
|
+
private findCallerAgentName;
|
|
58
59
|
}
|
|
59
60
|
//# sourceMappingURL=tracer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/tracer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkD,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/tracer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkD,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAa/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAgB,SAAQ,UAAU;IAC7C,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,6CAA6C;IAC7C,OAAO,CAAC,IAAI,CAAkC;IAC9C,2EAA2E;IAC3E,OAAO,CAAC,aAAa,CAAyC;gBAElD,MAAM,EAAE,MAAM;IAK1B,IAAI,SAAkC;IAEtC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,GAAG;IAM1B;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG;IA2D/B;;;OAGG;cACa,SAAS,CAAC,GAAG,EAAE,GAAG;IA8ElC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAW5B"}
|
|
@@ -58,22 +58,20 @@ const Utils = __importStar(require("./utils.js"));
|
|
|
58
58
|
* - Skips LangChain-internal runs (tagged `langsmith:hidden`, `Branch*`, or
|
|
59
59
|
* unmapped run types) to avoid noisy traces.
|
|
60
60
|
* - Guards against unbounded memory with a hard cap of {@link MAX_RUNS}.
|
|
61
|
-
* - Content
|
|
62
|
-
*
|
|
61
|
+
* - Content attributes (messages, tool args) are always recorded
|
|
62
|
+
* (aligned with Python/.NET SDKs).
|
|
63
63
|
*/
|
|
64
64
|
class LangChainTracer extends base_1.BaseTracer {
|
|
65
65
|
/** Hard cap on concurrent tracked runs to prevent memory leaks. */
|
|
66
66
|
static MAX_RUNS = 10_000;
|
|
67
67
|
tracer;
|
|
68
|
-
isContentRecordingEnabled;
|
|
69
68
|
/** Active runs keyed by LangChain run ID. */
|
|
70
69
|
runs = new Map();
|
|
71
70
|
/** Maps each run ID → its parent run ID for parent-span-context lookup. */
|
|
72
71
|
parentByRunId = new Map();
|
|
73
|
-
constructor(tracer
|
|
72
|
+
constructor(tracer) {
|
|
74
73
|
super();
|
|
75
74
|
this.tracer = tracer;
|
|
76
|
-
this.isContentRecordingEnabled = options?.isContentRecordingEnabled ?? false;
|
|
77
75
|
}
|
|
78
76
|
name = "OpenTelemetryLangChainTracer";
|
|
79
77
|
persistRun(_run) {
|
|
@@ -113,14 +111,18 @@ class LangChainTracer extends base_1.BaseTracer {
|
|
|
113
111
|
: api_1.context.active();
|
|
114
112
|
// Build span name: "<operation> <name|model>"
|
|
115
113
|
let spanName = run.name;
|
|
114
|
+
let kind = api_1.SpanKind.INTERNAL;
|
|
116
115
|
if (operation === "invoke_agent") {
|
|
117
116
|
spanName = `${operation} ${run.name}`;
|
|
117
|
+
kind = api_1.SpanKind.SERVER;
|
|
118
118
|
}
|
|
119
119
|
else if (operation === "execute_tool") {
|
|
120
120
|
spanName = `${operation} ${run.name}`;
|
|
121
|
+
kind = api_1.SpanKind.CLIENT;
|
|
121
122
|
}
|
|
122
123
|
else if (operation === "chat") {
|
|
123
124
|
spanName = `${operation} ${Utils.getModel(run) || run.name}`.trim();
|
|
125
|
+
kind = api_1.SpanKind.CLIENT;
|
|
124
126
|
}
|
|
125
127
|
if (this.runs.size >= LangChainTracer.MAX_RUNS) {
|
|
126
128
|
api_2.diag.warn(`[LangChainTracer] Max runs (${LangChainTracer.MAX_RUNS}) reached, skipping span`);
|
|
@@ -129,7 +131,7 @@ class LangChainTracer extends base_1.BaseTracer {
|
|
|
129
131
|
}
|
|
130
132
|
const startTime = run.start_time ?? Date.now();
|
|
131
133
|
const span = this.tracer.startSpan(spanName, {
|
|
132
|
-
kind
|
|
134
|
+
kind,
|
|
133
135
|
startTime,
|
|
134
136
|
attributes: { [index_js_1.ATTR_GEN_AI_PROVIDER_NAME]: "langchain" },
|
|
135
137
|
}, activeContext);
|
|
@@ -137,8 +139,7 @@ class LangChainTracer extends base_1.BaseTracer {
|
|
|
137
139
|
}
|
|
138
140
|
/**
|
|
139
141
|
* Called by LangChain when a run finishes. Sets status, enriches the span
|
|
140
|
-
* with GenAI attributes, and ends it.
|
|
141
|
-
* message bodies, tool arguments, and system instructions are also attached.
|
|
142
|
+
* with GenAI attributes, and ends it.
|
|
142
143
|
*/
|
|
143
144
|
async _endTrace(run) {
|
|
144
145
|
if ((0, core_1.isTracingSuppressed)(api_1.context.active())) {
|
|
@@ -168,6 +169,11 @@ class LangChainTracer extends base_1.BaseTracer {
|
|
|
168
169
|
if (run.error) {
|
|
169
170
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR });
|
|
170
171
|
span.setAttribute(index_js_1.ATTR_ERROR_MESSAGE, String(run.error));
|
|
172
|
+
const errorType = run.error?.name ??
|
|
173
|
+
run.error?.constructor?.name;
|
|
174
|
+
if (typeof errorType === "string" && errorType.length > 0) {
|
|
175
|
+
span.setAttribute(index_js_1.ATTR_ERROR_TYPE, errorType);
|
|
176
|
+
}
|
|
171
177
|
}
|
|
172
178
|
else {
|
|
173
179
|
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
@@ -175,17 +181,21 @@ class LangChainTracer extends base_1.BaseTracer {
|
|
|
175
181
|
// Always-on attributes: operation type, agent info, model, provider, session, tokens
|
|
176
182
|
Utils.setOperationTypeAttribute(operation, span);
|
|
177
183
|
Utils.setAgentAttributes(run, span);
|
|
184
|
+
if (operation === "invoke_agent") {
|
|
185
|
+
const callerName = this.findCallerAgentName(run);
|
|
186
|
+
if (callerName) {
|
|
187
|
+
span.setAttribute(index_js_1.ATTR_GEN_AI_CALLER_AGENT_NAME, callerName);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
178
190
|
Utils.setModelAttribute(run, span);
|
|
179
191
|
Utils.setProviderNameAttribute(run, span);
|
|
180
192
|
Utils.setSessionIdAttribute(run, span);
|
|
181
193
|
Utils.setTokenAttributes(run, span);
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
Utils.setSystemInstructionsAttribute(run, span);
|
|
188
|
-
}
|
|
194
|
+
// Content attributes — always recorded (aligned with Python/.NET SDKs)
|
|
195
|
+
Utils.setToolAttributes(run, span);
|
|
196
|
+
Utils.setInputMessagesAttribute(run, span);
|
|
197
|
+
Utils.setOutputMessagesAttribute(run, span);
|
|
198
|
+
Utils.setSystemInstructionsAttribute(run, span);
|
|
189
199
|
}
|
|
190
200
|
catch (error) {
|
|
191
201
|
api_2.diag.error(`[LangChainTracer] Error setting span attributes for run ${run.name}: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -213,6 +223,21 @@ class LangChainTracer extends base_1.BaseTracer {
|
|
|
213
223
|
}
|
|
214
224
|
return undefined;
|
|
215
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Walk up the parent run chain to find the nearest ancestor that is an
|
|
228
|
+
* invoke_agent run, returning its name as the caller agent name.
|
|
229
|
+
*/
|
|
230
|
+
findCallerAgentName(run) {
|
|
231
|
+
let pid = run.parent_run_id;
|
|
232
|
+
while (pid) {
|
|
233
|
+
const entry = this.runs.get(pid);
|
|
234
|
+
if (entry && Utils.getOperationType(entry.run) === "invoke_agent") {
|
|
235
|
+
return entry.run.name;
|
|
236
|
+
}
|
|
237
|
+
pid = this.parentByRunId.get(pid);
|
|
238
|
+
}
|
|
239
|
+
return undefined;
|
|
240
|
+
}
|
|
216
241
|
}
|
|
217
242
|
exports.LangChainTracer = LangChainTracer;
|
|
218
243
|
//# sourceMappingURL=tracer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/tracer.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,kGAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAElG,4CAA4F;AAC5F,uDAA+D;AAC/D,8CAA0D;AAC1D,4CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/tracer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/langchain/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAiC1C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAWjD;AAGD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,QAEtE;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAOtD;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QA4CrD;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAgC7D;AAmOD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QA6D9D;AAGD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAarD;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAGrD;AAGD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAG5D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAahE;AAGD,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,oBA+BlE;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,QAoCtD"}
|