@bitfab/sdk 0.16.1 → 0.17.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/index.d.cts CHANGED
@@ -147,9 +147,12 @@ declare class BitfabClaudeAgentHandler {
147
147
  /**
148
148
  * Per-trace database snapshot ref capture.
149
149
  *
150
- * When the customer configures `dbSnapshot`, every root span carries a
151
- * `DbSnapshotRef` that pins the DB state at trace open by wall-clock
152
- * timestamp. The Bitfab service uses that timestamp at replay time to
150
+ * Every root span carries a `DbSnapshotRef` that pins the DB state at trace
151
+ * open by wall-clock timestamp. Capturing the timestamp is free (no IO) and
152
+ * harmless, so it happens on every trace regardless of configuration: that
153
+ * lets any trace be replayed against a historical branch later. A `provider`
154
+ * is attached only when the customer configured `dbSnapshot`; when absent it
155
+ * is resolved at replay time. The Bitfab service uses the timestamp to
153
156
  * materialize an ephemeral branch from `customer-main`.
154
157
  */
155
158
  declare const SUPPORTED_PROVIDERS: readonly ["neon"];
@@ -159,14 +162,19 @@ interface DbSnapshotConfig {
159
162
  provider: DbSnapshotProvider;
160
163
  }
161
164
  interface DbSnapshotRef {
162
- provider: DbSnapshotProvider;
163
165
  /**
164
166
  * The wall-clock ISO timestamp the SDK observed immediately before
165
167
  * invoking the wrapped function. The name encodes its provenance:
166
168
  * SDK-observed, wall clock (not monotonic), captured before user code
167
- * began executing.
169
+ * began executing. Always present.
168
170
  */
169
171
  sdkWallClockBeforeFn: string;
172
+ /**
173
+ * The configured provider for server-side branch resolution. Only set when
174
+ * the customer configured `dbSnapshot`; otherwise the provider is resolved
175
+ * at replay time.
176
+ */
177
+ provider?: DbSnapshotProvider;
170
178
  }
171
179
 
172
180
  /**
@@ -812,6 +820,22 @@ declare class Bitfab {
812
820
  * @returns A BitfabLangGraphCallbackHandler configured for this client
813
821
  */
814
822
  getLangGraphCallbackHandler(traceFunctionKey: string): BitfabLangGraphCallbackHandler;
823
+ /**
824
+ * Get a LangChain callback handler for tracing.
825
+ *
826
+ * Alias of {@link getLangGraphCallbackHandler}: LangChain chains and
827
+ * LangGraph graphs share the same callback system, so one handler serves
828
+ * both.
829
+ *
830
+ * ```typescript
831
+ * const handler = client.getLangChainCallbackHandler("my-chain");
832
+ * const result = await chain.invoke(input, { callbacks: [handler] });
833
+ * ```
834
+ *
835
+ * @param traceFunctionKey - Groups traces under this key in Bitfab
836
+ * @returns A BitfabLangGraphCallbackHandler configured for this client
837
+ */
838
+ getLangChainCallbackHandler(traceFunctionKey: string): BitfabLangGraphCallbackHandler;
815
839
  /**
816
840
  * Get a Claude Agent SDK handler for tracing.
817
841
  *
@@ -1027,7 +1051,7 @@ declare class BitfabFunction {
1027
1051
  /**
1028
1052
  * SDK version from package.json (injected at build time)
1029
1053
  */
1030
- declare const __version__ = "0.16.1";
1054
+ declare const __version__ = "0.17.0";
1031
1055
 
1032
1056
  /**
1033
1057
  * Constants for the Bitfab SDK.
@@ -1037,4 +1061,4 @@ declare const __version__ = "0.16.1";
1037
1061
  */
1038
1062
  declare const DEFAULT_SERVICE_URL = "https://bitfab.ai";
1039
1063
 
1040
- export { type ActiveSpanContext, type AdaptContext, type AdaptInputsFn, type AllowedEnvVars, type BamlExecutionResult, Bitfab, BitfabClaudeAgentHandler, type BitfabConfig, BitfabError, BitfabFunction, BitfabLangGraphCallbackHandler, BitfabOpenAITracingProcessor, type CodeChangeFile, type CurrentSpan, type CurrentTrace, DEFAULT_SERVICE_URL, type DbSnapshotConfig, type DbSnapshotProvider, type DbSnapshotRef, type DetachedTrace, type MockStrategy, type ProviderDefinition, ReplayEnvironment, type ReplayEnvironmentSnapshot, type ReplayItem, type ReplayOptions, type ReplayResult, SUPPORTED_PROVIDERS, type SpanOptions, type SpanType, type TokenUsage, type TraceResponse, type TracingProcessor, type WrapBAMLOptions, type WrappedBamlFn, __version__, flushTraces, getCurrentSpan, getCurrentTrace };
1064
+ export { type ActiveSpanContext, type AdaptContext, type AdaptInputsFn, type AllowedEnvVars, type BamlExecutionResult, Bitfab, BitfabClaudeAgentHandler, type BitfabConfig, BitfabError, BitfabFunction, BitfabLangGraphCallbackHandler as BitfabLangChainCallbackHandler, BitfabLangGraphCallbackHandler, BitfabOpenAITracingProcessor, type CodeChangeFile, type CurrentSpan, type CurrentTrace, DEFAULT_SERVICE_URL, type DbSnapshotConfig, type DbSnapshotProvider, type DbSnapshotRef, type DetachedTrace, type MockStrategy, type ProviderDefinition, ReplayEnvironment, type ReplayEnvironmentSnapshot, type ReplayItem, type ReplayOptions, type ReplayResult, SUPPORTED_PROVIDERS, type SpanOptions, type SpanType, type TokenUsage, type TraceResponse, type TracingProcessor, type WrapBAMLOptions, type WrappedBamlFn, __version__, flushTraces, getCurrentSpan, getCurrentTrace };
package/dist/index.d.ts CHANGED
@@ -147,9 +147,12 @@ declare class BitfabClaudeAgentHandler {
147
147
  /**
148
148
  * Per-trace database snapshot ref capture.
149
149
  *
150
- * When the customer configures `dbSnapshot`, every root span carries a
151
- * `DbSnapshotRef` that pins the DB state at trace open by wall-clock
152
- * timestamp. The Bitfab service uses that timestamp at replay time to
150
+ * Every root span carries a `DbSnapshotRef` that pins the DB state at trace
151
+ * open by wall-clock timestamp. Capturing the timestamp is free (no IO) and
152
+ * harmless, so it happens on every trace regardless of configuration: that
153
+ * lets any trace be replayed against a historical branch later. A `provider`
154
+ * is attached only when the customer configured `dbSnapshot`; when absent it
155
+ * is resolved at replay time. The Bitfab service uses the timestamp to
153
156
  * materialize an ephemeral branch from `customer-main`.
154
157
  */
155
158
  declare const SUPPORTED_PROVIDERS: readonly ["neon"];
@@ -159,14 +162,19 @@ interface DbSnapshotConfig {
159
162
  provider: DbSnapshotProvider;
160
163
  }
161
164
  interface DbSnapshotRef {
162
- provider: DbSnapshotProvider;
163
165
  /**
164
166
  * The wall-clock ISO timestamp the SDK observed immediately before
165
167
  * invoking the wrapped function. The name encodes its provenance:
166
168
  * SDK-observed, wall clock (not monotonic), captured before user code
167
- * began executing.
169
+ * began executing. Always present.
168
170
  */
169
171
  sdkWallClockBeforeFn: string;
172
+ /**
173
+ * The configured provider for server-side branch resolution. Only set when
174
+ * the customer configured `dbSnapshot`; otherwise the provider is resolved
175
+ * at replay time.
176
+ */
177
+ provider?: DbSnapshotProvider;
170
178
  }
171
179
 
172
180
  /**
@@ -812,6 +820,22 @@ declare class Bitfab {
812
820
  * @returns A BitfabLangGraphCallbackHandler configured for this client
813
821
  */
814
822
  getLangGraphCallbackHandler(traceFunctionKey: string): BitfabLangGraphCallbackHandler;
823
+ /**
824
+ * Get a LangChain callback handler for tracing.
825
+ *
826
+ * Alias of {@link getLangGraphCallbackHandler}: LangChain chains and
827
+ * LangGraph graphs share the same callback system, so one handler serves
828
+ * both.
829
+ *
830
+ * ```typescript
831
+ * const handler = client.getLangChainCallbackHandler("my-chain");
832
+ * const result = await chain.invoke(input, { callbacks: [handler] });
833
+ * ```
834
+ *
835
+ * @param traceFunctionKey - Groups traces under this key in Bitfab
836
+ * @returns A BitfabLangGraphCallbackHandler configured for this client
837
+ */
838
+ getLangChainCallbackHandler(traceFunctionKey: string): BitfabLangGraphCallbackHandler;
815
839
  /**
816
840
  * Get a Claude Agent SDK handler for tracing.
817
841
  *
@@ -1027,7 +1051,7 @@ declare class BitfabFunction {
1027
1051
  /**
1028
1052
  * SDK version from package.json (injected at build time)
1029
1053
  */
1030
- declare const __version__ = "0.16.1";
1054
+ declare const __version__ = "0.17.0";
1031
1055
 
1032
1056
  /**
1033
1057
  * Constants for the Bitfab SDK.
@@ -1037,4 +1061,4 @@ declare const __version__ = "0.16.1";
1037
1061
  */
1038
1062
  declare const DEFAULT_SERVICE_URL = "https://bitfab.ai";
1039
1063
 
1040
- export { type ActiveSpanContext, type AdaptContext, type AdaptInputsFn, type AllowedEnvVars, type BamlExecutionResult, Bitfab, BitfabClaudeAgentHandler, type BitfabConfig, BitfabError, BitfabFunction, BitfabLangGraphCallbackHandler, BitfabOpenAITracingProcessor, type CodeChangeFile, type CurrentSpan, type CurrentTrace, DEFAULT_SERVICE_URL, type DbSnapshotConfig, type DbSnapshotProvider, type DbSnapshotRef, type DetachedTrace, type MockStrategy, type ProviderDefinition, ReplayEnvironment, type ReplayEnvironmentSnapshot, type ReplayItem, type ReplayOptions, type ReplayResult, SUPPORTED_PROVIDERS, type SpanOptions, type SpanType, type TokenUsage, type TraceResponse, type TracingProcessor, type WrapBAMLOptions, type WrappedBamlFn, __version__, flushTraces, getCurrentSpan, getCurrentTrace };
1064
+ export { type ActiveSpanContext, type AdaptContext, type AdaptInputsFn, type AllowedEnvVars, type BamlExecutionResult, Bitfab, BitfabClaudeAgentHandler, type BitfabConfig, BitfabError, BitfabFunction, BitfabLangGraphCallbackHandler as BitfabLangChainCallbackHandler, BitfabLangGraphCallbackHandler, BitfabOpenAITracingProcessor, type CodeChangeFile, type CurrentSpan, type CurrentTrace, DEFAULT_SERVICE_URL, type DbSnapshotConfig, type DbSnapshotProvider, type DbSnapshotRef, type DetachedTrace, type MockStrategy, type ProviderDefinition, ReplayEnvironment, type ReplayEnvironmentSnapshot, type ReplayItem, type ReplayOptions, type ReplayResult, SUPPORTED_PROVIDERS, type SpanOptions, type SpanType, type TokenUsage, type TraceResponse, type TracingProcessor, type WrapBAMLOptions, type WrappedBamlFn, __version__, flushTraces, getCurrentSpan, getCurrentTrace };
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  flushTraces,
12
12
  getCurrentSpan,
13
13
  getCurrentTrace
14
- } from "./chunk-P4WFJ5O3.js";
14
+ } from "./chunk-M6N633CX.js";
15
15
  import {
16
16
  BitfabError
17
17
  } from "./chunk-QT7HWOKU.js";
