@arizeai/openinference-instrumentation-beeai 1.0.0
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/LICENSE +201 -0
- package/README.md +80 -0
- package/dist/esm/config.d.ts +39 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +39 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/helpers/buildTraceTree.d.ts +21 -0
- package/dist/esm/helpers/buildTraceTree.d.ts.map +1 -0
- package/dist/esm/helpers/buildTraceTree.js +71 -0
- package/dist/esm/helpers/buildTraceTree.js.map +1 -0
- package/dist/esm/helpers/create-span.d.ts +32 -0
- package/dist/esm/helpers/create-span.d.ts.map +1 -0
- package/dist/esm/helpers/create-span.js +42 -0
- package/dist/esm/helpers/create-span.js.map +1 -0
- package/dist/esm/helpers/getErrorSafe.d.ts +17 -0
- package/dist/esm/helpers/getErrorSafe.d.ts.map +1 -0
- package/dist/esm/helpers/getErrorSafe.js +24 -0
- package/dist/esm/helpers/getErrorSafe.js.map +1 -0
- package/dist/esm/helpers/getSerializedObjectSafe.d.ts +18 -0
- package/dist/esm/helpers/getSerializedObjectSafe.d.ts.map +1 -0
- package/dist/esm/helpers/getSerializedObjectSafe.js +217 -0
- package/dist/esm/helpers/getSerializedObjectSafe.js.map +1 -0
- package/dist/esm/helpers/idNameManager.d.ts +31 -0
- package/dist/esm/helpers/idNameManager.d.ts.map +1 -0
- package/dist/esm/helpers/idNameManager.js +50 -0
- package/dist/esm/helpers/idNameManager.js.map +1 -0
- package/dist/esm/helpers/traceSerializer.d.ts +19 -0
- package/dist/esm/helpers/traceSerializer.d.ts.map +1 -0
- package/dist/esm/helpers/traceSerializer.js +35 -0
- package/dist/esm/helpers/traceSerializer.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instrumentation.d.ts +34 -0
- package/dist/esm/instrumentation.d.ts.map +1 -0
- package/dist/esm/instrumentation.js +71 -0
- package/dist/esm/instrumentation.js.map +1 -0
- package/dist/esm/middleware.d.ts +27 -0
- package/dist/esm/middleware.d.ts.map +1 -0
- package/dist/esm/middleware.js +247 -0
- package/dist/esm/middleware.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +36 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +17 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esnext/config.d.ts +39 -0
- package/dist/esnext/config.d.ts.map +1 -0
- package/dist/esnext/config.js +39 -0
- package/dist/esnext/config.js.map +1 -0
- package/dist/esnext/helpers/buildTraceTree.d.ts +21 -0
- package/dist/esnext/helpers/buildTraceTree.d.ts.map +1 -0
- package/dist/esnext/helpers/buildTraceTree.js +57 -0
- package/dist/esnext/helpers/buildTraceTree.js.map +1 -0
- package/dist/esnext/helpers/create-span.d.ts +32 -0
- package/dist/esnext/helpers/create-span.d.ts.map +1 -0
- package/dist/esnext/helpers/create-span.js +37 -0
- package/dist/esnext/helpers/create-span.js.map +1 -0
- package/dist/esnext/helpers/getErrorSafe.d.ts +17 -0
- package/dist/esnext/helpers/getErrorSafe.d.ts.map +1 -0
- package/dist/esnext/helpers/getErrorSafe.js +24 -0
- package/dist/esnext/helpers/getErrorSafe.js.map +1 -0
- package/dist/esnext/helpers/getSerializedObjectSafe.d.ts +18 -0
- package/dist/esnext/helpers/getSerializedObjectSafe.d.ts.map +1 -0
- package/dist/esnext/helpers/getSerializedObjectSafe.js +165 -0
- package/dist/esnext/helpers/getSerializedObjectSafe.js.map +1 -0
- package/dist/esnext/helpers/idNameManager.d.ts +31 -0
- package/dist/esnext/helpers/idNameManager.d.ts.map +1 -0
- package/dist/esnext/helpers/idNameManager.js +50 -0
- package/dist/esnext/helpers/idNameManager.js.map +1 -0
- package/dist/esnext/helpers/traceSerializer.d.ts +19 -0
- package/dist/esnext/helpers/traceSerializer.d.ts.map +1 -0
- package/dist/esnext/helpers/traceSerializer.js +35 -0
- package/dist/esnext/helpers/traceSerializer.js.map +1 -0
- package/dist/esnext/index.d.ts +2 -0
- package/dist/esnext/index.d.ts.map +1 -0
- package/dist/esnext/index.js +2 -0
- package/dist/esnext/index.js.map +1 -0
- package/dist/esnext/instrumentation.d.ts +34 -0
- package/dist/esnext/instrumentation.d.ts.map +1 -0
- package/dist/esnext/instrumentation.js +71 -0
- package/dist/esnext/instrumentation.js.map +1 -0
- package/dist/esnext/middleware.d.ts +27 -0
- package/dist/esnext/middleware.d.ts.map +1 -0
- package/dist/esnext/middleware.js +241 -0
- package/dist/esnext/middleware.js.map +1 -0
- package/dist/esnext/tsconfig.esnext.tsbuildinfo +1 -0
- package/dist/esnext/types.d.ts +36 -0
- package/dist/esnext/types.d.ts.map +1 -0
- package/dist/esnext/types.js +17 -0
- package/dist/esnext/types.js.map +1 -0
- package/dist/examples/bee.d.ts +2 -0
- package/dist/examples/bee.d.ts.map +1 -0
- package/dist/examples/bee.js +35 -0
- package/dist/examples/bee.js.map +1 -0
- package/dist/examples/instrumentation.d.ts +2 -0
- package/dist/examples/instrumentation.d.ts.map +1 -0
- package/dist/examples/instrumentation.js +54 -0
- package/dist/examples/instrumentation.js.map +1 -0
- package/dist/src/config.d.ts +39 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +42 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/helpers/buildTraceTree.d.ts +21 -0
- package/dist/src/helpers/buildTraceTree.d.ts.map +1 -0
- package/dist/src/helpers/buildTraceTree.js +60 -0
- package/dist/src/helpers/buildTraceTree.js.map +1 -0
- package/dist/src/helpers/create-span.d.ts +32 -0
- package/dist/src/helpers/create-span.d.ts.map +1 -0
- package/dist/src/helpers/create-span.js +40 -0
- package/dist/src/helpers/create-span.js.map +1 -0
- package/dist/src/helpers/getErrorSafe.d.ts +17 -0
- package/dist/src/helpers/getErrorSafe.d.ts.map +1 -0
- package/dist/src/helpers/getErrorSafe.js +27 -0
- package/dist/src/helpers/getErrorSafe.js.map +1 -0
- package/dist/src/helpers/getSerializedObjectSafe.d.ts +18 -0
- package/dist/src/helpers/getSerializedObjectSafe.d.ts.map +1 -0
- package/dist/src/helpers/getSerializedObjectSafe.js +168 -0
- package/dist/src/helpers/getSerializedObjectSafe.js.map +1 -0
- package/dist/src/helpers/idNameManager.d.ts +31 -0
- package/dist/src/helpers/idNameManager.d.ts.map +1 -0
- package/dist/src/helpers/idNameManager.js +54 -0
- package/dist/src/helpers/idNameManager.js.map +1 -0
- package/dist/src/helpers/traceSerializer.d.ts +19 -0
- package/dist/src/helpers/traceSerializer.d.ts.map +1 -0
- package/dist/src/helpers/traceSerializer.js +38 -0
- package/dist/src/helpers/traceSerializer.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +18 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/instrumentation.d.ts +34 -0
- package/dist/src/instrumentation.d.ts.map +1 -0
- package/dist/src/instrumentation.js +76 -0
- package/dist/src/instrumentation.js.map +1 -0
- package/dist/src/middleware.d.ts +27 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/middleware.js +254 -0
- package/dist/src/middleware.js.map +1 -0
- package/dist/src/types.d.ts +36 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +18 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +64 -0
- package/src/config.ts +48 -0
- package/src/helpers/buildTraceTree.ts +118 -0
- package/src/helpers/create-span.ts +66 -0
- package/src/helpers/getErrorSafe.ts +26 -0
- package/src/helpers/getSerializedObjectSafe.ts +325 -0
- package/src/helpers/idNameManager.ts +53 -0
- package/src/helpers/traceSerializer.ts +46 -0
- package/src/index.ts +1 -0
- package/src/instrumentation.ts +123 -0
- package/src/middleware.ts +318 -0
- package/src/types.ts +38 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export const INSTRUMENTATION_IGNORED_KEYS = process.env
|
|
17
|
+
.BEE_FRAMEWORK_INSTRUMENTATION_IGNORED_KEYS
|
|
18
|
+
? process.env.BEE_FRAMEWORK_INSTRUMENTATION_IGNORED_KEYS.split(",").filter(Boolean)
|
|
19
|
+
: [];
|
|
20
|
+
export const partialUpdateEventName = "partialUpdate";
|
|
21
|
+
export const updateEventName = "update";
|
|
22
|
+
export const toolErrorEventName = "toolError";
|
|
23
|
+
export const toolStartEventName = "toolStart";
|
|
24
|
+
export const toolSuccessEventName = "toolSuccess";
|
|
25
|
+
export const startEventName = "start";
|
|
26
|
+
export const successEventName = "success";
|
|
27
|
+
export const errorEventName = "error";
|
|
28
|
+
export const retryEventName = "retry";
|
|
29
|
+
export const newTokenLLMEventName = `newToken`;
|
|
30
|
+
export const successLLMEventName = `success`;
|
|
31
|
+
export const startLLMEventName = `start`;
|
|
32
|
+
export const errorLLMEventName = `error`;
|
|
33
|
+
export const finishLLMEventName = `finish`;
|
|
34
|
+
export const startToolEventName = "start";
|
|
35
|
+
export const successToolEventName = "success";
|
|
36
|
+
export const finishToolEventName = "finish";
|
|
37
|
+
export const retryToolEventName = "retry";
|
|
38
|
+
export const errorToolEventName = "error";
|
|
39
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC,GAAG;KACpD,0CAA0C;IAC3C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CACtE,OAAO,CACR;IACH,CAAC,CAAC,EAAE,CAAC;AAEP,MAAM,CAAC,MAAM,sBAAsB,GAAuB,eAAe,CAAC;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAuB,QAAQ,CAAC;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAuB,WAAW,CAAC;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAuB,WAAW,CAAC;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAuB,aAAa,CAAC;AACtE,MAAM,CAAC,MAAM,cAAc,GAAuB,OAAO,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAuB,SAAS,CAAC;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAuB,OAAO,CAAC;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAuB,OAAO,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAA0B,UAAU,CAAC;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAA0B,SAAS,CAAC;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAA0B,OAAO,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAA0B,OAAO,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAA0B,QAAQ,CAAC;AAElE,MAAM,CAAC,MAAM,kBAAkB,GAAqB,OAAO,CAAC;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAqB,SAAS,CAAC;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAqB,QAAQ,CAAC;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAqB,OAAO,CAAC;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAqB,OAAO,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OITracer } from "@arizeai/openinference-core";
|
|
2
|
+
import { FrameworkSpan, GeneratedResponse } from "../types";
|
|
3
|
+
import { TimeInput } from "@opentelemetry/api";
|
|
4
|
+
interface BuiltTraceTreeProps {
|
|
5
|
+
tracer: OITracer;
|
|
6
|
+
data: {
|
|
7
|
+
prompt?: string | null;
|
|
8
|
+
history: GeneratedResponse[] | undefined;
|
|
9
|
+
generatedMessage: GeneratedResponse | undefined;
|
|
10
|
+
spans: FrameworkSpan[];
|
|
11
|
+
traceId: string;
|
|
12
|
+
version: string;
|
|
13
|
+
runErrorSpanKey: string;
|
|
14
|
+
startTime: TimeInput;
|
|
15
|
+
endTime: TimeInput;
|
|
16
|
+
source: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function buildTraceTree({ tracer, data }: BuiltTraceTreeProps): void;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=buildTraceTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTraceTree.d.ts","sourceRoot":"","sources":["../../../src/helpers/buildTraceTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAkB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/D,UAAU,mBAAmB;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;QACzC,gBAAgB,EAAE,iBAAiB,GAAG,SAAS,CAAC;QAChD,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,SAAS,CAAC;QACrB,OAAO,EAAE,SAAS,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAoDD,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,mBAAmB,QA2CnE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SpanStatusCode } from "@opentelemetry/api";
|
|
2
|
+
import { OpenInferenceSpanKind, SemanticConventions, } from "@arizeai/openinference-semantic-conventions";
|
|
3
|
+
function buildSpansForParent({ tracer, data }) {
|
|
4
|
+
data.spans
|
|
5
|
+
.filter((beeaiSpan) => beeaiSpan.parent_id === data.parentId)
|
|
6
|
+
.forEach((beeaiSpan) => {
|
|
7
|
+
tracer.startActiveSpan(beeaiSpan.context.span_id, {
|
|
8
|
+
// custom start time
|
|
9
|
+
startTime: beeaiSpan.start_time,
|
|
10
|
+
// set span important attributes
|
|
11
|
+
attributes: Object.assign(Object.assign({ target: beeaiSpan.attributes.target, name: beeaiSpan.name, traceId: data.traceId }, (beeaiSpan.attributes.metadata && {
|
|
12
|
+
metadata: JSON.stringify(beeaiSpan.attributes.metadata),
|
|
13
|
+
})), (beeaiSpan.attributes.data && Object.assign({}, beeaiSpan.attributes.data))),
|
|
14
|
+
}, (activeSpan) => {
|
|
15
|
+
// set status
|
|
16
|
+
activeSpan.setStatus(beeaiSpan.status);
|
|
17
|
+
// set nested spans
|
|
18
|
+
buildSpansForParent({
|
|
19
|
+
tracer,
|
|
20
|
+
data: {
|
|
21
|
+
spans: data.spans,
|
|
22
|
+
traceId: data.traceId,
|
|
23
|
+
parentId: beeaiSpan.context.span_id,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
// finish the span
|
|
27
|
+
activeSpan.end(beeaiSpan.end_time);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export function buildTraceTree({ tracer, data }) {
|
|
32
|
+
tracer.startActiveSpan(`beeai-framework-main`, {
|
|
33
|
+
// custom start time
|
|
34
|
+
startTime: data.startTime,
|
|
35
|
+
// set main span important attributes
|
|
36
|
+
attributes: Object.assign(Object.assign(Object.assign({ source: data.source, traceId: data.traceId, [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.AGENT, ["beeai.version"]: data.version }, (data.prompt && { [SemanticConventions.INPUT_VALUE]: data.prompt })), (data.generatedMessage !== undefined && {
|
|
37
|
+
[SemanticConventions.OUTPUT_VALUE]: JSON.stringify(data.generatedMessage),
|
|
38
|
+
})), (data.history && { history: JSON.stringify(data.history) })),
|
|
39
|
+
}, (activeSpan) => {
|
|
40
|
+
// set status
|
|
41
|
+
const runErrorSpan = data.spans.find((span) => span.attributes.target === data.runErrorSpanKey);
|
|
42
|
+
if (runErrorSpan) {
|
|
43
|
+
activeSpan.setStatus(runErrorSpan.status);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
activeSpan.setStatus({ code: SpanStatusCode.OK });
|
|
47
|
+
}
|
|
48
|
+
// set nested spans
|
|
49
|
+
buildSpansForParent({
|
|
50
|
+
tracer,
|
|
51
|
+
data: { spans: data.spans, traceId: data.traceId, parentId: undefined },
|
|
52
|
+
});
|
|
53
|
+
// finish the main span with custom end time
|
|
54
|
+
activeSpan.end(data.endTime);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=buildTraceTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildTraceTree.js","sourceRoot":"","sources":["../../../src/helpers/buildTraceTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { TimeInput } from "@opentelemetry/api";
|
|
17
|
+
import { FrameworkSpan } from "../types";
|
|
18
|
+
interface CreateSpanProps {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
target: string;
|
|
22
|
+
startedAt: TimeInput;
|
|
23
|
+
ctx?: any;
|
|
24
|
+
data?: any;
|
|
25
|
+
error?: string;
|
|
26
|
+
parent?: {
|
|
27
|
+
id: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare function createSpan({ target, name, data, error, ctx, parent, id, startedAt, }: CreateSpanProps): FrameworkSpan;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=create-span.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-span.d.ts","sourceRoot":"","sources":["../../../src/helpers/create-span.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAkB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IAErB,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,GAAG,EACH,MAAM,EACN,EAAE,EACF,SAAS,GACV,EAAE,eAAe,GAAG,aAAa,CAuBjC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { SpanStatusCode } from "@opentelemetry/api";
|
|
17
|
+
import { isEmpty } from "remeda";
|
|
18
|
+
export function createSpan({ target, name, data, error, ctx, parent, id, startedAt, }) {
|
|
19
|
+
return {
|
|
20
|
+
name: name,
|
|
21
|
+
attributes: Object.assign(Object.assign({ target, metadata: ctx && !isEmpty(ctx) ? Object.assign({}, ctx) : undefined }, (error && {
|
|
22
|
+
"exception.message": error,
|
|
23
|
+
"exception.type": "FrameworkError",
|
|
24
|
+
})), { data: data && !isEmpty(data) ? Object.assign({}, data) : null }),
|
|
25
|
+
context: {
|
|
26
|
+
span_id: id,
|
|
27
|
+
},
|
|
28
|
+
parent_id: parent === null || parent === void 0 ? void 0 : parent.id,
|
|
29
|
+
status: {
|
|
30
|
+
code: error ? SpanStatusCode.ERROR : SpanStatusCode.OK,
|
|
31
|
+
message: error ? error : "",
|
|
32
|
+
},
|
|
33
|
+
start_time: startedAt,
|
|
34
|
+
end_time: performance.now(),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=create-span.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-span.js","sourceRoot":"","sources":["../../../src/helpers/create-span.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAa,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAejC,MAAM,UAAU,UAAU,CAAC,EACzB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,GAAG,EACH,MAAM,EACN,EAAE,EACF,SAAS,GACO;IAChB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,UAAU,gCACR,MAAM,EACN,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAM,GAAG,EAAG,CAAC,CAAC,SAAS,IACpD,CAAC,KAAK,IAAI;YACX,mBAAmB,EAAE,KAAK;YAC1B,gBAAgB,EAAE,gBAAgB;SACnC,CAAC,KACF,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAM,IAAI,EAAG,CAAC,CAAC,IAAI,GAClD;QACD,OAAO,EAAE;YACP,OAAO,EAAE,EAAE;SACZ;QACD,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE;QACrB,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YACtD,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC5B;QACD,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,WAAW,CAAC,GAAG,EAAE;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getErrorSafe(data: unknown): string | undefined;
|
|
17
|
+
//# sourceMappingURL=getErrorSafe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getErrorSafe.d.ts","sourceRoot":"","sources":["../../../src/helpers/getErrorSafe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM9D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { FrameworkError } from "beeai-framework/errors";
|
|
17
|
+
import { getProp } from "beeai-framework/internals/helpers/object";
|
|
18
|
+
export function getErrorSafe(data) {
|
|
19
|
+
const error = getProp(data, ["error"], data);
|
|
20
|
+
if (error instanceof FrameworkError) {
|
|
21
|
+
return FrameworkError.ensure(error).explain();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=getErrorSafe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getErrorSafe.js","sourceRoot":"","sources":["../../../src/helpers/getErrorSafe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAEnE,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAE7C,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { EventMeta } from "beeai-framework/emitter/types";
|
|
17
|
+
export declare function getSerializedObjectSafe(dataObject: unknown, meta: EventMeta<unknown>): any;
|
|
18
|
+
//# sourceMappingURL=getSerializedObjectSafe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSerializedObjectSafe.d.ts","sourceRoot":"","sources":["../../../src/helpers/getSerializedObjectSafe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,SAAS,EAAsB,MAAM,+BAA+B,CAAC;AAwE9E,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,OAAO,EACnB,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,OAuOzB"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Serializable } from "beeai-framework/internals/serializable";
|
|
17
|
+
import { instrumentationLogger } from "beeai-framework/instrumentation/logger";
|
|
18
|
+
import { getProp } from "beeai-framework/internals/helpers/object";
|
|
19
|
+
import { ChatModel } from "beeai-framework/backend/chat";
|
|
20
|
+
import { BaseAgent } from "beeai-framework/agents/base";
|
|
21
|
+
import { errorEventName, errorLLMEventName, errorToolEventName, finishLLMEventName, finishToolEventName, newTokenLLMEventName, partialUpdateEventName, retryEventName, retryToolEventName, startEventName, startLLMEventName, startToolEventName, successEventName, successLLMEventName, successToolEventName, toolErrorEventName, toolStartEventName, toolSuccessEventName, updateEventName, } from "../config";
|
|
22
|
+
import { LLMAttributePostfixes, MessageAttributePostfixes, MimeType, OpenInferenceSpanKind, SemanticAttributePrefixes, SemanticConventions, } from "@arizeai/openinference-semantic-conventions";
|
|
23
|
+
import { Tool } from "beeai-framework/tools/base";
|
|
24
|
+
function parserLLMInputMessages(messages) {
|
|
25
|
+
return messages.reduce((acc, item, key) => (Object.assign(Object.assign({}, acc), { [`${SemanticAttributePrefixes.llm}.${LLMAttributePostfixes.input_messages}.${key}.${SemanticAttributePrefixes.message}.${MessageAttributePostfixes.role}`]: item.role, [`${SemanticAttributePrefixes.llm}.${LLMAttributePostfixes.input_messages}.${key}.${SemanticAttributePrefixes.message}.${MessageAttributePostfixes.content}`]: item.content
|
|
26
|
+
.filter((c) => c.type === "text")
|
|
27
|
+
.map((c) => c.text)
|
|
28
|
+
.join("") })), {});
|
|
29
|
+
}
|
|
30
|
+
function parseLLMOutputMessages(messages) {
|
|
31
|
+
return messages.reduce((acc, item, key) => (Object.assign(Object.assign({}, acc), { [`${SemanticAttributePrefixes.llm}.${LLMAttributePostfixes.output_messages}.${key}.${SemanticAttributePrefixes.message}.${MessageAttributePostfixes.role}`]: item.role, [`${SemanticAttributePrefixes.llm}.${LLMAttributePostfixes.output_messages}.${key}.${SemanticAttributePrefixes.message}.${MessageAttributePostfixes.content}`]: item.content
|
|
32
|
+
.filter((c) => c.type === "text")
|
|
33
|
+
.map((c) => c.text)
|
|
34
|
+
.join("") })), {});
|
|
35
|
+
}
|
|
36
|
+
export function getSerializedObjectSafe(dataObject, meta) {
|
|
37
|
+
var _a, _b, _c, _d, _e, _f;
|
|
38
|
+
// agent events
|
|
39
|
+
if ([startEventName, successEventName, errorEventName, retryEventName].includes(meta.name) &&
|
|
40
|
+
meta.creator instanceof BaseAgent) {
|
|
41
|
+
const { meta, tools, memory, error, data } = dataObject;
|
|
42
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.AGENT, iteration: meta.iteration }, ((tools === null || tools === void 0 ? void 0 : tools.length) > 0 && {
|
|
43
|
+
[SemanticConventions.LLM_TOOLS]: tools.map((tool) => ({
|
|
44
|
+
[SemanticConventions.TOOL_NAME]: tool.name,
|
|
45
|
+
[SemanticConventions.TOOL_DESCRIPTION]: tool.description,
|
|
46
|
+
"tool.options": tool.options,
|
|
47
|
+
})),
|
|
48
|
+
})), (memory.messages.length > 0 && {
|
|
49
|
+
[SemanticConventions.INPUT_MIME_TYPE]: MimeType.JSON,
|
|
50
|
+
[SemanticConventions.INPUT_VALUE]: JSON.stringify(memory.messages),
|
|
51
|
+
})), (error && {
|
|
52
|
+
"exception.message": error.message,
|
|
53
|
+
"exception.stacktrace": error.stack,
|
|
54
|
+
"exception.type": error.name,
|
|
55
|
+
})), (data && {
|
|
56
|
+
[SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.JSON,
|
|
57
|
+
[SemanticConventions.OUTPUT_VALUE]: JSON.stringify(data),
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
// update events
|
|
61
|
+
if ([updateEventName, partialUpdateEventName].includes(meta.name)) {
|
|
62
|
+
const { data } = dataObject;
|
|
63
|
+
const output = data.final_answer || data.tool_output;
|
|
64
|
+
return Object.assign(Object.assign(Object.assign({ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.AGENT, thought: data.thought }, (data.tool_name && {
|
|
65
|
+
[SemanticConventions.TOOL_NAME]: data.tool_name,
|
|
66
|
+
})), (data.tool_input && {
|
|
67
|
+
[SemanticConventions.TOOL_PARAMETERS]: JSON.stringify(data.tool_input),
|
|
68
|
+
})), (output && {
|
|
69
|
+
[SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.JSON,
|
|
70
|
+
[SemanticConventions.OUTPUT_VALUE]: output,
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
// tool events (from agent)
|
|
74
|
+
if ([toolErrorEventName, toolStartEventName, toolSuccessEventName].includes(meta.name)) {
|
|
75
|
+
const { data } = dataObject;
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
|
+
const output = data.result && data.result.createSnapshot();
|
|
78
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.TOOL, thought: data.iteration.thought }, (data.input
|
|
79
|
+
? { [SemanticConventions.TOOL_PARAMETERS]: JSON.stringify(data.input) }
|
|
80
|
+
: {})), (data.tool.description && {
|
|
81
|
+
[SemanticConventions.TOOL_DESCRIPTION]: data.tool.description,
|
|
82
|
+
})), (data.tool.name && {
|
|
83
|
+
[SemanticConventions.TOOL_NAME]: data.tool.name,
|
|
84
|
+
})), (data.error && {
|
|
85
|
+
"exception.message": data.error.message,
|
|
86
|
+
"exception.stacktrace": data.error.stack,
|
|
87
|
+
"exception.type": data.error.name,
|
|
88
|
+
})), (output && {
|
|
89
|
+
[SemanticConventions.OUTPUT_VALUE]: JSON.stringify(output),
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
// tool events native
|
|
93
|
+
if ([
|
|
94
|
+
startToolEventName,
|
|
95
|
+
successToolEventName,
|
|
96
|
+
finishToolEventName,
|
|
97
|
+
errorToolEventName,
|
|
98
|
+
retryToolEventName,
|
|
99
|
+
].includes(meta.name) &&
|
|
100
|
+
meta.creator instanceof Tool) {
|
|
101
|
+
if (!dataObject) {
|
|
102
|
+
return {
|
|
103
|
+
[SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.TOOL,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const { input, output, error } = dataObject;
|
|
107
|
+
return Object.assign(Object.assign(Object.assign({ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.TOOL }, (input
|
|
108
|
+
? { [SemanticConventions.TOOL_PARAMETERS]: JSON.stringify(input) }
|
|
109
|
+
: {})), (output && {
|
|
110
|
+
[SemanticConventions.OUTPUT_VALUE]: JSON.stringify(output),
|
|
111
|
+
})), (error && {
|
|
112
|
+
"exception.message": error.message,
|
|
113
|
+
"exception.stacktrace": error.stack,
|
|
114
|
+
"exception.type": error.name,
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
// llm events
|
|
118
|
+
if ([
|
|
119
|
+
successLLMEventName,
|
|
120
|
+
startLLMEventName,
|
|
121
|
+
errorLLMEventName,
|
|
122
|
+
newTokenLLMEventName,
|
|
123
|
+
].includes(meta.name) &&
|
|
124
|
+
meta.creator instanceof ChatModel) {
|
|
125
|
+
const { value, input, error } = dataObject;
|
|
126
|
+
const creator = meta.creator.createSnapshot();
|
|
127
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ [SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.LLM }, (((_a = value === null || value === void 0 ? void 0 : value.usage) === null || _a === void 0 ? void 0 : _a.completionTokens) && {
|
|
128
|
+
[SemanticConventions.LLM_TOKEN_COUNT_COMPLETION]: (_b = value === null || value === void 0 ? void 0 : value.usage) === null || _b === void 0 ? void 0 : _b.completionTokens,
|
|
129
|
+
})), (((_c = value === null || value === void 0 ? void 0 : value.usage) === null || _c === void 0 ? void 0 : _c.promptTokens) && {
|
|
130
|
+
[SemanticConventions.LLM_TOKEN_COUNT_PROMPT]: (_d = value === null || value === void 0 ? void 0 : value.usage) === null || _d === void 0 ? void 0 : _d.promptTokens,
|
|
131
|
+
})), (((_e = value === null || value === void 0 ? void 0 : value.usage) === null || _e === void 0 ? void 0 : _e.totalTokens) && {
|
|
132
|
+
[SemanticConventions.LLM_TOKEN_COUNT_TOTAL]: (_f = value === null || value === void 0 ? void 0 : value.usage) === null || _f === void 0 ? void 0 : _f.totalTokens,
|
|
133
|
+
})), ((input === null || input === void 0 ? void 0 : input.messages.length) > 0 && Object.assign({ [SemanticConventions.INPUT_MIME_TYPE]: MimeType.JSON, [SemanticConventions.INPUT_VALUE]: JSON.stringify(input.messages) }, parserLLMInputMessages(input.messages)))), ((value === null || value === void 0 ? void 0 : value.messages.length) > 0 && Object.assign({ [SemanticConventions.OUTPUT_MIME_TYPE]: MimeType.JSON, [SemanticConventions.OUTPUT_VALUE]: JSON.stringify(value.messages) }, parseLLMOutputMessages(value.messages)))), (error && {
|
|
134
|
+
"exception.message": error.message,
|
|
135
|
+
"exception.stacktrace": error.stack,
|
|
136
|
+
"exception.type": error.name,
|
|
137
|
+
})), ("providerId" in creator && {
|
|
138
|
+
[SemanticConventions.LLM_PROVIDER]: creator.providerId,
|
|
139
|
+
[`${SemanticAttributePrefixes.metadata}.${LLMAttributePostfixes.provider}`]: creator.providerId,
|
|
140
|
+
})), ("modelId" in creator && {
|
|
141
|
+
[SemanticConventions.LLM_MODEL_NAME]: creator.modelId,
|
|
142
|
+
[`${SemanticAttributePrefixes.metadata}.${LLMAttributePostfixes.model_name}`]: creator.modelId,
|
|
143
|
+
})), (creator.parameters && {
|
|
144
|
+
[SemanticConventions.LLM_INVOCATION_PARAMETERS]: JSON.stringify(creator.parameters),
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
if (meta.name === finishLLMEventName && meta.creator instanceof ChatModel) {
|
|
148
|
+
return {
|
|
149
|
+
[SemanticConventions.OPENINFERENCE_SPAN_KIND]: OpenInferenceSpanKind.LLM,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
// other events
|
|
153
|
+
const data = getProp(dataObject, ["data"], dataObject);
|
|
154
|
+
if (data instanceof Serializable) {
|
|
155
|
+
try {
|
|
156
|
+
return { data: JSON.stringify(data.createSnapshot()), test: "hallo" };
|
|
157
|
+
}
|
|
158
|
+
catch (e) {
|
|
159
|
+
instrumentationLogger.warn(e, "Invalid createSnapshot method in the Serializable class");
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return { data: JSON.stringify(data) };
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=getSerializedObjectSafe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSerializedObjectSafe.js","sourceRoot":"","sources":["../../../src/helpers/getSerializedObjectSafe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
interface GetIdsProps {
|
|
17
|
+
path: string;
|
|
18
|
+
id: string;
|
|
19
|
+
runId: string;
|
|
20
|
+
parentRunId?: string;
|
|
21
|
+
groupId?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare class IdNameManager {
|
|
24
|
+
#private;
|
|
25
|
+
getIds({ path, id, runId, parentRunId, groupId }: GetIdsProps): {
|
|
26
|
+
spanId: string;
|
|
27
|
+
parentSpanId: string | undefined;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=idNameManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idNameManager.d.ts","sourceRoot":"","sources":["../../../src/helpers/idNameManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,aAAa;;IAcxB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,WAAW;;;;CAc9D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
};
|
|
21
|
+
var _IdNameManager_instances, _IdNameManager_idNamesCounter, _IdNameManager_idNameMap, _IdNameManager_runIdMap, _IdNameManager_spanIdGenerator;
|
|
22
|
+
export class IdNameManager {
|
|
23
|
+
constructor() {
|
|
24
|
+
_IdNameManager_instances.add(this);
|
|
25
|
+
/** Current index for each event */
|
|
26
|
+
_IdNameManager_idNamesCounter.set(this, new Map());
|
|
27
|
+
/** The new span id names and the original framework emitter event ids dictionary */
|
|
28
|
+
_IdNameManager_idNameMap.set(this, new Map());
|
|
29
|
+
/** We need to map the run tree structure with duplicities to the event tree structure */
|
|
30
|
+
_IdNameManager_runIdMap.set(this, new Map());
|
|
31
|
+
}
|
|
32
|
+
getIds({ path, id, runId, parentRunId, groupId }) {
|
|
33
|
+
__classPrivateFieldGet(this, _IdNameManager_runIdMap, "f").set(runId, id);
|
|
34
|
+
const spanId = __classPrivateFieldGet(this, _IdNameManager_instances, "m", _IdNameManager_spanIdGenerator).call(this, path);
|
|
35
|
+
__classPrivateFieldGet(this, _IdNameManager_idNameMap, "f").set(id, spanId);
|
|
36
|
+
const parentSpanId = parentRunId
|
|
37
|
+
? __classPrivateFieldGet(this, _IdNameManager_idNameMap, "f").get(__classPrivateFieldGet(this, _IdNameManager_runIdMap, "f").get(parentRunId) || "")
|
|
38
|
+
: groupId;
|
|
39
|
+
return {
|
|
40
|
+
spanId,
|
|
41
|
+
parentSpanId,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
_IdNameManager_idNamesCounter = new WeakMap(), _IdNameManager_idNameMap = new WeakMap(), _IdNameManager_runIdMap = new WeakMap(), _IdNameManager_instances = new WeakSet(), _IdNameManager_spanIdGenerator = function _IdNameManager_spanIdGenerator(name) {
|
|
46
|
+
const count = __classPrivateFieldGet(this, _IdNameManager_idNamesCounter, "f").get(name) || 0;
|
|
47
|
+
__classPrivateFieldGet(this, _IdNameManager_idNamesCounter, "f").set(name, count + 1);
|
|
48
|
+
return `${name}-${__classPrivateFieldGet(this, _IdNameManager_idNamesCounter, "f").get(name)}`;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=idNameManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idNameManager.js","sourceRoot":"","sources":["../../../src/helpers/idNameManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;AAUH,MAAM,OAAO,aAAa;IAA1B;;QACE,mCAAmC;QACnC,wCAAkB,IAAI,GAAG,EAAkB,EAAC;QAC5C,oFAAoF;QACpF,mCAAa,IAAI,GAAG,EAAkB,EAAC;QACvC,yFAAyF;QACzF,kCAAY,IAAI,GAAG,EAAkB,EAAC;IAsBxC,CAAC;IAdC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAe;QAC3D,uBAAA,IAAI,+BAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,uBAAA,IAAI,gEAAiB,MAArB,IAAI,EAAkB,IAAI,CAAC,CAAC;QAE3C,uBAAA,IAAI,gCAAW,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,YAAY,GAAG,WAAW;YAC9B,CAAC,CAAC,uBAAA,IAAI,gCAAW,CAAC,GAAG,CAAC,uBAAA,IAAI,+BAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5D,CAAC,CAAC,OAAO,CAAC;QAEZ,OAAO;YACL,MAAM;YACN,YAAY;SACb,CAAC;IACJ,CAAC;CACF;qPApBkB,IAAY;IAC3B,MAAM,KAAK,GAAG,uBAAA,IAAI,qCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,uBAAA,IAAI,qCAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,IAAI,IAAI,uBAAA,IAAI,qCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare function traceSerializer({ ignored_keys, }: {
|
|
17
|
+
ignored_keys?: string[];
|
|
18
|
+
}): (body: object) => string;
|
|
19
|
+
//# sourceMappingURL=traceSerializer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceSerializer.d.ts","sourceRoot":"","sources":["../../../src/helpers/traceSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,wBAAgB,eAAe,CAAC,EAC9B,YAAiB,GAClB,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,UAGe,MAAM,YAcrB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 IBM Corp.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
const DEFAULT_IGNORE_KEYS = [
|
|
17
|
+
"emitter",
|
|
18
|
+
"logger",
|
|
19
|
+
"tokens",
|
|
20
|
+
"createdBy",
|
|
21
|
+
"client",
|
|
22
|
+
];
|
|
23
|
+
export function traceSerializer({ ignored_keys = [], }) {
|
|
24
|
+
const mergedIgnoreKeys = new Set([...DEFAULT_IGNORE_KEYS, ...ignored_keys]);
|
|
25
|
+
return (body) => JSON.stringify(body, (() => {
|
|
26
|
+
return (key, value) => {
|
|
27
|
+
// Ignore specific keys, all owned entities and keys starting with underscore
|
|
28
|
+
if (mergedIgnoreKeys.has(key) || key.startsWith("_")) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
return value;
|
|
32
|
+
};
|
|
33
|
+
})());
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=traceSerializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceSerializer.js","sourceRoot":"","sources":["../../../src/helpers/traceSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,mBAAmB,GAAG;IAC1B,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;CACT,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,GAAG,EAAE,GAGlB;IACC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAE5E,OAAO,CAAC,IAAY,EAAE,EAAE,CACtB,IAAI,CAAC,SAAS,CACZ,IAAI,EACJ,CAAC,GAAG,EAAE;QACJ,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACpB,6EAA6E;YAC7E,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,CACL,CAAC;AACN,CAAC"}
|