@mastra/observability 1.17.4 → 1.17.5-alpha.1
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/README.md +14 -85
- package/dist/bus/base.d.ts.map +1 -1
- package/dist/bus/observability-bus.d.ts.map +1 -1
- package/dist/config.d.ts +5 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/context/logger.d.ts.map +1 -1
- package/dist/context/metrics.d.ts.map +1 -1
- package/dist/default.d.ts.map +1 -1
- package/dist/exporters/auth-failure-cooldown.d.ts.map +1 -1
- package/dist/exporters/base.d.ts.map +1 -1
- package/dist/exporters/cloud.d.ts.map +1 -1
- package/dist/exporters/console.d.ts.map +1 -1
- package/dist/exporters/default.d.ts.map +1 -1
- package/dist/exporters/event-buffer.d.ts.map +1 -1
- package/dist/exporters/mastra-platform.d.ts.map +1 -1
- package/dist/exporters/mastra-storage.d.ts.map +1 -1
- package/dist/exporters/test.d.ts.map +1 -1
- package/dist/exporters/tracking.d.ts.map +1 -1
- package/dist/index.cjs +28 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -2
- package/dist/index.js.map +1 -1
- package/dist/instances/base.d.ts.map +1 -1
- package/dist/instances/default.d.ts.map +1 -1
- package/dist/metrics/cardinality.d.ts.map +1 -1
- package/dist/metrics/pricing-model.d.ts.map +1 -1
- package/dist/metrics/pricing-registry.d.ts.map +1 -1
- package/dist/metrics/types.d.ts +24 -24
- package/dist/metrics/types.d.ts.map +1 -1
- package/dist/model-tracing.d.ts.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/span_processors/sensitive-data-filter.d.ts.map +1 -1
- package/dist/spans/base.d.ts.map +1 -1
- package/dist/spans/default.d.ts.map +1 -1
- package/dist/spans/metadata.d.ts +8 -0
- package/dist/spans/metadata.d.ts.map +1 -1
- package/dist/spans/no-op.d.ts.map +1 -1
- package/package.json +8 -9
- package/CHANGELOG.md +0 -3160
package/dist/index.js
CHANGED
|
@@ -2614,6 +2614,31 @@ function isPlainRecord(value) {
|
|
|
2614
2614
|
}
|
|
2615
2615
|
}
|
|
2616
2616
|
/**
|
|
2617
|
+
* Returns `metadata` without own data properties whose value is `undefined`,
|
|
2618
|
+
* so callers can merge it without erasing keys another source provides.
|
|
2619
|
+
* Accessor properties are kept without invoking their getters. Non-plain
|
|
2620
|
+
* values are returned as-is; when nothing is stripped (or reflection on the
|
|
2621
|
+
* value throws) the original reference is returned.
|
|
2622
|
+
*/
|
|
2623
|
+
function stripUndefined(metadata) {
|
|
2624
|
+
if (!metadata || !isPlainRecord(metadata)) return metadata;
|
|
2625
|
+
try {
|
|
2626
|
+
const result = {};
|
|
2627
|
+
let stripped = false;
|
|
2628
|
+
for (const key of Reflect.ownKeys(metadata)) {
|
|
2629
|
+
const descriptor = Object.getOwnPropertyDescriptor(metadata, key);
|
|
2630
|
+
if ("value" in descriptor && descriptor.value === void 0) {
|
|
2631
|
+
stripped = true;
|
|
2632
|
+
continue;
|
|
2633
|
+
}
|
|
2634
|
+
Object.defineProperty(result, key, descriptor);
|
|
2635
|
+
}
|
|
2636
|
+
return stripped ? result : metadata;
|
|
2637
|
+
} catch {
|
|
2638
|
+
return metadata;
|
|
2639
|
+
}
|
|
2640
|
+
}
|
|
2641
|
+
/**
|
|
2617
2642
|
* Merges two metadata values while preserving property descriptors (so getters
|
|
2618
2643
|
* are copied as accessors rather than eagerly invoked). Only plain records are
|
|
2619
2644
|
* merged; if either side is non-plain the second argument is returned as-is,
|
|
@@ -3283,7 +3308,8 @@ var BaseObservabilityInstance = class extends MastraBase {
|
|
|
3283
3308
|
let traceState;
|
|
3284
3309
|
if (options.parent) traceState = options.parent.traceState;
|
|
3285
3310
|
else traceState = this.computeTraceState(tracingOptions);
|
|
3286
|
-
const
|
|
3311
|
+
const tracingMetadata = !options.parent ? tracingOptions?.metadata : void 0;
|
|
3312
|
+
const mergedMetadata = mergeMetadata$1(stripUndefined(metadata), stripUndefined(tracingMetadata));
|
|
3287
3313
|
const enrichedMetadata = this.extractMetadataFromRequestContext(requestContext, mergedMetadata, traceState);
|
|
3288
3314
|
const finalMetadata = !options.parent ? injectEnvironmentMetadata(enrichedMetadata, this.#mastraEnvironment) : enrichedMetadata;
|
|
3289
3315
|
const tags = !options.parent ? tracingOptions?.tags : void 0;
|
|
@@ -3551,7 +3577,7 @@ var BaseObservabilityInstance = class extends MastraBase {
|
|
|
3551
3577
|
if (!requestContext || !traceState || traceState.requestContextKeys.length === 0) return explicitMetadata;
|
|
3552
3578
|
const extracted = this.extractKeys(requestContext, traceState.requestContextKeys);
|
|
3553
3579
|
if (Object.keys(extracted).length === 0 && !explicitMetadata) return;
|
|
3554
|
-
return mergeMetadata$1(extracted, explicitMetadata);
|
|
3580
|
+
return mergeMetadata$1(extracted, stripUndefined(explicitMetadata));
|
|
3555
3581
|
}
|
|
3556
3582
|
/**
|
|
3557
3583
|
* Extract specific keys from RequestContext
|