openlayer 0.13.11 → 0.13.12
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/CHANGELOG.md +8 -0
- package/lib/integrations/bedrockAgentTracer.d.ts +1 -1
- package/lib/integrations/bedrockAgentTracer.d.ts.map +1 -1
- package/lib/integrations/bedrockAgentTracer.js +6 -7
- package/lib/integrations/bedrockAgentTracer.js.map +1 -1
- package/lib/integrations/bedrockAgentTracer.mjs +6 -7
- package/lib/integrations/bedrockAgentTracer.mjs.map +1 -1
- package/lib/tracing/tracer.d.ts +2 -2
- package/lib/tracing/tracer.d.ts.map +1 -1
- package/lib/tracing/tracer.js +10 -9
- package/lib/tracing/tracer.js.map +1 -1
- package/lib/tracing/tracer.mjs +10 -9
- package/lib/tracing/tracer.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/integrations/bedrockAgentTracer.ts +16 -6
- package/src/lib/tracing/tracer.ts +58 -38
- package/src/version.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.12 (2025-08-20)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.13.11...v0.13.12](https://github.com/openlayer-ai/openlayer-ts/compare/v0.13.11...v0.13.12)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* support setting inference pipeline ID from runtime variables ([46fd370](https://github.com/openlayer-ai/openlayer-ts/commit/46fd3703e71dce5f35f9f58f5b582fb0942f7145))
|
|
10
|
+
|
|
3
11
|
## 0.13.11 (2025-08-20)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.13.10...v0.13.11](https://github.com/openlayer-ai/openlayer-ts/compare/v0.13.10...v0.13.11)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function traceBedrockAgent(client: any): any;
|
|
1
|
+
export declare function traceBedrockAgent(client: any, openlayerInferencePipelineId?: string): any;
|
|
2
2
|
//# sourceMappingURL=bedrockAgentTracer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrockAgentTracer.d.ts","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"AAuBA,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"bedrockAgentTracer.d.ts","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"AAuBA,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,GAAG,EACX,4BAA4B,CAAC,EAAE,MAAM,GACpC,GAAG,CAgEL"}
|
|
@@ -22,7 +22,7 @@ catch (error) {
|
|
|
22
22
|
console.debug('Bedrock Agent tracing will not be available. Error:', error);
|
|
23
23
|
}
|
|
24
24
|
const tracer_1 = require("../tracing/tracer.js");
|
|
25
|
-
function traceBedrockAgent(client) {
|
|
25
|
+
function traceBedrockAgent(client, openlayerInferencePipelineId) {
|
|
26
26
|
if (!BedrockAgentRuntimeClient || !InvokeAgentCommand) {
|
|
27
27
|
throw new Error('AWS SDK for Bedrock Agent Runtime is not installed. Please install it with: npm install @aws-sdk/client-bedrock-agent-runtime');
|
|
28
28
|
}
|
|
@@ -48,7 +48,6 @@ function traceBedrockAgent(client) {
|
|
|
48
48
|
}
|
|
49
49
|
console.debug('Command identified as InvokeAgentCommand, applying tracing');
|
|
50
50
|
const startTime = (0, performance_now_1.default)();
|
|
51
|
-
console.debug('startTime', startTime);
|
|
52
51
|
const input = command.input;
|
|
53
52
|
try {
|
|
54
53
|
// Call the original send method
|
|
@@ -57,7 +56,7 @@ function traceBedrockAgent(client) {
|
|
|
57
56
|
throw new Error('Completion is undefined');
|
|
58
57
|
}
|
|
59
58
|
// Create a traced async iterator that preserves the original
|
|
60
|
-
const tracedCompletion = createTracedCompletion(response.completion, input, startTime);
|
|
59
|
+
const tracedCompletion = createTracedCompletion(response.completion, input, startTime, openlayerInferencePipelineId);
|
|
61
60
|
// Return the response with the traced completion
|
|
62
61
|
return {
|
|
63
62
|
...response,
|
|
@@ -73,7 +72,7 @@ function traceBedrockAgent(client) {
|
|
|
73
72
|
}
|
|
74
73
|
exports.traceBedrockAgent = traceBedrockAgent;
|
|
75
74
|
// Create a traced completion that collects data while yielding original events
|
|
76
|
-
function createTracedCompletion(originalCompletion, input, startTime) {
|
|
75
|
+
function createTracedCompletion(originalCompletion, input, startTime, openlayerInferencePipelineId) {
|
|
77
76
|
return {
|
|
78
77
|
async *[Symbol.asyncIterator]() {
|
|
79
78
|
let firstTokenTime;
|
|
@@ -86,10 +85,12 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
86
85
|
let citations = [];
|
|
87
86
|
let traceData = [];
|
|
88
87
|
let chunkCount = 0;
|
|
88
|
+
console.debug('Original completion:', JSON.stringify(originalCompletion, null, 2));
|
|
89
89
|
try {
|
|
90
90
|
for await (const chunkEvent of originalCompletion) {
|
|
91
91
|
// Yield first - ensure user gets data immediately
|
|
92
92
|
yield chunkEvent;
|
|
93
|
+
console.debug(JSON.stringify(chunkEvent, null, 2));
|
|
93
94
|
// Then collect tracing data
|
|
94
95
|
if (chunkCount === 0) {
|
|
95
96
|
firstTokenTime = (0, performance_now_1.default)();
|
|
@@ -110,7 +111,6 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
110
111
|
}
|
|
111
112
|
// Handle trace events
|
|
112
113
|
if (chunkEvent.trace) {
|
|
113
|
-
console.debug(JSON.stringify(chunkEvent.trace, null, 2));
|
|
114
114
|
traceData.push(chunkEvent.trace);
|
|
115
115
|
if (chunkEvent.trace.trace) {
|
|
116
116
|
const trace = chunkEvent.trace.trace;
|
|
@@ -130,7 +130,6 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
130
130
|
}
|
|
131
131
|
// After the stream is complete, send trace data
|
|
132
132
|
const endTime = (0, performance_now_1.default)();
|
|
133
|
-
console.debug('endTime', endTime);
|
|
134
133
|
totalTokens = promptTokens + completionTokens;
|
|
135
134
|
// Send trace data to Openlayer
|
|
136
135
|
const inputs = extractInputs(input, traceData);
|
|
@@ -172,7 +171,7 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
172
171
|
startTime: startTime,
|
|
173
172
|
endTime: endTime,
|
|
174
173
|
};
|
|
175
|
-
(0, tracer_1.addChatCompletionStepToTrace)(traceStepData);
|
|
174
|
+
(0, tracer_1.addChatCompletionStepToTrace)(traceStepData, openlayerInferencePipelineId);
|
|
176
175
|
}
|
|
177
176
|
catch (error) {
|
|
178
177
|
console.error('Error in traced completion:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrockAgentTracer.js","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":";;;;;;AAAA,sEAA6C;AAE7C,uCAAuC;AACvC,IAAI,yBAA8B,CAAC;AACnC,IAAI,kBAAuB,CAAC;AAC5B,IAAI,uBAA4B,CAAC;AACjC,IAAI,wBAA6B,CAAC;AAElC,IAAI;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACvE,yBAAyB,GAAG,aAAa,CAAC,yBAAyB,CAAC;IACpE,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IACtD,uBAAuB,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAChE,wBAAwB,GAAG,aAAa,CAAC,wBAAwB,CAAC;CACnE;AAAC,OAAO,KAAK,EAAE;IACd,OAAO,CAAC,IAAI,CACV,wHAAwH,CACzH,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;CAC7E;AAED,iDAAiE;AAEjE,SAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"bedrockAgentTracer.js","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ catch (error) {
|
|
|
16
16
|
console.debug('Bedrock Agent tracing will not be available. Error:', error);
|
|
17
17
|
}
|
|
18
18
|
import { addChatCompletionStepToTrace } from "../tracing/tracer.mjs";
|
|
19
|
-
export function traceBedrockAgent(client) {
|
|
19
|
+
export function traceBedrockAgent(client, openlayerInferencePipelineId) {
|
|
20
20
|
if (!BedrockAgentRuntimeClient || !InvokeAgentCommand) {
|
|
21
21
|
throw new Error('AWS SDK for Bedrock Agent Runtime is not installed. Please install it with: npm install @aws-sdk/client-bedrock-agent-runtime');
|
|
22
22
|
}
|
|
@@ -42,7 +42,6 @@ export function traceBedrockAgent(client) {
|
|
|
42
42
|
}
|
|
43
43
|
console.debug('Command identified as InvokeAgentCommand, applying tracing');
|
|
44
44
|
const startTime = performanceNow();
|
|
45
|
-
console.debug('startTime', startTime);
|
|
46
45
|
const input = command.input;
|
|
47
46
|
try {
|
|
48
47
|
// Call the original send method
|
|
@@ -51,7 +50,7 @@ export function traceBedrockAgent(client) {
|
|
|
51
50
|
throw new Error('Completion is undefined');
|
|
52
51
|
}
|
|
53
52
|
// Create a traced async iterator that preserves the original
|
|
54
|
-
const tracedCompletion = createTracedCompletion(response.completion, input, startTime);
|
|
53
|
+
const tracedCompletion = createTracedCompletion(response.completion, input, startTime, openlayerInferencePipelineId);
|
|
55
54
|
// Return the response with the traced completion
|
|
56
55
|
return {
|
|
57
56
|
...response,
|
|
@@ -66,7 +65,7 @@ export function traceBedrockAgent(client) {
|
|
|
66
65
|
return client;
|
|
67
66
|
}
|
|
68
67
|
// Create a traced completion that collects data while yielding original events
|
|
69
|
-
function createTracedCompletion(originalCompletion, input, startTime) {
|
|
68
|
+
function createTracedCompletion(originalCompletion, input, startTime, openlayerInferencePipelineId) {
|
|
70
69
|
return {
|
|
71
70
|
async *[Symbol.asyncIterator]() {
|
|
72
71
|
let firstTokenTime;
|
|
@@ -79,10 +78,12 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
79
78
|
let citations = [];
|
|
80
79
|
let traceData = [];
|
|
81
80
|
let chunkCount = 0;
|
|
81
|
+
console.debug('Original completion:', JSON.stringify(originalCompletion, null, 2));
|
|
82
82
|
try {
|
|
83
83
|
for await (const chunkEvent of originalCompletion) {
|
|
84
84
|
// Yield first - ensure user gets data immediately
|
|
85
85
|
yield chunkEvent;
|
|
86
|
+
console.debug(JSON.stringify(chunkEvent, null, 2));
|
|
86
87
|
// Then collect tracing data
|
|
87
88
|
if (chunkCount === 0) {
|
|
88
89
|
firstTokenTime = performanceNow();
|
|
@@ -103,7 +104,6 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
103
104
|
}
|
|
104
105
|
// Handle trace events
|
|
105
106
|
if (chunkEvent.trace) {
|
|
106
|
-
console.debug(JSON.stringify(chunkEvent.trace, null, 2));
|
|
107
107
|
traceData.push(chunkEvent.trace);
|
|
108
108
|
if (chunkEvent.trace.trace) {
|
|
109
109
|
const trace = chunkEvent.trace.trace;
|
|
@@ -123,7 +123,6 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
123
123
|
}
|
|
124
124
|
// After the stream is complete, send trace data
|
|
125
125
|
const endTime = performanceNow();
|
|
126
|
-
console.debug('endTime', endTime);
|
|
127
126
|
totalTokens = promptTokens + completionTokens;
|
|
128
127
|
// Send trace data to Openlayer
|
|
129
128
|
const inputs = extractInputs(input, traceData);
|
|
@@ -165,7 +164,7 @@ function createTracedCompletion(originalCompletion, input, startTime) {
|
|
|
165
164
|
startTime: startTime,
|
|
166
165
|
endTime: endTime,
|
|
167
166
|
};
|
|
168
|
-
addChatCompletionStepToTrace(traceStepData);
|
|
167
|
+
addChatCompletionStepToTrace(traceStepData, openlayerInferencePipelineId);
|
|
169
168
|
}
|
|
170
169
|
catch (error) {
|
|
171
170
|
console.error('Error in traced completion:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrockAgentTracer.mjs","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"OAAO,cAAc,MAAM,iBAAiB;AAE5C,uCAAuC;AACvC,IAAI,yBAA8B,CAAC;AACnC,IAAI,kBAAuB,CAAC;AAC5B,IAAI,uBAA4B,CAAC;AACjC,IAAI,wBAA6B,CAAC;AAElC,IAAI;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACvE,yBAAyB,GAAG,aAAa,CAAC,yBAAyB,CAAC;IACpE,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC;IACtD,uBAAuB,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAChE,wBAAwB,GAAG,aAAa,CAAC,wBAAwB,CAAC;CACnE;AAAC,OAAO,KAAK,EAAE;IACd,OAAO,CAAC,IAAI,CACV,wHAAwH,CACzH,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;CAC7E;OAEM,EAAE,4BAA4B,EAAE;AAEvC,MAAM,UAAU,iBAAiB,
|
|
1
|
+
{"version":3,"file":"bedrockAgentTracer.mjs","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"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"}
|
package/lib/tracing/tracer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StepType } from "./enums.js";
|
|
2
|
-
declare function trace(fn: Function, stepType?: StepType, stepName?: string): Function;
|
|
2
|
+
declare function trace(fn: Function, stepType?: StepType, stepName?: string, openlayerInferencePipelineId?: string): Function;
|
|
3
3
|
export declare function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens, promptTokens, completionTokens, model, modelParameters, rawOutput, metadata, provider, startTime, endTime, }: {
|
|
4
4
|
name: string;
|
|
5
5
|
inputs: any;
|
|
@@ -15,6 +15,6 @@ export declare function addChatCompletionStepToTrace({ name, inputs, output, lat
|
|
|
15
15
|
provider?: string;
|
|
16
16
|
startTime?: number | null;
|
|
17
17
|
endTime?: number | null;
|
|
18
|
-
}): void;
|
|
18
|
+
}, openlayerInferencePipelineId?: string): void;
|
|
19
19
|
export default trace;
|
|
20
20
|
//# sourceMappingURL=tracer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA0InC,iBAAS,KAAK,CACZ,EAAE,EAAE,QAAQ,EACZ,QAAQ,GAAE,QAA6B,EACvC,QAAQ,CAAC,EAAE,MAAM,EACjB,4BAA4B,CAAC,EAAE,MAAM,GACpC,QAAQ,CAkBV;AAED,wBAAgB,4BAA4B,CAC1C,EACE,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAa,EACb,YAAmB,EACnB,gBAAuB,EACvB,KAAY,EACZ,eAAsB,EACtB,SAAgB,EAChB,QAAa,EACb,QAAmB,EACnB,SAAgB,EAChB,OAAc,GACf,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,EACD,4BAA4B,CAAC,EAAE,MAAM,QA2BtC;AA4BD,eAAe,KAAK,CAAC"}
|
package/lib/tracing/tracer.js
CHANGED
|
@@ -24,7 +24,7 @@ function setCurrentTrace(trace) {
|
|
|
24
24
|
}
|
|
25
25
|
// Function to create a new step
|
|
26
26
|
const stepStack = [];
|
|
27
|
-
function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output, metadata = null, startTime, endTime) {
|
|
27
|
+
function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output, metadata = null, startTime, endTime, openlayerInferencePipelineId) {
|
|
28
28
|
metadata = metadata || {};
|
|
29
29
|
let newStep;
|
|
30
30
|
if (stepType === enums_1.StepType.CHAT_COMPLETION) {
|
|
@@ -33,6 +33,7 @@ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output,
|
|
|
33
33
|
else {
|
|
34
34
|
newStep = new steps_1.UserCallStep(name, inputs, output, metadata, startTime, endTime);
|
|
35
35
|
}
|
|
36
|
+
const inferencePipelineId = openlayerInferencePipelineId || process.env['OPENLAYER_INFERENCE_PIPELINE_ID'];
|
|
36
37
|
const parentStep = getCurrentStep();
|
|
37
38
|
const isRootStep = parentStep === null;
|
|
38
39
|
if (isRootStep) {
|
|
@@ -55,10 +56,10 @@ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output,
|
|
|
55
56
|
const traceData = getCurrentTrace();
|
|
56
57
|
// Post process trace and get the input variable names
|
|
57
58
|
const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData);
|
|
58
|
-
if (publish &&
|
|
59
|
+
if (publish && inferencePipelineId) {
|
|
59
60
|
console.debug('Uploading trace to Openlayer...');
|
|
60
61
|
client.inferencePipelines.data
|
|
61
|
-
.stream(
|
|
62
|
+
.stream(inferencePipelineId, {
|
|
62
63
|
config: {
|
|
63
64
|
outputColumnName: 'output',
|
|
64
65
|
inputVariableNames: inputVariableNames,
|
|
@@ -77,7 +78,7 @@ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output,
|
|
|
77
78
|
.catch((error) => {
|
|
78
79
|
console.error('Failed to upload trace to Openlayer:', error);
|
|
79
80
|
console.error('Trace data that failed to upload:', JSON.stringify({
|
|
80
|
-
pipelineId:
|
|
81
|
+
pipelineId: inferencePipelineId,
|
|
81
82
|
inputVariableNames,
|
|
82
83
|
processedTraceData,
|
|
83
84
|
}, null, 2));
|
|
@@ -87,7 +88,7 @@ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output,
|
|
|
87
88
|
if (!publish) {
|
|
88
89
|
console.debug('Trace upload disabled (OPENLAYER_DISABLE_PUBLISH=true)');
|
|
89
90
|
}
|
|
90
|
-
else if (!
|
|
91
|
+
else if (!inferencePipelineId) {
|
|
91
92
|
console.warn('Trace upload skipped: OPENLAYER_INFERENCE_PIPELINE_ID environment variable not set');
|
|
92
93
|
}
|
|
93
94
|
}
|
|
@@ -113,12 +114,12 @@ function getParamNames(func) {
|
|
|
113
114
|
return result || [];
|
|
114
115
|
}
|
|
115
116
|
// Higher-order function to trace synchronous or asynchronous functions
|
|
116
|
-
function trace(fn, stepType = enums_1.StepType.USER_CALL, stepName) {
|
|
117
|
+
function trace(fn, stepType = enums_1.StepType.USER_CALL, stepName, openlayerInferencePipelineId) {
|
|
117
118
|
return async function (...args) {
|
|
118
119
|
const name = stepName || fn.name;
|
|
119
120
|
const paramNames = getParamNames(fn);
|
|
120
121
|
const inputs = Object.fromEntries(paramNames.map((name, index) => [name, args[index]]));
|
|
121
|
-
const [step, endStep] = createStep(name, stepType, args);
|
|
122
|
+
const [step, endStep] = createStep(name, stepType, args, openlayerInferencePipelineId);
|
|
122
123
|
try {
|
|
123
124
|
const result = await fn(...args);
|
|
124
125
|
step.log({ inputs, output: result });
|
|
@@ -133,8 +134,8 @@ function trace(fn, stepType = enums_1.StepType.USER_CALL, stepName) {
|
|
|
133
134
|
}
|
|
134
135
|
};
|
|
135
136
|
}
|
|
136
|
-
function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens = null, promptTokens = null, completionTokens = null, model = null, modelParameters = null, rawOutput = null, metadata = {}, provider = 'OpenAI', startTime = null, endTime = null, }) {
|
|
137
|
-
const [step, endStep] = createStep(name, enums_1.StepType.CHAT_COMPLETION, inputs, output, metadata, startTime, endTime);
|
|
137
|
+
function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens = null, promptTokens = null, completionTokens = null, model = null, modelParameters = null, rawOutput = null, metadata = {}, provider = 'OpenAI', startTime = null, endTime = null, }, openlayerInferencePipelineId) {
|
|
138
|
+
const [step, endStep] = createStep(name, enums_1.StepType.CHAT_COMPLETION, inputs, output, metadata, startTime, endTime, openlayerInferencePipelineId);
|
|
138
139
|
if (step.stepType === enums_1.StepType.CHAT_COMPLETION) {
|
|
139
140
|
step.provider = provider;
|
|
140
141
|
step.promptTokens = promptTokens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":";AAAA,oBAAoB;;;;;;AAEpB,2DAAoC;AACpC,sCAAmC;AACnC,sCAAiE;AACjE,wCAAiC;AAEjC,IAAI,YAAY,GAAiB,IAAI,CAAC;AAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,MAAM,CAAC;AACnE,IAAI,MAAM,GAAqB,IAAI,CAAC;AACpC,IAAI,OAAO,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvC,MAAM,GAAG,IAAI,eAAS,EAAE,CAAC;CAC1B;AAED,SAAS,eAAe;IACtB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,gCAAgC;AAChC,MAAM,SAAS,GAAW,EAAE,CAAC;AAE7B,SAAS,UAAU,CACjB,IAAY,EACZ,WAAqB,gBAAQ,CAAC,SAAS,EACvC,MAAY,EACZ,MAAY,EACZ,WAAuC,IAAI,EAC3C,SAAyB,EACzB,OAAuB;
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
|
package/lib/tracing/tracer.mjs
CHANGED
|
@@ -18,7 +18,7 @@ function setCurrentTrace(trace) {
|
|
|
18
18
|
}
|
|
19
19
|
// Function to create a new step
|
|
20
20
|
const stepStack = [];
|
|
21
|
-
function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadata = null, startTime, endTime) {
|
|
21
|
+
function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadata = null, startTime, endTime, openlayerInferencePipelineId) {
|
|
22
22
|
metadata = metadata || {};
|
|
23
23
|
let newStep;
|
|
24
24
|
if (stepType === StepType.CHAT_COMPLETION) {
|
|
@@ -27,6 +27,7 @@ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadat
|
|
|
27
27
|
else {
|
|
28
28
|
newStep = new UserCallStep(name, inputs, output, metadata, startTime, endTime);
|
|
29
29
|
}
|
|
30
|
+
const inferencePipelineId = openlayerInferencePipelineId || process.env['OPENLAYER_INFERENCE_PIPELINE_ID'];
|
|
30
31
|
const parentStep = getCurrentStep();
|
|
31
32
|
const isRootStep = parentStep === null;
|
|
32
33
|
if (isRootStep) {
|
|
@@ -49,10 +50,10 @@ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadat
|
|
|
49
50
|
const traceData = getCurrentTrace();
|
|
50
51
|
// Post process trace and get the input variable names
|
|
51
52
|
const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData);
|
|
52
|
-
if (publish &&
|
|
53
|
+
if (publish && inferencePipelineId) {
|
|
53
54
|
console.debug('Uploading trace to Openlayer...');
|
|
54
55
|
client.inferencePipelines.data
|
|
55
|
-
.stream(
|
|
56
|
+
.stream(inferencePipelineId, {
|
|
56
57
|
config: {
|
|
57
58
|
outputColumnName: 'output',
|
|
58
59
|
inputVariableNames: inputVariableNames,
|
|
@@ -71,7 +72,7 @@ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadat
|
|
|
71
72
|
.catch((error) => {
|
|
72
73
|
console.error('Failed to upload trace to Openlayer:', error);
|
|
73
74
|
console.error('Trace data that failed to upload:', JSON.stringify({
|
|
74
|
-
pipelineId:
|
|
75
|
+
pipelineId: inferencePipelineId,
|
|
75
76
|
inputVariableNames,
|
|
76
77
|
processedTraceData,
|
|
77
78
|
}, null, 2));
|
|
@@ -81,7 +82,7 @@ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadat
|
|
|
81
82
|
if (!publish) {
|
|
82
83
|
console.debug('Trace upload disabled (OPENLAYER_DISABLE_PUBLISH=true)');
|
|
83
84
|
}
|
|
84
|
-
else if (!
|
|
85
|
+
else if (!inferencePipelineId) {
|
|
85
86
|
console.warn('Trace upload skipped: OPENLAYER_INFERENCE_PIPELINE_ID environment variable not set');
|
|
86
87
|
}
|
|
87
88
|
}
|
|
@@ -107,12 +108,12 @@ function getParamNames(func) {
|
|
|
107
108
|
return result || [];
|
|
108
109
|
}
|
|
109
110
|
// Higher-order function to trace synchronous or asynchronous functions
|
|
110
|
-
function trace(fn, stepType = StepType.USER_CALL, stepName) {
|
|
111
|
+
function trace(fn, stepType = StepType.USER_CALL, stepName, openlayerInferencePipelineId) {
|
|
111
112
|
return async function (...args) {
|
|
112
113
|
const name = stepName || fn.name;
|
|
113
114
|
const paramNames = getParamNames(fn);
|
|
114
115
|
const inputs = Object.fromEntries(paramNames.map((name, index) => [name, args[index]]));
|
|
115
|
-
const [step, endStep] = createStep(name, stepType, args);
|
|
116
|
+
const [step, endStep] = createStep(name, stepType, args, openlayerInferencePipelineId);
|
|
116
117
|
try {
|
|
117
118
|
const result = await fn(...args);
|
|
118
119
|
step.log({ inputs, output: result });
|
|
@@ -127,8 +128,8 @@ function trace(fn, stepType = StepType.USER_CALL, stepName) {
|
|
|
127
128
|
}
|
|
128
129
|
};
|
|
129
130
|
}
|
|
130
|
-
export function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens = null, promptTokens = null, completionTokens = null, model = null, modelParameters = null, rawOutput = null, metadata = {}, provider = 'OpenAI', startTime = null, endTime = null, }) {
|
|
131
|
-
const [step, endStep] = createStep(name, StepType.CHAT_COMPLETION, inputs, output, metadata, startTime, endTime);
|
|
131
|
+
export function addChatCompletionStepToTrace({ name, inputs, output, latency, tokens = null, promptTokens = null, completionTokens = null, model = null, modelParameters = null, rawOutput = null, metadata = {}, provider = 'OpenAI', startTime = null, endTime = null, }, openlayerInferencePipelineId) {
|
|
132
|
+
const [step, endStep] = createStep(name, StepType.CHAT_COMPLETION, inputs, output, metadata, startTime, endTime, openlayerInferencePipelineId);
|
|
132
133
|
if (step.stepType === StepType.CHAT_COMPLETION) {
|
|
133
134
|
step.provider = provider;
|
|
134
135
|
step.promptTokens = promptTokens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.mjs","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"AAAA,oBAAoB;OAEb,SAAS;OACT,EAAE,QAAQ,EAAE;OACZ,EAAE,kBAAkB,EAAQ,YAAY,EAAE;OAC1C,EAAE,KAAK,EAAE;AAEhB,IAAI,YAAY,GAAiB,IAAI,CAAC;AAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,IAAI,MAAM,CAAC;AACnE,IAAI,MAAM,GAAqB,IAAI,CAAC;AACpC,IAAI,OAAO,EAAE;IACX,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvC,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;CAC1B;AAED,SAAS,eAAe;IACtB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,KAAmB;IAC1C,YAAY,GAAG,KAAK,CAAC;AACvB,CAAC;AAED,gCAAgC;AAChC,MAAM,SAAS,GAAW,EAAE,CAAC;AAE7B,SAAS,UAAU,CACjB,IAAY,EACZ,WAAqB,QAAQ,CAAC,SAAS,EACvC,MAAY,EACZ,MAAY,EACZ,WAAuC,IAAI,EAC3C,SAAyB,EACzB,OAAuB;
|
|
1
|
+
{"version":3,"file":"tracer.mjs","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -21,7 +21,10 @@ try {
|
|
|
21
21
|
|
|
22
22
|
import { addChatCompletionStepToTrace } from '../tracing/tracer';
|
|
23
23
|
|
|
24
|
-
export function traceBedrockAgent(
|
|
24
|
+
export function traceBedrockAgent(
|
|
25
|
+
client: any,
|
|
26
|
+
openlayerInferencePipelineId?: string,
|
|
27
|
+
): any {
|
|
25
28
|
if (!BedrockAgentRuntimeClient || !InvokeAgentCommand) {
|
|
26
29
|
throw new Error(
|
|
27
30
|
'AWS SDK for Bedrock Agent Runtime is not installed. Please install it with: npm install @aws-sdk/client-bedrock-agent-runtime',
|
|
@@ -55,7 +58,6 @@ export function traceBedrockAgent(client: any): any {
|
|
|
55
58
|
console.debug('Command identified as InvokeAgentCommand, applying tracing');
|
|
56
59
|
|
|
57
60
|
const startTime = performanceNow();
|
|
58
|
-
console.debug('startTime', startTime);
|
|
59
61
|
const input = command.input;
|
|
60
62
|
|
|
61
63
|
try {
|
|
@@ -67,7 +69,12 @@ export function traceBedrockAgent(client: any): any {
|
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
// Create a traced async iterator that preserves the original
|
|
70
|
-
const tracedCompletion = createTracedCompletion(
|
|
72
|
+
const tracedCompletion = createTracedCompletion(
|
|
73
|
+
response.completion,
|
|
74
|
+
input,
|
|
75
|
+
startTime,
|
|
76
|
+
openlayerInferencePipelineId,
|
|
77
|
+
);
|
|
71
78
|
|
|
72
79
|
// Return the response with the traced completion
|
|
73
80
|
return {
|
|
@@ -88,6 +95,7 @@ function createTracedCompletion(
|
|
|
88
95
|
originalCompletion: AsyncIterable<any>,
|
|
89
96
|
input: any,
|
|
90
97
|
startTime: number,
|
|
98
|
+
openlayerInferencePipelineId?: string,
|
|
91
99
|
): AsyncIterable<any> {
|
|
92
100
|
return {
|
|
93
101
|
async *[Symbol.asyncIterator]() {
|
|
@@ -102,11 +110,15 @@ function createTracedCompletion(
|
|
|
102
110
|
let traceData: any[] = [];
|
|
103
111
|
let chunkCount = 0;
|
|
104
112
|
|
|
113
|
+
console.debug('Original completion:', JSON.stringify(originalCompletion, null, 2));
|
|
114
|
+
|
|
105
115
|
try {
|
|
106
116
|
for await (const chunkEvent of originalCompletion) {
|
|
107
117
|
// Yield first - ensure user gets data immediately
|
|
108
118
|
yield chunkEvent;
|
|
109
119
|
|
|
120
|
+
console.debug(JSON.stringify(chunkEvent, null, 2));
|
|
121
|
+
|
|
110
122
|
// Then collect tracing data
|
|
111
123
|
if (chunkCount === 0) {
|
|
112
124
|
firstTokenTime = performanceNow();
|
|
@@ -131,7 +143,6 @@ function createTracedCompletion(
|
|
|
131
143
|
|
|
132
144
|
// Handle trace events
|
|
133
145
|
if (chunkEvent.trace) {
|
|
134
|
-
console.debug(JSON.stringify(chunkEvent.trace, null, 2));
|
|
135
146
|
traceData.push(chunkEvent.trace);
|
|
136
147
|
|
|
137
148
|
if (chunkEvent.trace.trace) {
|
|
@@ -159,7 +170,6 @@ function createTracedCompletion(
|
|
|
159
170
|
|
|
160
171
|
// After the stream is complete, send trace data
|
|
161
172
|
const endTime = performanceNow();
|
|
162
|
-
console.debug('endTime', endTime);
|
|
163
173
|
totalTokens = promptTokens + completionTokens;
|
|
164
174
|
|
|
165
175
|
// Send trace data to Openlayer
|
|
@@ -208,7 +218,7 @@ function createTracedCompletion(
|
|
|
208
218
|
endTime: endTime,
|
|
209
219
|
};
|
|
210
220
|
|
|
211
|
-
addChatCompletionStepToTrace(traceStepData);
|
|
221
|
+
addChatCompletionStepToTrace(traceStepData, openlayerInferencePipelineId);
|
|
212
222
|
} catch (error) {
|
|
213
223
|
console.error('Error in traced completion:', error);
|
|
214
224
|
// Don't rethrow - we don't want tracing errors to break the user's stream
|
|
@@ -33,6 +33,7 @@ function createStep(
|
|
|
33
33
|
metadata: Record<string, any> | null = null,
|
|
34
34
|
startTime?: number | null,
|
|
35
35
|
endTime?: number | null,
|
|
36
|
+
openlayerInferencePipelineId?: string,
|
|
36
37
|
): [Step, () => void] {
|
|
37
38
|
metadata = metadata || {};
|
|
38
39
|
let newStep: Step;
|
|
@@ -42,6 +43,8 @@ function createStep(
|
|
|
42
43
|
newStep = new UserCallStep(name, inputs, output, metadata, startTime, endTime);
|
|
43
44
|
}
|
|
44
45
|
|
|
46
|
+
const inferencePipelineId = openlayerInferencePipelineId || process.env['OPENLAYER_INFERENCE_PIPELINE_ID'];
|
|
47
|
+
|
|
45
48
|
const parentStep = getCurrentStep();
|
|
46
49
|
const isRootStep = parentStep === null;
|
|
47
50
|
|
|
@@ -68,11 +71,11 @@ function createStep(
|
|
|
68
71
|
// Post process trace and get the input variable names
|
|
69
72
|
const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData!);
|
|
70
73
|
|
|
71
|
-
if (publish &&
|
|
74
|
+
if (publish && inferencePipelineId) {
|
|
72
75
|
console.debug('Uploading trace to Openlayer...');
|
|
73
76
|
|
|
74
77
|
client!.inferencePipelines.data
|
|
75
|
-
.stream(
|
|
78
|
+
.stream(inferencePipelineId, {
|
|
76
79
|
config: {
|
|
77
80
|
outputColumnName: 'output',
|
|
78
81
|
inputVariableNames: inputVariableNames,
|
|
@@ -94,7 +97,7 @@ function createStep(
|
|
|
94
97
|
'Trace data that failed to upload:',
|
|
95
98
|
JSON.stringify(
|
|
96
99
|
{
|
|
97
|
-
pipelineId:
|
|
100
|
+
pipelineId: inferencePipelineId,
|
|
98
101
|
inputVariableNames,
|
|
99
102
|
processedTraceData,
|
|
100
103
|
},
|
|
@@ -106,7 +109,7 @@ function createStep(
|
|
|
106
109
|
} else {
|
|
107
110
|
if (!publish) {
|
|
108
111
|
console.debug('Trace upload disabled (OPENLAYER_DISABLE_PUBLISH=true)');
|
|
109
|
-
} else if (!
|
|
112
|
+
} else if (!inferencePipelineId) {
|
|
110
113
|
console.warn('Trace upload skipped: OPENLAYER_INFERENCE_PIPELINE_ID environment variable not set');
|
|
111
114
|
}
|
|
112
115
|
}
|
|
@@ -136,12 +139,17 @@ function getParamNames(func: Function): string[] {
|
|
|
136
139
|
}
|
|
137
140
|
|
|
138
141
|
// Higher-order function to trace synchronous or asynchronous functions
|
|
139
|
-
function trace(
|
|
142
|
+
function trace(
|
|
143
|
+
fn: Function,
|
|
144
|
+
stepType: StepType = StepType.USER_CALL,
|
|
145
|
+
stepName?: string,
|
|
146
|
+
openlayerInferencePipelineId?: string,
|
|
147
|
+
): Function {
|
|
140
148
|
return async function (...args: any[]) {
|
|
141
149
|
const name = stepName || fn.name;
|
|
142
150
|
const paramNames = getParamNames(fn);
|
|
143
151
|
const inputs = Object.fromEntries(paramNames.map((name, index) => [name, args[index]]));
|
|
144
|
-
const [step, endStep] = createStep(name, stepType, args);
|
|
152
|
+
const [step, endStep] = createStep(name, stepType, args, openlayerInferencePipelineId);
|
|
145
153
|
|
|
146
154
|
try {
|
|
147
155
|
const result = await fn(...args);
|
|
@@ -156,38 +164,50 @@ function trace(fn: Function, stepType: StepType = StepType.USER_CALL, stepName?:
|
|
|
156
164
|
};
|
|
157
165
|
}
|
|
158
166
|
|
|
159
|
-
export function addChatCompletionStepToTrace(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
167
|
+
export function addChatCompletionStepToTrace(
|
|
168
|
+
{
|
|
169
|
+
name,
|
|
170
|
+
inputs,
|
|
171
|
+
output,
|
|
172
|
+
latency,
|
|
173
|
+
tokens = null,
|
|
174
|
+
promptTokens = null,
|
|
175
|
+
completionTokens = null,
|
|
176
|
+
model = null,
|
|
177
|
+
modelParameters = null,
|
|
178
|
+
rawOutput = null,
|
|
179
|
+
metadata = {},
|
|
180
|
+
provider = 'OpenAI',
|
|
181
|
+
startTime = null,
|
|
182
|
+
endTime = null,
|
|
183
|
+
}: {
|
|
184
|
+
name: string;
|
|
185
|
+
inputs: any;
|
|
186
|
+
output: any;
|
|
187
|
+
latency: number;
|
|
188
|
+
tokens?: number | null;
|
|
189
|
+
promptTokens?: number | null;
|
|
190
|
+
completionTokens?: number | null;
|
|
191
|
+
model?: string | null;
|
|
192
|
+
modelParameters?: Record<string, any> | null;
|
|
193
|
+
rawOutput?: string | null;
|
|
194
|
+
metadata?: Record<string, any>;
|
|
195
|
+
provider?: string;
|
|
196
|
+
startTime?: number | null;
|
|
197
|
+
endTime?: number | null;
|
|
198
|
+
},
|
|
199
|
+
openlayerInferencePipelineId?: string,
|
|
200
|
+
) {
|
|
201
|
+
const [step, endStep] = createStep(
|
|
202
|
+
name,
|
|
203
|
+
StepType.CHAT_COMPLETION,
|
|
204
|
+
inputs,
|
|
205
|
+
output,
|
|
206
|
+
metadata,
|
|
207
|
+
startTime,
|
|
208
|
+
endTime,
|
|
209
|
+
openlayerInferencePipelineId,
|
|
210
|
+
);
|
|
191
211
|
|
|
192
212
|
if (step.stepType === StepType.CHAT_COMPLETION) {
|
|
193
213
|
(step as ChatCompletionStep).provider = provider;
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.13.
|
|
1
|
+
export const VERSION = '0.13.12'; // x-release-please-version
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.13.
|
|
1
|
+
export declare const VERSION = "0.13.12";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/version.js
CHANGED
package/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.13.
|
|
1
|
+
export const VERSION = '0.13.12'; // x-release-please-version
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|