bitfab 0.11.0 → 0.11.4
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 +4 -4
- package/dist/{chunk-6EZCV5TU.js → chunk-I3OKZ2TF.js} +74 -6
- package/dist/chunk-I3OKZ2TF.js.map +1 -0
- package/dist/{chunk-C4KRLEXZ.js → chunk-KAX2QQPS.js} +2 -2
- package/dist/chunk-KAX2QQPS.js.map +1 -0
- package/dist/index.cjs +81 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +52 -48
- package/dist/index.d.ts +52 -48
- package/dist/index.js +2 -2
- package/dist/node.cjs +81 -5
- package/dist/node.cjs.map +1 -1
- package/dist/node.d.cts +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +2 -2
- package/dist/{replay-PIWVDXIF.js → replay-IIBLVODH.js} +11 -3
- package/dist/replay-IIBLVODH.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-6EZCV5TU.js.map +0 -1
- package/dist/chunk-C4KRLEXZ.js.map +0 -1
- package/dist/replay-PIWVDXIF.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -35,7 +35,7 @@ var __version__;
|
|
|
35
35
|
var init_version_generated = __esm({
|
|
36
36
|
"src/version.generated.ts"() {
|
|
37
37
|
"use strict";
|
|
38
|
-
__version__ = "0.11.
|
|
38
|
+
__version__ = "0.11.4";
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
|
|
@@ -434,7 +434,15 @@ async function processItem(httpClient, serverItem, fn, testRunId) {
|
|
|
434
434
|
} catch (e) {
|
|
435
435
|
error = e instanceof Error ? e.message : String(e);
|
|
436
436
|
}
|
|
437
|
-
return {
|
|
437
|
+
return {
|
|
438
|
+
input: inputs,
|
|
439
|
+
result,
|
|
440
|
+
originalOutput,
|
|
441
|
+
error,
|
|
442
|
+
durationMs: serverItem.durationMs ?? null,
|
|
443
|
+
tokens: serverItem.tokens ?? null,
|
|
444
|
+
model: serverItem.model ?? null
|
|
445
|
+
};
|
|
438
446
|
}
|
|
439
447
|
async function mapWithConcurrency(tasks, maxConcurrency) {
|
|
440
448
|
const results = new Array(tasks.length);
|
|
@@ -1981,6 +1989,65 @@ function runWithSpanStack(stack, fn) {
|
|
|
1981
1989
|
throw error;
|
|
1982
1990
|
}
|
|
1983
1991
|
}
|
|
1992
|
+
function isAsyncGenerator(value) {
|
|
1993
|
+
if (value === null || typeof value !== "object") {
|
|
1994
|
+
return false;
|
|
1995
|
+
}
|
|
1996
|
+
const candidate = value;
|
|
1997
|
+
return typeof candidate.next === "function" && typeof candidate.return === "function" && typeof candidate.throw === "function" && typeof candidate[Symbol.asyncIterator] === "function";
|
|
1998
|
+
}
|
|
1999
|
+
function wrapAsyncGenerator(source, spanStack, sendSpan) {
|
|
2000
|
+
const yielded = [];
|
|
2001
|
+
let returnValue;
|
|
2002
|
+
let finalized = false;
|
|
2003
|
+
const finalize = (errorMsg) => {
|
|
2004
|
+
if (finalized) {
|
|
2005
|
+
return;
|
|
2006
|
+
}
|
|
2007
|
+
finalized = true;
|
|
2008
|
+
void sendSpan({
|
|
2009
|
+
result: { yielded, return: returnValue },
|
|
2010
|
+
...errorMsg && { error: errorMsg }
|
|
2011
|
+
});
|
|
2012
|
+
};
|
|
2013
|
+
const step = (method, arg) => runWithSpanStack(spanStack, () => {
|
|
2014
|
+
const op = source[method];
|
|
2015
|
+
return op.call(source, arg);
|
|
2016
|
+
});
|
|
2017
|
+
const handle = async (method, arg) => {
|
|
2018
|
+
try {
|
|
2019
|
+
const result = await step(method, arg);
|
|
2020
|
+
if (result.done) {
|
|
2021
|
+
returnValue = result.value;
|
|
2022
|
+
finalize();
|
|
2023
|
+
} else {
|
|
2024
|
+
yielded.push(result.value);
|
|
2025
|
+
}
|
|
2026
|
+
return result;
|
|
2027
|
+
} catch (error) {
|
|
2028
|
+
finalize(error instanceof Error ? error.message : String(error));
|
|
2029
|
+
throw error;
|
|
2030
|
+
}
|
|
2031
|
+
};
|
|
2032
|
+
const wrapped = {
|
|
2033
|
+
next(arg) {
|
|
2034
|
+
return handle("next", arg);
|
|
2035
|
+
},
|
|
2036
|
+
return(value) {
|
|
2037
|
+
return handle("return", value);
|
|
2038
|
+
},
|
|
2039
|
+
throw(err) {
|
|
2040
|
+
return handle("throw", err);
|
|
2041
|
+
},
|
|
2042
|
+
[Symbol.asyncIterator]() {
|
|
2043
|
+
return wrapped;
|
|
2044
|
+
},
|
|
2045
|
+
[Symbol.asyncDispose]() {
|
|
2046
|
+
return handle("return", void 0).then(() => void 0);
|
|
2047
|
+
}
|
|
2048
|
+
};
|
|
2049
|
+
return wrapped;
|
|
2050
|
+
}
|
|
1984
2051
|
var cachedCollectorClass;
|
|
1985
2052
|
async function loadCollectorClass() {
|
|
1986
2053
|
if (cachedCollectorClass !== void 0) {
|
|
@@ -2473,10 +2540,14 @@ var Bitfab = class {
|
|
|
2473
2540
|
const inputs = args;
|
|
2474
2541
|
const startedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
2475
2542
|
if (isRootSpan && !activeTraceStates.has(traceId)) {
|
|
2543
|
+
const replayCtxAtRoot = getReplayContext();
|
|
2476
2544
|
activeTraceStates.set(traceId, {
|
|
2477
2545
|
traceId,
|
|
2478
2546
|
startedAt,
|
|
2479
|
-
contexts: []
|
|
2547
|
+
contexts: [],
|
|
2548
|
+
...replayCtxAtRoot?.testRunId && {
|
|
2549
|
+
testRunId: replayCtxAtRoot.testRunId
|
|
2550
|
+
}
|
|
2480
2551
|
});
|
|
2481
2552
|
pendingSpanPromises.set(traceId, []);
|
|
2482
2553
|
}
|
|
@@ -2523,7 +2594,8 @@ var Bitfab = class {
|
|
|
2523
2594
|
endedAt,
|
|
2524
2595
|
sessionId: traceState?.sessionId,
|
|
2525
2596
|
metadata: traceState?.metadata,
|
|
2526
|
-
contexts: traceState?.contexts ?? []
|
|
2597
|
+
contexts: traceState?.contexts ?? [],
|
|
2598
|
+
testRunId: traceState?.testRunId
|
|
2527
2599
|
});
|
|
2528
2600
|
activeTraceStates.delete(traceId);
|
|
2529
2601
|
} else {
|
|
@@ -2551,6 +2623,9 @@ var Bitfab = class {
|
|
|
2551
2623
|
throw error;
|
|
2552
2624
|
});
|
|
2553
2625
|
}
|
|
2626
|
+
if (isAsyncGenerator(result)) {
|
|
2627
|
+
return wrapAsyncGenerator(result, newStack, sendSpan);
|
|
2628
|
+
}
|
|
2554
2629
|
void sendSpan({ result });
|
|
2555
2630
|
return result;
|
|
2556
2631
|
};
|
|
@@ -2603,7 +2678,8 @@ var Bitfab = class {
|
|
|
2603
2678
|
traceFunctionKey: params.traceFunctionKey,
|
|
2604
2679
|
externalTrace: rawTrace,
|
|
2605
2680
|
completed: true,
|
|
2606
|
-
...params.sessionId && { sessionId: params.sessionId }
|
|
2681
|
+
...params.sessionId && { sessionId: params.sessionId },
|
|
2682
|
+
...params.testRunId && { testRunId: params.testRunId }
|
|
2607
2683
|
});
|
|
2608
2684
|
}
|
|
2609
2685
|
/**
|