@@ -20,6 +20,7 @@ export {
20
20
  BitfabClaudeAgentHandler,
21
21
  BitfabError,
22
22
  BitfabFunction,
23
+ BitfabLangGraphCallbackHandler as BitfabLangChainCallbackHandler,
23
24
  BitfabLangGraphCallbackHandler,
24
25
  BitfabOpenAITracingProcessor,
25
26
  DEFAULT_SERVICE_URL,
package/dist/node.cjs CHANGED
@@ -426,6 +426,7 @@ __export(node_exports, {
426
426
  BitfabClaudeAgentHandler: () => BitfabClaudeAgentHandler,
427
427
  BitfabError: () => BitfabError,
428
428
  BitfabFunction: () => BitfabFunction,
429
+ BitfabLangChainCallbackHandler: () => BitfabLangGraphCallbackHandler,
429
430
  BitfabLangGraphCallbackHandler: () => BitfabLangGraphCallbackHandler,
430
431
  BitfabOpenAITracingProcessor: () => BitfabOpenAITracingProcessor,
431
432
  DEFAULT_SERVICE_URL: () => DEFAULT_SERVICE_URL,
@@ -446,7 +447,7 @@ registerAsyncLocalStorageClass(
446
447
  );
447
448
 
448
449
  // src/version.generated.ts
449
- var __version__ = "0.16.1";
450
+ var __version__ = "0.17.0";
450
451
 
451
452
  // src/constants.ts
452
453
  var DEFAULT_SERVICE_URL = "https://bitfab.ai";
@@ -1561,8 +1562,8 @@ function validateDbSnapshotConfig(config) {
1561
1562
  }
1562
1563
  function buildSnapshotRef(config, sdkWallClockBeforeFn) {
1563
1564
  return {
1564
- provider: config.provider,
1565
- sdkWallClockBeforeFn
1565
+ sdkWallClockBeforeFn,
1566
+ ...config && { provider: config.provider }
1566
1567
  };
1567
1568
  }
1568
1569
 
@@ -2733,6 +2734,24 @@ var Bitfab = class {
2733
2734
  }
2734
2735
  });
2735
2736
  }
