@microsoft/agents-a365-observability 0.1.0-preview.126 → 0.1.0-preview.128
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/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tracing/constants.d.ts +2 -2
- package/dist/cjs/tracing/constants.d.ts.map +1 -1
- package/dist/cjs/tracing/constants.js +1 -1
- package/dist/cjs/tracing/constants.js.map +1 -1
- package/dist/cjs/tracing/contracts.d.ts +151 -25
- package/dist/cjs/tracing/contracts.d.ts.map +1 -1
- package/dist/cjs/tracing/contracts.js +37 -15
- package/dist/cjs/tracing/contracts.js.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.js +1 -1
- package/dist/cjs/tracing/exporter/Agent365Exporter.js.map +1 -1
- package/dist/cjs/tracing/exporter/utils.d.ts +14 -0
- package/dist/cjs/tracing/exporter/utils.d.ts.map +1 -1
- package/dist/cjs/tracing/exporter/utils.js +328 -3
- package/dist/cjs/tracing/exporter/utils.js.map +1 -1
- package/dist/cjs/tracing/message-utils.d.ts +36 -0
- package/dist/cjs/tracing/message-utils.d.ts.map +1 -0
- package/dist/cjs/tracing/message-utils.js +90 -0
- package/dist/cjs/tracing/message-utils.js.map +1 -0
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts +3 -3
- package/dist/cjs/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js +7 -6
- package/dist/cjs/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts +13 -11
- package/dist/cjs/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InferenceScope.js +16 -14
- package/dist/cjs/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts +7 -5
- package/dist/cjs/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js +11 -5
- package/dist/cjs/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts +13 -2
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js +19 -1
- package/dist/cjs/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.d.ts +11 -9
- package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.js +29 -16
- package/dist/cjs/tracing/scopes/OutputScope.js.map +1 -1
- package/dist/cjs/tracing/util.d.ts +9 -0
- package/dist/cjs/tracing/util.d.ts.map +1 -1
- package/dist/cjs/tracing/util.js +32 -0
- package/dist/cjs/tracing/util.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tracing/constants.d.ts +2 -2
- package/dist/esm/tracing/constants.d.ts.map +1 -1
- package/dist/esm/tracing/constants.js +1 -1
- package/dist/esm/tracing/constants.js.map +1 -1
- package/dist/esm/tracing/contracts.d.ts +151 -25
- package/dist/esm/tracing/contracts.d.ts.map +1 -1
- package/dist/esm/tracing/contracts.js +36 -14
- package/dist/esm/tracing/contracts.js.map +1 -1
- package/dist/esm/tracing/exporter/Agent365Exporter.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/Agent365Exporter.js +2 -2
- package/dist/esm/tracing/exporter/Agent365Exporter.js.map +1 -1
- package/dist/esm/tracing/exporter/utils.d.ts +14 -0
- package/dist/esm/tracing/exporter/utils.d.ts.map +1 -1
- package/dist/esm/tracing/exporter/utils.js +326 -3
- package/dist/esm/tracing/exporter/utils.js.map +1 -1
- package/dist/esm/tracing/message-utils.d.ts +36 -0
- package/dist/esm/tracing/message-utils.d.ts.map +1 -0
- package/dist/esm/tracing/message-utils.js +82 -0
- package/dist/esm/tracing/message-utils.js.map +1 -0
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts +3 -3
- package/dist/esm/tracing/scopes/ExecuteToolScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/ExecuteToolScope.js +7 -6
- package/dist/esm/tracing/scopes/ExecuteToolScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.d.ts +13 -11
- package/dist/esm/tracing/scopes/InferenceScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InferenceScope.js +16 -14
- package/dist/esm/tracing/scopes/InferenceScope.js.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts +7 -5
- package/dist/esm/tracing/scopes/InvokeAgentScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/InvokeAgentScope.js +11 -5
- package/dist/esm/tracing/scopes/InvokeAgentScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts +13 -2
- package/dist/esm/tracing/scopes/OpenTelemetryScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js +19 -1
- package/dist/esm/tracing/scopes/OpenTelemetryScope.js.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.d.ts +11 -9
- package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.js +29 -16
- package/dist/esm/tracing/scopes/OutputScope.js.map +1 -1
- package/dist/esm/tracing/util.d.ts +9 -0
- package/dist/esm/tracing/util.d.ts.map +1 -1
- package/dist/esm/tracing/util.js +31 -0
- package/dist/esm/tracing/util.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -47,20 +47,6 @@ export class InferenceScope extends OpenTelemetryScope {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Records the input messages for telemetry tracking.
|
|
52
|
-
* @param messages Array of input messages
|
|
53
|
-
*/
|
|
54
|
-
recordInputMessages(messages) {
|
|
55
|
-
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, JSON.stringify(messages));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Records the output messages for telemetry tracking.
|
|
59
|
-
* @param messages Array of output messages
|
|
60
|
-
*/
|
|
61
|
-
recordOutputMessages(messages) {
|
|
62
|
-
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, JSON.stringify(messages));
|
|
63
|
-
}
|
|
64
50
|
/**
|
|
65
51
|
* Records the number of input tokens for telemetry tracking.
|
|
66
52
|
* @param inputTokens Number of input tokens
|
|
@@ -84,5 +70,21 @@ export class InferenceScope extends OpenTelemetryScope {
|
|
|
84
70
|
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_RESPONSE_FINISH_REASONS_KEY, finishReasons);
|
|
85
71
|
}
|
|
86
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Records the input messages for telemetry tracking.
|
|
75
|
+
* Accepts plain strings (auto-wrapped as OTEL ChatMessage with role `user`) or a versioned InputMessages wrapper.
|
|
76
|
+
* @param messages Array of input message strings or an InputMessages wrapper
|
|
77
|
+
*/
|
|
78
|
+
recordInputMessages(messages) {
|
|
79
|
+
super.recordInputMessages(messages);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Records the output messages for telemetry tracking.
|
|
83
|
+
* Accepts plain strings (auto-wrapped as OTEL OutputMessage with role `assistant`) or a versioned OutputMessages wrapper.
|
|
84
|
+
* @param messages Array of output message strings or an OutputMessages wrapper
|
|
85
|
+
*/
|
|
86
|
+
recordOutputMessages(messages) {
|
|
87
|
+
super.recordOutputMessages(messages);
|
|
88
|
+
}
|
|
87
89
|
}
|
|
88
90
|
//# sourceMappingURL=InferenceScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InferenceScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"InferenceScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
-
import { InvokeAgentScopeDetails, CallerDetails, Request, SpanDetails, AgentDetails } from '../contracts';
|
|
2
|
+
import { InvokeAgentScopeDetails, CallerDetails, Request, SpanDetails, AgentDetails, InputMessagesParam, OutputMessagesParam } from '../contracts';
|
|
3
3
|
/**
|
|
4
4
|
* Provides OpenTelemetry tracing scope for AI agent invocation operations.
|
|
5
5
|
*/
|
|
@@ -26,13 +26,15 @@ export declare class InvokeAgentScope extends OpenTelemetryScope {
|
|
|
26
26
|
recordResponse(response: string): void;
|
|
27
27
|
/**
|
|
28
28
|
* Records the input messages for telemetry tracking.
|
|
29
|
-
*
|
|
29
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL ChatMessage with role `user`), or a versioned InputMessages wrapper.
|
|
30
|
+
* @param messages A string, array of strings, or an InputMessages wrapper
|
|
30
31
|
*/
|
|
31
|
-
recordInputMessages(messages:
|
|
32
|
+
recordInputMessages(messages: InputMessagesParam): void;
|
|
32
33
|
/**
|
|
33
34
|
* Records the output messages for telemetry tracking.
|
|
34
|
-
*
|
|
35
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL OutputMessage with role `assistant`), or a versioned OutputMessages wrapper.
|
|
36
|
+
* @param messages A string, array of strings, or an OutputMessages wrapper
|
|
35
37
|
*/
|
|
36
|
-
recordOutputMessages(messages:
|
|
38
|
+
recordOutputMessages(messages: OutputMessagesParam): void;
|
|
37
39
|
}
|
|
38
40
|
//# sourceMappingURL=InvokeAgentScope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeAgentScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAGtB;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD;;;;;;;;;;;;OAYG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,uBAAuB,EAC3C,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,WAAW,GACxB,gBAAgB;IAInB,OAAO;IAiEP;;;OAGG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI7C;;;;OAIG;IACa,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIvE;;;;OAIG;IACa,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAG1E"}
|
|
@@ -49,6 +49,10 @@ export class InvokeAgentScope extends OpenTelemetryScope {
|
|
|
49
49
|
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel.description);
|
|
50
50
|
}
|
|
51
51
|
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
52
|
+
// Record request content as input messages
|
|
53
|
+
if (request.content != null) {
|
|
54
|
+
this.recordInputMessages(request.content);
|
|
55
|
+
}
|
|
52
56
|
// Set caller agent details tags for A2A scenarios
|
|
53
57
|
const callerAgent = callerDetails?.callerAgentDetails;
|
|
54
58
|
if (callerAgent) {
|
|
@@ -66,21 +70,23 @@ export class InvokeAgentScope extends OpenTelemetryScope {
|
|
|
66
70
|
* @param response The invocation response
|
|
67
71
|
*/
|
|
68
72
|
recordResponse(response) {
|
|
69
|
-
this.recordOutputMessages(
|
|
73
|
+
this.recordOutputMessages(response);
|
|
70
74
|
}
|
|
71
75
|
/**
|
|
72
76
|
* Records the input messages for telemetry tracking.
|
|
73
|
-
*
|
|
77
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL ChatMessage with role `user`), or a versioned InputMessages wrapper.
|
|
78
|
+
* @param messages A string, array of strings, or an InputMessages wrapper
|
|
74
79
|
*/
|
|
75
80
|
recordInputMessages(messages) {
|
|
76
|
-
|
|
81
|
+
super.recordInputMessages(messages);
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
84
|
* Records the output messages for telemetry tracking.
|
|
80
|
-
*
|
|
85
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL OutputMessage with role `assistant`), or a versioned OutputMessages wrapper.
|
|
86
|
+
* @param messages A string, array of strings, or an OutputMessages wrapper
|
|
81
87
|
*/
|
|
82
88
|
recordOutputMessages(messages) {
|
|
83
|
-
|
|
89
|
+
super.recordOutputMessages(messages);
|
|
84
90
|
}
|
|
85
91
|
}
|
|
86
92
|
//# sourceMappingURL=InvokeAgentScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Span, AttributeValue, SpanContext, TimeInput } from '@opentelemetry/api';
|
|
2
|
-
import { AgentDetails, UserDetails, SpanDetails } from '../contracts';
|
|
2
|
+
import { AgentDetails, UserDetails, SpanDetails, InputMessagesParam, OutputMessagesParam } from '../contracts';
|
|
3
3
|
/**
|
|
4
4
|
* Base class for OpenTelemetry tracing scopes
|
|
5
5
|
*/
|
|
@@ -10,7 +10,6 @@ export declare abstract class OpenTelemetryScope implements Disposable {
|
|
|
10
10
|
private customStartTime?;
|
|
11
11
|
private customEndTime?;
|
|
12
12
|
private errorType?;
|
|
13
|
-
private exception?;
|
|
14
13
|
private hasEnded;
|
|
15
14
|
/**
|
|
16
15
|
* Initializes a new instance of the OpenTelemetryScope class
|
|
@@ -43,6 +42,18 @@ export declare abstract class OpenTelemetryScope implements Disposable {
|
|
|
43
42
|
* @param attributes Collection of attribute key/value pairs (array or iterable of [key, value] or object map).
|
|
44
43
|
*/
|
|
45
44
|
recordAttributes(attributes: Iterable<[string, AttributeValue]> | Record<string, AttributeValue> | null | undefined): void;
|
|
45
|
+
/**
|
|
46
|
+
* Records the input messages for telemetry tracking.
|
|
47
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL ChatMessage), or a versioned InputMessages wrapper.
|
|
48
|
+
* @param messages A string, array of strings, or an InputMessages wrapper
|
|
49
|
+
*/
|
|
50
|
+
protected recordInputMessages(messages: InputMessagesParam): void;
|
|
51
|
+
/**
|
|
52
|
+
* Records the output messages for telemetry tracking.
|
|
53
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL OutputMessage), or a versioned OutputMessages wrapper.
|
|
54
|
+
* @param messages A string, array of strings, or an OutputMessages wrapper
|
|
55
|
+
*/
|
|
56
|
+
protected recordOutputMessages(messages: OutputMessagesParam): void;
|
|
46
57
|
/**
|
|
47
58
|
* Sets a tag on the span if the value is not null or undefined.
|
|
48
59
|
* @param name The tag name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenTelemetryScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,IAAI,EAA2B,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5H,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,IAAI,EAA2B,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE5H,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAM/G;;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,gBAAgB,CAAS;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAY;IACpC,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;;OASG;IACH,SAAS,aACP,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW;IAkE3B;;OAEG;IACI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE;;;;OAIG;IACI,cAAc,IAAI,WAAW;IAIpC;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAiBtC;;;OAGG;IACI,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IA2BjI;;;;OAIG;IACH,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKjE;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKnE;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAMjI;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMtD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B;;;;;OAKG;IACI,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAI3C;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAUhD;;OAEG;IACH,OAAO,CAAC,GAAG;IAuBX;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAW/B;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB"}
|
|
@@ -4,6 +4,7 @@ import { trace, SpanKind, SpanStatusCode, context } from '@opentelemetry/api';
|
|
|
4
4
|
import { OpenTelemetryConstants } from '../constants';
|
|
5
5
|
import { createContextWithParentSpanRef } from '../context/parent-span-context';
|
|
6
6
|
import { isParentSpanRef } from '../context/trace-context-propagation';
|
|
7
|
+
import { normalizeInputMessages, normalizeOutputMessages, serializeMessages } from '../message-utils';
|
|
7
8
|
import logger from '../../utils/logging';
|
|
8
9
|
/**
|
|
9
10
|
* Base class for OpenTelemetry tracing scopes
|
|
@@ -105,7 +106,6 @@ export class OpenTelemetryScope {
|
|
|
105
106
|
else {
|
|
106
107
|
this.errorType = error.constructor.name;
|
|
107
108
|
}
|
|
108
|
-
this.exception = error;
|
|
109
109
|
this.span.setStatus({
|
|
110
110
|
code: SpanStatusCode.ERROR,
|
|
111
111
|
message: error.message
|
|
@@ -145,6 +145,24 @@ export class OpenTelemetryScope {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Records the input messages for telemetry tracking.
|
|
150
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL ChatMessage), or a versioned InputMessages wrapper.
|
|
151
|
+
* @param messages A string, array of strings, or an InputMessages wrapper
|
|
152
|
+
*/
|
|
153
|
+
recordInputMessages(messages) {
|
|
154
|
+
const wrapper = normalizeInputMessages(messages);
|
|
155
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Records the output messages for telemetry tracking.
|
|
159
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL OutputMessage), or a versioned OutputMessages wrapper.
|
|
160
|
+
* @param messages A string, array of strings, or an OutputMessages wrapper
|
|
161
|
+
*/
|
|
162
|
+
recordOutputMessages(messages) {
|
|
163
|
+
const wrapper = normalizeOutputMessages(messages);
|
|
164
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
165
|
+
}
|
|
148
166
|
/**
|
|
149
167
|
* Sets a tag on the span if the value is not null or undefined.
|
|
150
168
|
* @param name The tag name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAQ,cAAc,EAAE,OAAO,EAA0C,MAAM,oBAAoB,CAAC;AAC5H,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAgB,kBAAkB;
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
-
import { AgentDetails, UserDetails, OutputResponse, Request, SpanDetails } from '../contracts';
|
|
2
|
+
import { AgentDetails, UserDetails, OutputResponse, Request, SpanDetails, ResponseMessagesParam } from '../contracts';
|
|
3
3
|
/**
|
|
4
4
|
* Provides OpenTelemetry tracing scope for output message tracing with parent span linking.
|
|
5
5
|
*/
|
|
6
6
|
export declare class OutputScope extends OpenTelemetryScope {
|
|
7
|
-
private _outputMessages;
|
|
8
|
-
private _outputMessagesDirty;
|
|
9
7
|
/**
|
|
10
8
|
* Creates and starts a new scope for output message tracing.
|
|
11
9
|
*
|
|
@@ -20,12 +18,16 @@ export declare class OutputScope extends OpenTelemetryScope {
|
|
|
20
18
|
private constructor();
|
|
21
19
|
/**
|
|
22
20
|
* Records the output messages for telemetry tracking.
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
21
|
+
* Overwrites any previously recorded output messages on the span.
|
|
22
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL OutputMessage), a versioned OutputMessages wrapper,
|
|
23
|
+
* or a raw dict (treated as a tool call result per OTEL spec, serialized directly).
|
|
24
|
+
* @param messages A string, array of strings, an OutputMessages wrapper, or a dict.
|
|
26
25
|
*/
|
|
27
|
-
recordOutputMessages(messages:
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
recordOutputMessages(messages: ResponseMessagesParam): void;
|
|
27
|
+
private _setOutput;
|
|
28
|
+
/**
|
|
29
|
+
* Check if the value is a raw dict (plain object, not string[] or OutputMessages wrapper).
|
|
30
|
+
*/
|
|
31
|
+
private _isRawDict;
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=OutputScope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OutputScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"OutputScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/OutputScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAA+B,MAAM,cAAc,CAAC;AAInJ;;GAEG;AACH,qBAAa,WAAY,SAAQ,kBAAkB;IAEjD;;;;;;;;;OASG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,WAAW;IAId,OAAO;IAkCP;;;;;;OAMG;IACI,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIlE,OAAO,CAAC,UAAU;IAwBlB;;OAEG;IACH,OAAO,CAAC,UAAU;CAKnB"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { SpanKind } from '@opentelemetry/api';
|
|
4
4
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
5
|
+
import { A365_MESSAGE_SCHEMA_VERSION } from '../contracts';
|
|
5
6
|
import { OpenTelemetryConstants } from '../constants';
|
|
7
|
+
import { normalizeOutputMessages, serializeMessages } from '../message-utils';
|
|
6
8
|
/**
|
|
7
9
|
* Provides OpenTelemetry tracing scope for output message tracing with parent span linking.
|
|
8
10
|
*/
|
|
@@ -30,11 +32,8 @@ export class OutputScope extends OpenTelemetryScope {
|
|
|
30
32
|
super(OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME, agentDetails.agentName
|
|
31
33
|
? `${OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME} ${agentDetails.agentName}`
|
|
32
34
|
: `${OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME} ${agentDetails.agentId}`, agentDetails, resolvedSpanDetails, userDetails);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this._outputMessages = [...response.messages];
|
|
36
|
-
// Set initial output messages attribute
|
|
37
|
-
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, JSON.stringify(this._outputMessages));
|
|
35
|
+
// Normalize and set initial output messages
|
|
36
|
+
this._setOutput(response.messages);
|
|
38
37
|
// Set conversation and channel
|
|
39
38
|
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
40
39
|
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
|
|
@@ -42,22 +41,36 @@ export class OutputScope extends OpenTelemetryScope {
|
|
|
42
41
|
}
|
|
43
42
|
/**
|
|
44
43
|
* Records the output messages for telemetry tracking.
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
44
|
+
* Overwrites any previously recorded output messages on the span.
|
|
45
|
+
* Accepts a single string, an array of strings (auto-wrapped as OTEL OutputMessage), a versioned OutputMessages wrapper,
|
|
46
|
+
* or a raw dict (treated as a tool call result per OTEL spec, serialized directly).
|
|
47
|
+
* @param messages A string, array of strings, an OutputMessages wrapper, or a dict.
|
|
48
48
|
*/
|
|
49
49
|
recordOutputMessages(messages) {
|
|
50
|
-
this.
|
|
51
|
-
this._outputMessagesDirty = true;
|
|
50
|
+
this._setOutput(messages);
|
|
52
51
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
_setOutput(messages) {
|
|
53
|
+
// Dict (Record<string, unknown>) — treat as tool call result, serialize directly
|
|
54
|
+
if (this._isRawDict(messages)) {
|
|
55
|
+
try {
|
|
56
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, JSON.stringify(messages));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, JSON.stringify({ error: 'serialization failed' }));
|
|
60
|
+
}
|
|
61
|
+
return;
|
|
56
62
|
}
|
|
57
|
-
|
|
63
|
+
const normalized = normalizeOutputMessages(messages);
|
|
64
|
+
const wrapper = { version: A365_MESSAGE_SCHEMA_VERSION, messages: normalized.messages };
|
|
65
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
58
66
|
}
|
|
59
|
-
|
|
60
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Check if the value is a raw dict (plain object, not string[] or OutputMessages wrapper).
|
|
69
|
+
*/
|
|
70
|
+
_isRawDict(messages) {
|
|
71
|
+
return typeof messages === 'object' && messages !== null
|
|
72
|
+
&& !Array.isArray(messages)
|
|
73
|
+
&& !('version' in messages && 'messages' in messages);
|
|
61
74
|
}
|
|
62
75
|
}
|
|
63
76
|
//# sourceMappingURL=OutputScope.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OutputScope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"OutputScope.js","sourceRoot":"","sources":["../../../../src/tracing/scopes/OutputScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,4 +23,13 @@ export declare const MAX_ATTRIBUTE_LENGTH = 8192;
|
|
|
23
23
|
* @returns The original string if within limits, otherwise the truncated string
|
|
24
24
|
*/
|
|
25
25
|
export declare function truncateValue(value: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Ensures the value is always a JSON-parseable string.
|
|
28
|
+
* - Objects are serialized via JSON.stringify.
|
|
29
|
+
* - Strings that are already valid JSON objects/arrays are passed through.
|
|
30
|
+
* - All other strings (including bare JSON primitives) are wrapped: `{ [key]: value }`.
|
|
31
|
+
* @param value The value to serialize.
|
|
32
|
+
* @param key The key to use when wrapping a plain string.
|
|
33
|
+
*/
|
|
34
|
+
export declare function safeSerializeToJson(value: Record<string, unknown> | string, key: string): string;
|
|
26
35
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/tracing/util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAA6C,MAAM,kBAAkB,CAAC;AAEzG;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,sBAAsB,CAAC,0BAA0B,CAAC,KAClE,OAGF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAI1C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/tracing/util.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAA6C,MAAM,kBAAkB,CAAC;AAEzG;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GACpC,iBAAiB,sBAAsB,CAAC,0BAA0B,CAAC,KAClE,OAGF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAI1C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBhG"}
|
package/dist/esm/tracing/util.js
CHANGED
|
@@ -35,4 +35,35 @@ export function truncateValue(value) {
|
|
|
35
35
|
}
|
|
36
36
|
return value;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Ensures the value is always a JSON-parseable string.
|
|
40
|
+
* - Objects are serialized via JSON.stringify.
|
|
41
|
+
* - Strings that are already valid JSON objects/arrays are passed through.
|
|
42
|
+
* - All other strings (including bare JSON primitives) are wrapped: `{ [key]: value }`.
|
|
43
|
+
* @param value The value to serialize.
|
|
44
|
+
* @param key The key to use when wrapping a plain string.
|
|
45
|
+
*/
|
|
46
|
+
export function safeSerializeToJson(value, key) {
|
|
47
|
+
if (typeof value === 'object' && value !== null) {
|
|
48
|
+
try {
|
|
49
|
+
return JSON.stringify(value);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return JSON.stringify({ error: 'serialization failed' });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// String: check if it's already a valid JSON object/array, otherwise wrap it
|
|
56
|
+
const str = value;
|
|
57
|
+
try {
|
|
58
|
+
const parsed = JSON.parse(str);
|
|
59
|
+
// Only pass through objects/arrays; bare primitives (numbers, booleans, etc.) get wrapped
|
|
60
|
+
if (parsed !== null && typeof parsed === 'object') {
|
|
61
|
+
return str;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// not valid JSON — fall through to wrap
|
|
66
|
+
}
|
|
67
|
+
return JSON.stringify({ [key]: str });
|
|
68
|
+
}
|
|
38
69
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/tracing/util.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAGjF,OAAO,EAA8B,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAEzG;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,cAAmE,EAC1D,EAAE;IACX,MAAM,QAAQ,GAAG,cAAc,IAAI,yCAAyC,CAAC;IAC7E,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC,8BAA8B,CAAC;AACpE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAK,CAAC;AAE1C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/tracing/util.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uCAAuC;AACvC,kCAAkC;AAClC,iFAAiF;AAGjF,OAAO,EAA8B,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAEzG;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,cAAmE,EAC1D,EAAE;IACX,MAAM,QAAQ,GAAG,cAAc,IAAI,yCAAyC,CAAC;IAC7E,OAAO,QAAQ,CAAC,gBAAgB,EAAE,CAAC,8BAA8B,CAAC;AACpE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAK,CAAC;AAE1C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,KAAK,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,oBAAoB,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAuC,EAAE,GAAW;IACtF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,MAAM,GAAG,GAAG,KAAe,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,0FAA0F;QAC1F,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "0.1.0-preview.
|
|
1
|
+
export declare const LIB_VERSION = "0.1.0-preview.128";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.1.0-preview.
|
|
1
|
+
export const LIB_VERSION = "0.1.0-preview.128";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/agents-a365-observability",
|
|
3
|
-
"version": "0.1.0-preview.
|
|
3
|
+
"version": "0.1.0-preview.128",
|
|
4
4
|
"description": "OpenTelemetry tracing and monitoring SDK for AI agents built with TypeScript/Node.js",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"directory": "packages/agents-a365-observability"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@microsoft/agents-a365-runtime": "0.1.0-preview.
|
|
26
|
+
"@microsoft/agents-a365-runtime": "0.1.0-preview.128",
|
|
27
27
|
"@opentelemetry/api": "^1.9.0",
|
|
28
28
|
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
|
|
29
29
|
"@opentelemetry/instrumentation": "^0.213.0",
|