@mastra/observability 0.0.0-feat-improve-processors-20251205191721 → 0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536
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 +388 -11
- package/dist/config.d.ts +105 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/exporters/default.d.ts +4 -3
- package/dist/exporters/default.d.ts.map +1 -1
- package/dist/index.cjs +4545 -132
- 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 +4540 -133
- package/dist/index.js.map +1 -1
- package/dist/instances/base.d.ts.map +1 -1
- package/dist/model-tracing.d.ts +16 -9
- package/dist/model-tracing.d.ts.map +1 -1
- package/dist/span_processors/sensitive-data-filter.d.ts +7 -0
- package/dist/span_processors/sensitive-data-filter.d.ts.map +1 -1
- package/dist/spans/base.d.ts +11 -18
- package/dist/spans/base.d.ts.map +1 -1
- package/dist/spans/default.d.ts.map +1 -1
- package/dist/spans/index.d.ts +1 -0
- package/dist/spans/index.d.ts.map +1 -1
- package/dist/spans/serialization.d.ts +46 -0
- package/dist/spans/serialization.d.ts.map +1 -0
- package/dist/tracing-options.d.ts +27 -0
- package/dist/tracing-options.d.ts.map +1 -0
- package/dist/usage.d.ts +21 -0
- package/dist/usage.d.ts.map +1 -0
- package/package.json +8 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/instances/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,OAAO,EAGP,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,cAAc,EACf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAQ7D;;GAEG;AACH,8BAAsB,yBAA0B,SAAQ,UAAW,YAAW,qBAAqB;IACjG,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC;gBAElC,MAAM,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/instances/base.ts"],"names":[],"mappings":"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"}
|
package/dist/model-tracing.d.ts
CHANGED
|
@@ -8,13 +8,8 @@
|
|
|
8
8
|
* Hierarchy: MODEL_GENERATION -> MODEL_STEP -> MODEL_CHUNK
|
|
9
9
|
*/
|
|
10
10
|
import { SpanType } from '@mastra/core/observability';
|
|
11
|
-
import type { Span,
|
|
12
|
-
|
|
13
|
-
* Manages MODEL_STEP and MODEL_CHUNK span tracking for streaming Model responses.
|
|
14
|
-
*
|
|
15
|
-
* Should be instantiated once per MODEL_GENERATION span and shared across
|
|
16
|
-
* all streaming steps (including after tool calls).
|
|
17
|
-
*/
|
|
11
|
+
import type { Span, EndGenerationOptions, ErrorSpanOptions, TracingContext, UpdateSpanOptions } from '@mastra/core/observability';
|
|
12
|
+
import type { StepStartPayload } from '@mastra/core/stream';
|
|
18
13
|
export declare class ModelSpanTracker {
|
|
19
14
|
#private;
|
|
20
15
|
constructor(modelSpan?: Span<SpanType.MODEL_GENERATION>);
|
|
@@ -28,13 +23,25 @@ export declare class ModelSpanTracker {
|
|
|
28
23
|
*/
|
|
29
24
|
reportGenerationError(options: ErrorSpanOptions<SpanType.MODEL_GENERATION>): void;
|
|
30
25
|
/**
|
|
31
|
-
* End the generation span
|
|
26
|
+
* End the generation span with optional raw usage data.
|
|
27
|
+
* If usage is provided, it will be converted to UsageStats with cache token details.
|
|
32
28
|
*/
|
|
33
|
-
endGeneration(options?:
|
|
29
|
+
endGeneration(options?: EndGenerationOptions): void;
|
|
34
30
|
/**
|
|
35
31
|
* Update the generation span
|
|
36
32
|
*/
|
|
37
33
|
updateGeneration(options: UpdateSpanOptions<SpanType.MODEL_GENERATION>): void;
|
|
34
|
+
/**
|
|
35
|
+
* Start a new Model execution step.
|
|
36
|
+
* This should be called at the beginning of LLM execution to capture accurate startTime.
|
|
37
|
+
* The step-start chunk payload can be passed later via updateStep() if needed.
|
|
38
|
+
*/
|
|
39
|
+
startStep(payload?: StepStartPayload): void;
|
|
40
|
+
/**
|
|
41
|
+
* Update the current step span with additional payload data.
|
|
42
|
+
* Called when step-start chunk arrives with request/warnings info.
|
|
43
|
+
*/
|
|
44
|
+
updateStep(payload?: StepStartPayload): void;
|
|
38
45
|
/**
|
|
39
46
|
* Wraps a stream with model tracing transform to track MODEL_STEP and MODEL_CHUNK spans.
|
|
40
47
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-tracing.d.ts","sourceRoot":"","sources":["../src/model-tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EACV,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"model-tracing.d.ts","sourceRoot":"","sources":["../src/model-tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,KAAK,EACV,IAAI,EACJ,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAA2B,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AAsBxG,qBAAa,gBAAgB;;gBAaf,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAcvD;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAMnC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIjF;;;OAGG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAWnD;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAI7E;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAoB3C;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAwV5C;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS;QAAE,WAAW,EAAE,QAAQ,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;CA8G9D"}
|
|
@@ -34,6 +34,7 @@ export interface SensitiveDataFilterOptions {
|
|
|
34
34
|
* - Sensitive keys are matched case-insensitively, normalized to remove separators.
|
|
35
35
|
* - Sensitive values are redacted using either full or partial redaction.
|
|
36
36
|
* - Partial redaction always keeps 3 chars at the start and end.
|
|
37
|
+
* - JSON strings containing sensitive fields are parsed and redacted.
|
|
37
38
|
* - If filtering a field fails, the field is replaced with:
|
|
38
39
|
* `{ error: { processor: "sensitive-data-filter" } }`
|
|
39
40
|
*/
|
|
@@ -54,6 +55,7 @@ export declare class SensitiveDataFilter implements SpanOutputProcessor {
|
|
|
54
55
|
/**
|
|
55
56
|
* Recursively filter objects/arrays for sensitive keys.
|
|
56
57
|
* Handles circular references by replacing with a marker.
|
|
58
|
+
* Also attempts to parse and redact JSON strings.
|
|
57
59
|
*/
|
|
58
60
|
private deepFilter;
|
|
59
61
|
private tryFilter;
|
|
@@ -72,6 +74,11 @@ export declare class SensitiveDataFilter implements SpanOutputProcessor {
|
|
|
72
74
|
* - "promptTokens", "prompt_tokens" normalize to "prompttokens" → DOES NOT MATCH "token"
|
|
73
75
|
*/
|
|
74
76
|
private isSensitive;
|
|
77
|
+
/**
|
|
78
|
+
* Attempt to parse a string as JSON and redact sensitive fields within it.
|
|
79
|
+
* If parsing fails or no sensitive data is found, returns the original string.
|
|
80
|
+
*/
|
|
81
|
+
private redactJsonString;
|
|
75
82
|
/**
|
|
76
83
|
* Redact a sensitive value.
|
|
77
84
|
* - Full style: replaces with a fixed token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sensitive-data-filter.d.ts","sourceRoot":"","sources":["../../src/span_processors/sensitive-data-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED
|
|
1
|
+
{"version":3,"file":"sensitive-data-filter.d.ts","sourceRoot":"","sources":["../../src/span_processors/sensitive-data-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,YAAW,mBAAmB;IAC7D,IAAI,SAA2B;IAC/B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAiB;gBAE3B,OAAO,GAAE,0BAA+B;IAyBpD;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAS/B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA8ClB,OAAO,CAAC,SAAS;IAQjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAab,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
package/dist/spans/base.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Span, SpanTypeMap, AnySpan, ChildSpanOptions, ChildEventOptions, EndSpanOptions, ErrorSpanOptions, UpdateSpanOptions, CreateSpanOptions, ObservabilityInstance, ExportedSpan, TraceState, IModelSpanTracker, AIModelGenerationSpan } from '@mastra/core/observability';
|
|
1
|
+
import type { Span, SpanTypeMap, AnySpan, ChildSpanOptions, ChildEventOptions, EndSpanOptions, ErrorSpanOptions, UpdateSpanOptions, CreateSpanOptions, ObservabilityInstance, ExportedSpan, TraceState, IModelSpanTracker, AIModelGenerationSpan, EntityType } from '@mastra/core/observability';
|
|
2
2
|
import { SpanType } from '@mastra/core/observability';
|
|
3
|
+
import type { DeepCleanOptions } from './serialization.js';
|
|
3
4
|
/**
|
|
4
5
|
* Get the external parent span ID from CreateSpanOptions.
|
|
5
6
|
*
|
|
@@ -50,9 +51,18 @@ export declare abstract class BaseSpan<TType extends SpanType = any> implements
|
|
|
50
51
|
details?: Record<string, any>;
|
|
51
52
|
};
|
|
52
53
|
metadata?: Record<string, any>;
|
|
54
|
+
tags?: string[];
|
|
53
55
|
traceState?: TraceState;
|
|
56
|
+
/** Entity type that created the span (e.g., agent, workflow) */
|
|
57
|
+
entityType?: EntityType;
|
|
58
|
+
/** Entity ID that created the span */
|
|
59
|
+
entityId?: string;
|
|
60
|
+
/** Entity name that created the span */
|
|
61
|
+
entityName?: string;
|
|
54
62
|
/** Parent span ID (for root spans that are children of external spans) */
|
|
55
63
|
protected parentSpanId?: string;
|
|
64
|
+
/** Deep clean options for serialization */
|
|
65
|
+
protected deepCleanOptions: DeepCleanOptions;
|
|
56
66
|
constructor(options: CreateSpanOptions<TType>, observabilityInstance: ObservabilityInstance);
|
|
57
67
|
/** End the span */
|
|
58
68
|
abstract end(options?: EndSpanOptions<TType>): void;
|
|
@@ -89,21 +99,4 @@ export declare abstract class BaseSpan<TType extends SpanType = any> implements
|
|
|
89
99
|
*/
|
|
90
100
|
executeInContextSync<T>(fn: () => T): T;
|
|
91
101
|
}
|
|
92
|
-
export interface DeepCleanOptions {
|
|
93
|
-
keysToStrip?: Set<string>;
|
|
94
|
-
maxDepth?: number;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Recursively cleans a value by removing circular references and stripping problematic or sensitive keys.
|
|
98
|
-
* Circular references are replaced with "[Circular]". Unserializable values are replaced with error messages.
|
|
99
|
-
* Keys like "logger" and "tracingContext" are stripped by default.
|
|
100
|
-
* A maximum recursion depth is enforced to avoid stack overflow or excessive memory usage.
|
|
101
|
-
*
|
|
102
|
-
* @param value - The value to clean (object, array, primitive, etc.)
|
|
103
|
-
* @param options - Optional configuration:
|
|
104
|
-
* - keysToStrip: Set of keys to remove from objects (default: logger, tracingContext)
|
|
105
|
-
* - maxDepth: Maximum recursion depth before values are replaced with "[MaxDepth]" (default: 10)
|
|
106
|
-
* @returns A cleaned version of the input with circular references, specified keys, and overly deep values handled
|
|
107
|
-
*/
|
|
108
|
-
export declare function deepClean(value: any, options?: DeepCleanOptions, _seen?: WeakSet<any>, _depth?: number): any;
|
|
109
102
|
//# sourceMappingURL=base.d.ts.map
|
package/dist/spans/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/spans/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/spans/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/spans/default.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/spans/default.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,qBAAa,WAAW,CAAC,KAAK,SAAS,QAAQ,CAAE,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,qBAAqB,EAAE,qBAAqB;IAqC3F,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI;IAiB1C,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI;IAoC7C,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAoB/C,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;CAUhC"}
|
package/dist/spans/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spans/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bounded serialization utilities for AI tracing.
|
|
3
|
+
*
|
|
4
|
+
* These utilities prevent memory issues by enforcing strict limits on
|
|
5
|
+
* string lengths, array sizes, object depths, and total output size.
|
|
6
|
+
* They are designed to be used across all tracing/telemetry systems.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Default keys to strip from objects during deep cleaning.
|
|
10
|
+
* These are typically internal/sensitive fields that shouldn't be traced.
|
|
11
|
+
*/
|
|
12
|
+
export declare const DEFAULT_KEYS_TO_STRIP: Set<string>;
|
|
13
|
+
export interface DeepCleanOptions {
|
|
14
|
+
keysToStrip: Set<string>;
|
|
15
|
+
maxDepth: number;
|
|
16
|
+
maxStringLength: number;
|
|
17
|
+
maxArrayLength: number;
|
|
18
|
+
maxObjectKeys: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const DEFAULT_DEEP_CLEAN_OPTIONS: DeepCleanOptions;
|
|
21
|
+
/**
|
|
22
|
+
* Merge user-provided serialization options with defaults.
|
|
23
|
+
* Returns a complete DeepCleanOptions object.
|
|
24
|
+
*/
|
|
25
|
+
export declare function mergeSerializationOptions(userOptions?: {
|
|
26
|
+
maxStringLength?: number;
|
|
27
|
+
maxDepth?: number;
|
|
28
|
+
maxArrayLength?: number;
|
|
29
|
+
maxObjectKeys?: number;
|
|
30
|
+
}): DeepCleanOptions;
|
|
31
|
+
/**
|
|
32
|
+
* Hard-cap any string to prevent unbounded growth.
|
|
33
|
+
*/
|
|
34
|
+
export declare function truncateString(s: string, maxChars: number): string;
|
|
35
|
+
/**
|
|
36
|
+
* Recursively cleans a value by removing circular references, stripping problematic keys,
|
|
37
|
+
* and enforcing size limits on strings, arrays, and objects.
|
|
38
|
+
*
|
|
39
|
+
* This is used by AI tracing spans to sanitize input/output data before storing.
|
|
40
|
+
*
|
|
41
|
+
* @param value - The value to clean (object, array, primitive, etc.)
|
|
42
|
+
* @param options - Optional configuration for cleaning behavior
|
|
43
|
+
* @returns A cleaned version of the input with size limits enforced
|
|
44
|
+
*/
|
|
45
|
+
export declare function deepClean(value: any, options?: DeepCleanOptions): any;
|
|
46
|
+
//# sourceMappingURL=serialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/spans/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,aAMhC,CAAC;AAEH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,0BAA0B,EAAE,gBAMvC,CAAC;AAEH;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,gBAAgB,CAWnB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,gBAA6C,GAAG,GAAG,CA4GjG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Tracing Options Builder
|
|
3
|
+
*/
|
|
4
|
+
import type { TracingOptions } from '@mastra/core/observability';
|
|
5
|
+
/**
|
|
6
|
+
* A function that updates TracingOptions.
|
|
7
|
+
*/
|
|
8
|
+
export type TracingOptionsUpdater = (options: TracingOptions) => TracingOptions;
|
|
9
|
+
/**
|
|
10
|
+
* Builds TracingOptions by composing one or more updater functions.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { buildTracingOptions } from '@mastra/observability';
|
|
15
|
+
* import { withLangfusePrompt } from '@mastra/langfuse';
|
|
16
|
+
*
|
|
17
|
+
* const prompt = await langfuse.getPrompt('my-prompt');
|
|
18
|
+
*
|
|
19
|
+
* const agent = new Agent({
|
|
20
|
+
* defaultGenerateOptions: {
|
|
21
|
+
* tracingOptions: buildTracingOptions(withLangfusePrompt(prompt)),
|
|
22
|
+
* },
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function buildTracingOptions(...updaters: TracingOptionsUpdater[]): TracingOptions;
|
|
27
|
+
//# sourceMappingURL=tracing-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-options.d.ts","sourceRoot":"","sources":["../src/tracing-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,cAAc,CAAC;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,QAAQ,EAAE,qBAAqB,EAAE,GAAG,cAAc,CAExF"}
|
package/dist/usage.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage extraction utilities for converting AI SDK usage to Mastra UsageStats
|
|
3
|
+
*/
|
|
4
|
+
import type { UsageStats } from '@mastra/core/observability';
|
|
5
|
+
import type { LanguageModelUsage, ProviderMetadata } from '@mastra/core/stream';
|
|
6
|
+
/**
|
|
7
|
+
* Extracts and normalizes token usage from AI SDK response, including
|
|
8
|
+
* provider-specific cache tokens from providerMetadata.
|
|
9
|
+
*
|
|
10
|
+
* Handles:
|
|
11
|
+
* - OpenAI: cachedInputTokens in usage object
|
|
12
|
+
* - Anthropic: cacheCreationInputTokens, cacheReadInputTokens in providerMetadata.anthropic
|
|
13
|
+
* - Google/Gemini: cachedContentTokenCount, thoughtsTokenCount in providerMetadata.google.usageMetadata
|
|
14
|
+
* - OpenRouter: Uses OpenAI-compatible structure (cache tokens in usage)
|
|
15
|
+
*
|
|
16
|
+
* @param usage - The LanguageModelV2Usage from AI SDK response
|
|
17
|
+
* @param providerMetadata - Optional provider-specific metadata
|
|
18
|
+
* @returns UsageStats with inputDetails and outputDetails
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractUsageMetrics(usage?: LanguageModelUsage, providerMetadata?: ProviderMetadata): UsageStats;
|
|
21
|
+
//# sourceMappingURL=usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAyC,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAoBhF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,UAAU,CA4E/G"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/observability",
|
|
3
|
-
"version": "0.0.0-feat-
|
|
3
|
+
"version": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536",
|
|
4
4
|
"description": "Core observability package for Mastra - includes tracing and scoring features",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,25 +24,22 @@
|
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@microsoft/api-extractor": "^7.52.8",
|
|
28
27
|
"@types/node": "22.13.17",
|
|
29
28
|
"@vitest/coverage-v8": "4.0.12",
|
|
30
29
|
"@vitest/ui": "4.0.12",
|
|
31
|
-
"ai": "^4.3.16",
|
|
32
|
-
"ai-v5": "npm:ai@5.0.97",
|
|
33
30
|
"eslint": "^9.37.0",
|
|
34
31
|
"tsup": "^8.5.0",
|
|
35
32
|
"typescript": "^5.8.3",
|
|
36
33
|
"vitest": "4.0.12",
|
|
37
|
-
"
|
|
38
|
-
"@internal/
|
|
39
|
-
"@
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
34
|
+
"zod": "^3.25.76",
|
|
35
|
+
"@internal/lint": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536",
|
|
36
|
+
"@internal/ai-sdk-v4": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536",
|
|
37
|
+
"@internal/ai-sdk-v5": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536",
|
|
38
|
+
"@mastra/core": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536",
|
|
39
|
+
"@internal/types-builder": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536"
|
|
43
40
|
},
|
|
44
41
|
"peerDependencies": {
|
|
45
|
-
"@mastra/core": "0.0.0-feat-
|
|
42
|
+
"@mastra/core": "0.0.0-feat-mcp-embedded-docs-tools-clean-20260102135536"
|
|
46
43
|
},
|
|
47
44
|
"homepage": "https://mastra.ai",
|
|
48
45
|
"repository": {
|