@mastra/observability 0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939 → 0.0.0-fix-backport-setserver-20251201144151

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +36 -83
  2. package/dist/index.cjs +0 -2189
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.ts +2 -8
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +0 -2171
  7. package/dist/index.js.map +1 -1
  8. package/package.json +15 -15
  9. package/README.md +0 -99
  10. package/dist/config.d.ts +0 -343
  11. package/dist/config.d.ts.map +0 -1
  12. package/dist/default.d.ts +0 -29
  13. package/dist/default.d.ts.map +0 -1
  14. package/dist/exporters/base.d.ts +0 -111
  15. package/dist/exporters/base.d.ts.map +0 -1
  16. package/dist/exporters/cloud.d.ts +0 -30
  17. package/dist/exporters/cloud.d.ts.map +0 -1
  18. package/dist/exporters/console.d.ts +0 -10
  19. package/dist/exporters/console.d.ts.map +0 -1
  20. package/dist/exporters/default.d.ts +0 -89
  21. package/dist/exporters/default.d.ts.map +0 -1
  22. package/dist/exporters/index.d.ts +0 -9
  23. package/dist/exporters/index.d.ts.map +0 -1
  24. package/dist/instances/base.d.ts +0 -106
  25. package/dist/instances/base.d.ts.map +0 -1
  26. package/dist/instances/default.d.ts +0 -8
  27. package/dist/instances/default.d.ts.map +0 -1
  28. package/dist/instances/index.d.ts +0 -6
  29. package/dist/instances/index.d.ts.map +0 -1
  30. package/dist/model-tracing.d.ts +0 -48
  31. package/dist/model-tracing.d.ts.map +0 -1
  32. package/dist/registry.d.ts +0 -49
  33. package/dist/registry.d.ts.map +0 -1
  34. package/dist/span_processors/index.d.ts +0 -5
  35. package/dist/span_processors/index.d.ts.map +0 -1
  36. package/dist/span_processors/sensitive-data-filter.d.ts +0 -85
  37. package/dist/span_processors/sensitive-data-filter.d.ts.map +0 -1
  38. package/dist/spans/base.d.ts +0 -71
  39. package/dist/spans/base.d.ts.map +0 -1
  40. package/dist/spans/default.d.ts +0 -13
  41. package/dist/spans/default.d.ts.map +0 -1
  42. package/dist/spans/index.d.ts +0 -7
  43. package/dist/spans/index.d.ts.map +0 -1
  44. package/dist/spans/no-op.d.ts +0 -15
  45. package/dist/spans/no-op.d.ts.map +0 -1
