@mastra/langfuse 1.0.0-beta.1 → 1.0.0-beta.11
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 +141 -0
- package/README.md +48 -6
- package/dist/helpers.d.ts +79 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/index.cjs +124 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -54
- package/dist/index.js.map +1 -1
- package/dist/tracing.d.ts +21 -19
- package/dist/tracing.d.ts.map +1 -1
- package/package.json +8 -9
package/dist/tracing.d.ts
CHANGED
|
@@ -4,14 +4,8 @@
|
|
|
4
4
|
* This exporter sends observability data to Langfuse.
|
|
5
5
|
* Root spans start traces in Langfuse.
|
|
6
6
|
* MODEL_GENERATION spans become Langfuse generations, all others become spans.
|
|
7
|
-
*
|
|
8
|
-
* Compatible with both AI SDK v4 and v5:
|
|
9
|
-
* - Handles both legacy token usage format (promptTokens/completionTokens)
|
|
10
|
-
* and v5 format (inputTokens/outputTokens)
|
|
11
|
-
* - Supports v5 reasoning tokens and cache-related metrics
|
|
12
|
-
* - Adapts to v5 streaming protocol changes
|
|
13
7
|
*/
|
|
14
|
-
import type { TracingEvent } from '@mastra/core/observability';
|
|
8
|
+
import type { TracingEvent, UsageStats } from '@mastra/core/observability';
|
|
15
9
|
import { BaseExporter } from '@mastra/observability';
|
|
16
10
|
import type { BaseExporterConfig } from '@mastra/observability';
|
|
17
11
|
export interface LangfuseExporterConfig extends BaseExporterConfig {
|
|
@@ -26,12 +20,27 @@ export interface LangfuseExporterConfig extends BaseExporterConfig {
|
|
|
26
20
|
/** Additional options to pass to the Langfuse client */
|
|
27
21
|
options?: any;
|
|
28
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Token usage format compatible with Langfuse.
|
|
25
|
+
*/
|
|
26
|
+
export interface LangfuseUsageMetrics {
|
|
27
|
+
input?: number;
|
|
28
|
+
output?: number;
|
|
29
|
+
total?: number;
|
|
30
|
+
reasoning?: number;
|
|
31
|
+
cache_read_input_tokens?: number;
|
|
32
|
+
cache_write_input_tokens?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Formats UsageStats to Langfuse's expected format.
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatUsageMetrics(usage?: UsageStats): LangfuseUsageMetrics;
|
|
29
38
|
export declare class LangfuseExporter extends BaseExporter {
|
|
30
39
|
name: string;
|
|
31
40
|
private client;
|
|
32
41
|
private realtime;
|
|
33
42
|
private traceMap;
|
|
34
|
-
constructor(config
|
|
43
|
+
constructor(config?: LangfuseExporterConfig);
|
|
35
44
|
protected _exportTracingEvent(event: TracingEvent): Promise<void>;
|
|
36
45
|
private handleSpanStarted;
|
|
37
46
|
private handleSpanUpdateOrEnd;
|
|
@@ -41,18 +50,11 @@ export declare class LangfuseExporter extends BaseExporter {
|
|
|
41
50
|
private getLangfuseParent;
|
|
42
51
|
private buildTracePayload;
|
|
43
52
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* AI SDK v5 uses: inputTokens, outputTokens
|
|
48
|
-
*
|
|
49
|
-
* This function normalizes to a unified format that Langfuse can consume,
|
|
50
|
-
* prioritizing v5 format while maintaining backward compatibility.
|
|
51
|
-
*
|
|
52
|
-
* @param usage - Token usage data from AI SDK (v4 or v5 format)
|
|
53
|
-
* @returns Normalized usage object, or undefined if no usage data available
|
|
53
|
+
* Look up the Langfuse prompt from the closest parent span that has one.
|
|
54
|
+
* This enables prompt inheritance for MODEL_GENERATION spans when the prompt
|
|
55
|
+
* is set on a parent span (e.g., AGENT_RUN) rather than directly on the generation.
|
|
54
56
|
*/
|
|
55
|
-
private
|
|
57
|
+
private findParentLangfusePrompt;
|
|
56
58
|
private buildSpanPayload;
|
|
57
59
|
addScoreToTrace({ traceId, spanId, score, reason, scorerName, metadata, }: {
|
|
58
60
|
traceId: string;
|
package/dist/tracing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAA8C,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGvH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIhE,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAoBD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,oBAAoB,CAkC3E;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,IAAI,SAAc;IAClB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAgC;gBAEpC,MAAM,GAAE,sBAA2B;cAsC/B,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAwBzD,iBAAiB;YAkCjB,qBAAqB;YAmDrB,eAAe;IAkC7B,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,iBAAiB;IAuBzB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,gBAAgB;IAkGlB,eAAe,CAAC,EACpB,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBX,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/langfuse",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.11",
|
|
4
4
|
"description": "Langfuse observability provider for Mastra - includes tracing and future observability features",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,20 +25,19 @@
|
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"langfuse": "^3.38.6",
|
|
28
|
-
"@mastra/observability": "1.0.0-beta.
|
|
28
|
+
"@mastra/observability": "1.0.0-beta.10"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@microsoft/api-extractor": "^7.52.8",
|
|
32
31
|
"@types/node": "22.13.17",
|
|
33
|
-
"@vitest/coverage-v8": "4.0.
|
|
34
|
-
"@vitest/ui": "4.0.
|
|
32
|
+
"@vitest/coverage-v8": "4.0.12",
|
|
33
|
+
"@vitest/ui": "4.0.12",
|
|
35
34
|
"eslint": "^9.37.0",
|
|
36
35
|
"tsup": "^8.5.0",
|
|
37
|
-
"typescript": "^5.
|
|
38
|
-
"vitest": "
|
|
39
|
-
"@internal/lint": "0.0.53",
|
|
36
|
+
"typescript": "^5.9.3",
|
|
37
|
+
"vitest": "4.0.16",
|
|
40
38
|
"@internal/types-builder": "0.0.28",
|
|
41
|
-
"@
|
|
39
|
+
"@internal/lint": "0.0.53",
|
|
40
|
+
"@mastra/core": "1.0.0-beta.21"
|
|
42
41
|
},
|
|
43
42
|
"peerDependencies": {
|
|
44
43
|
"@mastra/core": ">=1.0.0-0 <2.0.0-0"
|