@bitfab/sdk 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
|
@@ -482,6 +482,7 @@ __export(index_exports, {
|
|
|
482
482
|
ReplayEnvironment: () => ReplayEnvironment,
|
|
483
483
|
SUPPORTED_PROVIDERS: () => SUPPORTED_PROVIDERS,
|
|
484
484
|
__version__: () => __version__,
|
|
485
|
+
finalizers: () => finalizers,
|
|
485
486
|
flushTraces: () => flushTraces,
|
|
486
487
|
getCurrentSpan: () => getCurrentSpan,
|
|
487
488
|
getCurrentTrace: () => getCurrentTrace
|
|
@@ -489,7 +490,7 @@ __export(index_exports, {
|
|
|
489
490
|
module.exports = __toCommonJS(index_exports);
|
|
490
491
|
|
|
491
492
|
// src/version.generated.ts
|
|
492
|
-
var __version__ = "0.
|
|
493
|
+
var __version__ = "0.21.0";
|
|
493
494
|
|
|
494
495
|
// src/constants.ts
|
|
495
496
|
var DEFAULT_SERVICE_URL = "https://bitfab.ai";
|
|
@@ -3147,11 +3148,11 @@ var Bitfab = class {
|
|
|
3147
3148
|
startedAt,
|
|
3148
3149
|
spanType: options.type ?? "custom"
|
|
3149
3150
|
};
|
|
3150
|
-
const sendSpan = async (params) => {
|
|
3151
|
+
const sendSpan = async (params, spanOpts) => {
|
|
3151
3152
|
const replayCtx = getReplayContext();
|
|
3152
3153
|
const persistenceCollector = isRootSpan ? replayCtx?.pendingPersistence : void 0;
|
|
3153
3154
|
let resolvePersistence;
|
|
3154
|
-
if (persistenceCollector) {
|
|
3155
|
+
if (persistenceCollector && !spanOpts?.skipPersistenceRegistration) {
|
|
3155
3156
|
persistenceCollector.push(
|
|
3156
3157
|
new Promise((resolve) => {
|
|
3157
3158
|
resolvePersistence = resolve;
|
|
@@ -3251,11 +3252,41 @@ var Bitfab = class {
|
|
|
3251
3252
|
}
|
|
3252
3253
|
}
|
|
3253
3254
|
}
|
|
3255
|
+
const recordSpan = (result) => {
|
|
3256
|
+
if (options.finalize) {
|
|
3257
|
+
const replayCtx = getReplayContext();
|
|
3258
|
+
const persistenceCollector = isRootSpan ? replayCtx?.pendingPersistence : void 0;
|
|
3259
|
+
let resolvePersistence;
|
|
3260
|
+
if (persistenceCollector) {
|
|
3261
|
+
persistenceCollector.push(
|
|
3262
|
+
new Promise((resolve) => {
|
|
3263
|
+
resolvePersistence = resolve;
|
|
3264
|
+
})
|
|
3265
|
+
);
|
|
3266
|
+
}
|
|
3267
|
+
void Promise.resolve().then(() => options.finalize(result)).then(
|
|
3268
|
+
(output) => sendSpan(
|
|
3269
|
+
{ result: output },
|
|
3270
|
+
{ skipPersistenceRegistration: true }
|
|
3271
|
+
)
|
|
3272
|
+
).catch(
|
|
3273
|
+
(error) => sendSpan(
|
|
3274
|
+
{
|
|
3275
|
+
result: void 0,
|
|
3276
|
+
error: error instanceof Error ? `finalize failed: ${error.message}` : `finalize failed: ${String(error)}`
|
|
3277
|
+
},
|
|
3278
|
+
{ skipPersistenceRegistration: true }
|
|
3279
|
+
)
|
|
3280
|
+
).finally(() => resolvePersistence?.());
|
|
3281
|
+
} else {
|
|
3282
|
+
void sendSpan({ result });
|
|
3283
|
+
}
|
|
3284
|
+
};
|
|
3254
3285
|
const executeWithContext = () => {
|
|
3255
3286
|
const result = fn(...args);
|
|
3256
3287
|
if (result instanceof Promise) {
|
|
3257
3288
|
return result.then((resolvedResult) => {
|
|
3258
|
-
|
|
3289
|
+
recordSpan(resolvedResult);
|
|
3259
3290
|
return resolvedResult;
|
|
3260
3291
|
}).catch((error) => {
|
|
3261
3292
|
void sendSpan({
|
|
@@ -3268,7 +3299,7 @@ var Bitfab = class {
|
|
|
3268
3299
|
if (isAsyncGenerator(result)) {
|
|
3269
3300
|
return wrapAsyncGenerator(result, newStack, sendSpan);
|
|
3270
3301
|
}
|
|
3271
|
-
|
|
3302
|
+
recordSpan(result);
|
|
3272
3303
|
return result;
|
|
3273
3304
|
};
|
|
3274
3305
|
return runWithSpanStack(newStack, executeWithContext);
|
|
@@ -3551,6 +3582,54 @@ var BitfabFunction = class {
|
|
|
3551
3582
|
);
|
|
3552
3583
|
}
|
|
3553
3584
|
};
|
|
3585
|
+
|
|
3586
|
+
// src/finalizers.ts
|
|
3587
|
+
async function settle(value) {
|
|
3588
|
+
try {
|
|
3589
|
+
return await value;
|
|
3590
|
+
} catch {
|
|
3591
|
+
return void 0;
|
|
3592
|
+
}
|
|
3593
|
+
}
|
|
3594
|
+
async function aiSdk(result) {
|
|
3595
|
+
const r = result ?? {};
|
|
3596
|
+
const [text, usage, totalUsage, finishReason, toolCalls, toolResults] = await Promise.all([
|
|
3597
|
+
settle(r.text),
|
|
3598
|
+
settle(r.usage),
|
|
3599
|
+
settle(r.totalUsage),
|
|
3600
|
+
settle(r.finishReason),
|
|
3601
|
+
settle(r.toolCalls),
|
|
3602
|
+
settle(r.toolResults)
|
|
3603
|
+
]);
|
|
3604
|
+
return {
|
|
3605
|
+
text,
|
|
3606
|
+
usage: totalUsage ?? usage,
|
|
3607
|
+
finishReason,
|
|
3608
|
+
toolCalls,
|
|
3609
|
+
toolResults
|
|
3610
|
+
};
|
|
3611
|
+
}
|
|
3612
|
+
async function readableStream(stream, onLive) {
|
|
3613
|
+
const [live, copy] = stream.tee();
|
|
3614
|
+
onLive(live);
|
|
3615
|
+
const chunks = [];
|
|
3616
|
+
const reader = copy.getReader();
|
|
3617
|
+
try {
|
|
3618
|
+
for (; ; ) {
|
|
3619
|
+
const { done, value } = await reader.read();
|
|
3620
|
+
if (done) {
|
|
3621
|
+
break;
|
|
3622
|
+
}
|
|
3623
|
+
chunks.push(value);
|
|
3624
|
+
}
|
|
3625
|
+
} catch {
|
|
3626
|
+
}
|
|
3627
|
+
return { chunks };
|
|
3628
|
+
}
|
|
3629
|
+
var finalizers = {
|
|
3630
|
+
aiSdk,
|
|
3631
|
+
readableStream
|
|
3632
|
+
};
|
|
3554
3633
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3555
3634
|
0 && (module.exports = {
|
|
3556
3635
|
Bitfab,
|
|
@@ -3564,6 +3643,7 @@ var BitfabFunction = class {
|
|
|
3564
3643
|
ReplayEnvironment,
|
|
3565
3644
|
SUPPORTED_PROVIDERS,
|
|
3566
3645
|
__version__,
|
|
3646
|
+
finalizers,
|
|
3567
3647
|
flushTraces,
|
|
3568
3648
|
getCurrentSpan,
|
|
3569
3649
|
getCurrentTrace
|