bitfab 0.20.0 → 0.21.0
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-IUZIGC6T.js → chunk-UO3CIQ7R.js} +86 -7
- package/dist/chunk-UO3CIQ7R.js.map +1 -0
- package/dist/index.cjs +85 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +79 -2
- package/dist/index.d.ts +79 -2
- package/dist/index.js +3 -1
- package/dist/node.cjs +85 -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 +3 -1
- package/dist/node.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-IUZIGC6T.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -491,6 +491,7 @@ __export(index_exports, {
|
|
|
491
491
|
ReplayEnvironment: () => ReplayEnvironment,
|
|
492
492
|
SUPPORTED_PROVIDERS: () => SUPPORTED_PROVIDERS,
|
|
493
493
|
__version__: () => __version__,
|
|
494
|
+
finalizers: () => finalizers,
|
|
494
495
|
flushTraces: () => flushTraces,
|
|
495
496
|
getCurrentSpan: () => getCurrentSpan,
|
|
496
497
|
getCurrentTrace: () => getCurrentTrace
|
|
@@ -498,7 +499,7 @@ __export(index_exports, {
|
|
|
498
499
|
module.exports = __toCommonJS(index_exports);
|
|
499
500
|
|
|
500
501
|
// src/version.generated.ts
|
|
501
|
-
var __version__ = "0.
|
|
502
|
+
var __version__ = "0.21.0";
|
|
502
503
|
|
|
503
504
|
// src/constants.ts
|
|
504
505
|
var DEFAULT_SERVICE_URL = "https://bitfab.ai";
|
|
@@ -3156,11 +3157,11 @@ var Bitfab = class {
|
|
|
3156
3157
|
startedAt,
|
|
3157
3158
|
spanType: options.type ?? "custom"
|
|
3158
3159
|
};
|
|
3159
|
-
const sendSpan = async (params) => {
|
|
3160
|
+
const sendSpan = async (params, spanOpts) => {
|
|
3160
3161
|
const replayCtx = getReplayContext();
|
|
3161
3162
|
const persistenceCollector = isRootSpan ? replayCtx?.pendingPersistence : void 0;
|
|
3162
3163
|
let resolvePersistence;
|
|
3163
|
-
if (persistenceCollector) {
|
|
3164
|
+
if (persistenceCollector && !spanOpts?.skipPersistenceRegistration) {
|
|
3164
3165
|
persistenceCollector.push(
|
|
3165
3166
|
new Promise((resolve) => {
|
|
3166
3167
|
resolvePersistence = resolve;
|
|
@@ -3260,11 +3261,41 @@ var Bitfab = class {
|
|
|
3260
3261
|
}
|
|
3261
3262
|
}
|
|
3262
3263
|
}
|
|
3264
|
+
const recordSpan = (result) => {
|
|
3265
|
+
if (options.finalize) {
|
|
3266
|
+
const replayCtx = getReplayContext();
|
|
3267
|
+
const persistenceCollector = isRootSpan ? replayCtx?.pendingPersistence : void 0;
|
|
3268
|
+
let resolvePersistence;
|
|
3269
|
+
if (persistenceCollector) {
|
|
3270
|
+
persistenceCollector.push(
|
|
3271
|
+
new Promise((resolve) => {
|
|
3272
|
+
resolvePersistence = resolve;
|
|
3273
|
+
})
|
|
3274
|
+
);
|
|
3275
|
+
}
|
|
3276
|
+
void Promise.resolve().then(() => options.finalize(result)).then(
|
|
3277
|
+
(output) => sendSpan(
|
|
3278
|
+
{ result: output },
|
|
3279
|
+
{ skipPersistenceRegistration: true }
|
|
3280
|
+
)
|
|
3281
|
+
).catch(
|
|
3282
|
+
(error) => sendSpan(
|
|
3283
|
+
{
|
|
3284
|
+
result: void 0,
|
|
3285
|
+
error: error instanceof Error ? `finalize failed: ${error.message}` : `finalize failed: ${String(error)}`
|
|
3286
|
+
},
|
|
3287
|
+
{ skipPersistenceRegistration: true }
|
|
3288
|
+
)
|
|
3289
|
+
).finally(() => resolvePersistence?.());
|
|
3290
|
+
} else {
|
|
3291
|
+
void sendSpan({ result });
|
|
3292
|
+
}
|
|
3293
|
+
};
|
|
3263
3294
|
const executeWithContext = () => {
|
|
3264
3295
|
const result = fn(...args);
|
|
3265
3296
|
if (result instanceof Promise) {
|
|
3266
3297
|
return result.then((resolvedResult) => {
|
|
3267
|
-
|
|
3298
|
+
recordSpan(resolvedResult);
|
|
3268
3299
|
return resolvedResult;
|
|
3269
3300
|
}).catch((error) => {
|
|
3270
3301
|
void sendSpan({
|
|
@@ -3277,7 +3308,7 @@ var Bitfab = class {
|
|
|
3277
3308
|
if (isAsyncGenerator(result)) {
|
|
3278
3309
|
return wrapAsyncGenerator(result, newStack, sendSpan);
|
|
3279
3310
|
}
|
|
3280
|
-
|
|
3311
|
+
recordSpan(result);
|
|
3281
3312
|
return result;
|
|
3282
3313
|
};
|
|
3283
3314
|
return runWithSpanStack(newStack, executeWithContext);
|
|
@@ -3560,6 +3591,54 @@ var BitfabFunction = class {
|
|
|
3560
3591
|
);
|
|
3561
3592
|
}
|
|
3562
3593
|
};
|
|
3594
|
+
|
|
3595
|
+
// src/finalizers.ts
|
|
3596
|
+
async function settle(value) {
|
|
3597
|
+
try {
|
|
3598
|
+
return await value;
|
|
3599
|
+
} catch {
|
|
3600
|
+
return void 0;
|
|
3601
|
+
}
|
|
3602
|
+
}
|
|
3603
|
+
async function aiSdk(result) {
|
|
3604
|
+
const r = result ?? {};
|
|
3605
|
+
const [text, usage, totalUsage, finishReason, toolCalls, toolResults] = await Promise.all([
|
|
3606
|
+
settle(r.text),
|
|
3607
|
+
settle(r.usage),
|
|
3608
|
+
settle(r.totalUsage),
|
|
3609
|
+
settle(r.finishReason),
|
|
3610
|
+
settle(r.toolCalls),
|
|
3611
|
+
settle(r.toolResults)
|
|
3612
|
+
]);
|
|
3613
|
+
return {
|
|
3614
|
+
text,
|
|
3615
|
+
usage: totalUsage ?? usage,
|
|
3616
|
+
finishReason,
|
|
3617
|
+
toolCalls,
|
|
3618
|
+
toolResults
|
|
3619
|
+
};
|
|
3620
|
+
}
|
|
3621
|
+
async function readableStream(stream, onLive) {
|
|
3622
|
+
const [live, copy] = stream.tee();
|
|
3623
|
+
onLive(live);
|
|
3624
|
+
const chunks = [];
|
|
3625
|
+
const reader = copy.getReader();
|
|
3626
|
+
try {
|
|
3627
|
+
for (; ; ) {
|
|
3628
|
+
const { done, value } = await reader.read();
|
|
3629
|
+
if (done) {
|
|
3630
|
+
break;
|
|
3631
|
+
}
|
|
3632
|
+
chunks.push(value);
|
|
3633
|
+
}
|
|
3634
|
+
} catch {
|
|
3635
|
+
}
|
|
3636
|
+
return { chunks };
|
|
3637
|
+
}
|
|
3638
|
+
var finalizers = {
|
|
3639
|
+
aiSdk,
|
|
3640
|
+
readableStream
|
|
3641
|
+
};
|
|
3563
3642
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3564
3643
|
0 && (module.exports = {
|
|
3565
3644
|
Bitfab,
|
|
@@ -3573,6 +3652,7 @@ var BitfabFunction = class {
|
|
|
3573
3652
|
ReplayEnvironment,
|
|
3574
3653
|
SUPPORTED_PROVIDERS,
|
|
3575
3654
|
__version__,
|
|
3655
|
+
finalizers,
|
|
3576
3656
|
flushTraces,
|
|
3577
3657
|
getCurrentSpan,
|
|
3578
3658
|
getCurrentTrace
|