@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,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SpanProcessor = void 0;
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const util_1 = require("./util");
|
|
10
|
+
/**
|
|
11
|
+
* Span processor that propagates baggage key/value pairs to span attributes.
|
|
12
|
+
*
|
|
13
|
+
* This processor copies baggage entries onto spans based on the operation type.
|
|
14
|
+
* For invoke_agent operations, it applies both generic and invoke-agent-specific attributes.
|
|
15
|
+
* For other operations, it applies only generic attributes.
|
|
16
|
+
*/
|
|
17
|
+
class SpanProcessor {
|
|
18
|
+
/**
|
|
19
|
+
* Called when a span is started.
|
|
20
|
+
* Copies relevant baggage entries to span attributes.
|
|
21
|
+
*/
|
|
22
|
+
onStart(span, parentContext) {
|
|
23
|
+
const ctx = parentContext;
|
|
24
|
+
if (!ctx) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// Get existing span attributes
|
|
28
|
+
const existingAttrs = new Set();
|
|
29
|
+
try {
|
|
30
|
+
const spanRecord = span;
|
|
31
|
+
if (spanRecord.attributes) {
|
|
32
|
+
Object.keys(spanRecord.attributes).forEach(key => existingAttrs.add(key));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Ignore errors accessing span attributes
|
|
37
|
+
}
|
|
38
|
+
// Get all baggage entries
|
|
39
|
+
const baggage = api_1.propagation.getBaggage(ctx);
|
|
40
|
+
if (!baggage) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const baggageMap = new Map();
|
|
44
|
+
baggage.getAllEntries().forEach(([key, entry]) => {
|
|
45
|
+
if (entry.value) {
|
|
46
|
+
baggageMap.set(key, entry.value);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
// Determine if this is an invoke_agent operation
|
|
50
|
+
const operationName = baggageMap.get(constants_1.OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY) ||
|
|
51
|
+
span.attributes?.[constants_1.OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY];
|
|
52
|
+
const spanName = span.name || '';
|
|
53
|
+
const isInvokeAgent = operationName === constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME ||
|
|
54
|
+
spanName.startsWith(constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME);
|
|
55
|
+
// Build target key set
|
|
56
|
+
const targetKeys = new Set(util_1.GENERIC_ATTRIBUTES);
|
|
57
|
+
if (isInvokeAgent) {
|
|
58
|
+
util_1.INVOKE_AGENT_ATTRIBUTES.forEach(key => targetKeys.add(key));
|
|
59
|
+
}
|
|
60
|
+
// Copy baggage to span attributes
|
|
61
|
+
for (const key of targetKeys) {
|
|
62
|
+
// Skip if attribute already exists
|
|
63
|
+
if (existingAttrs.has(key)) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const value = baggageMap.get(key);
|
|
67
|
+
if (!value) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
span.setAttribute(key, value);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Ignore errors setting attributes
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Called when a span is ended.
|
|
80
|
+
*/
|
|
81
|
+
onEnd(_span) {
|
|
82
|
+
// No-op for this processor
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Shutdown the processor.
|
|
86
|
+
*/
|
|
87
|
+
async shutdown() {
|
|
88
|
+
// No-op for this processor
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Force flush the processor.
|
|
92
|
+
*/
|
|
93
|
+
async forceFlush() {
|
|
94
|
+
// No-op for this processor
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.SpanProcessor = SpanProcessor;
|
|
98
|
+
//# sourceMappingURL=SpanProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpanProcessor.js","sourceRoot":"","sources":["../../../../src/tracing/processors/SpanProcessor.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,4CAAgE;AAGhE,4CAAsD;AACtD,iCAAqE;AAErE;;;;;;GAMG;AACH,MAAa,aAAa;IACxB;;;OAGG;IACH,OAAO,CAAC,IAAU,EAAE,aAAuB;QACzC,MAAM,GAAG,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAW,CAAC;YAC/B,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,iBAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,aAAa,GACjB,UAAU,CAAC,GAAG,CAAC,kCAAsB,CAAC,yBAAyB,CAAC;YAC/D,IAAY,CAAC,UAAU,EAAE,CAAC,kCAAsB,CAAC,yBAAyB,CAAC,CAAC;QAE/E,MAAM,QAAQ,GAAI,IAAY,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,aAAa,GACjB,aAAa,KAAK,kCAAsB,CAAC,2BAA2B;YACpE,QAAQ,CAAC,UAAU,CAAC,kCAAsB,CAAC,2BAA2B,CAAC,CAAC;QAE1E,uBAAuB;QACvB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,yBAAkB,CAAC,CAAC;QACvD,IAAI,aAAa,EAAE,CAAC;YAClB,8BAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,mCAAmC;YACnC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAmB;QACvB,2BAA2B;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,2BAA2B;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,2BAA2B;IAC7B,CAAC;CACF;AA3FD,sCA2FC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic / common tracing attributes applied to all spans
|
|
3
|
+
*/
|
|
4
|
+
export declare const GENERIC_ATTRIBUTES: readonly string[];
|
|
5
|
+
/**
|
|
6
|
+
* Invoke Agent-specific attributes
|
|
7
|
+
*/
|
|
8
|
+
export declare const INVOKE_AGENT_ATTRIBUTES: readonly string[];
|
|
9
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/tracing/processors/util.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAe/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAmBpD,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.INVOKE_AGENT_ATTRIBUTES = exports.GENERIC_ATTRIBUTES = void 0;
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
/**
|
|
9
|
+
* Generic / common tracing attributes applied to all spans
|
|
10
|
+
*/
|
|
11
|
+
exports.GENERIC_ATTRIBUTES = [
|
|
12
|
+
constants_1.OpenTelemetryConstants.TENANT_ID_KEY,
|
|
13
|
+
constants_1.OpenTelemetryConstants.CUSTOM_PARENT_SPAN_ID_KEY,
|
|
14
|
+
constants_1.OpenTelemetryConstants.CUSTOM_SPAN_NAME_KEY,
|
|
15
|
+
constants_1.OpenTelemetryConstants.CORRELATION_ID_KEY,
|
|
16
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY,
|
|
17
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ITEM_LINK_KEY,
|
|
18
|
+
constants_1.OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY,
|
|
19
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY,
|
|
20
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY,
|
|
21
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY,
|
|
22
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_USER_ID_KEY,
|
|
23
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_UPN_KEY,
|
|
24
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY,
|
|
25
|
+
constants_1.OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY,
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* Invoke Agent-specific attributes
|
|
29
|
+
*/
|
|
30
|
+
exports.INVOKE_AGENT_ATTRIBUTES = [
|
|
31
|
+
// Caller / Invoker attributes
|
|
32
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_ID_KEY,
|
|
33
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_NAME_KEY,
|
|
34
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_UPN_KEY,
|
|
35
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_USER_ID_KEY,
|
|
36
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_TENANT_ID_KEY,
|
|
37
|
+
// Caller Agent (A2A) attributes
|
|
38
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY,
|
|
39
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY,
|
|
40
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY,
|
|
41
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_UPN_KEY,
|
|
42
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_TENANT_ID_KEY,
|
|
43
|
+
constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY,
|
|
44
|
+
// Execution context
|
|
45
|
+
constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY,
|
|
46
|
+
constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_ID_KEY,
|
|
47
|
+
constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_NAME_KEY,
|
|
48
|
+
constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_DESCRIPTION_KEY,
|
|
49
|
+
];
|
|
50
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/tracing/processors/util.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,4CAAgE;AAEhE;;GAEG;AACU,QAAA,kBAAkB,GAAsB;IACnD,kCAAM,CAAC,aAAa;IACpB,kCAAM,CAAC,yBAAyB;IAChC,kCAAM,CAAC,oBAAoB;IAC3B,kCAAM,CAAC,kBAAkB;IACzB,kCAAM,CAAC,0BAA0B;IACjC,kCAAM,CAAC,iCAAiC;IACxC,kCAAM,CAAC,yBAAyB;IAChC,kCAAM,CAAC,mBAAmB;IAC1B,kCAAM,CAAC,qBAAqB;IAC5B,kCAAM,CAAC,4BAA4B;IACnC,kCAAM,CAAC,wBAAwB;IAC/B,kCAAM,CAAC,oBAAoB;IAC3B,kCAAM,CAAC,6BAA6B;IACpC,kCAAM,CAAC,qBAAqB;CAC7B,CAAC;AAEF;;GAEG;AACU,QAAA,uBAAuB,GAAsB;IACxD,8BAA8B;IAC9B,kCAAM,CAAC,oBAAoB;IAC3B,kCAAM,CAAC,sBAAsB;IAC7B,kCAAM,CAAC,qBAAqB;IAC5B,kCAAM,CAAC,yBAAyB;IAChC,kCAAM,CAAC,2BAA2B;IAClC,gCAAgC;IAChC,kCAAM,CAAC,0BAA0B;IACjC,kCAAM,CAAC,4BAA4B;IACnC,kCAAM,CAAC,+BAA+B;IACtC,kCAAM,CAAC,2BAA2B;IAClC,kCAAM,CAAC,iCAAiC;IACxC,kCAAM,CAAC,sCAAsC;IAC7C,oBAAoB;IACpB,kCAAM,CAAC,yBAAyB;IAChC,kCAAM,CAAC,8BAA8B;IACrC,kCAAM,CAAC,gCAAgC;IACvC,kCAAM,CAAC,uCAAuC;CAC/C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
+
import { ToolCallDetails, AgentDetails, TenantDetails } from '../contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Provides OpenTelemetry tracing scope for AI tool execution operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ExecuteToolScope extends OpenTelemetryScope {
|
|
7
|
+
/**
|
|
8
|
+
* Creates and starts a new scope for tool execution tracing.
|
|
9
|
+
* @param details The tool call details
|
|
10
|
+
* @param agentDetails The agent details
|
|
11
|
+
* @param tenantDetails The tenant details
|
|
12
|
+
* @returns A new ExecuteToolScope instance.
|
|
13
|
+
*/
|
|
14
|
+
static start(details: ToolCallDetails, agentDetails: AgentDetails, tenantDetails: TenantDetails): ExecuteToolScope;
|
|
15
|
+
private constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Records response information for telemetry tracking.
|
|
18
|
+
* @param response The tool execution response
|
|
19
|
+
*/
|
|
20
|
+
recordResponse(response: string): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ExecuteToolScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecuteToolScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/ExecuteToolScope.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5E;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,GAAG,gBAAgB;IAIzH,OAAO;IA6BP;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;CAG9C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ExecuteToolScope = void 0;
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const OpenTelemetryScope_1 = require("./OpenTelemetryScope");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
/**
|
|
11
|
+
* Provides OpenTelemetry tracing scope for AI tool execution operations.
|
|
12
|
+
*/
|
|
13
|
+
class ExecuteToolScope extends OpenTelemetryScope_1.OpenTelemetryScope {
|
|
14
|
+
/**
|
|
15
|
+
* Creates and starts a new scope for tool execution tracing.
|
|
16
|
+
* @param details The tool call details
|
|
17
|
+
* @param agentDetails The agent details
|
|
18
|
+
* @param tenantDetails The tenant details
|
|
19
|
+
* @returns A new ExecuteToolScope instance.
|
|
20
|
+
*/
|
|
21
|
+
static start(details, agentDetails, tenantDetails) {
|
|
22
|
+
return new ExecuteToolScope(details, agentDetails, tenantDetails);
|
|
23
|
+
}
|
|
24
|
+
constructor(details, agentDetails, tenantDetails) {
|
|
25
|
+
super(api_1.SpanKind.INTERNAL, constants_1.OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME, `${constants_1.OpenTelemetryConstants.EXECUTE_TOOL_OPERATION_NAME} ${details.toolName}`, agentDetails, tenantDetails);
|
|
26
|
+
// Destructure the details object to match C# pattern
|
|
27
|
+
const { toolName, arguments: args, toolCallId, description, toolType, endpoint } = details;
|
|
28
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_TOOL_NAME_KEY, toolName);
|
|
29
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_TOOL_ARGS_KEY, args);
|
|
30
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_TOOL_TYPE_KEY, toolType);
|
|
31
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_TOOL_CALL_ID_KEY, toolCallId);
|
|
32
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_TOOL_DESCRIPTION_KEY, description);
|
|
33
|
+
// Set endpoint information if provided
|
|
34
|
+
if (endpoint) {
|
|
35
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_ADDRESS_KEY, endpoint.host);
|
|
36
|
+
// Only record port if it is different from 443 (default HTTPS port)
|
|
37
|
+
if (endpoint.port && endpoint.port !== 443) {
|
|
38
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_PORT_KEY, endpoint.port);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Records response information for telemetry tracking.
|
|
44
|
+
* @param response The tool execution response
|
|
45
|
+
*/
|
|
46
|
+
recordResponse(response) {
|
|
47
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_EVENT_CONTENT, response);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.ExecuteToolScope = ExecuteToolScope;
|
|
51
|
+
//# sourceMappingURL=ExecuteToolScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecuteToolScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/ExecuteToolScope.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,4CAA8C;AAC9C,6DAA0D;AAE1D,4CAAsD;AAEtD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,uCAAkB;IACtD;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAwB,EAAE,YAA0B,EAAE,aAA4B;QACpG,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,YAAoB,OAAwB,EAAE,YAA0B,EAAE,aAA4B;QACpG,KAAK,CACH,cAAQ,CAAC,QAAQ,EACjB,kCAAsB,CAAC,2BAA2B,EAClD,GAAG,kCAAsB,CAAC,2BAA2B,IAAI,OAAO,CAAC,QAAQ,EAAE,EAC3E,YAAY,EACZ,aAAa,CACd,CAAC;QAEF,qDAAqD;QACrD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAE3F,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAElF,uCAAuC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3E,oEAAoE;YACpE,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,QAAgB;QACpC,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;CACF;AAhDD,4CAgDC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
+
import { InferenceDetails, AgentDetails, TenantDetails } from '../contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Provides OpenTelemetry tracing scope for generative AI inference operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InferenceScope extends OpenTelemetryScope {
|
|
7
|
+
/**
|
|
8
|
+
* Creates and starts a new scope for inference tracing.
|
|
9
|
+
* @param details The inference call details
|
|
10
|
+
* @param agentDetails The agent details
|
|
11
|
+
* @param tenantDetails The tenant details
|
|
12
|
+
* @returns A new InferenceScope instance
|
|
13
|
+
*/
|
|
14
|
+
static start(details: InferenceDetails, agentDetails: AgentDetails, tenantDetails: TenantDetails): InferenceScope;
|
|
15
|
+
private constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Records the input messages for telemetry tracking.
|
|
18
|
+
* @param messages Array of input messages
|
|
19
|
+
*/
|
|
20
|
+
recordInputMessages(messages: string[]): void;
|
|
21
|
+
/**
|
|
22
|
+
* Records the output messages for telemetry tracking.
|
|
23
|
+
* @param messages Array of output messages
|
|
24
|
+
*/
|
|
25
|
+
recordOutputMessages(messages: string[]): void;
|
|
26
|
+
/**
|
|
27
|
+
* Records the number of input tokens for telemetry tracking.
|
|
28
|
+
* @param inputTokens Number of input tokens
|
|
29
|
+
*/
|
|
30
|
+
recordInputTokens(inputTokens: number): void;
|
|
31
|
+
/**
|
|
32
|
+
* Records the number of output tokens for telemetry tracking.
|
|
33
|
+
* @param outputTokens Number of output tokens
|
|
34
|
+
*/
|
|
35
|
+
recordOutputTokens(outputTokens: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* Records the response id for telemetry tracking.
|
|
38
|
+
* @param responseId The response ID
|
|
39
|
+
*/
|
|
40
|
+
recordResponseId(responseId: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Records the finish reasons for telemetry tracking.
|
|
43
|
+
* @param finishReasons Array of finish reasons
|
|
44
|
+
*/
|
|
45
|
+
recordFinishReasons(finishReasons: string[]): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=InferenceScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferenceScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACd,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,GAAG,cAAc;IAIxH,OAAO;IAmBP;;;OAGG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAIrD;;;OAGG;IACI,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAInD;;;OAGG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIrD;;;OAGG;IACI,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAMjD;;;OAGG;IACI,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;CAM1D"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InferenceScope = void 0;
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const OpenTelemetryScope_1 = require("./OpenTelemetryScope");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
/**
|
|
11
|
+
* Provides OpenTelemetry tracing scope for generative AI inference operations.
|
|
12
|
+
*/
|
|
13
|
+
class InferenceScope extends OpenTelemetryScope_1.OpenTelemetryScope {
|
|
14
|
+
/**
|
|
15
|
+
* Creates and starts a new scope for inference tracing.
|
|
16
|
+
* @param details The inference call details
|
|
17
|
+
* @param agentDetails The agent details
|
|
18
|
+
* @param tenantDetails The tenant details
|
|
19
|
+
* @returns A new InferenceScope instance
|
|
20
|
+
*/
|
|
21
|
+
static start(details, agentDetails, tenantDetails) {
|
|
22
|
+
return new InferenceScope(details, agentDetails, tenantDetails);
|
|
23
|
+
}
|
|
24
|
+
constructor(details, agentDetails, tenantDetails) {
|
|
25
|
+
super(api_1.SpanKind.CLIENT, details.operationName.toString(), `${details.operationName} ${details.model}`, agentDetails, tenantDetails);
|
|
26
|
+
// Set core inference information matching C# implementation
|
|
27
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY, details.operationName.toString());
|
|
28
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_REQUEST_MODEL_KEY, details.model);
|
|
29
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, details.providerName);
|
|
30
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_USAGE_INPUT_TOKENS_KEY, details.inputTokens?.toString());
|
|
31
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_USAGE_OUTPUT_TOKENS_KEY, details.outputTokens?.toString());
|
|
32
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY, details.finishReasons?.join(','));
|
|
33
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_RESPONSE_ID_KEY, details.responseId);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Records the input messages for telemetry tracking.
|
|
37
|
+
* @param messages Array of input messages
|
|
38
|
+
*/
|
|
39
|
+
recordInputMessages(messages) {
|
|
40
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, messages.join(','));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Records the output messages for telemetry tracking.
|
|
44
|
+
* @param messages Array of output messages
|
|
45
|
+
*/
|
|
46
|
+
recordOutputMessages(messages) {
|
|
47
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, messages.join(','));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Records the number of input tokens for telemetry tracking.
|
|
51
|
+
* @param inputTokens Number of input tokens
|
|
52
|
+
*/
|
|
53
|
+
recordInputTokens(inputTokens) {
|
|
54
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_USAGE_INPUT_TOKENS_KEY, inputTokens.toString());
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Records the number of output tokens for telemetry tracking.
|
|
58
|
+
* @param outputTokens Number of output tokens
|
|
59
|
+
*/
|
|
60
|
+
recordOutputTokens(outputTokens) {
|
|
61
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_USAGE_OUTPUT_TOKENS_KEY, outputTokens.toString());
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Records the response id for telemetry tracking.
|
|
65
|
+
* @param responseId The response ID
|
|
66
|
+
*/
|
|
67
|
+
recordResponseId(responseId) {
|
|
68
|
+
if (responseId && responseId.trim()) {
|
|
69
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_RESPONSE_ID_KEY, responseId);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Records the finish reasons for telemetry tracking.
|
|
74
|
+
* @param finishReasons Array of finish reasons
|
|
75
|
+
*/
|
|
76
|
+
recordFinishReasons(finishReasons) {
|
|
77
|
+
if (finishReasons && finishReasons.length > 0) {
|
|
78
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY, finishReasons.join(','));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.InferenceScope = InferenceScope;
|
|
83
|
+
//# sourceMappingURL=InferenceScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferenceScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":";AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;;;AAEjF,4CAA8C;AAC9C,6DAA0D;AAC1D,4CAAsD;AAOtD;;GAEG;AACH,MAAa,cAAe,SAAQ,uCAAkB;IACpD;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,OAAyB,EAAE,YAA0B,EAAE,aAA4B;QACrG,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,YAAoB,OAAyB,EAAE,YAA0B,EAAE,aAA4B;QACrG,KAAK,CACH,cAAQ,CAAC,MAAM,EACf,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,EAChC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,KAAK,EAAE,EAC3C,YAAY,EACZ,aAAa,CACd,CAAC;QAEF,4DAA4D;QAC5D,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,wBAAwB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,6BAA6B,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,8BAA8B,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,kCAAkC,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,sBAAsB,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,QAAkB;QAC3C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,yBAAyB,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,QAAkB;QAC5C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,0BAA0B,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,WAAmB;QAC1C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,6BAA6B,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjG,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,YAAoB;QAC5C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,8BAA8B,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnG,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,UAAkB;QACxC,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,aAAuB;QAChD,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,kCAAsB,CAAC,kCAAkC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;CAEF;AAnFD,wCAmFC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
+
import { InvokeAgentDetails, TenantDetails, CallerDetails, EnhancedAgentDetails } from '../contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Provides OpenTelemetry tracing scope for AI agent invocation operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InvokeAgentScope extends OpenTelemetryScope {
|
|
7
|
+
/**
|
|
8
|
+
* Creates and starts a new scope for agent invocation tracing.
|
|
9
|
+
* @param invokeAgentDetails The details of the agent invocation including endpoint, agent information, and conversation context.
|
|
10
|
+
* @param tenantDetails The tenant details.
|
|
11
|
+
* @param callerAgentDetails The details of the caller agent.
|
|
12
|
+
* @param callerDetails The details of the non-agentic caller.
|
|
13
|
+
* @returns A new InvokeAgentScope instance.
|
|
14
|
+
*/
|
|
15
|
+
static start(invokeAgentDetails: InvokeAgentDetails, tenantDetails: TenantDetails, callerAgentDetails?: EnhancedAgentDetails, callerDetails?: CallerDetails): InvokeAgentScope;
|
|
16
|
+
private constructor();
|
|
17
|
+
/**
|
|
18
|
+
* Records response information for telemetry tracking.
|
|
19
|
+
* @param response The invocation response
|
|
20
|
+
*/
|
|
21
|
+
recordResponse(response: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Records the input messages for telemetry tracking.
|
|
24
|
+
* @param messages Array of input messages
|
|
25
|
+
*/
|
|
26
|
+
recordInputMessages(messages: string[]): void;
|
|
27
|
+
/**
|
|
28
|
+
* Records the output messages for telemetry tracking.
|
|
29
|
+
* @param messages Array of output messages
|
|
30
|
+
*/
|
|
31
|
+
recordOutputMessages(messages: string[]): void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=InvokeAgentScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IAEtD;;;;;;;OAOG;WACW,KAAK,CACjB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,kBAAkB,CAAC,EAAE,oBAAoB,EACzC,aAAa,CAAC,EAAE,aAAa,GAC5B,gBAAgB;IAInB,OAAO;IA8DP;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI7C;;;OAGG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAMpD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;CAKtD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ------------------------------------------------------------------------------
|
|
3
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
// ------------------------------------------------------------------------------
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.InvokeAgentScope = void 0;
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const OpenTelemetryScope_1 = require("./OpenTelemetryScope");
|
|
9
|
+
const constants_1 = require("../constants");
|
|
10
|
+
/**
|
|
11
|
+
* Provides OpenTelemetry tracing scope for AI agent invocation operations.
|
|
12
|
+
*/
|
|
13
|
+
class InvokeAgentScope extends OpenTelemetryScope_1.OpenTelemetryScope {
|
|
14
|
+
/**
|
|
15
|
+
* Creates and starts a new scope for agent invocation tracing.
|
|
16
|
+
* @param invokeAgentDetails The details of the agent invocation including endpoint, agent information, and conversation context.
|
|
17
|
+
* @param tenantDetails The tenant details.
|
|
18
|
+
* @param callerAgentDetails The details of the caller agent.
|
|
19
|
+
* @param callerDetails The details of the non-agentic caller.
|
|
20
|
+
* @returns A new InvokeAgentScope instance.
|
|
21
|
+
*/
|
|
22
|
+
static start(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails) {
|
|
23
|
+
return new InvokeAgentScope(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails);
|
|
24
|
+
}
|
|
25
|
+
constructor(invokeAgentDetails, tenantDetails, callerAgentDetails, callerDetails) {
|
|
26
|
+
super(api_1.SpanKind.CLIENT, constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, invokeAgentDetails.agentName
|
|
27
|
+
? `${constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME} ${invokeAgentDetails.agentName}`
|
|
28
|
+
: constants_1.OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, invokeAgentDetails, tenantDetails);
|
|
29
|
+
// Set session ID and endpoint information
|
|
30
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SESSION_ID_KEY, invokeAgentDetails.sessionId);
|
|
31
|
+
if (invokeAgentDetails.endpoint) {
|
|
32
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_ADDRESS_KEY, invokeAgentDetails.endpoint.host);
|
|
33
|
+
// Only record port if it is different from 443 (default HTTPS port)
|
|
34
|
+
if (invokeAgentDetails.endpoint.port && invokeAgentDetails.endpoint.port !== 443) {
|
|
35
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.SERVER_PORT_KEY, invokeAgentDetails.endpoint.port);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Set request-related tags
|
|
39
|
+
const requestToUse = invokeAgentDetails.request;
|
|
40
|
+
if (requestToUse) {
|
|
41
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY, requestToUse.executionType?.toString());
|
|
42
|
+
if (requestToUse.sourceMetadata) {
|
|
43
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_ID_KEY, requestToUse.sourceMetadata.id);
|
|
44
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_NAME_KEY, requestToUse.sourceMetadata.name);
|
|
45
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_EXECUTION_SOURCE_DESCRIPTION_KEY, requestToUse.sourceMetadata.description);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, invokeAgentDetails.conversationId);
|
|
49
|
+
// Set caller details tags
|
|
50
|
+
if (callerDetails) {
|
|
51
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_ID_KEY, callerDetails.callerId);
|
|
52
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_UPN_KEY, callerDetails.callerUpn);
|
|
53
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_NAME_KEY, callerDetails.callerName);
|
|
54
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_USER_ID_KEY, callerDetails.callerUserId);
|
|
55
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_TENANT_ID_KEY, callerDetails.tenantId);
|
|
56
|
+
}
|
|
57
|
+
// Set caller agent details tags
|
|
58
|
+
if (callerAgentDetails) {
|
|
59
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY, callerAgentDetails.agentName);
|
|
60
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY, callerAgentDetails.agentId);
|
|
61
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY, callerAgentDetails.agentBlueprintId);
|
|
62
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY, callerAgentDetails.agentAUID);
|
|
63
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_UPN_KEY, callerAgentDetails.agentUPN);
|
|
64
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_CALLER_AGENT_TENANT_ID_KEY, callerAgentDetails.tenantId);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Records response information for telemetry tracking.
|
|
69
|
+
* @param response The invocation response
|
|
70
|
+
*/
|
|
71
|
+
recordResponse(response) {
|
|
72
|
+
this.recordOutputMessages([response]);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Records the input messages for telemetry tracking.
|
|
76
|
+
* @param messages Array of input messages
|
|
77
|
+
*/
|
|
78
|
+
recordInputMessages(messages) {
|
|
79
|
+
if (InvokeAgentScope.enableTelemetry) {
|
|
80
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, messages.join(','));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Records the output messages for telemetry tracking.
|
|
85
|
+
* @param messages Array of output messages
|
|
86
|
+
*/
|
|
87
|
+
recordOutputMessages(messages) {
|
|
88
|
+
if (InvokeAgentScope.enableTelemetry) {
|
|
89
|
+
this.setTagMaybe(constants_1.OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, messages.join(','));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.InvokeAgentScope = InvokeAgentScope;
|
|
94
|
+
//# sourceMappingURL=InvokeAgentScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SpanKind, Span } from '@opentelemetry/api';
|
|
2
|
+
import { EnhancedAgentDetails, TenantDetails } from '../contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Base class for OpenTelemetry tracing scopes
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class OpenTelemetryScope implements Disposable {
|
|
7
|
+
private static readonly tracer;
|
|
8
|
+
protected readonly span: Span;
|
|
9
|
+
private readonly startTime;
|
|
10
|
+
protected static enableTelemetry: boolean;
|
|
11
|
+
private errorType?;
|
|
12
|
+
private exception?;
|
|
13
|
+
private hasEnded;
|
|
14
|
+
/**
|
|
15
|
+
* Initializes a new instance of the OpenTelemetryScope class
|
|
16
|
+
* @param kind The kind of span (CLIENT, SERVER, INTERNAL, etc.)
|
|
17
|
+
* @param operationName The name of the operation being traced
|
|
18
|
+
* @param spanName The name of the span for display purposes
|
|
19
|
+
* @param agentDetails Optional agent details
|
|
20
|
+
* @param tenantDetails Optional tenant details
|
|
21
|
+
*/
|
|
22
|
+
protected constructor(kind: SpanKind, operationName: string, spanName: string, agentDetails?: EnhancedAgentDetails, tenantDetails?: TenantDetails);
|
|
23
|
+
/**
|
|
24
|
+
* Makes this span active for the duration of the async callback execution
|
|
25
|
+
*/
|
|
26
|
+
withActiveSpanAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
27
|
+
/**
|
|
28
|
+
* Records an error that occurred during the operation
|
|
29
|
+
* @param error The error that occurred
|
|
30
|
+
*/
|
|
31
|
+
recordError(error: Error): void;
|
|
32
|
+
/**
|
|
33
|
+
* Sets a tag on the span if telemetry is enabled
|
|
34
|
+
* @param name The tag name
|
|
35
|
+
* @param value The tag value
|
|
36
|
+
*/
|
|
37
|
+
protected setTagMaybe<T extends string | number | boolean>(name: string, value: T | null | undefined): void;
|
|
38
|
+
/**
|
|
39
|
+
* Add baggage to the current context
|
|
40
|
+
* @param key The baggage key
|
|
41
|
+
* @param value The baggage value
|
|
42
|
+
*/
|
|
43
|
+
protected addBaggage(key: string, value: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* Finalizes the scope and records metrics
|
|
46
|
+
*/
|
|
47
|
+
private end;
|
|
48
|
+
/**
|
|
49
|
+
* Disposes the scope and finalizes telemetry data collection
|
|
50
|
+
*/
|
|
51
|
+
[Symbol.dispose](): void;
|
|
52
|
+
/**
|
|
53
|
+
* Legacy dispose method for compatibility
|
|
54
|
+
*/
|
|
55
|
+
dispose(): void;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=OpenTelemetryScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,QAAQ,EAAE,IAAI,EAAuC,MAAM,oBAAoB,CAAC;AAGhG,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGnE;;GAEG;AACH,8BAAsB,kBAAmB,YAAW,UAAU;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAErF,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,SAAS,CAAC,MAAM,CAAC,eAAe,UAAgC;IAEhE,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;OAOG;IACH,SAAS,aACP,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,oBAAoB,EACnC,aAAa,CAAC,EAAE,aAAa;IAoC/B;;OAEG;IACI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAoBtC;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAM3G;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQtD;;OAEG;IACH,OAAO,CAAC,GAAG;IAsBX;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAO/B;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB"}
|