bitfab 0.27.0 → 0.27.2
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-PFV4MPNS.js → chunk-DW246LVL.js} +69 -20
- package/dist/chunk-DW246LVL.js.map +1 -0
- package/dist/{chunk-RNTDM6WM.js → chunk-MD4XQGAF.js} +2 -1
- package/dist/chunk-MD4XQGAF.js.map +1 -0
- package/dist/index.cjs +67 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -6
- package/dist/index.d.ts +9 -6
- package/dist/index.js +2 -2
- package/dist/node.cjs +67 -17
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +2 -2
- package/dist/{replay-66KNEAMO.js → replay-J3YTYE7V.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-PFV4MPNS.js.map +0 -1
- package/dist/chunk-RNTDM6WM.js.map +0 -1
- /package/dist/{replay-66KNEAMO.js.map → replay-J3YTYE7V.js.map} +0 -0
package/dist/index.d.cts
CHANGED
|
@@ -411,18 +411,19 @@ declare class BitfabLangGraphCallbackHandler {
|
|
|
411
411
|
private completeSpan;
|
|
412
412
|
private sendSpan;
|
|
413
413
|
private sendTraceCompletion;
|
|
414
|
-
|
|
414
|
+
private sendTraceStart;
|
|
415
|
+
handleChainStart(chain: Record<string, unknown> | null | undefined, inputs: Record<string, unknown>, runId: string, parentRunIdOrRunType?: string, tags?: string[], metadata?: Record<string, unknown>, runTypeOrRunName?: string, runNameOrParentRunId?: string): Promise<void>;
|
|
415
416
|
handleChainEnd(outputs: Record<string, unknown>, runId: string): Promise<void>;
|
|
416
417
|
handleChainError(error: unknown, runId: string): Promise<void>;
|
|
417
|
-
handleChatModelStart(llm: Record<string, unknown
|
|
418
|
-
handleLLMStart(llm: Record<string, unknown
|
|
418
|
+
handleChatModelStart(llm: Record<string, unknown> | null | undefined, messages: unknown[][], runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
419
|
+
handleLLMStart(llm: Record<string, unknown> | null | undefined, prompts: string[], runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
419
420
|
handleLLMEnd(output: Record<string, unknown>, runId: string): Promise<void>;
|
|
420
421
|
handleLLMError(error: unknown, runId: string): Promise<void>;
|
|
421
422
|
handleLLMNewToken(): Promise<void>;
|
|
422
|
-
handleToolStart(tool: Record<string, unknown
|
|
423
|
+
handleToolStart(tool: Record<string, unknown> | null | undefined, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
423
424
|
handleToolEnd(output: unknown, runId: string): Promise<void>;
|
|
424
425
|
handleToolError(error: unknown, runId: string): Promise<void>;
|
|
425
|
-
handleRetrieverStart(retriever: Record<string, unknown
|
|
426
|
+
handleRetrieverStart(retriever: Record<string, unknown> | null | undefined, query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
426
427
|
handleRetrieverEnd(documents: unknown, runId: string): Promise<void>;
|
|
427
428
|
handleRetrieverError(error: unknown, runId: string): Promise<void>;
|
|
428
429
|
}
|
|
@@ -594,6 +595,8 @@ interface ReplayOptions {
|
|
|
594
595
|
limit?: number;
|
|
595
596
|
/** Optional list of specific trace IDs to replay (max 100). */
|
|
596
597
|
traceIds?: string[];
|
|
598
|
+
/** Optional display name for the resulting experiment/test run. */
|
|
599
|
+
name?: string;
|
|
597
600
|
/** Maximum number of items to process in parallel. Set to 1 for sequential. Default 10. */
|
|
598
601
|
maxConcurrency?: number;
|
|
599
602
|
/**
|
|
@@ -1528,7 +1531,7 @@ declare class BitfabFunction {
|
|
|
1528
1531
|
/**
|
|
1529
1532
|
* SDK version from package.json (injected at build time)
|
|
1530
1533
|
*/
|
|
1531
|
-
declare const __version__ = "0.27.
|
|
1534
|
+
declare const __version__ = "0.27.2";
|
|
1532
1535
|
|
|
1533
1536
|
/**
|
|
1534
1537
|
* Constants for the Bitfab SDK.
|
package/dist/index.d.ts
CHANGED
|
@@ -411,18 +411,19 @@ declare class BitfabLangGraphCallbackHandler {
|
|
|
411
411
|
private completeSpan;
|
|
412
412
|
private sendSpan;
|
|
413
413
|
private sendTraceCompletion;
|
|
414
|
-
|
|
414
|
+
private sendTraceStart;
|
|
415
|
+
handleChainStart(chain: Record<string, unknown> | null | undefined, inputs: Record<string, unknown>, runId: string, parentRunIdOrRunType?: string, tags?: string[], metadata?: Record<string, unknown>, runTypeOrRunName?: string, runNameOrParentRunId?: string): Promise<void>;
|
|
415
416
|
handleChainEnd(outputs: Record<string, unknown>, runId: string): Promise<void>;
|
|
416
417
|
handleChainError(error: unknown, runId: string): Promise<void>;
|
|
417
|
-
handleChatModelStart(llm: Record<string, unknown
|
|
418
|
-
handleLLMStart(llm: Record<string, unknown
|
|
418
|
+
handleChatModelStart(llm: Record<string, unknown> | null | undefined, messages: unknown[][], runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
419
|
+
handleLLMStart(llm: Record<string, unknown> | null | undefined, prompts: string[], runId: string, parentRunId?: string, _extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
419
420
|
handleLLMEnd(output: Record<string, unknown>, runId: string): Promise<void>;
|
|
420
421
|
handleLLMError(error: unknown, runId: string): Promise<void>;
|
|
421
422
|
handleLLMNewToken(): Promise<void>;
|
|
422
|
-
handleToolStart(tool: Record<string, unknown
|
|
423
|
+
handleToolStart(tool: Record<string, unknown> | null | undefined, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
423
424
|
handleToolEnd(output: unknown, runId: string): Promise<void>;
|
|
424
425
|
handleToolError(error: unknown, runId: string): Promise<void>;
|
|
425
|
-
handleRetrieverStart(retriever: Record<string, unknown
|
|
426
|
+
handleRetrieverStart(retriever: Record<string, unknown> | null | undefined, query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
|
|
426
427
|
handleRetrieverEnd(documents: unknown, runId: string): Promise<void>;
|
|
427
428
|
handleRetrieverError(error: unknown, runId: string): Promise<void>;
|
|
428
429
|
}
|
|
@@ -594,6 +595,8 @@ interface ReplayOptions {
|
|
|
594
595
|
limit?: number;
|
|
595
596
|
/** Optional list of specific trace IDs to replay (max 100). */
|
|
596
597
|
traceIds?: string[];
|
|
598
|
+
/** Optional display name for the resulting experiment/test run. */
|
|
599
|
+
name?: string;
|
|
597
600
|
/** Maximum number of items to process in parallel. Set to 1 for sequential. Default 10. */
|
|
598
601
|
maxConcurrency?: number;
|
|
599
602
|
/**
|
|
@@ -1528,7 +1531,7 @@ declare class BitfabFunction {
|
|
|
1528
1531
|
/**
|
|
1529
1532
|
* SDK version from package.json (injected at build time)
|
|
1530
1533
|
*/
|
|
1531
|
-
declare const __version__ = "0.27.
|
|
1534
|
+
declare const __version__ = "0.27.2";
|
|
1532
1535
|
|
|
1533
1536
|
/**
|
|
1534
1537
|
* Constants for the Bitfab SDK.
|
package/dist/index.js
CHANGED
|
@@ -23,12 +23,12 @@ import {
|
|
|
23
23
|
flushTraces,
|
|
24
24
|
getCurrentSpan,
|
|
25
25
|
getCurrentTrace
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-DW246LVL.js";
|
|
27
27
|
import {
|
|
28
28
|
BITFAB_PROGRESS_PREFIX,
|
|
29
29
|
BitfabError,
|
|
30
30
|
reportReplayProgress
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-MD4XQGAF.js";
|
|
32
32
|
export {
|
|
33
33
|
BITFAB_PROGRESS_PREFIX,
|
|
34
34
|
Bitfab,
|
package/dist/node.cjs
CHANGED
|
@@ -508,6 +508,7 @@ async function replay(httpClient, serviceUrl, traceFunctionKey, fn, options) {
|
|
|
508
508
|
// the count), so it's omitted from the request entirely.
|
|
509
509
|
options?.traceIds ? void 0 : options?.limit ?? 5,
|
|
510
510
|
options?.traceIds,
|
|
511
|
+
options?.name,
|
|
511
512
|
options?.codeChangeDescription,
|
|
512
513
|
options?.codeChangeFiles,
|
|
513
514
|
options?.environment !== void 0,
|
|
@@ -658,7 +659,7 @@ registerAsyncLocalStorageClass(
|
|
|
658
659
|
);
|
|
659
660
|
|
|
660
661
|
// src/version.generated.ts
|
|
661
|
-
var __version__ = "0.27.
|
|
662
|
+
var __version__ = "0.27.2";
|
|
662
663
|
|
|
663
664
|
// src/constants.ts
|
|
664
665
|
var DEFAULT_SERVICE_URL = "https://bitfab.ai";
|
|
@@ -966,7 +967,7 @@ var HttpClient = class {
|
|
|
966
967
|
* Start a replay session by fetching historical traces.
|
|
967
968
|
* Blocking call — creates a test run and returns lightweight item references.
|
|
968
969
|
*/
|
|
969
|
-
async startReplay(traceFunctionKey, limit, traceIds, codeChangeDescription, codeChangeFiles, includeDbBranchLease, experimentGroupId, datasetId) {
|
|
970
|
+
async startReplay(traceFunctionKey, limit, traceIds, name, codeChangeDescription, codeChangeFiles, includeDbBranchLease, experimentGroupId, datasetId) {
|
|
970
971
|
const payload = { traceFunctionKey };
|
|
971
972
|
if (limit !== void 0) {
|
|
972
973
|
payload.limit = limit;
|
|
@@ -974,6 +975,9 @@ var HttpClient = class {
|
|
|
974
975
|
if (traceIds) {
|
|
975
976
|
payload.traceIds = traceIds;
|
|
976
977
|
}
|
|
978
|
+
if (name !== void 0) {
|
|
979
|
+
payload.name = name;
|
|
980
|
+
}
|
|
977
981
|
if (codeChangeDescription !== void 0) {
|
|
978
982
|
payload.codeChangeDescription = codeChangeDescription;
|
|
979
983
|
}
|
|
@@ -2015,6 +2019,7 @@ function buildSnapshotRef(config, sdkWallClockBeforeFn) {
|
|
|
2015
2019
|
init_randomUuid();
|
|
2016
2020
|
init_serialize();
|
|
2017
2021
|
var LANGSMITH_HIDDEN_TAG = "langsmith:hidden";
|
|
2022
|
+
var CHAIN_RUN_TYPES = /* @__PURE__ */ new Set(["chain", "parser", "prompt"]);
|
|
2018
2023
|
var LANGGRAPH_METADATA_KEYS = [
|
|
2019
2024
|
"langgraph_step",
|
|
2020
2025
|
"langgraph_node",
|
|
@@ -2025,6 +2030,18 @@ var LANGGRAPH_METADATA_KEYS = [
|
|
|
2025
2030
|
function nowIso2() {
|
|
2026
2031
|
return (/* @__PURE__ */ new Date()).toISOString();
|
|
2027
2032
|
}
|
|
2033
|
+
function normalizeChainStartArgs(parentRunIdOrRunType, runTypeOrRunName, runNameOrParentRunId) {
|
|
2034
|
+
if (parentRunIdOrRunType && CHAIN_RUN_TYPES.has(parentRunIdOrRunType)) {
|
|
2035
|
+
return {
|
|
2036
|
+
parentRunId: runNameOrParentRunId,
|
|
2037
|
+
runName: runTypeOrRunName
|
|
2038
|
+
};
|
|
2039
|
+
}
|
|
2040
|
+
return {
|
|
2041
|
+
parentRunId: parentRunIdOrRunType,
|
|
2042
|
+
runName: runNameOrParentRunId
|
|
2043
|
+
};
|
|
2044
|
+
}
|
|
2028
2045
|
function convertMessage(message) {
|
|
2029
2046
|
if (typeof message !== "object" || message === null) {
|
|
2030
2047
|
return { role: "unknown", content: String(message) };
|
|
@@ -2236,6 +2253,7 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2236
2253
|
const willHide = tags?.includes(LANGSMITH_HIDDEN_TAG) === true;
|
|
2237
2254
|
let invocation;
|
|
2238
2255
|
let effectiveParentId;
|
|
2256
|
+
let isRootInvocation = false;
|
|
2239
2257
|
if (parentSpan) {
|
|
2240
2258
|
const existing = this.invocations.get(parentSpan.rootRunId);
|
|
2241
2259
|
if (existing) {
|
|
@@ -2266,6 +2284,7 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2266
2284
|
};
|
|
2267
2285
|
this.invocations.set(runId, invocation);
|
|
2268
2286
|
effectiveParentId = activeContext?.spanId ?? null;
|
|
2287
|
+
isRootInvocation = true;
|
|
2269
2288
|
}
|
|
2270
2289
|
const lgMetadata = extractLangGraphMetadata(metadata);
|
|
2271
2290
|
const contexts = Object.keys(lgMetadata).length > 0 ? [lgMetadata] : [];
|
|
@@ -2288,6 +2307,9 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2288
2307
|
spanInfo.hidden = true;
|
|
2289
2308
|
}
|
|
2290
2309
|
this.runToSpan.set(runId, spanInfo);
|
|
2310
|
+
if (isRootInvocation) {
|
|
2311
|
+
this.sendTraceStart(spanInfo);
|
|
2312
|
+
}
|
|
2291
2313
|
return spanInfo;
|
|
2292
2314
|
}
|
|
2293
2315
|
completeSpan(runId, output, error, extraContexts) {
|
|
@@ -2378,11 +2400,35 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2378
2400
|
} catch {
|
|
2379
2401
|
}
|
|
2380
2402
|
}
|
|
2403
|
+
sendTraceStart(rootSpan) {
|
|
2404
|
+
const traceData = {
|
|
2405
|
+
type: "sdk-function",
|
|
2406
|
+
source: "typescript-sdk-langgraph",
|
|
2407
|
+
traceFunctionKey: this.traceFunctionKey,
|
|
2408
|
+
externalTrace: {
|
|
2409
|
+
id: rootSpan.traceId,
|
|
2410
|
+
started_at: rootSpan.startedAt,
|
|
2411
|
+
workflow_name: this.traceFunctionKey
|
|
2412
|
+
},
|
|
2413
|
+
completed: false
|
|
2414
|
+
};
|
|
2415
|
+
const finalized = finalizeTracePayload(traceData);
|
|
2416
|
+
try {
|
|
2417
|
+
this.httpClient.sendExternalTrace(finalized);
|
|
2418
|
+
} catch {
|
|
2419
|
+
}
|
|
2420
|
+
}
|
|
2381
2421
|
// ── chain callbacks (graph nodes) ─────────────────────────────
|
|
2382
|
-
async handleChainStart(chain, inputs, runId,
|
|
2422
|
+
async handleChainStart(chain, inputs, runId, parentRunIdOrRunType, tags, metadata, runTypeOrRunName, runNameOrParentRunId) {
|
|
2383
2423
|
try {
|
|
2384
|
-
const
|
|
2385
|
-
|
|
2424
|
+
const { parentRunId, runName } = normalizeChainStartArgs(
|
|
2425
|
+
parentRunIdOrRunType,
|
|
2426
|
+
runTypeOrRunName,
|
|
2427
|
+
runNameOrParentRunId
|
|
2428
|
+
);
|
|
2429
|
+
const serialized = chain ?? {};
|
|
2430
|
+
const idArr = serialized.id;
|
|
2431
|
+
const name = runName ?? serialized.name ?? idArr?.[idArr.length - 1] ?? "chain";
|
|
2386
2432
|
this.startSpan(
|
|
2387
2433
|
runId,
|
|
2388
2434
|
parentRunId,
|
|
@@ -2417,11 +2463,12 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2417
2463
|
}
|
|
2418
2464
|
}
|
|
2419
2465
|
// ── LLM callbacks ─────────────────────────────────────────────
|
|
2420
|
-
async handleChatModelStart(llm, messages, runId, parentRunId, _extraParams, tags, metadata) {
|
|
2466
|
+
async handleChatModelStart(llm, messages, runId, parentRunId, _extraParams, tags, metadata, runName) {
|
|
2421
2467
|
try {
|
|
2422
|
-
const
|
|
2423
|
-
const
|
|
2424
|
-
const
|
|
2468
|
+
const serialized = llm ?? {};
|
|
2469
|
+
const model = extractModelName(serialized, metadata);
|
|
2470
|
+
const idArr = serialized.id;
|
|
2471
|
+
const name = runName ?? model ?? idArr?.[idArr.length - 1] ?? "llm";
|
|
2425
2472
|
const converted = messages.map((batch) => batch.map(convertMessage));
|
|
2426
2473
|
const spanInfo = this.startSpan(
|
|
2427
2474
|
runId,
|
|
@@ -2436,11 +2483,12 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2436
2483
|
} catch {
|
|
2437
2484
|
}
|
|
2438
2485
|
}
|
|
2439
|
-
async handleLLMStart(llm, prompts, runId, parentRunId, _extraParams, tags, metadata) {
|
|
2486
|
+
async handleLLMStart(llm, prompts, runId, parentRunId, _extraParams, tags, metadata, runName) {
|
|
2440
2487
|
try {
|
|
2441
|
-
const
|
|
2442
|
-
const
|
|
2443
|
-
const
|
|
2488
|
+
const serialized = llm ?? {};
|
|
2489
|
+
const model = extractModelName(serialized, metadata);
|
|
2490
|
+
const idArr = serialized.id;
|
|
2491
|
+
const name = runName ?? model ?? idArr?.[idArr.length - 1] ?? "llm";
|
|
2444
2492
|
const spanInfo = this.startSpan(
|
|
2445
2493
|
runId,
|
|
2446
2494
|
parentRunId,
|
|
@@ -2493,9 +2541,10 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2493
2541
|
async handleLLMNewToken() {
|
|
2494
2542
|
}
|
|
2495
2543
|
// ── tool callbacks ────────────────────────────────────────────
|
|
2496
|
-
async handleToolStart(tool, input, runId, parentRunId, tags, metadata) {
|
|
2544
|
+
async handleToolStart(tool, input, runId, parentRunId, tags, metadata, runName) {
|
|
2497
2545
|
try {
|
|
2498
|
-
const
|
|
2546
|
+
const serialized = tool ?? {};
|
|
2547
|
+
const name = runName ?? serialized.name ?? "tool";
|
|
2499
2548
|
this.startSpan(
|
|
2500
2549
|
runId,
|
|
2501
2550
|
parentRunId,
|
|
@@ -2525,9 +2574,10 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2525
2574
|
}
|
|
2526
2575
|
}
|
|
2527
2576
|
// ── retriever callbacks ───────────────────────────────────────
|
|
2528
|
-
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata) {
|
|
2577
|
+
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata, runName) {
|
|
2529
2578
|
try {
|
|
2530
|
-
const
|
|
2579
|
+
const serialized = retriever ?? {};
|
|
2580
|
+
const name = runName ?? serialized.name ?? "retriever";
|
|
2531
2581
|
this.startSpan(
|
|
2532
2582
|
runId,
|
|
2533
2583
|
parentRunId,
|