@microsoft/agents-a365-observability 0.1.0-preview.126 → 0.1.0-preview.127
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 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tracing/constants.d.ts +2 -1
- package/dist/cjs/tracing/constants.d.ts.map +1 -1
- package/dist/cjs/tracing/constants.js +1 -0
- package/dist/cjs/tracing/constants.js.map +1 -1
- package/dist/cjs/tracing/contracts.d.ts +140 -1
- package/dist/cjs/tracing/contracts.d.ts.map +1 -1
- package/dist/cjs/tracing/contracts.js +37 -1
- 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 +310 -3
- package/dist/cjs/tracing/exporter/utils.js.map +1 -1
- package/dist/cjs/tracing/message-utils.d.ts +41 -0
- package/dist/cjs/tracing/message-utils.d.ts.map +1 -0
- package/dist/cjs/tracing/message-utils.js +96 -0
- package/dist/cjs/tracing/message-utils.js.map +1 -0
- 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 +6 -4
- 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 +4 -3
- package/dist/cjs/tracing/scopes/OutputScope.d.ts.map +1 -1
- package/dist/cjs/tracing/scopes/OutputScope.js +14 -7
- package/dist/cjs/tracing/scopes/OutputScope.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 -1
- package/dist/esm/tracing/constants.d.ts.map +1 -1
- package/dist/esm/tracing/constants.js +1 -0
- package/dist/esm/tracing/constants.js.map +1 -1
- package/dist/esm/tracing/contracts.d.ts +140 -1
- package/dist/esm/tracing/contracts.d.ts.map +1 -1
- package/dist/esm/tracing/contracts.js +36 -0
- 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 +308 -3
- package/dist/esm/tracing/exporter/utils.js.map +1 -1
- package/dist/esm/tracing/message-utils.d.ts +41 -0
- package/dist/esm/tracing/message-utils.d.ts.map +1 -0
- package/dist/esm/tracing/message-utils.js +87 -0
- package/dist/esm/tracing/message-utils.js.map +1 -0
- 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 +6 -4
- 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 +4 -3
- package/dist/esm/tracing/scopes/OutputScope.d.ts.map +1 -1
- package/dist/esm/tracing/scopes/OutputScope.js +14 -7
- package/dist/esm/tracing/scopes/OutputScope.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { MessageRole, A365_MESSAGE_SCHEMA_VERSION } from './contracts';
|
|
4
|
+
/**
|
|
5
|
+
* Type guard that returns `true` when the input is a plain `string[]`
|
|
6
|
+
* rather than a versioned wrapper object.
|
|
7
|
+
*/
|
|
8
|
+
export function isStringArray(input) {
|
|
9
|
+
return Array.isArray(input);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Type guard that returns `true` when the input is a versioned wrapper
|
|
13
|
+
* object (`InputMessages` or `OutputMessages`).
|
|
14
|
+
*/
|
|
15
|
+
export function isWrappedMessages(input) {
|
|
16
|
+
return !Array.isArray(input) && typeof input === 'object' && input !== null && 'version' in input && 'messages' in input;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Converts plain input strings into OTEL input messages.
|
|
20
|
+
*/
|
|
21
|
+
export function toInputMessages(messages) {
|
|
22
|
+
return messages.map((content) => ({
|
|
23
|
+
role: MessageRole.USER,
|
|
24
|
+
parts: [{ type: 'text', content }]
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Converts plain output strings into OTEL output messages.
|
|
29
|
+
*/
|
|
30
|
+
export function toOutputMessages(messages) {
|
|
31
|
+
return messages.map((content) => ({
|
|
32
|
+
role: MessageRole.ASSISTANT,
|
|
33
|
+
parts: [{ type: 'text', content }]
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Normalizes an `InputMessagesParam` to a versioned `InputMessages` wrapper.
|
|
38
|
+
* - `string[]` → converted to `ChatMessage[]` and wrapped
|
|
39
|
+
* - `InputMessages` → returned as-is
|
|
40
|
+
*/
|
|
41
|
+
export function normalizeInputMessages(param) {
|
|
42
|
+
if (isStringArray(param)) {
|
|
43
|
+
return { version: A365_MESSAGE_SCHEMA_VERSION, messages: toInputMessages(param) };
|
|
44
|
+
}
|
|
45
|
+
return param;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Normalizes an `OutputMessagesParam` to a versioned `OutputMessages` wrapper.
|
|
49
|
+
* - `string[]` → converted to `OutputMessage[]` and wrapped
|
|
50
|
+
* - `OutputMessages` → returned as-is
|
|
51
|
+
*/
|
|
52
|
+
export function normalizeOutputMessages(param) {
|
|
53
|
+
if (isStringArray(param)) {
|
|
54
|
+
return { version: A365_MESSAGE_SCHEMA_VERSION, messages: toOutputMessages(param) };
|
|
55
|
+
}
|
|
56
|
+
return param;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Serializes a versioned message wrapper to JSON.
|
|
60
|
+
*
|
|
61
|
+
* The output is the full wrapper object: `{"version":"0.1.0","messages":[...]}`.
|
|
62
|
+
*
|
|
63
|
+
* The try/catch ensures telemetry recording is non-throwing even when
|
|
64
|
+
* message parts contain non-JSON-serializable values (e.g. BigInt, circular refs).
|
|
65
|
+
*/
|
|
66
|
+
export function serializeMessages(wrapper) {
|
|
67
|
+
try {
|
|
68
|
+
return JSON.stringify(wrapper);
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return JSON.stringify({
|
|
72
|
+
version: A365_MESSAGE_SCHEMA_VERSION,
|
|
73
|
+
messages: [
|
|
74
|
+
{
|
|
75
|
+
role: MessageRole.SYSTEM,
|
|
76
|
+
parts: [
|
|
77
|
+
{
|
|
78
|
+
type: 'text',
|
|
79
|
+
content: `[serialization failed: ${wrapper.messages.length} ${wrapper.messages.length === 1 ? 'message' : 'messages'}]`
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=message-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-utils.js","sourceRoot":"","sources":["../../../src/tracing/message-utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAGL,WAAW,EAKX,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAA+C;IAC3E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA+C;IAC/E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC;AAC3H,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC;KAC5C,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAkB;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,EAAE,WAAW,CAAC,SAAS;QAC3B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC;KAC5C,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAyB;IAC9D,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA0B;IAChE,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuC;IACvE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,WAAW,CAAC,MAAM;oBACxB,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,0BAA0B,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG;yBACxH;qBACF;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
-
import { InferenceDetails, AgentDetails, UserDetails, Request, SpanDetails } from '../contracts';
|
|
2
|
+
import { InferenceDetails, AgentDetails, UserDetails, Request, SpanDetails, InputMessagesParam, OutputMessagesParam } from '../contracts';
|
|
3
3
|
/**
|
|
4
4
|
* Provides OpenTelemetry tracing scope for generative AI inference operations.
|
|
5
5
|
*/
|
|
@@ -16,16 +16,6 @@ export declare class InferenceScope extends OpenTelemetryScope {
|
|
|
16
16
|
*/
|
|
17
17
|
static start(request: Request, details: InferenceDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): InferenceScope;
|
|
18
18
|
private constructor();
|
|
19
|
-
/**
|
|
20
|
-
* Records the input messages for telemetry tracking.
|
|
21
|
-
* @param messages Array of input messages
|
|
22
|
-
*/
|
|
23
|
-
recordInputMessages(messages: string[]): void;
|
|
24
|
-
/**
|
|
25
|
-
* Records the output messages for telemetry tracking.
|
|
26
|
-
* @param messages Array of output messages
|
|
27
|
-
*/
|
|
28
|
-
recordOutputMessages(messages: string[]): void;
|
|
29
19
|
/**
|
|
30
20
|
* Records the number of input tokens for telemetry tracking.
|
|
31
21
|
* @param inputTokens Number of input tokens
|
|
@@ -41,5 +31,17 @@ export declare class InferenceScope extends OpenTelemetryScope {
|
|
|
41
31
|
* @param finishReasons Array of finish reasons
|
|
42
32
|
*/
|
|
43
33
|
recordFinishReasons(finishReasons: string[]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Records the input messages for telemetry tracking.
|
|
36
|
+
* Accepts plain strings (auto-wrapped as OTEL ChatMessage with role `user`) or a versioned InputMessages wrapper.
|
|
37
|
+
* @param messages Array of input message strings or an InputMessages wrapper
|
|
38
|
+
*/
|
|
39
|
+
recordInputMessages(messages: InputMessagesParam): void;
|
|
40
|
+
/**
|
|
41
|
+
* Records the output messages for telemetry tracking.
|
|
42
|
+
* Accepts plain strings (auto-wrapped as OTEL OutputMessage with role `assistant`) or a versioned OutputMessages wrapper.
|
|
43
|
+
* @param messages Array of output message strings or an OutputMessages wrapper
|
|
44
|
+
*/
|
|
45
|
+
recordOutputMessages(messages: OutputMessagesParam): void;
|
|
44
46
|
}
|
|
45
47
|
//# sourceMappingURL=InferenceScope.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InferenceScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,
|
|
1
|
+
{"version":3,"file":"InferenceScope.d.ts","sourceRoot":"","sources":["../../../../src/tracing/scopes/InferenceScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;IACpD;;;;;;;;;OASG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,cAAc;IAIjB,OAAO;IA6CP;;;OAGG;IACI,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAInD;;;OAGG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIrD;;;OAGG;IACI,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IAMzD;;;;OAIG;IACa,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIvE;;;;OAIG;IACa,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;CAG1E"}
|
|
@@ -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 plain strings (auto-wrapped as OTEL ChatMessage with role `user`) or a versioned InputMessages wrapper.
|
|
30
|
+
* @param messages Array of input message 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 plain strings (auto-wrapped as OTEL OutputMessage with role `assistant`) or a versioned OutputMessages wrapper.
|
|
36
|
+
* @param messages Array of output message 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;IA4DP;;;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"}
|
|
@@ -70,17 +70,19 @@ export class InvokeAgentScope extends OpenTelemetryScope {
|
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* Records the input messages for telemetry tracking.
|
|
73
|
-
*
|
|
73
|
+
* Accepts plain strings (auto-wrapped as OTEL ChatMessage with role `user`) or a versioned InputMessages wrapper.
|
|
74
|
+
* @param messages Array of input message strings or an InputMessages wrapper
|
|
74
75
|
*/
|
|
75
76
|
recordInputMessages(messages) {
|
|
76
|
-
|
|
77
|
+
super.recordInputMessages(messages);
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
80
|
* Records the output messages for telemetry tracking.
|
|
80
|
-
*
|
|
81
|
+
* Accepts plain strings (auto-wrapped as OTEL OutputMessage with role `assistant`) or a versioned OutputMessages wrapper.
|
|
82
|
+
* @param messages Array of output message strings or an OutputMessages wrapper
|
|
81
83
|
*/
|
|
82
84
|
recordOutputMessages(messages) {
|
|
83
|
-
|
|
85
|
+
super.recordOutputMessages(messages);
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
//# 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 plain strings (auto-wrapped as OTEL ChatMessage) or a versioned InputMessages wrapper.
|
|
48
|
+
* @param messages Array of input message strings or an InputMessages wrapper
|
|
49
|
+
*/
|
|
50
|
+
protected recordInputMessages(messages: InputMessagesParam): void;
|
|
51
|
+
/**
|
|
52
|
+
* Records the output messages for telemetry tracking.
|
|
53
|
+
* Accepts plain strings (auto-wrapped as OTEL OutputMessage) or a versioned OutputMessages wrapper.
|
|
54
|
+
* @param messages Array of output message 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 plain strings (auto-wrapped as OTEL ChatMessage) or a versioned InputMessages wrapper.
|
|
151
|
+
* @param messages Array of input message 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 plain strings (auto-wrapped as OTEL OutputMessage) or a versioned OutputMessages wrapper.
|
|
160
|
+
* @param messages Array of output message 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,5 +1,5 @@
|
|
|
1
1
|
import { OpenTelemetryScope } from './OpenTelemetryScope';
|
|
2
|
-
import { AgentDetails, UserDetails, OutputResponse, Request, SpanDetails } from '../contracts';
|
|
2
|
+
import { AgentDetails, UserDetails, OutputResponse, Request, SpanDetails, OutputMessagesParam } from '../contracts';
|
|
3
3
|
/**
|
|
4
4
|
* Provides OpenTelemetry tracing scope for output message tracing with parent span linking.
|
|
5
5
|
*/
|
|
@@ -21,10 +21,11 @@ export declare class OutputScope extends OpenTelemetryScope {
|
|
|
21
21
|
/**
|
|
22
22
|
* Records the output messages for telemetry tracking.
|
|
23
23
|
* Appends the provided messages to the accumulated output messages list.
|
|
24
|
+
* Accepts plain strings (auto-wrapped as OTEL OutputMessage) or a versioned OutputMessages wrapper.
|
|
24
25
|
* The updated attribute is flushed when the scope is disposed.
|
|
25
|
-
* @param messages Array of output
|
|
26
|
+
* @param messages Array of output message strings or an OutputMessages wrapper to append.
|
|
26
27
|
*/
|
|
27
|
-
recordOutputMessages(messages:
|
|
28
|
+
recordOutputMessages(messages: OutputMessagesParam): void;
|
|
28
29
|
[Symbol.dispose](): void;
|
|
29
30
|
dispose(): void;
|
|
30
31
|
}
|
|
@@ -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,
|
|
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,EAAiB,mBAAmB,EAA+B,MAAM,cAAc,CAAC;AAIhK;;GAEG;AACH,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;;;;;;;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;IA0CP;;;;;;OAMG;IACI,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAMhD,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAWxB,OAAO,IAAI,IAAI;CAGhC"}
|
|
@@ -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
|
*/
|
|
@@ -31,10 +33,12 @@ export class OutputScope extends OpenTelemetryScope {
|
|
|
31
33
|
? `${OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME} ${agentDetails.agentName}`
|
|
32
34
|
: `${OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME} ${agentDetails.agentId}`, agentDetails, resolvedSpanDetails, userDetails);
|
|
33
35
|
this._outputMessagesDirty = false;
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
// Normalize response messages and extract inner messages for accumulation
|
|
37
|
+
const normalized = normalizeOutputMessages(response.messages);
|
|
38
|
+
this._outputMessages = [...normalized.messages];
|
|
39
|
+
// Set initial output messages attribute as the full versioned wrapper
|
|
40
|
+
const wrapper = { version: A365_MESSAGE_SCHEMA_VERSION, messages: this._outputMessages };
|
|
41
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
38
42
|
// Set conversation and channel
|
|
39
43
|
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
40
44
|
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
|
|
@@ -43,16 +47,19 @@ export class OutputScope extends OpenTelemetryScope {
|
|
|
43
47
|
/**
|
|
44
48
|
* Records the output messages for telemetry tracking.
|
|
45
49
|
* Appends the provided messages to the accumulated output messages list.
|
|
50
|
+
* Accepts plain strings (auto-wrapped as OTEL OutputMessage) or a versioned OutputMessages wrapper.
|
|
46
51
|
* The updated attribute is flushed when the scope is disposed.
|
|
47
|
-
* @param messages Array of output
|
|
52
|
+
* @param messages Array of output message strings or an OutputMessages wrapper to append.
|
|
48
53
|
*/
|
|
49
54
|
recordOutputMessages(messages) {
|
|
50
|
-
|
|
55
|
+
const normalized = normalizeOutputMessages(messages);
|
|
56
|
+
this._outputMessages.push(...normalized.messages);
|
|
51
57
|
this._outputMessagesDirty = true;
|
|
52
58
|
}
|
|
53
59
|
[Symbol.dispose]() {
|
|
54
60
|
if (this._outputMessagesDirty) {
|
|
55
|
-
|
|
61
|
+
const wrapper = { version: A365_MESSAGE_SCHEMA_VERSION, messages: this._outputMessages };
|
|
62
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
56
63
|
}
|
|
57
64
|
super[Symbol.dispose]();
|
|
58
65
|
}
|
|
@@ -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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"}
|
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.127";
|
|
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.127";
|
|
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.127",
|
|
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.127",
|
|
27
27
|
"@opentelemetry/api": "^1.9.0",
|
|
28
28
|
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
|
|
29
29
|
"@opentelemetry/instrumentation": "^0.213.0",
|