@langfuse/client 4.5.1 → 4.6.1

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
@@ -177,6 +177,12 @@ type ExperimentParams<Input = any, ExpectedOutput = any, Metadata extends Record
177
177
  * Set lower values for expensive operations or rate-limited services.
178
178
  */
179
179
  maxConcurrency?: number;
180
+ /**
181
+ * Optional ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., "2026-01-21T14:35:42Z").
182
+ * If provided, returns state of dataset at this timestamp.
183
+ * If not provided, returns the latest version.
184
+ */
185
+ datasetVersion?: string;
180
186
  };
181
187
  type ExperimentItemResult<Input = any, ExpectedOutput = any, Metadata extends Record<string, any> = Record<string, any>> = Pick<ExperimentItem<Input, ExpectedOutput, Metadata>, "input" | "expectedOutput"> & {
182
188
  /**
@@ -364,6 +370,11 @@ type FetchedDataset = Dataset & {
364
370
  items: (DatasetItem & {
365
371
  link: LinkDatasetItemFunction;
366
372
  })[];
373
+ /** ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., "2026-01-21T14:35:42Z").
374
+ * If provided, returns state of dataset at this timestamp.
375
+ * If not provided, returns the latest version.
376
+ */
377
+ version?: string;
367
378
  /** Function to run experiments directly on this dataset */
368
379
  runExperiment: RunExperimentOnDataset;
369
380
  };
@@ -521,7 +532,13 @@ declare class DatasetManager {
521
532
  * @since 4.0.0
522
533
  */
523
534
  get(name: string, options?: {
524
- fetchItemsPageSize: number;
535
+ fetchItemsPageSize?: number;
536
+ /**
537
+ * ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., "2026-01-21T14:35:42Z").
538
+ * If provided, returns state of dataset at this timestamp.
539
+ * If not provided, returns the latest version.
540
+ */
541
+ version?: string;
525
542
  }): Promise<FetchedDataset>;
526
543
  /**
527
544
  * Creates a link function for a specific dataset item.
package/dist/index.d.ts CHANGED
@@ -177,6 +177,12 @@ type ExperimentParams<Input = any, ExpectedOutput = any, Metadata extends Record
177
177
  * Set lower values for expensive operations or rate-limited services.
178
178
  */
179
179
  maxConcurrency?: number;
180
+ /**
181
+ * Optional ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., "2026-01-21T14:35:42Z").
182
+ * If provided, returns state of dataset at this timestamp.
183
+ * If not provided, returns the latest version.
184
+ */
185
+ datasetVersion?: string;
180
186
  };
181
187
  type ExperimentItemResult<Input = any, ExpectedOutput = any, Metadata extends Record<string, any> = Record<string, any>> = Pick<ExperimentItem<Input, ExpectedOutput, Metadata>, "input" | "expectedOutput"> & {
182
188
  /**
@@ -364,6 +370,11 @@ type FetchedDataset = Dataset & {
364
370
  items: (DatasetItem & {
365
371
  link: LinkDatasetItemFunction;
366
372
  })[];
373
+ /** ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., "2026-01-21T14:35:42Z").
374
+ * If provided, returns state of dataset at this timestamp.
375
+ * If not provided, returns the latest version.
376
+ */
377
+ version?: string;
367
378
  /** Function to run experiments directly on this dataset */
368
379
  runExperiment: RunExperimentOnDataset;
369
380
  };
@@ -521,7 +532,13 @@ declare class DatasetManager {
521
532
  * @since 4.0.0
522
533
  */
523
534
  get(name: string, options?: {
524
- fetchItemsPageSize: number;
535
+ fetchItemsPageSize?: number;
536
+ /**
537
+ * ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., "2026-01-21T14:35:42Z").
538
+ * If provided, returns state of dataset at this timestamp.
539
+ * If not provided, returns the latest version.
540
+ */
541
+ version?: string;
525
542
  }): Promise<FetchedDataset>;
526
543
  /**
527
544
  * Creates a link function for a specific dataset item.
package/dist/index.mjs CHANGED
@@ -103,7 +103,8 @@ var DatasetManager = class {
103
103
  const itemsResponse = await this.langfuseClient.api.datasetItems.list({
104
104
  datasetName: name,
105
105
  limit: (_a = options == null ? void 0 : options.fetchItemsPageSize) != null ? _a : 50,
106
- page
106
+ page,
107
+ ...(options == null ? void 0 : options.version) && { version: options.version }
107
108
  });
108
109
  items.push(...itemsResponse.data);
109
110
  if (itemsResponse.meta.totalPages <= page) {
@@ -118,12 +119,14 @@ var DatasetManager = class {
118
119
  const runExperiment = (params) => {
119
120
  return this.langfuseClient.experiment.run({
120
121
  data: items,
122
+ datasetVersion: options == null ? void 0 : options.version,
121
123
  ...params
122
124
  });
123
125
  };
124
126
  const returnDataset = {
125
127
  ...dataset,
126
128
  items: itemsWithLinkMethod,
129
+ version: options == null ? void 0 : options.version,
127
130
  runExperiment
128
131
  };
129
132
  return returnDataset;
@@ -286,7 +289,8 @@ var ExperimentManager = class {
286
289
  experimentName: name,
287
290
  experimentRunName: runName,
288
291
  experimentDescription: description,
289
- experimentMetadata: metadata
292
+ experimentMetadata: metadata,
293
+ datasetVersion: config.datasetVersion
290
294
  });
291
295
  });
292
296
  const settledResults = await Promise.allSettled(promises);
@@ -410,7 +414,10 @@ var ExperimentManager = class {
410
414
  metadata: params.experimentMetadata,
411
415
  datasetItemId,
412
416
  traceId: traceId2,
413
- observationId: observationId2
417
+ observationId: observationId2,
418
+ ...params.datasetVersion && {
419
+ datasetVersion: params.datasetVersion
420
+ }
414
421
  }
415
422
  );
416
423
  datasetRunId2 = result.datasetRunId;
@@ -1579,6 +1586,7 @@ import {
1579
1586
  getEnv,
1580
1587
  generateUUID,
1581
1588
  getGlobalLogger as getGlobalLogger5,
1589
+ LogLevel,
1582
1590
  safeSetTimeout
1583
1591
  } from "@langfuse/core";
1584
1592
  import { trace as trace2 } from "@opentelemetry/api";
@@ -1643,10 +1651,12 @@ var ScoreManager = class {
1643
1651
  return;
1644
1652
  }
1645
1653
  this.eventQueue.push(scoreIngestionEvent);
1646
- this.logger.debug(
1647
- "Added score event to queue:\n",
1648
- JSON.stringify(scoreIngestionEvent, null, 2)
1649
- );
1654
+ if (this.logger.isLevelEnabled(LogLevel.DEBUG)) {
1655
+ this.logger.debug(
1656
+ "Added score event to queue:\n",
1657
+ JSON.stringify(scoreIngestionEvent, null, 2)
1658
+ );
1659
+ }
1650
1660
  if (this.eventQueue.length >= this.flushAtCount) {
1651
1661
  this.flushPromise = this.flush();
1652
1662
  } else if (!this.flushTimer) {