@microsoft/agents-a365-observability 0.1.0-preview.30
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 +33 -0
- package/dist/cjs/ObservabilityBuilder.d.ts +61 -0
- package/dist/cjs/ObservabilityBuilder.d.ts.map +1 -0
- package/dist/cjs/ObservabilityBuilder.js +141 -0
- package/dist/cjs/ObservabilityBuilder.js.map +1 -0
- package/dist/cjs/ObservabilityManager.d.ts +29 -0
- package/dist/cjs/ObservabilityManager.d.ts.map +1 -0
- package/dist/cjs/ObservabilityManager.js +61 -0
- package/dist/cjs/ObservabilityManager.js.map +1 -0
- package/dist/cjs/index.d.ts +10 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +33 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/tracing/constants.d.ts +83 -0
- package/dist/cjs/tracing/constants.d.ts.map +1 -0
- package/dist/cjs/tracing/constants.js +101 -0
- package/dist/cjs/tracing/constants.js.map +1 -0
- package/dist/cjs/tracing/contracts.d.ts +186 -0
- package/dist/cjs/tracing/contracts.d.ts.map +1 -0
- package/dist/cjs/tracing/contracts.js +44 -0
- package/dist/cjs/tracing/contracts.js.map +1 -0
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts +53 -0
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -0
- package/dist/cjs/tracing/exporter/Agent365Exporter.js +318 -0
- package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -0
- package/dist/cjs/tracing/exporter/utils.d.ts +38 -0
- package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -0
- package/dist/cjs/tracing/exporter/utils.js +126 -0
- package/dist/cjs/tracing/exporter/utils.js.map +1 -0
- package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts +182 -0
- package/dist/cjs/tracing/middleware/BaggageBuilder.d.ts.map +1 -0
- package/dist/cjs/tracing/middleware/BaggageBuilder.js +297 -0
- package/dist/cjs/tracing/middleware/BaggageBuilder.js.map +1 -0
- package/dist/cjs/tracing/processors/SpanProcessor.d.ts +30 -0
- package/dist/cjs/tracing/processors/SpanProcessor.d.ts.map +1 -0
- package/dist/cjs/tracing/processors/SpanProcessor.js +98 -0
- package/dist/cjs/tracing/processors/SpanProcessor.js.map +1 -0
- package/dist/cjs/tracing/processors/util.d.ts +9 -0
- package/dist/cjs/tracing/processors/util.d.ts.map +1 -0
- package/dist/cjs/tracing/processors/util.js +50 -0
- package/dist/cjs/tracing/processors/util.js.map +1 -0
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +22 -0
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -0
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js +51 -0
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -0
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts +47 -0
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -0
- package/dist/cjs/tracing/scopes/InferenceScope.js +83 -0
- package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -0
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +33 -0
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -0
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js +94 -0
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -0
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +57 -0
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -0
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +146 -0
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -0
- package/dist/cjs/tracing/util.d.ts +9 -0
- package/dist/cjs/tracing/util.d.ts.map +1 -0
- package/dist/cjs/tracing/util.js +28 -0
- package/dist/cjs/tracing/util.js.map +1 -0
- package/dist/cjs/utils/logging.d.ts +11 -0
- package/dist/cjs/utils/logging.d.ts.map +1 -0
- package/dist/cjs/utils/logging.js +84 -0
- package/dist/cjs/utils/logging.js.map +1 -0
- package/dist/esm/ObservabilityBuilder.d.ts +61 -0
- package/dist/esm/ObservabilityBuilder.d.ts.map +1 -0
- package/dist/esm/ObservabilityBuilder.js +137 -0
- package/dist/esm/ObservabilityBuilder.js.map +1 -0
- package/dist/esm/ObservabilityManager.d.ts +29 -0
- package/dist/esm/ObservabilityManager.d.ts.map +1 -0
- package/dist/esm/ObservabilityManager.js +57 -0
- package/dist/esm/ObservabilityManager.js.map +1 -0
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +18 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/tracing/constants.d.ts +83 -0
- package/dist/esm/tracing/constants.d.ts.map +1 -0
- package/dist/esm/tracing/constants.js +97 -0
- package/dist/esm/tracing/constants.js.map +1 -0
- package/dist/esm/tracing/contracts.d.ts +186 -0
- package/dist/esm/tracing/contracts.d.ts.map +1 -0
- package/dist/esm/tracing/contracts.js +41 -0
- package/dist/esm/tracing/contracts.js.map +1 -0
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts +53 -0
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -0
- package/dist/esm/tracing/exporter/Agent365Exporter.js +281 -0
- package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -0
- package/dist/esm/tracing/exporter/utils.d.ts +38 -0
- package/dist/esm/tracing/exporter/utils.d.ts.map +1 -0
- package/dist/esm/tracing/exporter/utils.js +113 -0
- package/dist/esm/tracing/exporter/utils.js.map +1 -0
- package/dist/esm/tracing/middleware/BaggageBuilder.d.ts +182 -0
- package/dist/esm/tracing/middleware/BaggageBuilder.d.ts.map +1 -0
- package/dist/esm/tracing/middleware/BaggageBuilder.js +292 -0
- package/dist/esm/tracing/middleware/BaggageBuilder.js.map +1 -0
- package/dist/esm/tracing/processors/SpanProcessor.d.ts +30 -0
- package/dist/esm/tracing/processors/SpanProcessor.d.ts.map +1 -0
- package/dist/esm/tracing/processors/SpanProcessor.js +94 -0
- package/dist/esm/tracing/processors/SpanProcessor.js.map +1 -0
- package/dist/esm/tracing/processors/util.d.ts +9 -0
- package/dist/esm/tracing/processors/util.d.ts.map +1 -0
- package/dist/esm/tracing/processors/util.js +47 -0
- package/dist/esm/tracing/processors/util.js.map +1 -0
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +22 -0
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -0
- package/dist/esm/tracing/scopes/ExecuteToolScope.js +47 -0
- package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -0
- package/dist/esm/tracing/scopes/InferenceScope.d.ts +47 -0
- package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -0
- package/dist/esm/tracing/scopes/InferenceScope.js +79 -0
- package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -0
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +33 -0
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -0
- package/dist/esm/tracing/scopes/InvokeAgentScope.js +90 -0
- package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -0
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +57 -0
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -0
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js +139 -0
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -0
- package/dist/esm/tracing/util.d.ts +9 -0
- package/dist/esm/tracing/util.d.ts.map +1 -0
- package/dist/esm/tracing/util.js +23 -0
- package/dist/esm/tracing/util.js.map +1 -0
- package/dist/esm/utils/logging.d.ts +11 -0
- package/dist/esm/utils/logging.d.ts.map +1 -0
- package/dist/esm/utils/logging.js +81 -0
- package/dist/esm/utils/logging.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.OpenTelemetryScope = void 0;
|
|
10
|
+
const api_1 = require("@opentelemetry/api");
|
|
11
|
+
const constants_1 = require("../constants");
|
|
12
|
+
const util_1 = require("../util");
|
|
13
|
+
const logging_1 = __importDefault(require("../../utils/logging"));
|
|
14
|
+
/**
|
|
15
|
+
* Base class for OpenTelemetry tracing scopes
|
|
16
|
+
*/
|
|
17
|
+
class OpenTelemetryScope {
|
|
18
|
+
/**
|
|
19
|
+
* Initializes a new instance of the OpenTelemetryScope class
|
|
20
|
+
* @param kind The kind of span (CLIENT, SERVER, INTERNAL, etc.)
|
|
21
|
+
* @param operationName The name of the operation being traced
|
|
22
|
+
* @param spanName The name of the span for display purposes
|
|
23
|
+
* @param agentDetails Optional agent details
|
|
24
|
+
* @param tenantDetails Optional tenant details
|
|
25
|
+
*/
|
|
26
|
+
constructor(kind, operationName, spanName, agentDetails, tenantDetails) {
|
|
27
|
+
this.hasEnded = false;
|
|
28
|
+
const currentContext = api_1.context.active();
|
|
29
|
+
logging_1.default.info(`[A365Observability] Starting span: ${spanName}, operation: ${operationName} for tenantId: ${tenantDetails?.tenantId || 'unknown'}, agentId: ${agentDetails?.agentId || 'unknown'}`);
|
|
30
|
+
// Start span with current context to establish parent-child relationship
|
|
31
|
+
this.span = OpenTelemetryScope.tracer.startSpan(spanName, {
|
|
32
|
+
kind,
|
|
33
|
+
attributes: {
|
|
34
|
+
[constants_1.OpenTelemetryConstants.GEN_AI_SYSTEM_KEY]: constants_1.OpenTelemetryConstants.GEN_AI_SYSTEM_VALUE,
|
|
35
|
+
[constants_1.OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY]: operationName,
|
|
36
|
+
},
|
|
37
|
+
}, currentContext);
|
|
38
|
+
logging_1.default.info(`[A365Observability] Span[${this.span.spanContext().spanId}] ${spanName}, operation: ${operationName} started successfully`);
|
|
39
|
+
this.startTime = Date.now();
|
|
40
|
+
// Set agent details if provided
|
|
41
|
+
if (agentDetails) {
|
|
42
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, agentDetails.agentId);
|
|
43
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentDetails.agentName);
|
|
44
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDetails.agentDescription);
|
|
45
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, agentDetails.conversationId);
|
|
46
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_ICON_URI_KEY, agentDetails.iconUri);
|
|
47
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, agentDetails.agentAUID);
|
|
48
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_UPN_KEY, agentDetails.agentUPN);
|
|
49
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY, agentDetails.agentBlueprintId);
|
|
50
|
+
}
|
|
51
|
+
// Set tenant details if provided
|
|
52
|
+
if (tenantDetails) {
|
|
53
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.TENANT_ID_KEY, tenantDetails.tenantId);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Makes this span active for the duration of the async callback execution
|
|
58
|
+
*/
|
|
59
|
+
withActiveSpanAsync(callback) {
|
|
60
|
+
const newContext = api_1.trace.setSpan(api_1.context.active(), this.span);
|
|
61
|
+
return api_1.context.with(newContext, callback);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Records an error that occurred during the operation
|
|
65
|
+
* @param error The error that occurred
|
|
66
|
+
*/
|
|
67
|
+
recordError(error) {
|
|
68
|
+
if (OpenTelemetryScope.enableTelemetry) {
|
|
69
|
+
logging_1.default.error(`[A365Observability] Records an error that occurred during the operation span[${this.span.spanContext().spanId}]: ${error.message}`);
|
|
70
|
+
// Check if it's an HTTP error with status code
|
|
71
|
+
if ('status' in error && typeof error.status === 'number') {
|
|
72
|
+
this.errorType = error.status.toString();
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.errorType = error.constructor.name;
|
|
76
|
+
}
|
|
77
|
+
this.exception = error;
|
|
78
|
+
this.span.setStatus({
|
|
79
|
+
code: api_1.SpanStatusCode.ERROR,
|
|
80
|
+
message: error.message
|
|
81
|
+
});
|
|
82
|
+
this.span.recordException(error);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Sets a tag on the span if telemetry is enabled
|
|
87
|
+
* @param name The tag name
|
|
88
|
+
* @param value The tag value
|
|
89
|
+
*/
|
|
90
|
+
setTagMaybe(name, value) {
|
|
91
|
+
if (OpenTelemetryScope.enableTelemetry && value != null) {
|
|
92
|
+
this.span.setAttributes({ [name]: value });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add baggage to the current context
|
|
97
|
+
* @param key The baggage key
|
|
98
|
+
* @param value The baggage value
|
|
99
|
+
*/
|
|
100
|
+
addBaggage(key, value) {
|
|
101
|
+
if (OpenTelemetryScope.enableTelemetry) {
|
|
102
|
+
// Note: OpenTelemetry JS doesn't have direct baggage API in span
|
|
103
|
+
// This would typically be handled through the baggage API
|
|
104
|
+
this.span.setAttributes({ [`baggage.${key}`]: value });
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Finalizes the scope and records metrics
|
|
109
|
+
*/
|
|
110
|
+
end() {
|
|
111
|
+
if (this.hasEnded) {
|
|
112
|
+
logging_1.default.info(`[A365Observability] Span already ended for span[${this.span.spanContext().spanId}]`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const duration = (Date.now() - this.startTime) / 1000; // Convert to seconds
|
|
116
|
+
const finalTags = {};
|
|
117
|
+
if (this.errorType) {
|
|
118
|
+
finalTags[constants_1.OpenTelemetryConstants.ERROR_TYPE_KEY] = this.errorType;
|
|
119
|
+
this.span.setAttributes({ [constants_1.OpenTelemetryConstants.ERROR_TYPE_KEY]: this.errorType });
|
|
120
|
+
}
|
|
121
|
+
// Record duration metric (would typically use a meter here)
|
|
122
|
+
// For now, we'll add it as a span attribute
|
|
123
|
+
this.span.setAttributes({ 'operation.duration': duration });
|
|
124
|
+
this.hasEnded = true;
|
|
125
|
+
logging_1.default.info(`[A365Observability] Ending span[${this.span.spanContext().spanId}], duration: ${duration}s`);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Disposes the scope and finalizes telemetry data collection
|
|
129
|
+
*/
|
|
130
|
+
[Symbol.dispose]() {
|
|
131
|
+
if (!this.hasEnded) {
|
|
132
|
+
this.end();
|
|
133
|
+
this.span.end();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Legacy dispose method for compatibility
|
|
138
|
+
*/
|
|
139
|
+
dispose() {
|
|
140
|
+
this[Symbol.dispose]();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.OpenTelemetryScope = OpenTelemetryScope;
|
|
144
|
+
OpenTelemetryScope.tracer = api_1.trace.getTracer(constants_1.OpenTelemetryConstants.SOURCE_NAME);
|
|
145
|
+
OpenTelemetryScope.enableTelemetry = (0, util_1.isAgent365TelemetryEnabled)();
|
|
146
|
+
//# sourceMappingURL=OpenTelemetryScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if exporter is enabled via environment variables
|
|
3
|
+
*/
|
|
4
|
+
export declare const isAgent365ExporterEnabled: () => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Gets the enable telemetry configuration value
|
|
7
|
+
*/
|
|
8
|
+
export declare const isAgent365TelemetryEnabled: () => boolean;
|
|
9
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/tracing/util.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,OAS7C,CAAC;AAEF;;KAEK;AACL,eAAO,MAAM,0BAA0B,EAAE,MAAM,OAU9C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isAgent365TelemetryEnabled = exports.isAgent365ExporterEnabled = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
/**
|
|
6
|
+
* Check if exporter is enabled via environment variables
|
|
7
|
+
*/
|
|
8
|
+
const isAgent365ExporterEnabled = () => {
|
|
9
|
+
const enableA365Exporter = process.env[constants_1.OpenTelemetryConstants.ENABLE_A365_OBSERVABILITY_EXPORTER]?.toLowerCase();
|
|
10
|
+
return (enableA365Exporter === 'true' ||
|
|
11
|
+
enableA365Exporter === '1' ||
|
|
12
|
+
enableA365Exporter === 'yes' ||
|
|
13
|
+
enableA365Exporter === 'on');
|
|
14
|
+
};
|
|
15
|
+
exports.isAgent365ExporterEnabled = isAgent365ExporterEnabled;
|
|
16
|
+
/**
|
|
17
|
+
* Gets the enable telemetry configuration value
|
|
18
|
+
*/
|
|
19
|
+
const isAgent365TelemetryEnabled = () => {
|
|
20
|
+
const enableObservability = process.env[constants_1.OpenTelemetryConstants.ENABLE_OBSERVABILITY]?.toLowerCase();
|
|
21
|
+
const enableA365 = process.env[constants_1.OpenTelemetryConstants.ENABLE_A365_OBSERVABILITY]?.toLowerCase();
|
|
22
|
+
return (enableObservability === 'true' ||
|
|
23
|
+
enableObservability === '1' ||
|
|
24
|
+
enableA365 === 'true' ||
|
|
25
|
+
enableA365 === '1');
|
|
26
|
+
};
|
|
27
|
+
exports.isAgent365TelemetryEnabled = isAgent365TelemetryEnabled;
|
|
28
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/tracing/util.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;AAGrD;;GAEG;AACI,MAAM,yBAAyB,GAAkB,GAAY,EAAE;IACpE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAsB,CAAC,kCAAkC,CAAC,EAAE,WAAW,EAAE,CAAC;IAEjH,OAAO,CACL,kBAAkB,KAAK,MAAM;QAC7B,kBAAkB,KAAK,GAAG;QAC1B,kBAAkB,KAAK,KAAK;QAC5B,kBAAkB,KAAK,IAAI,CAC5B,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,yBAAyB,6BASpC;AAEF;;KAEK;AACE,MAAM,0BAA0B,GAAkB,GAAY,EAAE;IACrE,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAsB,CAAC,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC;IACpG,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAsB,CAAC,yBAAyB,CAAC,EAAE,WAAW,EAAE,CAAC;IAEhG,OAAO,CACL,mBAAmB,KAAK,MAAM;QAC9B,mBAAmB,KAAK,GAAG;QAC3B,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,GAAG,CACnB,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,0BAA0B,8BAUrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format error object for logging with message and stack trace
|
|
3
|
+
*/
|
|
4
|
+
export declare function formatError(error: unknown): string;
|
|
5
|
+
declare const logger: {
|
|
6
|
+
info: (message: string, ...args: unknown[]) => void;
|
|
7
|
+
warn: (message: string, ...args: unknown[]) => void;
|
|
8
|
+
error: (message: string, ...args: unknown[]) => void;
|
|
9
|
+
};
|
|
10
|
+
export default logger;
|
|
11
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/utils/logging.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKlD;AA2DD,QAAA,MAAM,MAAM;oBACM,MAAM,WAAW,OAAO,EAAE;oBAO1B,MAAM,WAAW,OAAO,EAAE;qBAOzB,MAAM,WAAW,OAAO,EAAE;CAM5C,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.formatError = formatError;
|
|
7
|
+
/**
|
|
8
|
+
* Format error object for logging with message and stack trace
|
|
9
|
+
*/
|
|
10
|
+
function formatError(error) {
|
|
11
|
+
if (error instanceof Error) {
|
|
12
|
+
return `${error.message}\nStack: ${error.stack || 'No stack trace'}`;
|
|
13
|
+
}
|
|
14
|
+
return String(error);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Simple logger for Agent 365 observability
|
|
18
|
+
*
|
|
19
|
+
* Usage:
|
|
20
|
+
* import logger from './logging';
|
|
21
|
+
* logger.info('Info message'); // Shows when A365ObservabilityLogLevel includes 'info'
|
|
22
|
+
* logger.warn('Warning'); // Shows when A365ObservabilityLogLevel includes 'warn'
|
|
23
|
+
* logger.error('Error'); // Shows when A365ObservabilityLogLevel includes 'error'
|
|
24
|
+
*
|
|
25
|
+
* Environment Variable:
|
|
26
|
+
* A365ObservabilityLogLevel=none|info|warn|error|info|warn|info|error (default: none)
|
|
27
|
+
*
|
|
28
|
+
* Single values:
|
|
29
|
+
* none = no logging (default)
|
|
30
|
+
* info = info messages only
|
|
31
|
+
* warn = warn messages only
|
|
32
|
+
* error = error messages only
|
|
33
|
+
*
|
|
34
|
+
* Multiple values (pipe-separated):
|
|
35
|
+
* info|warn = info and warn messages
|
|
36
|
+
* warn|error = warn and error messages
|
|
37
|
+
* info|warn|error = all message types
|
|
38
|
+
*/
|
|
39
|
+
const LOG_LEVELS = {
|
|
40
|
+
none: 0,
|
|
41
|
+
info: 1,
|
|
42
|
+
warn: 2,
|
|
43
|
+
error: 3
|
|
44
|
+
};
|
|
45
|
+
function parseLogLevel(level) {
|
|
46
|
+
const levels = new Set();
|
|
47
|
+
// Split by | to support multiple levels like "info|warn|error"
|
|
48
|
+
const levelStrings = level.toLowerCase().trim().split('|');
|
|
49
|
+
for (const levelString of levelStrings) {
|
|
50
|
+
const normalizedLevel = levelString.trim();
|
|
51
|
+
const levelValue = LOG_LEVELS[normalizedLevel];
|
|
52
|
+
if (levelValue !== undefined) {
|
|
53
|
+
levels.add(levelValue);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// If no valid levels found, default to none
|
|
57
|
+
if (levels.size === 0) {
|
|
58
|
+
levels.add(LOG_LEVELS.none);
|
|
59
|
+
}
|
|
60
|
+
return levels;
|
|
61
|
+
}
|
|
62
|
+
const enabledLogLevels = parseLogLevel(process.env.A365_OBSERVABILITY_LOG_LEVEL || 'none');
|
|
63
|
+
const logger = {
|
|
64
|
+
info: (message, ...args) => {
|
|
65
|
+
if (enabledLogLevels.has(LOG_LEVELS.info)) {
|
|
66
|
+
// eslint-disable-next-line no-console
|
|
67
|
+
console.log('[INFO]', message, ...args);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
warn: (message, ...args) => {
|
|
71
|
+
if (enabledLogLevels.has(LOG_LEVELS.warn)) {
|
|
72
|
+
// eslint-disable-next-line no-console
|
|
73
|
+
console.warn('[WARN]', message, ...args);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
error: (message, ...args) => {
|
|
77
|
+
if (enabledLogLevels.has(LOG_LEVELS.error)) {
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.error('[ERROR]', message, ...args);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
exports.default = logger;
|
|
84
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/utils/logging.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;AAKjF,kCAKC;AARD;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,KAAK,IAAI,gBAAgB,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACA,CAAC;AAIX,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,+DAA+D;IAC/D,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,EAAc,CAAC;QACvD,MAAM,UAAU,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,MAAM,CAAC,CAAC;AAE3F,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC5C,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC5C,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QAC7C,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { TokenResolver } from './tracing/exporter/Agent365Exporter';
|
|
2
|
+
import { ClusterCategory } from '@microsoft/agents-a365-runtime';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for Agent 365 Observability Builder
|
|
5
|
+
*/
|
|
6
|
+
export interface BuilderOptions {
|
|
7
|
+
/** Custom service name for telemetry */
|
|
8
|
+
serviceName?: string;
|
|
9
|
+
/** Custom service version for telemetry */
|
|
10
|
+
serviceVersion?: string;
|
|
11
|
+
tokenResolver?: TokenResolver;
|
|
12
|
+
/** Environment / cluster category (e.g., "preprod", "prod"). */
|
|
13
|
+
clusterCategory?: ClusterCategory;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Builder for configuring Agent 365 with OpenTelemetry tracing
|
|
17
|
+
*/
|
|
18
|
+
export declare class ObservabilityBuilder {
|
|
19
|
+
private options;
|
|
20
|
+
private isBuilt;
|
|
21
|
+
private sdk?;
|
|
22
|
+
/**
|
|
23
|
+
* Configures the service name and version for telemetry
|
|
24
|
+
* @param serviceName The service name
|
|
25
|
+
* @param serviceVersion The service version
|
|
26
|
+
* @returns The builder instance for method chaining
|
|
27
|
+
*/
|
|
28
|
+
withService(serviceName: string, serviceVersion?: string): ObservabilityBuilder;
|
|
29
|
+
/**
|
|
30
|
+
* Configures the token resolver for Agent 365 exporter
|
|
31
|
+
* @param tokenResolver Function to resolve authentication tokens
|
|
32
|
+
* @returns The builder instance for method chaining
|
|
33
|
+
*/
|
|
34
|
+
withTokenResolver(tokenResolver: TokenResolver): ObservabilityBuilder;
|
|
35
|
+
/**
|
|
36
|
+
* Configures the cluster category for Agent 365 exporter
|
|
37
|
+
* @param clusterCategory The cluster category (e.g., "preprod", "prod")
|
|
38
|
+
* @returns The builder instance for method chaining
|
|
39
|
+
*/
|
|
40
|
+
withClusterCategory(clusterCategory: ClusterCategory): ObservabilityBuilder;
|
|
41
|
+
private getTraceExporter;
|
|
42
|
+
private createResource;
|
|
43
|
+
/**
|
|
44
|
+
* Builds and initializes the Agent 365 configuration
|
|
45
|
+
* @returns The configured NodeSDK instance
|
|
46
|
+
*/
|
|
47
|
+
build(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Starts the OpenTelemetry SDK
|
|
50
|
+
*/
|
|
51
|
+
start(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Shuts down the OpenTelemetry SDK
|
|
54
|
+
*/
|
|
55
|
+
shutdown(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Helper to avoid double-registering same processor type.
|
|
58
|
+
*/
|
|
59
|
+
private attachProcessorIfMissing;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=ObservabilityBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityBuilder.d.ts","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAoB,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAItF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gEAAgE;IAChE,eAAe,CAAC,EAAE,eAAe,CAAC;CAEnC;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAU;IAEtB;;;;;OAKG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB;IAMtF;;;;OAIG;IACI,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB;IAK5E;;;;OAIG;IACI,mBAAmB,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB;IAKlF,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACI,KAAK,IAAI,OAAO;IA6CvB;;OAEG;IACI,KAAK,IAAI,IAAI;IASpB;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CASjC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// ------------------------------------------------------------------------------
|
|
2
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
// ------------------------------------------------------------------------------
|
|
4
|
+
import { NodeSDK } from '@opentelemetry/sdk-node';
|
|
5
|
+
import { ConsoleSpanExporter, BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
6
|
+
import { SpanProcessor } from './tracing/processors/SpanProcessor';
|
|
7
|
+
import { isAgent365ExporterEnabled } from './tracing/util';
|
|
8
|
+
import { Agent365Exporter } from './tracing/exporter/Agent365Exporter';
|
|
9
|
+
import { resourceFromAttributes } from '@opentelemetry/resources';
|
|
10
|
+
import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
|
|
11
|
+
import { trace } from '@opentelemetry/api';
|
|
12
|
+
/**
|
|
13
|
+
* Builder for configuring Agent 365 with OpenTelemetry tracing
|
|
14
|
+
*/
|
|
15
|
+
export class ObservabilityBuilder {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.options = {};
|
|
18
|
+
this.isBuilt = false;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Configures the service name and version for telemetry
|
|
22
|
+
* @param serviceName The service name
|
|
23
|
+
* @param serviceVersion The service version
|
|
24
|
+
* @returns The builder instance for method chaining
|
|
25
|
+
*/
|
|
26
|
+
withService(serviceName, serviceVersion) {
|
|
27
|
+
this.options.serviceName = serviceName;
|
|
28
|
+
this.options.serviceVersion = serviceVersion;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Configures the token resolver for Agent 365 exporter
|
|
33
|
+
* @param tokenResolver Function to resolve authentication tokens
|
|
34
|
+
* @returns The builder instance for method chaining
|
|
35
|
+
*/
|
|
36
|
+
withTokenResolver(tokenResolver) {
|
|
37
|
+
this.options.tokenResolver = tokenResolver;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Configures the cluster category for Agent 365 exporter
|
|
42
|
+
* @param clusterCategory The cluster category (e.g., "preprod", "prod")
|
|
43
|
+
* @returns The builder instance for method chaining
|
|
44
|
+
*/
|
|
45
|
+
withClusterCategory(clusterCategory) {
|
|
46
|
+
this.options.clusterCategory = clusterCategory;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
getTraceExporter() {
|
|
50
|
+
if (isAgent365ExporterEnabled()) {
|
|
51
|
+
if (!this.options.tokenResolver) {
|
|
52
|
+
throw new Error('tokenResolver must be provided when Agent 365 exporter is enabled');
|
|
53
|
+
}
|
|
54
|
+
return new Agent365Exporter(this.options.tokenResolver, this.options.clusterCategory || 'prod');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return new ConsoleSpanExporter();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
createResource() {
|
|
61
|
+
const serviceName = this.options.serviceVersion
|
|
62
|
+
? `${this.options.serviceName}-${this.options.serviceVersion}`
|
|
63
|
+
: this.options.serviceName ?? 'Agent365-TypeScript';
|
|
64
|
+
return resourceFromAttributes({
|
|
65
|
+
[ATTR_SERVICE_NAME]: serviceName,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Builds and initializes the Agent 365 configuration
|
|
70
|
+
* @returns The configured NodeSDK instance
|
|
71
|
+
*/
|
|
72
|
+
build() {
|
|
73
|
+
if (this.isBuilt) {
|
|
74
|
+
return this.isBuilt;
|
|
75
|
+
}
|
|
76
|
+
// Create processors in the desired order:
|
|
77
|
+
// 1. baggage enricher (copies baggage -> span attributes)
|
|
78
|
+
const spanProcessor = new SpanProcessor();
|
|
79
|
+
// 2. batch processor that actually ships spans out
|
|
80
|
+
const batchProcessor = new BatchSpanProcessor(this.getTraceExporter());
|
|
81
|
+
const globalProvider = trace.getTracerProvider();
|
|
82
|
+
const canAddProcessors = typeof globalProvider?.addSpanProcessor === 'function' &&
|
|
83
|
+
typeof globalProvider?.resource !== 'undefined';
|
|
84
|
+
if (canAddProcessors) {
|
|
85
|
+
// Someone else already created a provider (maybe their own NodeSDK).
|
|
86
|
+
// We DO NOT create a new NodeSDK.
|
|
87
|
+
// We just add our baggage enricher + batch exporter to their provider,
|
|
88
|
+
// but only if they aren't already there.
|
|
89
|
+
this.attachProcessorIfMissing(globalProvider, spanProcessor);
|
|
90
|
+
this.attachProcessorIfMissing(globalProvider, batchProcessor);
|
|
91
|
+
this.isBuilt = true;
|
|
92
|
+
this.sdk = undefined; // we didn't create/own one
|
|
93
|
+
return this.isBuilt;
|
|
94
|
+
}
|
|
95
|
+
// Create & configure the NodeSDK manually so we can inject processors + resource.
|
|
96
|
+
this.sdk = new NodeSDK({
|
|
97
|
+
resource: this.createResource(),
|
|
98
|
+
spanProcessors: [
|
|
99
|
+
spanProcessor,
|
|
100
|
+
batchProcessor,
|
|
101
|
+
],
|
|
102
|
+
});
|
|
103
|
+
this.isBuilt = true;
|
|
104
|
+
return this.isBuilt;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Starts the OpenTelemetry SDK
|
|
108
|
+
*/
|
|
109
|
+
start() {
|
|
110
|
+
if (!this.isBuilt) {
|
|
111
|
+
this.build();
|
|
112
|
+
}
|
|
113
|
+
if (this.sdk) {
|
|
114
|
+
this.sdk.start();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Shuts down the OpenTelemetry SDK
|
|
119
|
+
*/
|
|
120
|
+
async shutdown() {
|
|
121
|
+
if (this.sdk) {
|
|
122
|
+
await this.sdk.shutdown();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Helper to avoid double-registering same processor type.
|
|
127
|
+
*/
|
|
128
|
+
attachProcessorIfMissing(provider, processor) {
|
|
129
|
+
const active = provider._activeSpanProcessor?._spanProcessors;
|
|
130
|
+
const alreadyAdded = Array.isArray(active) &&
|
|
131
|
+
active.some((p) => p?.constructor?.name === processor.constructor.name);
|
|
132
|
+
if (!alreadyAdded) {
|
|
133
|
+
provider.addSpanProcessor(processor);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=ObservabilityBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityBuilder.js","sourceRoot":"","sources":["../../src/ObservabilityBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ObservabilityBuilder, BuilderOptions } from './ObservabilityBuilder';
|
|
2
|
+
/**
|
|
3
|
+
* Main entry point for Agent 365 providing OpenTelemetry tracing for AI agents and tools
|
|
4
|
+
*/
|
|
5
|
+
export declare class ObservabilityManager {
|
|
6
|
+
private static instance?;
|
|
7
|
+
/**
|
|
8
|
+
* Configures Agent 365 with OpenTelemetry tracing for AI agents and tools
|
|
9
|
+
* @param configure Optional configuration callback for the Builder
|
|
10
|
+
* @returns The configured Builder instance
|
|
11
|
+
*/
|
|
12
|
+
static configure(configure?: (builder: ObservabilityBuilder) => void): ObservabilityBuilder;
|
|
13
|
+
/**
|
|
14
|
+
* Configures and starts Agent 365 with simplified options
|
|
15
|
+
* @param options Configuration options
|
|
16
|
+
* @returns The configured and started Builder instance
|
|
17
|
+
*/
|
|
18
|
+
static start(options?: BuilderOptions): ObservabilityBuilder;
|
|
19
|
+
/**
|
|
20
|
+
* Gets the current Agent 365 instance
|
|
21
|
+
* @returns The current instance or null if not configured
|
|
22
|
+
*/
|
|
23
|
+
static getInstance(): ObservabilityBuilder | null;
|
|
24
|
+
/**
|
|
25
|
+
* Shuts down Agent 365
|
|
26
|
+
*/
|
|
27
|
+
static shutdown(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=ObservabilityManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityManager.d.ts","sourceRoot":"","sources":["../../src/ObservabilityManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAuB;IAG/C;;;;OAIG;WACW,SAAS,CACrB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAClD,oBAAoB;IASvB;;;;OAIG;WACW,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB;IAqBnE;;;OAGG;WACW,WAAW,IAAI,oBAAoB,GAAG,IAAI;IAIxD;;OAEG;WACiB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAM9C"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// ------------------------------------------------------------------------------
|
|
2
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
// ------------------------------------------------------------------------------
|
|
4
|
+
import { ObservabilityBuilder } from './ObservabilityBuilder';
|
|
5
|
+
/**
|
|
6
|
+
* Main entry point for Agent 365 providing OpenTelemetry tracing for AI agents and tools
|
|
7
|
+
*/
|
|
8
|
+
export class ObservabilityManager {
|
|
9
|
+
/**
|
|
10
|
+
* Configures Agent 365 with OpenTelemetry tracing for AI agents and tools
|
|
11
|
+
* @param configure Optional configuration callback for the Builder
|
|
12
|
+
* @returns The configured Builder instance
|
|
13
|
+
*/
|
|
14
|
+
static configure(configure) {
|
|
15
|
+
const builder = new ObservabilityBuilder();
|
|
16
|
+
configure?.(builder);
|
|
17
|
+
ObservabilityManager.instance = builder;
|
|
18
|
+
return builder;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Configures and starts Agent 365 with simplified options
|
|
22
|
+
* @param options Configuration options
|
|
23
|
+
* @returns The configured and started Builder instance
|
|
24
|
+
*/
|
|
25
|
+
static start(options) {
|
|
26
|
+
const builder = new ObservabilityBuilder();
|
|
27
|
+
if (options?.serviceName) {
|
|
28
|
+
builder.withService(options.serviceName, options.serviceVersion);
|
|
29
|
+
}
|
|
30
|
+
if (options?.tokenResolver) {
|
|
31
|
+
builder.withTokenResolver(options.tokenResolver);
|
|
32
|
+
}
|
|
33
|
+
if (options?.clusterCategory) {
|
|
34
|
+
builder.withClusterCategory(options.clusterCategory);
|
|
35
|
+
}
|
|
36
|
+
builder.start();
|
|
37
|
+
ObservabilityManager.instance = builder;
|
|
38
|
+
return builder;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Gets the current Agent 365 instance
|
|
42
|
+
* @returns The current instance or null if not configured
|
|
43
|
+
*/
|
|
44
|
+
static getInstance() {
|
|
45
|
+
return ObservabilityManager.instance || null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Shuts down Agent 365
|
|
49
|
+
*/
|
|
50
|
+
static async shutdown() {
|
|
51
|
+
if (ObservabilityManager.instance) {
|
|
52
|
+
await ObservabilityManager.instance.shutdown();
|
|
53
|
+
ObservabilityManager.instance = undefined;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ObservabilityManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObservabilityManager.js","sourceRoot":"","sources":["../../src/ObservabilityManager.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;AAEjF,OAAO,EAAE,oBAAoB,EAAkB,MAAM,wBAAwB,CAAC;AAE9E;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAI/B;;;;OAIG;IACI,MAAM,CAAC,SAAS,CACrB,SAAmD;QAEnD,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE3C,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;QAErB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,OAAwB;QAC1C,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE3C,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,oBAAoB,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW;QACvB,OAAO,oBAAoB,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,IAAI,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/C,oBAAoB,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { ObservabilityManager } from './ObservabilityManager';
|
|
2
|
+
export { ObservabilityBuilder as Builder, BuilderOptions } from './ObservabilityBuilder';
|
|
3
|
+
export { OpenTelemetryConstants } from './tracing/constants';
|
|
4
|
+
export { BaggageBuilder, BaggageScope } from './tracing/middleware/BaggageBuilder';
|
|
5
|
+
export { ExecutionType, InvocationRole, SourceMetadata, AgentRequest, AgentDetails, TenantDetails, ToolCallDetails, InvokeAgentDetails, CallerDetails, EnhancedAgentDetails, ServiceEndpoint, InferenceDetails, InferenceOperationType, InferenceResponse } from './tracing/contracts';
|
|
6
|
+
export { OpenTelemetryScope } from './tracing/scopes/OpenTelemetryScope';
|
|
7
|
+
export { ExecuteToolScope } from './tracing/scopes/ExecuteToolScope';
|
|
8
|
+
export { InvokeAgentScope } from './tracing/scopes/InvokeAgentScope';
|
|
9
|
+
export { InferenceScope } from './tracing/scopes/InferenceScope';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,IAAI,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnF,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAC,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// ------------------------------------------------------------------------------
|
|
2
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
// ------------------------------------------------------------------------------
|
|
4
|
+
// Main SDK classes
|
|
5
|
+
export { ObservabilityManager } from './ObservabilityManager';
|
|
6
|
+
export { ObservabilityBuilder as Builder } from './ObservabilityBuilder';
|
|
7
|
+
// Tracing constants
|
|
8
|
+
export { OpenTelemetryConstants } from './tracing/constants';
|
|
9
|
+
// Baggage builder
|
|
10
|
+
export { BaggageBuilder, BaggageScope } from './tracing/middleware/BaggageBuilder';
|
|
11
|
+
// Contracts and interfaces
|
|
12
|
+
export { ExecutionType, InvocationRole, InferenceOperationType } from './tracing/contracts';
|
|
13
|
+
// Scopes
|
|
14
|
+
export { OpenTelemetryScope } from './tracing/scopes/OpenTelemetryScope';
|
|
15
|
+
export { ExecuteToolScope } from './tracing/scopes/ExecuteToolScope';
|
|
16
|
+
export { InvokeAgentScope } from './tracing/scopes/InvokeAgentScope';
|
|
17
|
+
export { InferenceScope } from './tracing/scopes/InferenceScope';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|