bitfab 0.52.0 → 0.52.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/dist/{chunk-K4XVZ7BD.js → chunk-4OCHRRLT.js} +40 -3
- package/dist/chunk-4OCHRRLT.js.map +1 -0
- package/dist/{chunk-LLS4QMFH.js → chunk-6SYDHA4R.js} +2 -2
- package/dist/{chunk-6M3EOIRH.js → chunk-SPJPNJEW.js} +63 -3
- package/dist/chunk-SPJPNJEW.js.map +1 -0
- package/dist/{chunk-KZKVSOBL.js → chunk-XEARN7AS.js} +24 -14
- package/dist/chunk-XEARN7AS.js.map +1 -0
- package/dist/{http-EBBRHSDB.js → http-UU27W3YQ.js} +2 -2
- package/dist/{http-OVESYGOV.js → http-X6ZM4GT4.js} +2 -2
- package/dist/index.cjs +83 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/node.cjs +83 -10
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +3 -3
- package/dist/{replay-QEIVO2N5.js → replay-RHMCXWRK.js} +3 -3
- package/dist/replayCli.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-6M3EOIRH.js.map +0 -1
- package/dist/chunk-K4XVZ7BD.js.map +0 -1
- package/dist/chunk-KZKVSOBL.js.map +0 -1
- /package/dist/{chunk-LLS4QMFH.js.map → chunk-6SYDHA4R.js.map} +0 -0
- /package/dist/{http-EBBRHSDB.js.map → http-UU27W3YQ.js.map} +0 -0
- /package/dist/{http-OVESYGOV.js.map → http-X6ZM4GT4.js.map} +0 -0
- /package/dist/{replay-QEIVO2N5.js.map → replay-RHMCXWRK.js.map} +0 -0
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
flushTraces,
|
|
7
7
|
parseRetryAfterMs,
|
|
8
8
|
serializePayloadBody
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SPJPNJEW.js";
|
|
10
10
|
import "./chunk-H6LZRFMN.js";
|
|
11
11
|
export {
|
|
12
12
|
BitfabError,
|
|
@@ -17,4 +17,4 @@ export {
|
|
|
17
17
|
parseRetryAfterMs,
|
|
18
18
|
serializePayloadBody
|
|
19
19
|
};
|
|
20
|
-
//# sourceMappingURL=http-
|
|
20
|
+
//# sourceMappingURL=http-UU27W3YQ.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
flushTraces,
|
|
7
7
|
parseRetryAfterMs,
|
|
8
8
|
serializePayloadBody
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4OCHRRLT.js";
|
|
10
10
|
export {
|
|
11
11
|
BitfabError,
|
|
12
12
|
HttpClient,
|
|
@@ -16,4 +16,4 @@ export {
|
|
|
16
16
|
parseRetryAfterMs,
|
|
17
17
|
serializePayloadBody
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=http-
|
|
19
|
+
//# sourceMappingURL=http-X6ZM4GT4.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -51,7 +51,7 @@ var __version__, __packageName__;
|
|
|
51
51
|
var init_version_generated = __esm({
|
|
52
52
|
"src/version.generated.ts"() {
|
|
53
53
|
"use strict";
|
|
54
|
-
__version__ = "0.52.
|
|
54
|
+
__version__ = "0.52.1";
|
|
55
55
|
__packageName__ = "bitfab";
|
|
56
56
|
}
|
|
57
57
|
});
|
|
@@ -543,6 +543,69 @@ var init_serializePayload = __esm({
|
|
|
543
543
|
}
|
|
544
544
|
});
|
|
545
545
|
|
|
546
|
+
// src/traceMetadata.ts
|
|
547
|
+
function recordCallerTraceMetadata(traceId, metadata) {
|
|
548
|
+
if (typeof traceId !== "string" || traceId === "") {
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
if (typeof metadata !== "object" || metadata === null) {
|
|
552
|
+
return;
|
|
553
|
+
}
|
|
554
|
+
if (Object.keys(metadata).length === 0) {
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
callerMetadata.set(traceId, { ...callerMetadata.get(traceId), ...metadata });
|
|
558
|
+
}
|
|
559
|
+
function callerTraceMetadata(traceId) {
|
|
560
|
+
const recorded = callerMetadata.get(traceId);
|
|
561
|
+
return recorded ? { ...recorded } : void 0;
|
|
562
|
+
}
|
|
563
|
+
function forgetTraceMetadata(traceId) {
|
|
564
|
+
callerMetadata.delete(traceId);
|
|
565
|
+
derivedMetadata.delete(traceId);
|
|
566
|
+
}
|
|
567
|
+
function mergeCallerMetadataIntoTracePayload(payload) {
|
|
568
|
+
const externalTrace = payload.externalTrace;
|
|
569
|
+
if (typeof externalTrace !== "object" || externalTrace === null) {
|
|
570
|
+
return payload;
|
|
571
|
+
}
|
|
572
|
+
const external = externalTrace;
|
|
573
|
+
const traceId = typeof payload.id === "string" && payload.id !== "" ? payload.id : external.id;
|
|
574
|
+
if (typeof traceId !== "string" || traceId === "") {
|
|
575
|
+
return payload;
|
|
576
|
+
}
|
|
577
|
+
const caller = callerMetadata.get(traceId);
|
|
578
|
+
if (!caller) {
|
|
579
|
+
return payload;
|
|
580
|
+
}
|
|
581
|
+
const derived = derivedMetadata.get(traceId) ?? {};
|
|
582
|
+
const exported = external.metadata;
|
|
583
|
+
if (typeof exported === "object" && exported !== null) {
|
|
584
|
+
Object.assign(derived, exported);
|
|
585
|
+
}
|
|
586
|
+
derivedMetadata.set(traceId, derived);
|
|
587
|
+
const shadowed = Object.keys(derived).filter((key) => key in caller && caller[key] !== derived[key]).sort();
|
|
588
|
+
if (shadowed.length > 0) {
|
|
589
|
+
warnOnce(
|
|
590
|
+
`trace-metadata-shadowed:${shadowed.join(",")}`,
|
|
591
|
+
`trace metadata key(s) ${shadowed.join(", ")} were set both by the caller and by an integration's own trace export; the caller's value is the one kept on the trace.`
|
|
592
|
+
);
|
|
593
|
+
}
|
|
594
|
+
return {
|
|
595
|
+
...payload,
|
|
596
|
+
externalTrace: { ...external, metadata: { ...derived, ...caller } }
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
var callerMetadata, derivedMetadata;
|
|
600
|
+
var init_traceMetadata = __esm({
|
|
601
|
+
"src/traceMetadata.ts"() {
|
|
602
|
+
"use strict";
|
|
603
|
+
init_warnOnce();
|
|
604
|
+
callerMetadata = /* @__PURE__ */ new Map();
|
|
605
|
+
derivedMetadata = /* @__PURE__ */ new Map();
|
|
606
|
+
}
|
|
607
|
+
});
|
|
608
|
+
|
|
546
609
|
// src/transportTypes.ts
|
|
547
610
|
var DeliveryError;
|
|
548
611
|
var init_transportTypes = __esm({
|
|
@@ -1361,6 +1424,7 @@ var init_http = __esm({
|
|
|
1361
1424
|
init_errors();
|
|
1362
1425
|
init_replayContext();
|
|
1363
1426
|
init_serializePayload();
|
|
1427
|
+
init_traceMetadata();
|
|
1364
1428
|
init_transport();
|
|
1365
1429
|
init_transportTypes();
|
|
1366
1430
|
init_unrefTimer();
|
|
@@ -1824,7 +1888,8 @@ var init_http = __esm({
|
|
|
1824
1888
|
* {@link HttpClient.sendExternalSpan}; replay confirms persistence with the
|
|
1825
1889
|
* server-authoritative barrier in `replay.ts`, not by awaiting this call.
|
|
1826
1890
|
*/
|
|
1827
|
-
sendExternalTrace(
|
|
1891
|
+
sendExternalTrace(rawPayload) {
|
|
1892
|
+
const payload = mergeCallerMetadataIntoTracePayload(rawPayload);
|
|
1828
1893
|
this.getTraceTransport()?.submit(
|
|
1829
1894
|
"external_trace",
|
|
1830
1895
|
{
|
|
@@ -5709,6 +5774,7 @@ function runWithSeedContext(ctx, fn) {
|
|
|
5709
5774
|
|
|
5710
5775
|
// src/client.ts
|
|
5711
5776
|
init_serialize();
|
|
5777
|
+
init_traceMetadata();
|
|
5712
5778
|
|
|
5713
5779
|
// src/tracing.ts
|
|
5714
5780
|
init_constants();
|
|
@@ -6389,8 +6455,7 @@ function getCurrentTrace() {
|
|
|
6389
6455
|
if (typeof metadata !== "object" || metadata === null) {
|
|
6390
6456
|
return;
|
|
6391
6457
|
}
|
|
6392
|
-
|
|
6393
|
-
traceState.metadata = { ...traceState.metadata, ...metadata };
|
|
6458
|
+
recordCallerTraceMetadata(traceId, metadata);
|
|
6394
6459
|
} catch {
|
|
6395
6460
|
}
|
|
6396
6461
|
},
|
|
@@ -7383,7 +7448,7 @@ var Bitfab = class {
|
|
|
7383
7448
|
endedAt,
|
|
7384
7449
|
sessionId: traceState?.sessionId,
|
|
7385
7450
|
name: traceState?.name,
|
|
7386
|
-
metadata:
|
|
7451
|
+
metadata: callerTraceMetadata(traceId),
|
|
7387
7452
|
contexts: traceState?.contexts ?? [],
|
|
7388
7453
|
testRunId: traceState?.testRunId,
|
|
7389
7454
|
inputSourceTraceId: traceState?.inputSourceTraceId,
|
|
@@ -7407,6 +7472,7 @@ var Bitfab = class {
|
|
|
7407
7472
|
}
|
|
7408
7473
|
});
|
|
7409
7474
|
activeTraceStates.delete(traceId);
|
|
7475
|
+
forgetTraceMetadata(traceId);
|
|
7410
7476
|
}
|
|
7411
7477
|
} catch {
|
|
7412
7478
|
}
|
|
@@ -7599,6 +7665,7 @@ var Bitfab = class {
|
|
|
7599
7665
|
} catch (setupError) {
|
|
7600
7666
|
if (registeredTraceId) {
|
|
7601
7667
|
activeTraceStates.delete(registeredTraceId);
|
|
7668
|
+
forgetTraceMetadata(registeredTraceId);
|
|
7602
7669
|
}
|
|
7603
7670
|
if (setupError instanceof MixedTracingError) {
|
|
7604
7671
|
throw setupError;
|
|
@@ -7959,14 +8026,16 @@ var Bitfab = class {
|
|
|
7959
8026
|
}
|
|
7960
8027
|
const traceId = randomUuid();
|
|
7961
8028
|
const startedAt = nowIsoTimestamp();
|
|
8029
|
+
if (options.metadata !== void 0) {
|
|
8030
|
+
recordCallerTraceMetadata(traceId, options.metadata);
|
|
8031
|
+
}
|
|
7962
8032
|
activeTraceStates.set(traceId, {
|
|
7963
8033
|
traceId,
|
|
7964
8034
|
startedAt,
|
|
7965
8035
|
contexts: [],
|
|
7966
8036
|
ingestionType: "seeded",
|
|
7967
8037
|
...options.sessionId !== void 0 && { sessionId: options.sessionId },
|
|
7968
|
-
...options.name !== void 0 && { name: options.name }
|
|
7969
|
-
...options.metadata !== void 0 && { metadata: options.metadata }
|
|
8038
|
+
...options.name !== void 0 && { name: options.name }
|
|
7970
8039
|
});
|
|
7971
8040
|
try {
|
|
7972
8041
|
this.sendWrapperSpan({
|
|
@@ -7989,12 +8058,13 @@ var Bitfab = class {
|
|
|
7989
8058
|
endedAt: startedAt,
|
|
7990
8059
|
sessionId: options.sessionId,
|
|
7991
8060
|
name: options.name,
|
|
7992
|
-
metadata:
|
|
8061
|
+
metadata: callerTraceMetadata(traceId),
|
|
7993
8062
|
contexts: [],
|
|
7994
8063
|
ingestionType: "seeded"
|
|
7995
8064
|
});
|
|
7996
8065
|
} finally {
|
|
7997
8066
|
activeTraceStates.delete(traceId);
|
|
8067
|
+
forgetTraceMetadata(traceId);
|
|
7998
8068
|
}
|
|
7999
8069
|
return traceId;
|
|
8000
8070
|
}
|
|
@@ -8019,14 +8089,16 @@ var Bitfab = class {
|
|
|
8019
8089
|
}
|
|
8020
8090
|
await seedContextReady;
|
|
8021
8091
|
const traceId = randomUuid();
|
|
8092
|
+
if (options?.metadata !== void 0) {
|
|
8093
|
+
recordCallerTraceMetadata(traceId, options.metadata);
|
|
8094
|
+
}
|
|
8022
8095
|
activeTraceStates.set(traceId, {
|
|
8023
8096
|
traceId,
|
|
8024
8097
|
startedAt: nowIsoTimestamp(),
|
|
8025
8098
|
contexts: [],
|
|
8026
8099
|
ingestionType: "seeded",
|
|
8027
8100
|
...options?.sessionId !== void 0 && { sessionId: options.sessionId },
|
|
8028
|
-
...options?.name !== void 0 && { name: options.name }
|
|
8029
|
-
...options?.metadata !== void 0 && { metadata: options.metadata }
|
|
8101
|
+
...options?.name !== void 0 && { name: options.name }
|
|
8030
8102
|
});
|
|
8031
8103
|
const args = options?.args ?? [];
|
|
8032
8104
|
let unrecorded = true;
|
|
@@ -8038,6 +8110,7 @@ var Bitfab = class {
|
|
|
8038
8110
|
await flushTraces2(3e4);
|
|
8039
8111
|
} finally {
|
|
8040
8112
|
unrecorded = activeTraceStates.delete(traceId);
|
|
8113
|
+
forgetTraceMetadata(traceId);
|
|
8041
8114
|
}
|
|
8042
8115
|
}
|
|
8043
8116
|
if (unrecorded) {
|