@bitfab/sdk 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
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
flushTraces,
|
|
15
15
|
getCurrentSpan,
|
|
16
16
|
getCurrentTrace
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-DW246LVL.js";
|
|
18
18
|
import {
|
|
19
19
|
BITFAB_PROGRESS_PREFIX,
|
|
20
20
|
BitfabError,
|
|
21
21
|
reportReplayProgress
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-MD4XQGAF.js";
|
|
23
23
|
export {
|
|
24
24
|
BITFAB_PROGRESS_PREFIX,
|
|
25
25
|
Bitfab,
|
package/dist/node.cjs
CHANGED
|
@@ -499,6 +499,7 @@ async function replay(httpClient, serviceUrl, traceFunctionKey, fn, options) {
|
|
|
499
499
|
// the count), so it's omitted from the request entirely.
|
|
500
500
|
options?.traceIds ? void 0 : options?.limit ?? 5,
|
|
501
501
|
options?.traceIds,
|
|
502
|
+
options?.name,
|
|
502
503
|
options?.codeChangeDescription,
|
|
503
504
|
options?.codeChangeFiles,
|
|
504
505
|
options?.environment !== void 0,
|
|
@@ -649,7 +650,7 @@ registerAsyncLocalStorageClass(
|
|
|
649
650
|
);
|
|
650
651
|
|
|
651
652
|
// src/version.generated.ts
|
|
652
|
-
var __version__ = "0.27.
|
|
653
|
+
var __version__ = "0.27.2";
|
|
653
654
|
|
|
654
655
|
// src/constants.ts
|
|
655
656
|
var DEFAULT_SERVICE_URL = "https://bitfab.ai";
|
|
@@ -957,7 +958,7 @@ var HttpClient = class {
|
|
|
957
958
|
* Start a replay session by fetching historical traces.
|
|
958
959
|
* Blocking call — creates a test run and returns lightweight item references.
|
|
959
960
|
*/
|
|
960
|
-
async startReplay(traceFunctionKey, limit, traceIds, codeChangeDescription, codeChangeFiles, includeDbBranchLease, experimentGroupId, datasetId) {
|
|
961
|
+
async startReplay(traceFunctionKey, limit, traceIds, name, codeChangeDescription, codeChangeFiles, includeDbBranchLease, experimentGroupId, datasetId) {
|
|
961
962
|
const payload = { traceFunctionKey };
|
|
962
963
|
if (limit !== void 0) {
|
|
963
964
|
payload.limit = limit;
|
|
@@ -965,6 +966,9 @@ var HttpClient = class {
|
|
|
965
966
|
if (traceIds) {
|
|
966
967
|
payload.traceIds = traceIds;
|
|
967
968
|
}
|
|
969
|
+
if (name !== void 0) {
|
|
970
|
+
payload.name = name;
|
|
971
|
+
}
|
|
968
972
|
if (codeChangeDescription !== void 0) {
|
|
969
973
|
payload.codeChangeDescription = codeChangeDescription;
|
|
970
974
|
}
|
|
@@ -2006,6 +2010,7 @@ function buildSnapshotRef(config, sdkWallClockBeforeFn) {
|
|
|
2006
2010
|
init_randomUuid();
|
|
2007
2011
|
init_serialize();
|
|
2008
2012
|
var LANGSMITH_HIDDEN_TAG = "langsmith:hidden";
|
|
2013
|
+
var CHAIN_RUN_TYPES = /* @__PURE__ */ new Set(["chain", "parser", "prompt"]);
|
|
2009
2014
|
var LANGGRAPH_METADATA_KEYS = [
|
|
2010
2015
|
"langgraph_step",
|
|
2011
2016
|
"langgraph_node",
|
|
@@ -2016,6 +2021,18 @@ var LANGGRAPH_METADATA_KEYS = [
|
|
|
2016
2021
|
function nowIso2() {
|
|
2017
2022
|
return (/* @__PURE__ */ new Date()).toISOString();
|
|
2018
2023
|
}
|
|
2024
|
+
function normalizeChainStartArgs(parentRunIdOrRunType, runTypeOrRunName, runNameOrParentRunId) {
|
|
2025
|
+
if (parentRunIdOrRunType && CHAIN_RUN_TYPES.has(parentRunIdOrRunType)) {
|
|
2026
|
+
return {
|
|
2027
|
+
parentRunId: runNameOrParentRunId,
|
|
2028
|
+
runName: runTypeOrRunName
|
|
2029
|
+
};
|
|
2030
|
+
}
|
|
2031
|
+
return {
|
|
2032
|
+
parentRunId: parentRunIdOrRunType,
|
|
2033
|
+
runName: runNameOrParentRunId
|
|
2034
|
+
};
|
|
2035
|
+
}
|
|
2019
2036
|
function convertMessage(message) {
|
|
2020
2037
|
if (typeof message !== "object" || message === null) {
|
|
2021
2038
|
return { role: "unknown", content: String(message) };
|
|
@@ -2227,6 +2244,7 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2227
2244
|
const willHide = tags?.includes(LANGSMITH_HIDDEN_TAG) === true;
|
|
2228
2245
|
let invocation;
|
|
2229
2246
|
let effectiveParentId;
|
|
2247
|
+
let isRootInvocation = false;
|
|
2230
2248
|
if (parentSpan) {
|
|
2231
2249
|
const existing = this.invocations.get(parentSpan.rootRunId);
|
|
2232
2250
|
if (existing) {
|
|
@@ -2257,6 +2275,7 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2257
2275
|
};
|
|
2258
2276
|
this.invocations.set(runId, invocation);
|
|
2259
2277
|
effectiveParentId = activeContext?.spanId ?? null;
|
|
2278
|
+
isRootInvocation = true;
|
|
2260
2279
|
}
|
|
2261
2280
|
const lgMetadata = extractLangGraphMetadata(metadata);
|
|
2262
2281
|
const contexts = Object.keys(lgMetadata).length > 0 ? [lgMetadata] : [];
|
|
@@ -2279,6 +2298,9 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2279
2298
|
spanInfo.hidden = true;
|
|
2280
2299
|
}
|
|
2281
2300
|
this.runToSpan.set(runId, spanInfo);
|
|
2301
|
+
if (isRootInvocation) {
|
|
2302
|
+
this.sendTraceStart(spanInfo);
|
|
2303
|
+
}
|
|
2282
2304
|
return spanInfo;
|
|
2283
2305
|
}
|
|
2284
2306
|
completeSpan(runId, output, error, extraContexts) {
|
|
@@ -2369,11 +2391,35 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2369
2391
|
} catch {
|
|
2370
2392
|
}
|
|
2371
2393
|
}
|
|
2394
|
+
sendTraceStart(rootSpan) {
|
|
2395
|
+
const traceData = {
|
|
2396
|
+
type: "sdk-function",
|
|
2397
|
+
source: "typescript-sdk-langgraph",
|
|
2398
|
+
traceFunctionKey: this.traceFunctionKey,
|
|
2399
|
+
externalTrace: {
|
|
2400
|
+
id: rootSpan.traceId,
|
|
2401
|
+
started_at: rootSpan.startedAt,
|
|
2402
|
+
workflow_name: this.traceFunctionKey
|
|
2403
|
+
},
|
|
2404
|
+
completed: false
|
|
2405
|
+
};
|
|
2406
|
+
const finalized = finalizeTracePayload(traceData);
|
|
2407
|
+
try {
|
|
2408
|
+
this.httpClient.sendExternalTrace(finalized);
|
|
2409
|
+
} catch {
|
|
2410
|
+
}
|
|
2411
|
+
}
|
|
2372
2412
|
// ── chain callbacks (graph nodes) ─────────────────────────────
|
|
2373
|
-
async handleChainStart(chain, inputs, runId,
|
|
2413
|
+
async handleChainStart(chain, inputs, runId, parentRunIdOrRunType, tags, metadata, runTypeOrRunName, runNameOrParentRunId) {
|
|
2374
2414
|
try {
|
|
2375
|
-
const
|
|
2376
|
-
|
|
2415
|
+
const { parentRunId, runName } = normalizeChainStartArgs(
|
|
2416
|
+
parentRunIdOrRunType,
|
|
2417
|
+
runTypeOrRunName,
|
|
2418
|
+
runNameOrParentRunId
|
|
2419
|
+
);
|
|
2420
|
+
const serialized = chain ?? {};
|
|
2421
|
+
const idArr = serialized.id;
|
|
2422
|
+
const name = runName ?? serialized.name ?? idArr?.[idArr.length - 1] ?? "chain";
|
|
2377
2423
|
this.startSpan(
|
|
2378
2424
|
runId,
|
|
2379
2425
|
parentRunId,
|
|
@@ -2408,11 +2454,12 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2408
2454
|
}
|
|
2409
2455
|
}
|
|
2410
2456
|
// ── LLM callbacks ─────────────────────────────────────────────
|
|
2411
|
-
async handleChatModelStart(llm, messages, runId, parentRunId, _extraParams, tags, metadata) {
|
|
2457
|
+
async handleChatModelStart(llm, messages, runId, parentRunId, _extraParams, tags, metadata, runName) {
|
|
2412
2458
|
try {
|
|
2413
|
-
const
|
|
2414
|
-
const
|
|
2415
|
-
const
|
|
2459
|
+
const serialized = llm ?? {};
|
|
2460
|
+
const model = extractModelName(serialized, metadata);
|
|
2461
|
+
const idArr = serialized.id;
|
|
2462
|
+
const name = runName ?? model ?? idArr?.[idArr.length - 1] ?? "llm";
|
|
2416
2463
|
const converted = messages.map((batch) => batch.map(convertMessage));
|
|
2417
2464
|
const spanInfo = this.startSpan(
|
|
2418
2465
|
runId,
|
|
@@ -2427,11 +2474,12 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2427
2474
|
} catch {
|
|
2428
2475
|
}
|
|
2429
2476
|
}
|
|
2430
|
-
async handleLLMStart(llm, prompts, runId, parentRunId, _extraParams, tags, metadata) {
|
|
2477
|
+
async handleLLMStart(llm, prompts, runId, parentRunId, _extraParams, tags, metadata, runName) {
|
|
2431
2478
|
try {
|
|
2432
|
-
const
|
|
2433
|
-
const
|
|
2434
|
-
const
|
|
2479
|
+
const serialized = llm ?? {};
|
|
2480
|
+
const model = extractModelName(serialized, metadata);
|
|
2481
|
+
const idArr = serialized.id;
|
|
2482
|
+
const name = runName ?? model ?? idArr?.[idArr.length - 1] ?? "llm";
|
|
2435
2483
|
const spanInfo = this.startSpan(
|
|
2436
2484
|
runId,
|
|
2437
2485
|
parentRunId,
|
|
@@ -2484,9 +2532,10 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2484
2532
|
async handleLLMNewToken() {
|
|
2485
2533
|
}
|
|
2486
2534
|
// ── tool callbacks ────────────────────────────────────────────
|
|
2487
|
-
async handleToolStart(tool, input, runId, parentRunId, tags, metadata) {
|
|
2535
|
+
async handleToolStart(tool, input, runId, parentRunId, tags, metadata, runName) {
|
|
2488
2536
|
try {
|
|
2489
|
-
const
|
|
2537
|
+
const serialized = tool ?? {};
|
|
2538
|
+
const name = runName ?? serialized.name ?? "tool";
|
|
2490
2539
|
this.startSpan(
|
|
2491
2540
|
runId,
|
|
2492
2541
|
parentRunId,
|
|
@@ -2516,9 +2565,10 @@ var BitfabLangGraphCallbackHandler = class {
|
|
|
2516
2565
|
}
|
|
2517
2566
|
}
|
|
2518
2567
|
// ── retriever callbacks ───────────────────────────────────────
|
|
2519
|
-
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata) {
|
|
2568
|
+
async handleRetrieverStart(retriever, query, runId, parentRunId, tags, metadata, runName) {
|
|
2520
2569
|
try {
|
|
2521
|
-
const
|
|
2570
|
+
const serialized = retriever ?? {};
|
|
2571
|
+
const name = runName ?? serialized.name ?? "retriever";
|
|
2522
2572
|
this.startSpan(
|
|
2523
2573
|
runId,
|
|
2524
2574
|
parentRunId,
|