Comparing version 3.31.3 to 3.32.0
@@ -152,3 +152,3 @@ 'use strict'; | ||
var version = "3.31.3"; | ||
var version = "3.32.0"; | ||
@@ -315,8 +315,29 @@ class Langfuse extends langfuseCore.LangfuseCore { | ||
return { | ||
promptTokens: prompt_tokens, | ||
completionTokens: completion_tokens, | ||
totalTokens: total_tokens | ||
input: prompt_tokens, | ||
output: completion_tokens, | ||
total: total_tokens | ||
}; | ||
} | ||
}; | ||
const parseUsageDetails = completionUsage => { | ||
const { | ||
prompt_tokens, | ||
completion_tokens, | ||
total_tokens, | ||
completion_tokens_details, | ||
prompt_tokens_details | ||
} = completionUsage; | ||
return { | ||
input: prompt_tokens, | ||
output: completion_tokens, | ||
total: total_tokens, | ||
...Object.fromEntries(Object.entries(prompt_tokens_details ?? {}).map(([key, value]) => [`input_${key}`, value])), | ||
...Object.fromEntries(Object.entries(completion_tokens_details ?? {}).map(([key, value]) => [`output_${key}`, value])) | ||
}; | ||
}; | ||
const parseUsageDetailsFromResponse = res => { | ||
if (hasCompletionUsage(res)) { | ||
return parseUsageDetails(res.usage); | ||
} | ||
}; | ||
const parseChunk = rawChunk => { | ||
@@ -424,2 +445,3 @@ let isToolCall = false; | ||
id: config?.traceId, | ||
name: config?.traceName, | ||
timestamp: observationData.startTime | ||
@@ -461,3 +483,4 @@ }); | ||
total: "total_tokens" in usage ? usage.total_tokens : undefined | ||
} : undefined | ||
} : undefined, | ||
usageDetails: usage ? parseUsageDetails(usage) : undefined | ||
}); | ||
@@ -474,2 +497,3 @@ if (!hasUserProvidedParent) { | ||
const usage = parseUsage(res); | ||
const usageDetails = parseUsageDetailsFromResponse(res); | ||
langfuseParent.generation({ | ||
@@ -479,3 +503,4 @@ ...observationData, | ||
endTime: new Date(), | ||
usage | ||
usage, | ||
usageDetails | ||
}); | ||
@@ -498,2 +523,7 @@ if (!hasUserProvidedParent) { | ||
totalCost: 0 | ||
}, | ||
costDetails: { | ||
input: 0, | ||
output: 0, | ||
total: 0 | ||
} | ||
@@ -535,5 +565,7 @@ }); | ||
const generationName = langfuseConfig?.generationName ?? defaultGenerationName; | ||
const traceName = langfuseConfig && "traceName" in langfuseConfig ? langfuseConfig.traceName : generationName; | ||
const config = { | ||
...langfuseConfig, | ||
generationName | ||
generationName, | ||
traceName | ||
}; | ||
@@ -540,0 +572,0 @@ // Add a flushAsync method to the OpenAI SDK that flushes the Langfuse client |
@@ -60,2 +60,3 @@ import { LangfuseCoreOptions, LangfuseCore, LangfusePersistedProperty, LangfuseFetchOptions, LangfuseFetchResponse, LangfuseWebStateless, LangfuseTraceClient, LangfuseSpanClient, LangfuseGenerationClient, LangfusePromptClient, CreateLangfuseTraceBody, CreateLangfuseGenerationBody } from 'langfuse-core'; | ||
traceId?: string; | ||
traceName?: string; | ||
clientInitParams?: LangfuseInitParams; | ||
@@ -62,0 +63,0 @@ }; |
{ | ||
"name": "langfuse", | ||
"version": "3.31.3", | ||
"version": "3.32.0", | ||
"engines": { | ||
@@ -40,5 +40,5 @@ "node": ">=18" | ||
"dependencies": { | ||
"langfuse-core": "^3.31.3" | ||
"langfuse-core": "^3.32.0" | ||
}, | ||
"gitHead": "0613087884e1f107bc1d31d593933277299aef14", | ||
"gitHead": "a59aee721699129d51429d2e46475ab02adf9140", | ||
"devDependencies": { | ||
@@ -45,0 +45,0 @@ "typedoc": "^0.26.8" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
142035
1282
Updatedlangfuse-core@^3.32.0