@@ -1,106 +0,0 @@
1
- /**
2
- * BaseObservability - Abstract base class for Observability implementations
3
- */
4
- import { MastraBase } from '@mastra/core/base';
5
- import type { RequestContext } from '@mastra/core/di';
6
- import type { IMastraLogger } from '@mastra/core/logger';
7
- import type { Span, SpanType, ObservabilityExporter, SpanOutputProcessor, TracingEvent, AnySpan, StartSpanOptions, CreateSpanOptions, ObservabilityInstance, CustomSamplerOptions, AnyExportedSpan, TraceState, TracingOptions } from '@mastra/core/observability';
8
- import type { ObservabilityInstanceConfig } from '../config.js';
9
- /**
10
- * Abstract base class for all Observability implementations in Mastra.
11
- */
12
- export declare abstract class BaseObservabilityInstance extends MastraBase implements ObservabilityInstance {
13
- protected config: Required<ObservabilityInstanceConfig>;
14
- constructor(config: ObservabilityInstanceConfig);
15
- /**
16
- * Override setLogger to add Observability specific initialization log
17
- * and propagate logger to exporters
18
- */
19
- __setLogger(logger: IMastraLogger): void;
20
- protected get exporters(): ObservabilityExporter[];
21
- protected get spanOutputProcessors(): SpanOutputProcessor[];
22
- /**
23
- * Start a new span of a specific SpanType
24
- */
25
- startSpan<TType extends SpanType>(options: StartSpanOptions<TType>): Span<TType>;
26
- /**
27
- * Create a new span (called after sampling)
28
- *
29
- * Implementations should:
30
- * 1. Create a plain span with the provided attributes
31
- * 2. Return the span - base class handles all tracing lifecycle automatically
32
- *
33
- * The base class will automatically:
34
- * - Set trace relationships
35
- * - Wire span lifecycle callbacks
36
- * - Emit span_started event
37
- */
38
- protected abstract createSpan<TType extends SpanType>(options: CreateSpanOptions<TType>): Span<TType>;
39
- /**
40
- * Get current configuration
41
- */
42
- getConfig(): Readonly<Required<ObservabilityInstanceConfig>>;
43
- /**
44
- * Get all exporters
45
- */
46
- getExporters(): readonly ObservabilityExporter[];
47
- /**
48
- * Get all span output processors
49
- */
50
- getSpanOutputProcessors(): readonly SpanOutputProcessor[];
51
- /**
52
- * Get the logger instance (for exporters and other components)
53
- */
54
- getLogger(): IMastraLogger;
55
- /**
56
- * Automatically wires up Observability lifecycle events for any span
57
- * This ensures all spans emit events regardless of implementation
58
- */
59
- private wireSpanLifecycle;
60
- /**
61
- * Check if a trace should be sampled
62
- */
63
- protected shouldSample(options?: CustomSamplerOptions): boolean;
64
- /**
65
- * Compute TraceState for a new trace based on configured and per-request keys
66
- */
67
- protected computeTraceState(tracingOptions?: TracingOptions): TraceState | undefined;
68
- /**
69
- * Extract metadata from RequestContext using TraceState
70
- */
71
- protected extractMetadataFromRequestContext(requestContext: RequestContext | undefined, explicitMetadata: Record<string, any> | undefined, traceState: TraceState | undefined): Record<string, any> | undefined;
72
- /**
73
- * Extract specific keys from RequestContext
74
- */
75
- protected extractKeys(requestContext: RequestContext, keys: string[]): Record<string, any>;
76
- /**
77
- * Process a span through all output processors
78
- */
79
- private processSpan;
80
- getSpanForExport(span: AnySpan): AnyExportedSpan | undefined;
81
- /**
82
- * Emit a span started event
83
- */
84
- protected emitSpanStarted(span: AnySpan): void;
85
- /**
86
- * Emit a span ended event (called automatically when spans end)
87
- */
88
- protected emitSpanEnded(span: AnySpan): void;
89
- /**
90
- * Emit a span updated event
91
- */
92
- protected emitSpanUpdated(span: AnySpan): void;
93
- /**
94
- * Export tracing event through all exporters (realtime mode)
95
- */
96
- protected exportTracingEvent(event: TracingEvent): Promise<void>;
97
- /**
98
- * Initialize Observability (called by Mastra during component registration)
99
- */
100
- init(): void;
101
- /**
102
- * Shutdown Observability and clean up resources
103
- */
104
- shutdown(): Promise<void>;
105
- }
106
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
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,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,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBAE5C,MAAM,EAAE,2BAA2B;IAe/C;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa;IAoBjC,SAAS,KAAK,SAAS,IAAI,qBAAqB,EAAE,CAEjD;IAED,SAAS,KAAK,oBAAoB,IAAI,mBAAmB,EAAE,CAE1D;IAMD;;OAEG;IACH,SAAS,CAAC,KAAK,SAAS,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IA4ChF;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAMrG;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAQ5D;;OAEG;IACH,YAAY,IAAI,SAAS,qBAAqB,EAAE;IAIhD;;OAEG;IACH,uBAAuB,IAAI,SAAS,mBAAmB,EAAE;IAIzD;;OAEG;IACH,SAAS;IAQT;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO;IAwB/D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS;IAgBpF;;OAEG;IACH,SAAS,CAAC,iCAAiC,CACzC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACjD,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IAkBlC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA2B1F;;OAEG;IACH,OAAO,CAAC,WAAW;IAqBnB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS;IAQ5D;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAS9C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAS5C;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAS9C;;OAEG;cACa,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAahC"}
@@ -1,8 +0,0 @@
1
- import type { SpanType, Span, CreateSpanOptions } from '@mastra/core/observability';
2
- import type { ObservabilityInstanceConfig } from '../config.js';
3
- import { BaseObservabilityInstance } from './base.js';
4
- export declare class DefaultObservabilityInstance extends BaseObservabilityInstance {
5
- constructor(config: ObservabilityInstanceConfig);
6
- protected createSpan<TType extends SpanType>(options: CreateSpanOptions<TType>): Span<TType>;
7
- }
8
- //# sourceMappingURL=default.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/instances/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD,qBAAa,4BAA6B,SAAQ,yBAAyB;gBAC7D,MAAM,EAAE,2BAA2B;IAI/C,SAAS,CAAC,UAAU,CAAC,KAAK,SAAS,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;CAI7F"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Mastra Observability Instances
3
- */
4
- export * from './base.js';
5
- export * from './default.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instances/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -1,48 +0,0 @@
1
- /**
2
- * Model Span Tracing
3
- *
4
- * Provides span tracking for Model generations, including:
5
- * - MODEL_STEP spans (one per Model API call)
6
- * - MODEL_CHUNK spans (individual streaming chunks within a step)
7
- *
8
- * Hierarchy: MODEL_GENERATION -> MODEL_STEP -> MODEL_CHUNK
9
- */
10
- import { SpanType } from '@mastra/core/observability';
11
- import type { Span, EndSpanOptions, ErrorSpanOptions, TracingContext, UpdateSpanOptions } from '@mastra/core/observability';
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
- */
18
- export declare class ModelSpanTracker {
19
- #private;
20
- constructor(modelSpan?: Span<SpanType.MODEL_GENERATION>);
21
- /**
22
- * Get the tracing context for creating child spans.
23
- * Returns the current step span if active, otherwise the model span.
24
- */
25
- getTracingContext(): TracingContext;
26
- /**
27
- * Report an error on the generation span
28
- */
29
- reportGenerationError(options: ErrorSpanOptions<SpanType.MODEL_GENERATION>): void;
30
- /**
31
- * End the generation span
32
- */
33
- endGeneration(options?: EndSpanOptions<SpanType.MODEL_GENERATION>): void;
34
- /**
35
- * Update the generation span
36
- */
37
- updateGeneration(options: UpdateSpanOptions<SpanType.MODEL_GENERATION>): void;
38
- /**
39
- * Wraps a stream with model tracing transform to track MODEL_STEP and MODEL_CHUNK spans.
40
- *
41
- * This should be added to the stream pipeline to automatically
42
- * create MODEL_STEP and MODEL_CHUNK spans for each semantic unit in the stream.
43
- */
44
- wrapStream<T extends {
45
- pipeThrough: Function;
46
- }>(stream: T): T;
47
- }
48
- //# sourceMappingURL=model-tracing.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAGpC;;;;;GAKG;AACH,qBAAa,gBAAgB;;gBAQf,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAIvD;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAMnC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIjF;;OAEG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIxE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI;IA4O7E;;;;;OAKG;IACH,UAAU,CAAC,CAAC,SAAS;QAAE,WAAW,EAAE,QAAQ,CAAA;KAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;CAyE9D"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Observability Registry for Mastra
3
- *
4
- * Provides registry for Observability instances.
5
- */
6
- import type { ObservabilityInstance, ConfigSelectorOptions, ConfigSelector } from '@mastra/core/observability';
7
- /**
8
- * Registry for Observability instances.
9
- */
10
- export declare class ObservabilityRegistry {
11
- #private;
12
- /**
13
- * Register a tracing instance
14
- */
15
- register(name: string, instance: ObservabilityInstance, isDefault?: boolean): void;
16
- /**
17
- * Get a tracing instance by name
18
- */
19
- get(name: string): ObservabilityInstance | undefined;
20
- /**
21
- * Get the default tracing instance
22
- */
23
- getDefault(): ObservabilityInstance | undefined;
24
- /**
25
- * Set the tracing selector function
26
- */
27
- setSelector(selector: ConfigSelector): void;
28
- /**
29
- * Get the selected tracing instance based on context
30
- */
31
- getSelected(options: ConfigSelectorOptions): ObservabilityInstance | undefined;
32
- /**
33
- * Unregister a tracing instance
34
- */
35
- unregister(name: string): boolean;
36
- /**
37
- * Shutdown all instances and clear the registry
38
- */
39
- shutdown(): Promise<void>;
40
- /**
41
- * Clear all instances without shutdown
42
- */
43
- clear(): void;
44
- /**
45
- * list all registered instances
46
- */
47
- list(): ReadonlyMap<string, ObservabilityInstance>;
48
- }
49
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAM/G;;GAEG;AACH,qBAAa,qBAAqB;;IAKhC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,UAAQ,GAAG,IAAI;IAahF;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIpD;;OAEG;IACH,UAAU,IAAI,qBAAqB,GAAG,SAAS;IAI/C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,SAAS;IAa9E;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAYjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,IAAI,IAAI,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC;CAGnD"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Mastra Span Processors
3
- */
4
- export * from './sensitive-data-filter.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/span_processors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,yBAAyB,CAAC"}
@@ -1,85 +0,0 @@
1
- import type { SpanOutputProcessor, AnySpan } from '@mastra/core/observability';
2
- export type RedactionStyle = 'full' | 'partial';
3
- /**
4
- * Options for configuring the SensitiveDataFilter.
5
- */
6
- export interface SensitiveDataFilterOptions {
7
- /**
8
- * List of sensitive field names to redact.
9
- * Matching is case-insensitive and normalizes separators (`api-key`, `api_key`, `Api Key` → `apikey`).
10
- *
11
- * Defaults include: password, token, secret, key, apikey, auth, authorization,
12
- * bearer, bearertoken, jwt, credential, clientsecret, privatekey, refresh, ssn.
13
- */
14
- sensitiveFields?: string[];
15
- /**
16
- * The token used for full redaction.
17
- * Default: "[REDACTED]"
18
- */
19
- redactionToken?: string;
20
- /**
21
- * Style of redaction to use:
22
- * - "full": always replace with redactionToken.
23
- * - "partial": show 3 characters from the start and end, redact the middle.
24
- *
25
- * Default: "full"
26
- */
27
- redactionStyle?: RedactionStyle;
28
- }
29
- /**
30
- * SensitiveDataFilter
31
- *
32
- * An SpanOutputProcessor that redacts sensitive information from span fields.
33
- *
34
- * - Sensitive keys are matched case-insensitively, normalized to remove separators.
35
- * - Sensitive values are redacted using either full or partial redaction.
36
- * - Partial redaction always keeps 3 chars at the start and end.
37
- * - If filtering a field fails, the field is replaced with:
38
- * `{ error: { processor: "sensitive-data-filter" } }`
39
- */
40
- export declare class SensitiveDataFilter implements SpanOutputProcessor {
41
- name: string;
42
- private sensitiveFields;
43
- private redactionToken;
44
- private redactionStyle;
45
- constructor(options?: SensitiveDataFilterOptions);
46
- /**
47
- * Process a span by filtering sensitive data across its key fields.
48
- * Fields processed: attributes, metadata, input, output, errorInfo.
49
- *
50
- * @param span - The input span to filter
51
- * @returns A new span with sensitive values redacted
52
- */
53
- process(span: AnySpan): AnySpan;
54
- /**
55
- * Recursively filter objects/arrays for sensitive keys.
56
- * Handles circular references by replacing with a marker.
57
- */
58
- private deepFilter;
59
- private tryFilter;
60
- /**
61
- * Normalize keys by lowercasing and stripping non-alphanumeric characters.
62
- * Ensures consistent matching for variants like "api-key", "api_key", "Api Key".
63
- */
64
- private normalizeKey;
65
- /**
66
- * Check whether a normalized key exactly matches any sensitive field.
67
- * Both key and sensitive fields are normalized by removing all non-alphanumeric
68
- * characters and converting to lowercase before comparison.
69
- *
70
- * Examples:
71
- * - "api_key", "api-key", "ApiKey" all normalize to "apikey" → MATCHES "apikey"
72
- * - "promptTokens", "prompt_tokens" normalize to "prompttokens" → DOES NOT MATCH "token"
73
- */
74
- private isSensitive;
75
- /**
76
- * Redact a sensitive value.
77
- * - Full style: replaces with a fixed token.
78
- * - Partial style: shows 3 chars at start and end, hides the middle.
79
- *
80
- * Non-string values are converted to strings before partial redaction.
81
- */
82
- private redactValue;
83
- shutdown(): Promise<void>;
84
- }
85
- //# sourceMappingURL=sensitive-data-filter.d.ts.map
@@ -1 +0,0 @@
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;;;;;;;;;;GAUG;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;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,SAAS;IAQjB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAab,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -1,71 +0,0 @@
1
- import type { Span, SpanTypeMap, AnySpan, ChildSpanOptions, ChildEventOptions, EndSpanOptions, ErrorSpanOptions, UpdateSpanOptions, CreateSpanOptions, ObservabilityInstance, ExportedSpan, TraceState, IModelSpanTracker, AIModelGenerationSpan } from '@mastra/core/observability';
2
- import { SpanType } from '@mastra/core/observability';
3
- export declare abstract class BaseSpan<TType extends SpanType = any> implements Span<TType> {
4
- abstract id: string;
5
- abstract traceId: string;
6
- name: string;
7
- type: TType;
8
- attributes: SpanTypeMap[TType];
9
- parent?: AnySpan;
10
- startTime: Date;
11
- endTime?: Date;
12
- isEvent: boolean;
13
- isInternal: boolean;
14
- observabilityInstance: ObservabilityInstance;
15
- input?: any;
16
- output?: any;
17
- errorInfo?: {
18
- message: string;
19
- id?: string;
20
- domain?: string;
21
- category?: string;
22
- details?: Record<string, any>;
23
- };
24
- metadata?: Record<string, any>;
25
- traceState?: TraceState;
26
- /** Parent span ID (for root spans that are children of external spans) */
27
- protected parentSpanId?: string;
28
- constructor(options: CreateSpanOptions<TType>, observabilityInstance: ObservabilityInstance);
29
- /** End the span */
30
- abstract end(options?: EndSpanOptions<TType>): void;
31
- /** Record an error for the span, optionally end the span as well */
32
- abstract error(options: ErrorSpanOptions<TType>): void;
33
- /** Update span attributes */
34
- abstract update(options: UpdateSpanOptions<TType>): void;
35
- createChildSpan(options: ChildSpanOptions<SpanType.MODEL_GENERATION>): AIModelGenerationSpan;
36
- createEventSpan<TChildType extends SpanType>(options: ChildEventOptions<TChildType>): Span<TChildType>;
37
- /**
38
- * Create a ModelSpanTracker for this span (only works if this is a MODEL_GENERATION span)
39
- * Returns undefined for non-MODEL_GENERATION spans
40
- */
41
- createTracker(): IModelSpanTracker | undefined;
42
- /** Returns `TRUE` if the span is the root span of a trace */
43
- get isRootSpan(): boolean;
44
- /** Returns `TRUE` if the span is a valid span (not a NO-OP Span) */
45
- abstract get isValid(): boolean;
46
- /** Get the closest parent spanId that isn't an internal span */
47
- getParentSpanId(includeInternalSpans?: boolean): string | undefined;
48
- /** Find the closest parent span of a specific type by walking up the parent chain */
49
- findParent<T extends SpanType>(spanType: T): Span<T> | undefined;
50
- /** Returns a lightweight span ready for export */
51
- exportSpan(includeInternalSpans?: boolean): ExportedSpan<TType>;
52
- get externalTraceId(): string | undefined;
53
- }
54
- export interface DeepCleanOptions {
55
- keysToStrip?: Set<string>;
56
- maxDepth?: number;
57
- }
58
- /**
59
- * Recursively cleans a value by removing circular references and stripping problematic or sensitive keys.
60
- * Circular references are replaced with "[Circular]". Unserializable values are replaced with error messages.
61
- * Keys like "logger" and "tracingContext" are stripped by default.
62
- * A maximum recursion depth is enforced to avoid stack overflow or excessive memory usage.
63
- *
64
- * @param value - The value to clean (object, array, primitive, etc.)
65
- * @param options - Optional configuration:
66
- * - keysToStrip: Set of keys to remove from objects (default: logger, tracingContext)
67
- * - maxDepth: Maximum recursion depth before values are replaced with "[MaxDepth]" (default: 10)
68
- * @returns A cleaned version of the input with circular references, specified keys, and overly deep values handled
69
- */
70
- export declare function deepClean(value: any, options?: DeepCleanOptions, _seen?: WeakSet<any>, _depth?: number): any;
71
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/spans/base.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { SpanType, ObservabilityInstance, EndSpanOptions, ErrorSpanOptions, UpdateSpanOptions, CreateSpanOptions } from '@mastra/core/observability';
2
- import { BaseSpan } from './base.js';
3
- export declare class DefaultSpan<TType extends SpanType> extends BaseSpan<TType> {
4
- id: string;
5
- traceId: string;
6
- constructor(options: CreateSpanOptions<TType>, observabilityInstance: ObservabilityInstance);
7
- end(options?: EndSpanOptions<TType>): void;
8
- error(options: ErrorSpanOptions<TType>): void;
9
- update(options: UpdateSpanOptions<TType>): void;
10
- get isValid(): boolean;
11
- export(): Promise<string>;
12
- }
13
- //# sourceMappingURL=default.d.ts.map
@@ -1 +0,0 @@
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,EAAa,MAAM,QAAQ,CAAC;AAE7C,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;IAmC3F,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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Mastra Spans
3
- */
4
- export * from './base.js';
5
- export * from './default.js';
6
- export * from './no-op.js';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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,15 +0,0 @@
1
- /**
2
- * NoOpSpan Implementation for Mastra Observability
3
- */
4
- import type { ObservabilityInstance, SpanType, CreateSpanOptions, EndSpanOptions, UpdateSpanOptions, ErrorSpanOptions } from '@mastra/core/observability';
5
- import { BaseSpan } from './base.js';
6
- export declare class NoOpSpan<TType extends SpanType = any> extends BaseSpan<TType> {
7
- id: string;
8
- traceId: string;
9
- constructor(options: CreateSpanOptions<TType>, observabilityInstance: ObservabilityInstance);
10
- end(_options?: EndSpanOptions<TType>): void;
11
- error(_options: ErrorSpanOptions<TType>): void;
12
- update(_options: UpdateSpanOptions<TType>): void;
13
- get isValid(): boolean;
14
- }
15
- //# sourceMappingURL=no-op.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-op.d.ts","sourceRoot":"","sources":["../../src/spans/no-op.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,qBAAa,QAAQ,CAAC,KAAK,SAAS,QAAQ,GAAG,GAAG,CAAE,SAAQ,QAAQ,CAAC,KAAK,CAAC;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,qBAAqB,EAAE,qBAAqB;IAM3F,GAAG,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI;IAE3C,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI;IAE9C,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI;IAEhD,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}