2737
+ /**
2738
+ * Get a LangChain callback handler for tracing.
2739
+ *
2740
+ * Alias of {@link getLangGraphCallbackHandler}: LangChain chains and
2741
+ * LangGraph graphs share the same callback system, so one handler serves
2742
+ * both.
2743
+ *
2744
+ * ```typescript
2745
+ * const handler = client.getLangChainCallbackHandler("my-chain");
2746
+ * const result = await chain.invoke(input, { callbacks: [handler] });
2747
+ * ```
2748
+ *
2749
+ * @param traceFunctionKey - Groups traces under this key in Bitfab
2750
+ * @returns A BitfabLangGraphCallbackHandler configured for this client
2751
+ */
2752
+ getLangChainCallbackHandler(traceFunctionKey) {
2753
+ return this.getLangGraphCallbackHandler(traceFunctionKey);
2754
+ }
2736
2755
  /**
2737
2756
  * Get a Claude Agent SDK handler for tracing.
2738
2757
  *
@@ -2919,7 +2938,7 @@ var Bitfab = class {
2919
2938
  const startedAt = (/* @__PURE__ */ new Date()).toISOString();
2920
2939
  if (isRootSpan && !activeTraceStates.has(traceId)) {
2921
2940
  const replayCtxAtRoot = getReplayContext();
2922
- const dbSnapshotRef = self.dbSnapshot ? buildSnapshotRef(self.dbSnapshot, startedAt) : void 0;
2941
+ const dbSnapshotRef = buildSnapshotRef(self.dbSnapshot, startedAt);
2923
2942
  activeTraceStates.set(traceId, {
2924
2943
  traceId,
2925
2944
  startedAt,
@@ -2930,7 +2949,7 @@ var Bitfab = class {
2930
2949
  ...replayCtxAtRoot?.inputSourceTraceId && {
2931
2950
  inputSourceTraceId: replayCtxAtRoot.inputSourceTraceId
2932
2951
  },
2933
- ...dbSnapshotRef && { dbSnapshotRef }
2952
+ dbSnapshotRef
2934
2953
  });
2935
2954
  pendingSpanPromises.set(traceId, []);
2936
2955
  }
@@ -3316,6 +3335,7 @@ assertAsyncStorageRegistered();
3316
3335
  BitfabClaudeAgentHandler,
3317
3336
  BitfabError,
3318
3337
  BitfabFunction,
3338
+ BitfabLangChainCallbackHandler,
3319
3339
  BitfabLangGraphCallbackHandler,
3320
3340
  BitfabOpenAITracingProcessor,
3321
3341
  DEFAULT_SERVICE_URL,