@langfuse/core 5.0.0-beta.0 → 5.0.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.ts CHANGED
@@ -390,23 +390,23 @@ interface GetAnnotationQueueItemsRequest {
390
390
  limit?: number;
391
391
  }
392
392
 
393
- type index$s_AnnotationQueue = AnnotationQueue;
394
- type index$s_AnnotationQueueAssignmentRequest = AnnotationQueueAssignmentRequest;
395
- type index$s_AnnotationQueueItem = AnnotationQueueItem;
396
- declare const index$s_AnnotationQueueObjectType: typeof AnnotationQueueObjectType;
397
- declare const index$s_AnnotationQueueStatus: typeof AnnotationQueueStatus;
398
- type index$s_CreateAnnotationQueueAssignmentResponse = CreateAnnotationQueueAssignmentResponse;
399
- type index$s_CreateAnnotationQueueItemRequest = CreateAnnotationQueueItemRequest;
400
- type index$s_CreateAnnotationQueueRequest = CreateAnnotationQueueRequest;
401
- type index$s_DeleteAnnotationQueueAssignmentResponse = DeleteAnnotationQueueAssignmentResponse;
402
- type index$s_DeleteAnnotationQueueItemResponse = DeleteAnnotationQueueItemResponse;
403
- type index$s_GetAnnotationQueueItemsRequest = GetAnnotationQueueItemsRequest;
404
- type index$s_GetAnnotationQueuesRequest = GetAnnotationQueuesRequest;
405
- type index$s_PaginatedAnnotationQueueItems = PaginatedAnnotationQueueItems;
406
- type index$s_PaginatedAnnotationQueues = PaginatedAnnotationQueues;
407
- type index$s_UpdateAnnotationQueueItemRequest = UpdateAnnotationQueueItemRequest;
408
- declare namespace index$s {
409
- export { type index$s_AnnotationQueue as AnnotationQueue, type index$s_AnnotationQueueAssignmentRequest as AnnotationQueueAssignmentRequest, type index$s_AnnotationQueueItem as AnnotationQueueItem, index$s_AnnotationQueueObjectType as AnnotationQueueObjectType, index$s_AnnotationQueueStatus as AnnotationQueueStatus, type index$s_CreateAnnotationQueueAssignmentResponse as CreateAnnotationQueueAssignmentResponse, type index$s_CreateAnnotationQueueItemRequest as CreateAnnotationQueueItemRequest, type index$s_CreateAnnotationQueueRequest as CreateAnnotationQueueRequest, type index$s_DeleteAnnotationQueueAssignmentResponse as DeleteAnnotationQueueAssignmentResponse, type index$s_DeleteAnnotationQueueItemResponse as DeleteAnnotationQueueItemResponse, type index$s_GetAnnotationQueueItemsRequest as GetAnnotationQueueItemsRequest, type index$s_GetAnnotationQueuesRequest as GetAnnotationQueuesRequest, type index$s_PaginatedAnnotationQueueItems as PaginatedAnnotationQueueItems, type index$s_PaginatedAnnotationQueues as PaginatedAnnotationQueues, type index$s_UpdateAnnotationQueueItemRequest as UpdateAnnotationQueueItemRequest };
393
+ type index$t_AnnotationQueue = AnnotationQueue;
394
+ type index$t_AnnotationQueueAssignmentRequest = AnnotationQueueAssignmentRequest;
395
+ type index$t_AnnotationQueueItem = AnnotationQueueItem;
396
+ declare const index$t_AnnotationQueueObjectType: typeof AnnotationQueueObjectType;
397
+ declare const index$t_AnnotationQueueStatus: typeof AnnotationQueueStatus;
398
+ type index$t_CreateAnnotationQueueAssignmentResponse = CreateAnnotationQueueAssignmentResponse;
399
+ type index$t_CreateAnnotationQueueItemRequest = CreateAnnotationQueueItemRequest;
400
+ type index$t_CreateAnnotationQueueRequest = CreateAnnotationQueueRequest;
401
+ type index$t_DeleteAnnotationQueueAssignmentResponse = DeleteAnnotationQueueAssignmentResponse;
402
+ type index$t_DeleteAnnotationQueueItemResponse = DeleteAnnotationQueueItemResponse;
403
+ type index$t_GetAnnotationQueueItemsRequest = GetAnnotationQueueItemsRequest;
404
+ type index$t_GetAnnotationQueuesRequest = GetAnnotationQueuesRequest;
405
+ type index$t_PaginatedAnnotationQueueItems = PaginatedAnnotationQueueItems;
406
+ type index$t_PaginatedAnnotationQueues = PaginatedAnnotationQueues;
407
+ type index$t_UpdateAnnotationQueueItemRequest = UpdateAnnotationQueueItemRequest;
408
+ declare namespace index$t {
409
+ export { type index$t_AnnotationQueue as AnnotationQueue, type index$t_AnnotationQueueAssignmentRequest as AnnotationQueueAssignmentRequest, type index$t_AnnotationQueueItem as AnnotationQueueItem, index$t_AnnotationQueueObjectType as AnnotationQueueObjectType, index$t_AnnotationQueueStatus as AnnotationQueueStatus, type index$t_CreateAnnotationQueueAssignmentResponse as CreateAnnotationQueueAssignmentResponse, type index$t_CreateAnnotationQueueItemRequest as CreateAnnotationQueueItemRequest, type index$t_CreateAnnotationQueueRequest as CreateAnnotationQueueRequest, type index$t_DeleteAnnotationQueueAssignmentResponse as DeleteAnnotationQueueAssignmentResponse, type index$t_DeleteAnnotationQueueItemResponse as DeleteAnnotationQueueItemResponse, type index$t_GetAnnotationQueueItemsRequest as GetAnnotationQueueItemsRequest, type index$t_GetAnnotationQueuesRequest as GetAnnotationQueuesRequest, type index$t_PaginatedAnnotationQueueItems as PaginatedAnnotationQueueItems, type index$t_PaginatedAnnotationQueues as PaginatedAnnotationQueues, type index$t_UpdateAnnotationQueueItemRequest as UpdateAnnotationQueueItemRequest };
410
410
  }
411
411
 
412
412
  /**
@@ -520,16 +520,16 @@ interface BlobStorageIntegrationDeletionResponse {
520
520
  message: string;
521
521
  }
522
522
 
523
- declare const index$r_BlobStorageExportFrequency: typeof BlobStorageExportFrequency;
524
- declare const index$r_BlobStorageExportMode: typeof BlobStorageExportMode;
525
- type index$r_BlobStorageIntegrationDeletionResponse = BlobStorageIntegrationDeletionResponse;
526
- declare const index$r_BlobStorageIntegrationFileType: typeof BlobStorageIntegrationFileType;
527
- type index$r_BlobStorageIntegrationResponse = BlobStorageIntegrationResponse;
528
- declare const index$r_BlobStorageIntegrationType: typeof BlobStorageIntegrationType;
529
- type index$r_BlobStorageIntegrationsResponse = BlobStorageIntegrationsResponse;
530
- type index$r_CreateBlobStorageIntegrationRequest = CreateBlobStorageIntegrationRequest;
531
- declare namespace index$r {
532
- export { index$r_BlobStorageExportFrequency as BlobStorageExportFrequency, index$r_BlobStorageExportMode as BlobStorageExportMode, type index$r_BlobStorageIntegrationDeletionResponse as BlobStorageIntegrationDeletionResponse, index$r_BlobStorageIntegrationFileType as BlobStorageIntegrationFileType, type index$r_BlobStorageIntegrationResponse as BlobStorageIntegrationResponse, index$r_BlobStorageIntegrationType as BlobStorageIntegrationType, type index$r_BlobStorageIntegrationsResponse as BlobStorageIntegrationsResponse, type index$r_CreateBlobStorageIntegrationRequest as CreateBlobStorageIntegrationRequest };
523
+ declare const index$s_BlobStorageExportFrequency: typeof BlobStorageExportFrequency;
524
+ declare const index$s_BlobStorageExportMode: typeof BlobStorageExportMode;
525
+ type index$s_BlobStorageIntegrationDeletionResponse = BlobStorageIntegrationDeletionResponse;
526
+ declare const index$s_BlobStorageIntegrationFileType: typeof BlobStorageIntegrationFileType;
527
+ type index$s_BlobStorageIntegrationResponse = BlobStorageIntegrationResponse;
528
+ declare const index$s_BlobStorageIntegrationType: typeof BlobStorageIntegrationType;
529
+ type index$s_BlobStorageIntegrationsResponse = BlobStorageIntegrationsResponse;
530
+ type index$s_CreateBlobStorageIntegrationRequest = CreateBlobStorageIntegrationRequest;
531
+ declare namespace index$s {
532
+ export { index$s_BlobStorageExportFrequency as BlobStorageExportFrequency, index$s_BlobStorageExportMode as BlobStorageExportMode, type index$s_BlobStorageIntegrationDeletionResponse as BlobStorageIntegrationDeletionResponse, index$s_BlobStorageIntegrationFileType as BlobStorageIntegrationFileType, type index$s_BlobStorageIntegrationResponse as BlobStorageIntegrationResponse, index$s_BlobStorageIntegrationType as BlobStorageIntegrationType, type index$s_BlobStorageIntegrationsResponse as BlobStorageIntegrationsResponse, type index$s_CreateBlobStorageIntegrationRequest as CreateBlobStorageIntegrationRequest };
533
533
  }
534
534
 
535
535
  /**
@@ -585,12 +585,12 @@ interface GetCommentsRequest {
585
585
  authorUserId?: string;
586
586
  }
587
587
 
588
- type index$q_CreateCommentRequest = CreateCommentRequest;
589
- type index$q_CreateCommentResponse = CreateCommentResponse;
590
- type index$q_GetCommentsRequest = GetCommentsRequest;
591
- type index$q_GetCommentsResponse = GetCommentsResponse;
592
- declare namespace index$q {
593
- export type { index$q_CreateCommentRequest as CreateCommentRequest, index$q_CreateCommentResponse as CreateCommentResponse, index$q_GetCommentsRequest as GetCommentsRequest, index$q_GetCommentsResponse as GetCommentsResponse };
588
+ type index$r_CreateCommentRequest = CreateCommentRequest;
589
+ type index$r_CreateCommentResponse = CreateCommentResponse;
590
+ type index$r_GetCommentsRequest = GetCommentsRequest;
591
+ type index$r_GetCommentsResponse = GetCommentsResponse;
592
+ declare namespace index$r {
593
+ export type { index$r_CreateCommentRequest as CreateCommentRequest, index$r_CreateCommentResponse as CreateCommentResponse, index$r_GetCommentsRequest as GetCommentsRequest, index$r_GetCommentsResponse as GetCommentsResponse };
594
594
  }
595
595
 
596
596
  /**
@@ -656,7 +656,7 @@ interface TraceWithFullDetails extends Trace$1 {
656
656
  /** List of observations */
657
657
  observations: ObservationsView[];
658
658
  /** List of scores */
659
- scores: ScoreV1[];
659
+ scores: ScoreV1$1[];
660
660
  }
661
661
 
662
662
  /**
@@ -756,6 +756,85 @@ interface ObservationsView extends Observation {
756
756
  timeToFirstToken: number | null;
757
757
  }
758
758
 
759
+ /**
760
+ * This file was auto-generated by Fern from our API Definition.
761
+ */
762
+
763
+ /**
764
+ * An observation from the v2 API with field-group-based selection.
765
+ * Core fields are always present. Other fields are included only when their field group is requested.
766
+ */
767
+ interface ObservationV2 {
768
+ /** The unique identifier of the observation */
769
+ id: string;
770
+ /** The trace ID associated with the observation */
771
+ traceId: string | null;
772
+ /** The start time of the observation */
773
+ startTime: string;
774
+ /** The end time of the observation */
775
+ endTime: string | null;
776
+ /** The project ID this observation belongs to */
777
+ projectId: string;
778
+ /** The parent observation ID */
779
+ parentObservationId: string | null;
780
+ /** The type of the observation (e.g. GENERATION, SPAN, EVENT) */
781
+ type: string;
782
+ /** The name of the observation */
783
+ name?: string | null;
784
+ /** The level of the observation */
785
+ level?: ObservationLevel;
786
+ /** The status message of the observation */
787
+ statusMessage?: string | null;
788
+ /** The version of the observation */
789
+ version?: string | null;
790
+ /** The environment from which this observation originated */
791
+ environment?: string | null;
792
+ /** Whether the observation is bookmarked */
793
+ bookmarked?: boolean;
794
+ /** Whether the observation is public */
795
+ public?: boolean;
796
+ /** The user ID associated with the observation */
797
+ userId?: string | null;
798
+ /** The session ID associated with the observation */
799
+ sessionId?: string | null;
800
+ /** The completion start time of the observation */
801
+ completionStartTime?: string | null;
802
+ /** The creation timestamp of the observation */
803
+ createdAt?: string;
804
+ /** The last update timestamp of the observation */
805
+ updatedAt?: string;
806
+ /** The input data of the observation */
807
+ input?: unknown;
808
+ /** The output data of the observation */
809
+ output?: unknown;
810
+ /** Additional metadata of the observation */
811
+ metadata?: unknown;
812
+ /** The model name as provided by the user */
813
+ providedModelName?: string | null;
814
+ /** The internal model ID matched by Langfuse */
815
+ internalModelId?: string | null;
816
+ /** The parameters of the model used for the observation */
817
+ modelParameters?: unknown;
818
+ /** The usage details of the observation. Key is the usage metric name, value is the number of units consumed. */
819
+ usageDetails?: Record<string, number>;
820
+ /** The cost details of the observation. Key is the cost metric name, value is the cost in USD. */
821
+ costDetails?: Record<string, number>;
822
+ /** The total cost of the observation in USD */
823
+ totalCost?: number | null;
824
+ /** The prompt ID associated with the observation */
825
+ promptId?: string | null;
826
+ /** The prompt name associated with the observation */
827
+ promptName?: string | null;
828
+ /** The prompt version associated with the observation */
829
+ promptVersion?: number | null;
830
+ /** The latency in seconds */
831
+ latency?: number | null;
832
+ /** The time to first token in seconds */
833
+ timeToFirstToken?: number | null;
834
+ /** The matched model ID */
835
+ modelId?: string | null;
836
+ }
837
+
759
838
  /**
760
839
  * This file was auto-generated by Fern from our API Definition.
761
840
  */
@@ -876,17 +955,17 @@ interface CategoricalScoreV1 extends BaseScoreV1 {
876
955
  * This file was auto-generated by Fern from our API Definition.
877
956
  */
878
957
 
879
- type ScoreV1 =
958
+ type ScoreV1$1 =
880
959
  /**
881
960
  * Score with NUMERIC data type */
882
- ScoreV1.Numeric
961
+ ScoreV1$1.Numeric
883
962
  /**
884
963
  * Score with CATEGORICAL data type */
885
- | ScoreV1.Categorical
964
+ | ScoreV1$1.Categorical
886
965
  /**
887
966
  * Score with BOOLEAN data type */
888
- | ScoreV1.Boolean;
889
- declare namespace ScoreV1 {
967
+ | ScoreV1$1.Boolean;
968
+ declare namespace ScoreV1$1 {
890
969
  interface Numeric extends NumericScoreV1 {
891
970
  dataType: "NUMERIC";
892
971
  }
@@ -977,20 +1056,20 @@ interface CorrectionScore extends BaseScore {
977
1056
  * This file was auto-generated by Fern from our API Definition.
978
1057
  */
979
1058
 
980
- type Score$1 =
1059
+ type Score =
981
1060
  /**
982
1061
  * Score with NUMERIC data type */
983
- Score$1.Numeric
1062
+ Score.Numeric
984
1063
  /**
985
1064
  * Score with CATEGORICAL data type */
986
- | Score$1.Categorical
1065
+ | Score.Categorical
987
1066
  /**
988
1067
  * Score with BOOLEAN data type */
989
- | Score$1.Boolean
1068
+ | Score.Boolean
990
1069
  /**
991
1070
  * Score with CORRECTION data type */
992
- | Score$1.Correction;
993
- declare namespace Score$1 {
1071
+ | Score.Correction;
1072
+ declare namespace Score {
994
1073
  interface Numeric extends NumericScore {
995
1074
  dataType: "NUMERIC";
996
1075
  }
@@ -1600,56 +1679,57 @@ declare class MethodNotAllowedError extends LangfuseAPIError {
1600
1679
  constructor(body?: unknown, rawResponse?: RawResponse);
1601
1680
  }
1602
1681
 
1603
- type index$p_AccessDeniedError = AccessDeniedError;
1604
- declare const index$p_AccessDeniedError: typeof AccessDeniedError;
1605
- type index$p_BaseScore = BaseScore;
1606
- type index$p_BaseScoreV1 = BaseScoreV1;
1607
- type index$p_BooleanScore = BooleanScore;
1608
- type index$p_BooleanScoreV1 = BooleanScoreV1;
1609
- type index$p_CategoricalScore = CategoricalScore;
1610
- type index$p_CategoricalScoreV1 = CategoricalScoreV1;
1611
- type index$p_Comment = Comment;
1612
- declare const index$p_CommentObjectType: typeof CommentObjectType;
1613
- type index$p_ConfigCategory = ConfigCategory;
1614
- type index$p_CorrectionScore = CorrectionScore;
1615
- type index$p_CreateScoreValue = CreateScoreValue;
1616
- type index$p_Dataset = Dataset;
1617
- type index$p_DatasetItem = DatasetItem;
1618
- type index$p_DatasetRun = DatasetRun;
1619
- type index$p_DatasetRunItem = DatasetRunItem;
1620
- type index$p_DatasetRunWithItems = DatasetRunWithItems;
1621
- declare const index$p_DatasetStatus: typeof DatasetStatus;
1622
- type index$p_MapValue = MapValue;
1623
- type index$p_MethodNotAllowedError = MethodNotAllowedError;
1624
- declare const index$p_MethodNotAllowedError: typeof MethodNotAllowedError;
1625
- type index$p_Model = Model;
1626
- type index$p_ModelPrice = ModelPrice;
1627
- declare const index$p_ModelUsageUnit: typeof ModelUsageUnit;
1628
- type index$p_NotFoundError = NotFoundError;
1629
- declare const index$p_NotFoundError: typeof NotFoundError;
1630
- type index$p_NumericScore = NumericScore;
1631
- type index$p_NumericScoreV1 = NumericScoreV1;
1632
- type index$p_Observation = Observation;
1633
- declare const index$p_ObservationLevel: typeof ObservationLevel;
1634
- type index$p_ObservationsView = ObservationsView;
1635
- type index$p_PricingTier = PricingTier;
1636
- type index$p_PricingTierCondition = PricingTierCondition;
1637
- type index$p_PricingTierInput = PricingTierInput;
1638
- declare const index$p_PricingTierOperator: typeof PricingTierOperator;
1639
- type index$p_ScoreConfig = ScoreConfig;
1640
- declare const index$p_ScoreConfigDataType: typeof ScoreConfigDataType;
1641
- declare const index$p_ScoreDataType: typeof ScoreDataType;
1642
- declare const index$p_ScoreSource: typeof ScoreSource;
1643
- declare const index$p_ScoreV1: typeof ScoreV1;
1644
- type index$p_Session = Session;
1645
- type index$p_SessionWithTraces = SessionWithTraces;
1646
- type index$p_TraceWithDetails = TraceWithDetails;
1647
- type index$p_TraceWithFullDetails = TraceWithFullDetails;
1648
- type index$p_UnauthorizedError = UnauthorizedError;
1649
- declare const index$p_UnauthorizedError: typeof UnauthorizedError;
1650
- type index$p_Usage = Usage;
1651
- declare namespace index$p {
1652
- export { index$p_AccessDeniedError as AccessDeniedError, type index$p_BaseScore as BaseScore, type index$p_BaseScoreV1 as BaseScoreV1, type index$p_BooleanScore as BooleanScore, type index$p_BooleanScoreV1 as BooleanScoreV1, type index$p_CategoricalScore as CategoricalScore, type index$p_CategoricalScoreV1 as CategoricalScoreV1, type index$p_Comment as Comment, index$p_CommentObjectType as CommentObjectType, type index$p_ConfigCategory as ConfigCategory, type index$p_CorrectionScore as CorrectionScore, type index$p_CreateScoreValue as CreateScoreValue, type index$p_Dataset as Dataset, type index$p_DatasetItem as DatasetItem, type index$p_DatasetRun as DatasetRun, type index$p_DatasetRunItem as DatasetRunItem, type index$p_DatasetRunWithItems as DatasetRunWithItems, index$p_DatasetStatus as DatasetStatus, Error$1 as Error, type index$p_MapValue as MapValue, index$p_MethodNotAllowedError as MethodNotAllowedError, type index$p_Model as Model, type index$p_ModelPrice as ModelPrice, index$p_ModelUsageUnit as ModelUsageUnit, index$p_NotFoundError as NotFoundError, type index$p_NumericScore as NumericScore, type index$p_NumericScoreV1 as NumericScoreV1, type index$p_Observation as Observation, index$p_ObservationLevel as ObservationLevel, type index$p_ObservationsView as ObservationsView, type index$p_PricingTier as PricingTier, type index$p_PricingTierCondition as PricingTierCondition, type index$p_PricingTierInput as PricingTierInput, index$p_PricingTierOperator as PricingTierOperator, Score$1 as Score, type index$p_ScoreConfig as ScoreConfig, index$p_ScoreConfigDataType as ScoreConfigDataType, index$p_ScoreDataType as ScoreDataType, index$p_ScoreSource as ScoreSource, index$p_ScoreV1 as ScoreV1, type index$p_Session as Session, type index$p_SessionWithTraces as SessionWithTraces, type Trace$1 as Trace, type index$p_TraceWithDetails as TraceWithDetails, type index$p_TraceWithFullDetails as TraceWithFullDetails, index$p_UnauthorizedError as UnauthorizedError, type index$p_Usage as Usage };
1682
+ type index$q_AccessDeniedError = AccessDeniedError;
1683
+ declare const index$q_AccessDeniedError: typeof AccessDeniedError;
1684
+ type index$q_BaseScore = BaseScore;
1685
+ type index$q_BaseScoreV1 = BaseScoreV1;
1686
+ type index$q_BooleanScore = BooleanScore;
1687
+ type index$q_BooleanScoreV1 = BooleanScoreV1;
1688
+ type index$q_CategoricalScore = CategoricalScore;
1689
+ type index$q_CategoricalScoreV1 = CategoricalScoreV1;
1690
+ type index$q_Comment = Comment;
1691
+ declare const index$q_CommentObjectType: typeof CommentObjectType;
1692
+ type index$q_ConfigCategory = ConfigCategory;
1693
+ type index$q_CorrectionScore = CorrectionScore;
1694
+ type index$q_CreateScoreValue = CreateScoreValue;
1695
+ type index$q_Dataset = Dataset;
1696
+ type index$q_DatasetItem = DatasetItem;
1697
+ type index$q_DatasetRun = DatasetRun;
1698
+ type index$q_DatasetRunItem = DatasetRunItem;
1699
+ type index$q_DatasetRunWithItems = DatasetRunWithItems;
1700
+ declare const index$q_DatasetStatus: typeof DatasetStatus;
1701
+ type index$q_MapValue = MapValue;
1702
+ type index$q_MethodNotAllowedError = MethodNotAllowedError;
1703
+ declare const index$q_MethodNotAllowedError: typeof MethodNotAllowedError;
1704
+ type index$q_Model = Model;
1705
+ type index$q_ModelPrice = ModelPrice;
1706
+ declare const index$q_ModelUsageUnit: typeof ModelUsageUnit;
1707
+ type index$q_NotFoundError = NotFoundError;
1708
+ declare const index$q_NotFoundError: typeof NotFoundError;
1709
+ type index$q_NumericScore = NumericScore;
1710
+ type index$q_NumericScoreV1 = NumericScoreV1;
1711
+ type index$q_Observation = Observation;
1712
+ declare const index$q_ObservationLevel: typeof ObservationLevel;
1713
+ type index$q_ObservationV2 = ObservationV2;
1714
+ type index$q_ObservationsView = ObservationsView;
1715
+ type index$q_PricingTier = PricingTier;
1716
+ type index$q_PricingTierCondition = PricingTierCondition;
1717
+ type index$q_PricingTierInput = PricingTierInput;
1718
+ declare const index$q_PricingTierOperator: typeof PricingTierOperator;
1719
+ declare const index$q_Score: typeof Score;
1720
+ type index$q_ScoreConfig = ScoreConfig;
1721
+ declare const index$q_ScoreConfigDataType: typeof ScoreConfigDataType;
1722
+ declare const index$q_ScoreDataType: typeof ScoreDataType;
1723
+ declare const index$q_ScoreSource: typeof ScoreSource;
1724
+ type index$q_Session = Session;
1725
+ type index$q_SessionWithTraces = SessionWithTraces;
1726
+ type index$q_TraceWithDetails = TraceWithDetails;
1727
+ type index$q_TraceWithFullDetails = TraceWithFullDetails;
1728
+ type index$q_UnauthorizedError = UnauthorizedError;
1729
+ declare const index$q_UnauthorizedError: typeof UnauthorizedError;
1730
+ type index$q_Usage = Usage;
1731
+ declare namespace index$q {
1732
+ export { index$q_AccessDeniedError as AccessDeniedError, type index$q_BaseScore as BaseScore, type index$q_BaseScoreV1 as BaseScoreV1, type index$q_BooleanScore as BooleanScore, type index$q_BooleanScoreV1 as BooleanScoreV1, type index$q_CategoricalScore as CategoricalScore, type index$q_CategoricalScoreV1 as CategoricalScoreV1, type index$q_Comment as Comment, index$q_CommentObjectType as CommentObjectType, type index$q_ConfigCategory as ConfigCategory, type index$q_CorrectionScore as CorrectionScore, type index$q_CreateScoreValue as CreateScoreValue, type index$q_Dataset as Dataset, type index$q_DatasetItem as DatasetItem, type index$q_DatasetRun as DatasetRun, type index$q_DatasetRunItem as DatasetRunItem, type index$q_DatasetRunWithItems as DatasetRunWithItems, index$q_DatasetStatus as DatasetStatus, Error$1 as Error, type index$q_MapValue as MapValue, index$q_MethodNotAllowedError as MethodNotAllowedError, type index$q_Model as Model, type index$q_ModelPrice as ModelPrice, index$q_ModelUsageUnit as ModelUsageUnit, index$q_NotFoundError as NotFoundError, type index$q_NumericScore as NumericScore, type index$q_NumericScoreV1 as NumericScoreV1, type index$q_Observation as Observation, index$q_ObservationLevel as ObservationLevel, type index$q_ObservationV2 as ObservationV2, type index$q_ObservationsView as ObservationsView, type index$q_PricingTier as PricingTier, type index$q_PricingTierCondition as PricingTierCondition, type index$q_PricingTierInput as PricingTierInput, index$q_PricingTierOperator as PricingTierOperator, index$q_Score as Score, type index$q_ScoreConfig as ScoreConfig, index$q_ScoreConfigDataType as ScoreConfigDataType, index$q_ScoreDataType as ScoreDataType, index$q_ScoreSource as ScoreSource, ScoreV1$1 as ScoreV1, type index$q_Session as Session, type index$q_SessionWithTraces as SessionWithTraces, type Trace$1 as Trace, type index$q_TraceWithDetails as TraceWithDetails, type index$q_TraceWithFullDetails as TraceWithFullDetails, index$q_UnauthorizedError as UnauthorizedError, type index$q_Usage as Usage };
1653
1733
  }
1654
1734
 
1655
1735
  /**
@@ -1709,12 +1789,12 @@ interface GetDatasetItemsRequest {
1709
1789
  limit?: number;
1710
1790
  }
1711
1791
 
1712
- type index$o_CreateDatasetItemRequest = CreateDatasetItemRequest;
1713
- type index$o_DeleteDatasetItemResponse = DeleteDatasetItemResponse;
1714
- type index$o_GetDatasetItemsRequest = GetDatasetItemsRequest;
1715
- type index$o_PaginatedDatasetItems = PaginatedDatasetItems;
1716
- declare namespace index$o {
1717
- export type { index$o_CreateDatasetItemRequest as CreateDatasetItemRequest, index$o_DeleteDatasetItemResponse as DeleteDatasetItemResponse, index$o_GetDatasetItemsRequest as GetDatasetItemsRequest, index$o_PaginatedDatasetItems as PaginatedDatasetItems };
1792
+ type index$p_CreateDatasetItemRequest = CreateDatasetItemRequest;
1793
+ type index$p_DeleteDatasetItemResponse = DeleteDatasetItemResponse;
1794
+ type index$p_GetDatasetItemsRequest = GetDatasetItemsRequest;
1795
+ type index$p_PaginatedDatasetItems = PaginatedDatasetItems;
1796
+ declare namespace index$p {
1797
+ export type { index$p_CreateDatasetItemRequest as CreateDatasetItemRequest, index$p_DeleteDatasetItemResponse as DeleteDatasetItemResponse, index$p_GetDatasetItemsRequest as GetDatasetItemsRequest, index$p_PaginatedDatasetItems as PaginatedDatasetItems };
1718
1798
  }
1719
1799
 
1720
1800
  /**
@@ -1767,11 +1847,11 @@ interface ListDatasetRunItemsRequest {
1767
1847
  limit?: number;
1768
1848
  }
1769
1849
 
1770
- type index$n_CreateDatasetRunItemRequest = CreateDatasetRunItemRequest;
1771
- type index$n_ListDatasetRunItemsRequest = ListDatasetRunItemsRequest;
1772
- type index$n_PaginatedDatasetRunItems = PaginatedDatasetRunItems;
1773
- declare namespace index$n {
1774
- export type { index$n_CreateDatasetRunItemRequest as CreateDatasetRunItemRequest, index$n_ListDatasetRunItemsRequest as ListDatasetRunItemsRequest, index$n_PaginatedDatasetRunItems as PaginatedDatasetRunItems };
1850
+ type index$o_CreateDatasetRunItemRequest = CreateDatasetRunItemRequest;
1851
+ type index$o_ListDatasetRunItemsRequest = ListDatasetRunItemsRequest;
1852
+ type index$o_PaginatedDatasetRunItems = PaginatedDatasetRunItems;
1853
+ declare namespace index$o {
1854
+ export type { index$o_CreateDatasetRunItemRequest as CreateDatasetRunItemRequest, index$o_ListDatasetRunItemsRequest as ListDatasetRunItemsRequest, index$o_PaginatedDatasetRunItems as PaginatedDatasetRunItems };
1775
1855
  }
1776
1856
 
1777
1857
  /**
@@ -1840,14 +1920,14 @@ interface GetDatasetRunsRequest {
1840
1920
  limit?: number;
1841
1921
  }
1842
1922
 
1843
- type index$m_CreateDatasetRequest = CreateDatasetRequest;
1844
- type index$m_DeleteDatasetRunResponse = DeleteDatasetRunResponse;
1845
- type index$m_GetDatasetRunsRequest = GetDatasetRunsRequest;
1846
- type index$m_GetDatasetsRequest = GetDatasetsRequest;
1847
- type index$m_PaginatedDatasetRuns = PaginatedDatasetRuns;
1848
- type index$m_PaginatedDatasets = PaginatedDatasets;
1849
- declare namespace index$m {
1850
- export type { index$m_CreateDatasetRequest as CreateDatasetRequest, index$m_DeleteDatasetRunResponse as DeleteDatasetRunResponse, index$m_GetDatasetRunsRequest as GetDatasetRunsRequest, index$m_GetDatasetsRequest as GetDatasetsRequest, index$m_PaginatedDatasetRuns as PaginatedDatasetRuns, index$m_PaginatedDatasets as PaginatedDatasets };
1923
+ type index$n_CreateDatasetRequest = CreateDatasetRequest;
1924
+ type index$n_DeleteDatasetRunResponse = DeleteDatasetRunResponse;
1925
+ type index$n_GetDatasetRunsRequest = GetDatasetRunsRequest;
1926
+ type index$n_GetDatasetsRequest = GetDatasetsRequest;
1927
+ type index$n_PaginatedDatasetRuns = PaginatedDatasetRuns;
1928
+ type index$n_PaginatedDatasets = PaginatedDatasets;
1929
+ declare namespace index$n {
1930
+ export type { index$n_CreateDatasetRequest as CreateDatasetRequest, index$n_DeleteDatasetRunResponse as DeleteDatasetRunResponse, index$n_GetDatasetRunsRequest as GetDatasetRunsRequest, index$n_GetDatasetsRequest as GetDatasetsRequest, index$n_PaginatedDatasetRuns as PaginatedDatasetRuns, index$n_PaginatedDatasets as PaginatedDatasets };
1851
1931
  }
1852
1932
 
1853
1933
  /**
@@ -1874,11 +1954,11 @@ declare class ServiceUnavailableError extends LangfuseAPIError {
1874
1954
  constructor(rawResponse?: RawResponse);
1875
1955
  }
1876
1956
 
1877
- type index$l_HealthResponse = HealthResponse;
1878
- type index$l_ServiceUnavailableError = ServiceUnavailableError;
1879
- declare const index$l_ServiceUnavailableError: typeof ServiceUnavailableError;
1880
- declare namespace index$l {
1881
- export { type index$l_HealthResponse as HealthResponse, index$l_ServiceUnavailableError as ServiceUnavailableError };
1957
+ type index$m_HealthResponse = HealthResponse;
1958
+ type index$m_ServiceUnavailableError = ServiceUnavailableError;
1959
+ declare const index$m_ServiceUnavailableError: typeof ServiceUnavailableError;
1960
+ declare namespace index$m {
1961
+ export { type index$m_HealthResponse as HealthResponse, index$m_ServiceUnavailableError as ServiceUnavailableError };
1882
1962
  }
1883
1963
 
1884
1964
  /**
@@ -2433,692 +2513,694 @@ interface IngestionRequest {
2433
2513
  metadata?: unknown;
2434
2514
  }
2435
2515
 
2436
- type index$k_BaseEvent = BaseEvent;
2437
- type index$k_CreateEventBody = CreateEventBody;
2438
- type index$k_CreateEventEvent = CreateEventEvent;
2439
- type index$k_CreateGenerationBody = CreateGenerationBody;
2440
- type index$k_CreateGenerationEvent = CreateGenerationEvent;
2441
- type index$k_CreateObservationEvent = CreateObservationEvent;
2442
- type index$k_CreateSpanBody = CreateSpanBody;
2443
- type index$k_CreateSpanEvent = CreateSpanEvent;
2444
- type index$k_IngestionError = IngestionError;
2445
- declare const index$k_IngestionEvent: typeof IngestionEvent;
2446
- type index$k_IngestionRequest = IngestionRequest;
2447
- type index$k_IngestionResponse = IngestionResponse;
2448
- type index$k_IngestionSuccess = IngestionSuccess;
2449
- type index$k_IngestionUsage = IngestionUsage;
2450
- type index$k_ObservationBody = ObservationBody;
2451
- declare const index$k_ObservationType: typeof ObservationType;
2452
- type index$k_OpenAiCompletionUsageSchema = OpenAiCompletionUsageSchema;
2453
- type index$k_OpenAiResponseUsageSchema = OpenAiResponseUsageSchema;
2454
- type index$k_OpenAiUsage = OpenAiUsage;
2455
- type index$k_OptionalObservationBody = OptionalObservationBody;
2456
- type index$k_ScoreBody = ScoreBody;
2457
- type index$k_ScoreEvent = ScoreEvent;
2458
- type index$k_SdkLogBody = SdkLogBody;
2459
- type index$k_SdkLogEvent = SdkLogEvent;
2460
- type index$k_TraceBody = TraceBody;
2461
- type index$k_TraceEvent = TraceEvent;
2462
- type index$k_UpdateEventBody = UpdateEventBody;
2463
- type index$k_UpdateGenerationBody = UpdateGenerationBody;
2464
- type index$k_UpdateGenerationEvent = UpdateGenerationEvent;
2465
- type index$k_UpdateObservationEvent = UpdateObservationEvent;
2466
- type index$k_UpdateSpanBody = UpdateSpanBody;
2467
- type index$k_UpdateSpanEvent = UpdateSpanEvent;
2468
- type index$k_UsageDetails = UsageDetails;
2469
- declare namespace index$k {
2470
- export { type index$k_BaseEvent as BaseEvent, type index$k_CreateEventBody as CreateEventBody, type index$k_CreateEventEvent as CreateEventEvent, type index$k_CreateGenerationBody as CreateGenerationBody, type index$k_CreateGenerationEvent as CreateGenerationEvent, type index$k_CreateObservationEvent as CreateObservationEvent, type index$k_CreateSpanBody as CreateSpanBody, type index$k_CreateSpanEvent as CreateSpanEvent, type index$k_IngestionError as IngestionError, index$k_IngestionEvent as IngestionEvent, type index$k_IngestionRequest as IngestionRequest, type index$k_IngestionResponse as IngestionResponse, type index$k_IngestionSuccess as IngestionSuccess, type index$k_IngestionUsage as IngestionUsage, type index$k_ObservationBody as ObservationBody, index$k_ObservationType as ObservationType, type index$k_OpenAiCompletionUsageSchema as OpenAiCompletionUsageSchema, type index$k_OpenAiResponseUsageSchema as OpenAiResponseUsageSchema, type index$k_OpenAiUsage as OpenAiUsage, type index$k_OptionalObservationBody as OptionalObservationBody, type index$k_ScoreBody as ScoreBody, type index$k_ScoreEvent as ScoreEvent, type index$k_SdkLogBody as SdkLogBody, type index$k_SdkLogEvent as SdkLogEvent, type index$k_TraceBody as TraceBody, type index$k_TraceEvent as TraceEvent, type index$k_UpdateEventBody as UpdateEventBody, type index$k_UpdateGenerationBody as UpdateGenerationBody, type index$k_UpdateGenerationEvent as UpdateGenerationEvent, type index$k_UpdateObservationEvent as UpdateObservationEvent, type index$k_UpdateSpanBody as UpdateSpanBody, type index$k_UpdateSpanEvent as UpdateSpanEvent, type index$k_UsageDetails as UsageDetails };
2471
- }
2472
-
2473
- /**
2474
- * This file was auto-generated by Fern from our API Definition.
2475
- */
2476
- /**
2477
- * LLM API connection configuration (secrets excluded)
2478
- */
2479
- interface LlmConnection {
2480
- id: string;
2481
- /** Provider name (e.g., 'openai', 'my-gateway'). Must be unique in project, used for upserting. */
2482
- provider: string;
2483
- /** The adapter used to interface with the LLM */
2484
- adapter: string;
2485
- /** Masked version of the secret key for display purposes */
2486
- displaySecretKey: string;
2487
- /** Custom base URL for the LLM API */
2488
- baseURL?: string;
2489
- /** List of custom model names available for this connection */
2490
- customModels: string[];
2491
- /** Whether to include default models for this adapter */
2492
- withDefaultModels: boolean;
2493
- /** Keys of extra headers sent with requests (values excluded for security) */
2494
- extraHeaderKeys: string[];
2495
- /** Adapter-specific configuration. Required for Bedrock (`{"region":"us-east-1"}`), optional for VertexAI (`{"location":"us-central1"}`), not used by other adapters. */
2496
- config?: Record<string, unknown>;
2497
- createdAt: string;
2498
- updatedAt: string;
2499
- }
2500
-
2501
- /**
2502
- * This file was auto-generated by Fern from our API Definition.
2503
- */
2504
-
2505
- interface PaginatedLlmConnections {
2506
- data: LlmConnection[];
2507
- meta: MetaResponse;
2516
+ type index$l_BaseEvent = BaseEvent;
2517
+ type index$l_CreateEventBody = CreateEventBody;
2518
+ type index$l_CreateEventEvent = CreateEventEvent;
2519
+ type index$l_CreateGenerationBody = CreateGenerationBody;
2520
+ type index$l_CreateGenerationEvent = CreateGenerationEvent;
2521
+ type index$l_CreateObservationEvent = CreateObservationEvent;
2522
+ type index$l_CreateSpanBody = CreateSpanBody;
2523
+ type index$l_CreateSpanEvent = CreateSpanEvent;
2524
+ type index$l_IngestionError = IngestionError;
2525
+ declare const index$l_IngestionEvent: typeof IngestionEvent;
2526
+ type index$l_IngestionRequest = IngestionRequest;
2527
+ type index$l_IngestionResponse = IngestionResponse;
2528
+ type index$l_IngestionSuccess = IngestionSuccess;
2529
+ type index$l_IngestionUsage = IngestionUsage;
2530
+ type index$l_ObservationBody = ObservationBody;
2531
+ declare const index$l_ObservationType: typeof ObservationType;
2532
+ type index$l_OpenAiCompletionUsageSchema = OpenAiCompletionUsageSchema;
2533
+ type index$l_OpenAiResponseUsageSchema = OpenAiResponseUsageSchema;
2534
+ type index$l_OpenAiUsage = OpenAiUsage;
2535
+ type index$l_OptionalObservationBody = OptionalObservationBody;
2536
+ type index$l_ScoreBody = ScoreBody;
2537
+ type index$l_ScoreEvent = ScoreEvent;
2538
+ type index$l_SdkLogBody = SdkLogBody;
2539
+ type index$l_SdkLogEvent = SdkLogEvent;
2540
+ type index$l_TraceBody = TraceBody;
2541
+ type index$l_TraceEvent = TraceEvent;
2542
+ type index$l_UpdateEventBody = UpdateEventBody;
2543
+ type index$l_UpdateGenerationBody = UpdateGenerationBody;
2544
+ type index$l_UpdateGenerationEvent = UpdateGenerationEvent;
2545
+ type index$l_UpdateObservationEvent = UpdateObservationEvent;
2546
+ type index$l_UpdateSpanBody = UpdateSpanBody;
2547
+ type index$l_UpdateSpanEvent = UpdateSpanEvent;
2548
+ type index$l_UsageDetails = UsageDetails;
2549
+ declare namespace index$l {
2550
+ export { type index$l_BaseEvent as BaseEvent, type index$l_CreateEventBody as CreateEventBody, type index$l_CreateEventEvent as CreateEventEvent, type index$l_CreateGenerationBody as CreateGenerationBody, type index$l_CreateGenerationEvent as CreateGenerationEvent, type index$l_CreateObservationEvent as CreateObservationEvent, type index$l_CreateSpanBody as CreateSpanBody, type index$l_CreateSpanEvent as CreateSpanEvent, type index$l_IngestionError as IngestionError, index$l_IngestionEvent as IngestionEvent, type index$l_IngestionRequest as IngestionRequest, type index$l_IngestionResponse as IngestionResponse, type index$l_IngestionSuccess as IngestionSuccess, type index$l_IngestionUsage as IngestionUsage, type index$l_ObservationBody as ObservationBody, index$l_ObservationType as ObservationType, type index$l_OpenAiCompletionUsageSchema as OpenAiCompletionUsageSchema, type index$l_OpenAiResponseUsageSchema as OpenAiResponseUsageSchema, type index$l_OpenAiUsage as OpenAiUsage, type index$l_OptionalObservationBody as OptionalObservationBody, type index$l_ScoreBody as ScoreBody, type index$l_ScoreEvent as ScoreEvent, type index$l_SdkLogBody as SdkLogBody, type index$l_SdkLogEvent as SdkLogEvent, type index$l_TraceBody as TraceBody, type index$l_TraceEvent as TraceEvent, type index$l_UpdateEventBody as UpdateEventBody, type index$l_UpdateGenerationBody as UpdateGenerationBody, type index$l_UpdateGenerationEvent as UpdateGenerationEvent, type index$l_UpdateObservationEvent as UpdateObservationEvent, type index$l_UpdateSpanBody as UpdateSpanBody, type index$l_UpdateSpanEvent as UpdateSpanEvent, type index$l_UsageDetails as UsageDetails };
2508
2551
  }
2509
2552
 
2510
2553
  /**
2511
2554
  * This file was auto-generated by Fern from our API Definition.
2512
2555
  */
2513
-
2514
- /**
2515
- * Request to create or update an LLM connection (upsert)
2516
- */
2517
- interface UpsertLlmConnectionRequest {
2518
- /** Provider name (e.g., 'openai', 'my-gateway'). Must be unique in project, used for upserting. */
2519
- provider: string;
2520
- /** The adapter used to interface with the LLM */
2521
- adapter: LlmAdapter;
2522
- /** Secret key for the LLM API. */
2523
- secretKey: string;
2524
- /** Custom base URL for the LLM API */
2525
- baseURL?: string;
2526
- /** List of custom model names */
2527
- customModels?: string[];
2528
- /** Whether to include default models. Default is true. */
2529
- withDefaultModels?: boolean;
2530
- /** Extra headers to send with requests */
2531
- extraHeaders?: Record<string, string>;
2532
- /** Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": "<aws-region>"}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": "<gcp-location>"}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. */
2533
- config?: Record<string, unknown>;
2556
+ interface MetricsResponse {
2557
+ /**
2558
+ * The metrics data. Each item in the list contains the metric values and dimensions requested in the query.
2559
+ * Format varies based on the query parameters.
2560
+ * Histograms will return an array with [lower, upper, height] tuples.
2561
+ */
2562
+ data: Record<string, unknown>[];
2534
2563
  }
2535
2564
 
2536
- /**
2537
- * This file was auto-generated by Fern from our API Definition.
2538
- */
2539
- type LlmAdapter = "anthropic" | "openai" | "azure" | "bedrock" | "google-vertex-ai" | "google-ai-studio";
2540
- declare const LlmAdapter: {
2541
- readonly Anthropic: "anthropic";
2542
- readonly OpenAi: "openai";
2543
- readonly Azure: "azure";
2544
- readonly Bedrock: "bedrock";
2545
- readonly GoogleVertexAi: "google-vertex-ai";
2546
- readonly GoogleAiStudio: "google-ai-studio";
2547
- };
2548
-
2549
2565
  /**
2550
2566
  * This file was auto-generated by Fern from our API Definition.
2551
2567
  */
2552
2568
  /**
2553
2569
  * @example
2554
- * {}
2570
+ * {
2571
+ * query: "query"
2572
+ * }
2555
2573
  */
2556
- interface GetLlmConnectionsRequest {
2557
- /** page number, starts at 1 */
2558
- page?: number;
2559
- /** limit of items per page */
2560
- limit?: number;
2574
+ interface GetMetricsRequest {
2575
+ /**
2576
+ * JSON string containing the query parameters with the following structure:
2577
+ * ```json
2578
+ * {
2579
+ * "view": string, // Required. One of "traces", "observations", "scores-numeric", "scores-categorical"
2580
+ * "dimensions": [ // Optional. Default: []
2581
+ * {
2582
+ * "field": string // Field to group by, e.g. "name", "userId", "sessionId"
2583
+ * }
2584
+ * ],
2585
+ * "metrics": [ // Required. At least one metric must be provided
2586
+ * {
2587
+ * "measure": string, // What to measure, e.g. "count", "latency", "value"
2588
+ * "aggregation": string // How to aggregate, e.g. "count", "sum", "avg", "p95", "histogram"
2589
+ * }
2590
+ * ],
2591
+ * "filters": [ // Optional. Default: []
2592
+ * {
2593
+ * "column": string, // Column to filter on
2594
+ * "operator": string, // Operator, e.g. "=", ">", "<", "contains"
2595
+ * "value": any, // Value to compare against
2596
+ * "type": string, // Data type, e.g. "string", "number", "stringObject"
2597
+ * "key": string // Required only when filtering on metadata
2598
+ * }
2599
+ * ],
2600
+ * "timeDimension": { // Optional. Default: null. If provided, results will be grouped by time
2601
+ * "granularity": string // One of "minute", "hour", "day", "week", "month", "auto"
2602
+ * },
2603
+ * "fromTimestamp": string, // Required. ISO datetime string for start of time range
2604
+ * "toTimestamp": string, // Required. ISO datetime string for end of time range
2605
+ * "orderBy": [ // Optional. Default: null
2606
+ * {
2607
+ * "field": string, // Field to order by
2608
+ * "direction": string // "asc" or "desc"
2609
+ * }
2610
+ * ],
2611
+ * "config": { // Optional. Query-specific configuration
2612
+ * "bins": number, // Optional. Number of bins for histogram (1-100), default: 10
2613
+ * "row_limit": number // Optional. Row limit for results (1-1000)
2614
+ * }
2615
+ * }
2616
+ * ```
2617
+ */
2618
+ query: string;
2561
2619
  }
2562
2620
 
2563
- type index$j_GetLlmConnectionsRequest = GetLlmConnectionsRequest;
2564
- declare const index$j_LlmAdapter: typeof LlmAdapter;
2565
- type index$j_LlmConnection = LlmConnection;
2566
- type index$j_PaginatedLlmConnections = PaginatedLlmConnections;
2567
- type index$j_UpsertLlmConnectionRequest = UpsertLlmConnectionRequest;
2568
- declare namespace index$j {
2569
- export { type index$j_GetLlmConnectionsRequest as GetLlmConnectionsRequest, index$j_LlmAdapter as LlmAdapter, type index$j_LlmConnection as LlmConnection, type index$j_PaginatedLlmConnections as PaginatedLlmConnections, type index$j_UpsertLlmConnectionRequest as UpsertLlmConnectionRequest };
2621
+ type index$k_GetMetricsRequest = GetMetricsRequest;
2622
+ type index$k_MetricsResponse = MetricsResponse;
2623
+ declare namespace index$k {
2624
+ export type { index$k_GetMetricsRequest as GetMetricsRequest, index$k_MetricsResponse as MetricsResponse };
2570
2625
  }
2571
2626
 
2572
2627
  /**
2573
2628
  * This file was auto-generated by Fern from our API Definition.
2574
2629
  */
2575
- interface GetMediaResponse {
2576
- /** The unique langfuse identifier of a media record */
2577
- mediaId: string;
2578
- /** The MIME type of the media record */
2579
- contentType: string;
2580
- /** The size of the media record in bytes */
2581
- contentLength: number;
2582
- /** The date and time when the media record was uploaded */
2583
- uploadedAt: string;
2584
- /** The download URL of the media record */
2585
- url: string;
2586
- /** The expiry date and time of the media record download URL */
2587
- urlExpiry: string;
2588
- }
2589
2630
 
2590
- /**
2591
- * This file was auto-generated by Fern from our API Definition.
2592
- */
2593
- interface PatchMediaBody {
2594
- /** The date and time when the media record was uploaded */
2595
- uploadedAt: string;
2596
- /** The HTTP status code of the upload */
2597
- uploadHttpStatus: number;
2598
- /** The HTTP error message of the upload */
2599
- uploadHttpError?: string;
2600
- /** The time in milliseconds it took to upload the media record */
2601
- uploadTimeMs?: number;
2631
+ interface Observations$1 {
2632
+ data: Observation[];
2633
+ meta: MetaResponse;
2602
2634
  }
2603
2635
 
2604
2636
  /**
2605
2637
  * This file was auto-generated by Fern from our API Definition.
2606
2638
  */
2607
2639
 
2608
- interface GetMediaUploadUrlRequest {
2609
- /** The trace ID associated with the media record */
2610
- traceId: string;
2611
- /** The observation ID associated with the media record. If the media record is associated directly with a trace, this will be null. */
2612
- observationId?: string;
2613
- contentType: MediaContentType;
2614
- /** The size of the media record in bytes */
2615
- contentLength: number;
2616
- /** The SHA-256 hash of the media record */
2617
- sha256Hash: string;
2618
- /** The trace / observation field the media record is associated with. This can be one of `input`, `output`, `metadata` */
2619
- field: string;
2640
+ interface ObservationsViews {
2641
+ data: ObservationsView[];
2642
+ meta: MetaResponse;
2620
2643
  }
2621
2644
 
2622
2645
  /**
2623
2646
  * This file was auto-generated by Fern from our API Definition.
2624
2647
  */
2625
- interface GetMediaUploadUrlResponse {
2626
- /** The presigned upload URL. If the asset is already uploaded, this will be null */
2627
- uploadUrl?: string;
2628
- /** The unique langfuse identifier of a media record */
2629
- mediaId: string;
2630
- }
2631
2648
 
2632
2649
  /**
2633
- * This file was auto-generated by Fern from our API Definition.
2634
- */
2635
- /**
2636
- * The MIME type of the media record
2650
+ * @example
2651
+ * {}
2637
2652
  */
2638
- type MediaContentType = "image/png" | "image/jpeg" | "image/jpg" | "image/webp" | "image/gif" | "image/svg+xml" | "image/tiff" | "image/bmp" | "image/avif" | "image/heic" | "audio/mpeg" | "audio/mp3" | "audio/wav" | "audio/ogg" | "audio/oga" | "audio/aac" | "audio/mp4" | "audio/flac" | "audio/opus" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "video/mpeg" | "video/quicktime" | "video/x-msvideo" | "video/x-matroska" | "text/plain" | "text/html" | "text/css" | "text/csv" | "text/markdown" | "text/x-python" | "application/javascript" | "text/x-typescript" | "application/x-yaml" | "application/pdf" | "application/msword" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/zip" | "application/json" | "application/xml" | "application/octet-stream" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/rtf" | "application/x-ndjson" | "application/vnd.apache.parquet" | "application/gzip" | "application/x-tar" | "application/x-7z-compressed";
2639
- declare const MediaContentType: {
2640
- readonly ImagePng: "image/png";
2641
- readonly ImageJpeg: "image/jpeg";
2642
- readonly ImageJpg: "image/jpg";
2643
- readonly ImageWebp: "image/webp";
2644
- readonly ImageGif: "image/gif";
2645
- readonly ImageSvgXml: "image/svg+xml";
2646
- readonly ImageTiff: "image/tiff";
2647
- readonly ImageBmp: "image/bmp";
2648
- readonly ImageAvif: "image/avif";
2649
- readonly ImageHeic: "image/heic";
2650
- readonly AudioMpeg: "audio/mpeg";
2651
- readonly AudioMp3: "audio/mp3";
2652
- readonly AudioWav: "audio/wav";
2653
- readonly AudioOgg: "audio/ogg";
2654
- readonly AudioOga: "audio/oga";
2655
- readonly AudioAac: "audio/aac";
2656
- readonly AudioMp4: "audio/mp4";
2657
- readonly AudioFlac: "audio/flac";
2658
- readonly AudioOpus: "audio/opus";
2659
- readonly AudioWebm: "audio/webm";
2660
- readonly VideoMp4: "video/mp4";
2661
- readonly VideoWebm: "video/webm";
2662
- readonly VideoOgg: "video/ogg";
2663
- readonly VideoMpeg: "video/mpeg";
2664
- readonly VideoQuicktime: "video/quicktime";
2665
- readonly VideoXMsvideo: "video/x-msvideo";
2666
- readonly VideoXMatroska: "video/x-matroska";
2667
- readonly TextPlain: "text/plain";
2668
- readonly TextHtml: "text/html";
2669
- readonly TextCss: "text/css";
2670
- readonly TextCsv: "text/csv";
2671
- readonly TextMarkdown: "text/markdown";
2672
- readonly TextXPython: "text/x-python";
2673
- readonly ApplicationJavascript: "application/javascript";
2674
- readonly TextXTypescript: "text/x-typescript";
2675
- readonly ApplicationXYaml: "application/x-yaml";
2676
- readonly ApplicationPdf: "application/pdf";
2677
- readonly ApplicationMsword: "application/msword";
2678
- readonly ApplicationMsExcel: "application/vnd.ms-excel";
2679
- readonly ApplicationOpenxmlSpreadsheet: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
2680
- readonly ApplicationZip: "application/zip";
2681
- readonly ApplicationJson: "application/json";
2682
- readonly ApplicationXml: "application/xml";
2683
- readonly ApplicationOctetStream: "application/octet-stream";
2684
- readonly ApplicationOpenxmlWord: "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
2685
- readonly ApplicationOpenxmlPresentation: "application/vnd.openxmlformats-officedocument.presentationml.presentation";
2686
- readonly ApplicationRtf: "application/rtf";
2687
- readonly ApplicationXNdjson: "application/x-ndjson";
2688
- readonly ApplicationParquet: "application/vnd.apache.parquet";
2689
- readonly ApplicationGzip: "application/gzip";
2690
- readonly ApplicationXTar: "application/x-tar";
2691
- readonly ApplicationX7ZCompressed: "application/x-7z-compressed";
2692
- };
2653
+ interface GetObservationsRequest {
2654
+ /** Page number, starts at 1. */
2655
+ page?: number;
2656
+ /** Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit. */
2657
+ limit?: number;
2658
+ name?: string;
2659
+ userId?: string;
2660
+ type?: string;
2661
+ traceId?: string;
2662
+ /** Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR"). */
2663
+ level?: ObservationLevel;
2664
+ parentObservationId?: string;
2665
+ /** Optional filter for observations where the environment is one of the provided values. */
2666
+ environment?: string | string[];
2667
+ /** Retrieve only observations with a start_time on or after this datetime (ISO 8601). */
2668
+ fromStartTime?: string;
2669
+ /** Retrieve only observations with a start_time before this datetime (ISO 8601). */
2670
+ toStartTime?: string;
2671
+ /** Optional filter to only include observations with a certain version. */
2672
+ version?: string;
2673
+ /**
2674
+ * JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, type, level, environment, fromStartTime, ...).
2675
+ *
2676
+ * ## Filter Structure
2677
+ * Each filter condition has the following structure:
2678
+ * ```json
2679
+ * [
2680
+ * {
2681
+ * "type": string, // Required. One of: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null"
2682
+ * "column": string, // Required. Column to filter on (see available columns below)
2683
+ * "operator": string, // Required. Operator based on type:
2684
+ * // - datetime: ">", "<", ">=", "<="
2685
+ * // - string: "=", "contains", "does not contain", "starts with", "ends with"
2686
+ * // - stringOptions: "any of", "none of"
2687
+ * // - categoryOptions: "any of", "none of"
2688
+ * // - arrayOptions: "any of", "none of", "all of"
2689
+ * // - number: "=", ">", "<", ">=", "<="
2690
+ * // - stringObject: "=", "contains", "does not contain", "starts with", "ends with"
2691
+ * // - numberObject: "=", ">", "<", ">=", "<="
2692
+ * // - boolean: "=", "<>"
2693
+ * // - null: "is null", "is not null"
2694
+ * "value": any, // Required (except for null type). Value to compare against. Type depends on filter type
2695
+ * "key": string // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata
2696
+ * }
2697
+ * ]
2698
+ * ```
2699
+ *
2700
+ * ## Available Columns
2701
+ *
2702
+ * ### Core Observation Fields
2703
+ * - `id` (string) - Observation ID
2704
+ * - `type` (string) - Observation type (SPAN, GENERATION, EVENT)
2705
+ * - `name` (string) - Observation name
2706
+ * - `traceId` (string) - Associated trace ID
2707
+ * - `startTime` (datetime) - Observation start time
2708
+ * - `endTime` (datetime) - Observation end time
2709
+ * - `environment` (string) - Environment tag
2710
+ * - `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)
2711
+ * - `statusMessage` (string) - Status message
2712
+ * - `version` (string) - Version tag
2713
+ *
2714
+ * ### Performance Metrics
2715
+ * - `latency` (number) - Latency in seconds (calculated: end_time - start_time)
2716
+ * - `timeToFirstToken` (number) - Time to first token in seconds
2717
+ * - `tokensPerSecond` (number) - Output tokens per second
2718
+ *
2719
+ * ### Token Usage
2720
+ * - `inputTokens` (number) - Number of input tokens
2721
+ * - `outputTokens` (number) - Number of output tokens
2722
+ * - `totalTokens` (number) - Total tokens (alias: `tokens`)
2723
+ *
2724
+ * ### Cost Metrics
2725
+ * - `inputCost` (number) - Input cost in USD
2726
+ * - `outputCost` (number) - Output cost in USD
2727
+ * - `totalCost` (number) - Total cost in USD
2728
+ *
2729
+ * ### Model Information
2730
+ * - `model` (string) - Provided model name
2731
+ * - `promptName` (string) - Associated prompt name
2732
+ * - `promptVersion` (number) - Associated prompt version
2733
+ *
2734
+ * ### Structured Data
2735
+ * - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.
2736
+ *
2737
+ * ### Associated Trace Fields (requires join with traces table)
2738
+ * - `userId` (string) - User ID from associated trace
2739
+ * - `traceName` (string) - Name from associated trace
2740
+ * - `traceEnvironment` (string) - Environment from associated trace
2741
+ * - `traceTags` (arrayOptions) - Tags from associated trace
2742
+ *
2743
+ * ## Filter Examples
2744
+ * ```json
2745
+ * [
2746
+ * {
2747
+ * "type": "string",
2748
+ * "column": "type",
2749
+ * "operator": "=",
2750
+ * "value": "GENERATION"
2751
+ * },
2752
+ * {
2753
+ * "type": "number",
2754
+ * "column": "latency",
2755
+ * "operator": ">=",
2756
+ * "value": 2.5
2757
+ * },
2758
+ * {
2759
+ * "type": "stringObject",
2760
+ * "column": "metadata",
2761
+ * "key": "environment",
2762
+ * "operator": "=",
2763
+ * "value": "production"
2764
+ * }
2765
+ * ]
2766
+ * ```
2767
+ */
2768
+ filter?: string;
2769
+ }
2770
+
2771
+ type index$j_GetObservationsRequest = GetObservationsRequest;
2772
+ type index$j_ObservationsViews = ObservationsViews;
2773
+ declare namespace index$j {
2774
+ export type { index$j_GetObservationsRequest as GetObservationsRequest, Observations$1 as Observations, index$j_ObservationsViews as ObservationsViews };
2775
+ }
2776
+
2777
+ /**
2778
+ * This file was auto-generated by Fern from our API Definition.
2779
+ */
2780
+
2781
+ /**
2782
+ * @example
2783
+ * {
2784
+ * name: "novelty",
2785
+ * value: 0.9,
2786
+ * traceId: "cdef-1234-5678-90ab"
2787
+ * }
2788
+ *
2789
+ * @example
2790
+ * {
2791
+ * name: "consistency",
2792
+ * value: 1.2,
2793
+ * dataType: LangfuseAPI.ScoreDataType.Numeric,
2794
+ * traceId: "cdef-1234-5678-90ab"
2795
+ * }
2796
+ *
2797
+ * @example
2798
+ * {
2799
+ * name: "accuracy",
2800
+ * value: 0.9,
2801
+ * dataType: LangfuseAPI.ScoreDataType.Numeric,
2802
+ * configId: "9203-4567-89ab-cdef",
2803
+ * traceId: "cdef-1234-5678-90ab",
2804
+ * environment: "test"
2805
+ * }
2806
+ *
2807
+ * @example
2808
+ * {
2809
+ * name: "toxicity",
2810
+ * value: "not toxic",
2811
+ * traceId: "cdef-1234-5678-90ab",
2812
+ * environment: "production"
2813
+ * }
2814
+ *
2815
+ * @example
2816
+ * {
2817
+ * name: "correctness",
2818
+ * value: "partially correct",
2819
+ * dataType: LangfuseAPI.ScoreDataType.Categorical,
2820
+ * configId: "1234-5678-90ab-cdef",
2821
+ * traceId: "cdef-1234-5678-90ab"
2822
+ * }
2823
+ *
2824
+ * @example
2825
+ * {
2826
+ * name: "hallucination",
2827
+ * value: 0,
2828
+ * dataType: LangfuseAPI.ScoreDataType.Boolean,
2829
+ * traceId: "cdef-1234-5678-90ab"
2830
+ * }
2831
+ *
2832
+ * @example
2833
+ * {
2834
+ * name: "helpfulness",
2835
+ * value: 1,
2836
+ * dataType: LangfuseAPI.ScoreDataType.Boolean,
2837
+ * configId: "1234-5678-90ab-cdef",
2838
+ * traceId: "cdef-1234-5678-90ab"
2839
+ * }
2840
+ */
2841
+ interface CreateScoreRequest {
2842
+ id?: string;
2843
+ traceId?: string;
2844
+ sessionId?: string;
2845
+ observationId?: string;
2846
+ datasetRunId?: string;
2847
+ name: string;
2848
+ /** The value of the score. Must be passed as string for categorical scores, and numeric for boolean and numeric scores. Boolean score values must equal either 1 or 0 (true or false) */
2849
+ value: CreateScoreValue;
2850
+ comment?: string;
2851
+ metadata?: Record<string, unknown>;
2852
+ /** The environment of the score. Can be any lowercase alphanumeric string with hyphens and underscores that does not start with 'langfuse'. */
2853
+ environment?: string;
2854
+ /** The annotation queue referenced by the score. Indicates if score was initially created while processing annotation queue. */
2855
+ queueId?: string;
2856
+ /** The data type of the score. When passing a configId this field is inferred. Otherwise, this field must be passed or will default to numeric. */
2857
+ dataType?: ScoreDataType;
2858
+ /** Reference a score config on a score. The unique langfuse identifier of a score config. When passing this field, the dataType and stringValue fields are automatically populated. */
2859
+ configId?: string;
2860
+ }
2861
+
2862
+ /**
2863
+ * This file was auto-generated by Fern from our API Definition.
2864
+ */
2865
+ interface CreateScoreResponse {
2866
+ /** The id of the created object in Langfuse */
2867
+ id: string;
2868
+ }
2693
2869
 
2694
- type index$i_GetMediaResponse = GetMediaResponse;
2695
- type index$i_GetMediaUploadUrlRequest = GetMediaUploadUrlRequest;
2696
- type index$i_GetMediaUploadUrlResponse = GetMediaUploadUrlResponse;
2697
- declare const index$i_MediaContentType: typeof MediaContentType;
2698
- type index$i_PatchMediaBody = PatchMediaBody;
2870
+ type index$i_CreateScoreRequest = CreateScoreRequest;
2871
+ type index$i_CreateScoreResponse = CreateScoreResponse;
2699
2872
  declare namespace index$i {
2700
- export { type index$i_GetMediaResponse as GetMediaResponse, type index$i_GetMediaUploadUrlRequest as GetMediaUploadUrlRequest, type index$i_GetMediaUploadUrlResponse as GetMediaUploadUrlResponse, index$i_MediaContentType as MediaContentType, type index$i_PatchMediaBody as PatchMediaBody };
2873
+ export type { index$i_CreateScoreRequest as CreateScoreRequest, index$i_CreateScoreResponse as CreateScoreResponse };
2874
+ }
2875
+
2876
+ type index$h_CreateScoreRequest = CreateScoreRequest;
2877
+ type index$h_CreateScoreResponse = CreateScoreResponse;
2878
+ type index$h_GetMetricsRequest = GetMetricsRequest;
2879
+ type index$h_GetObservationsRequest = GetObservationsRequest;
2880
+ type index$h_MetricsResponse = MetricsResponse;
2881
+ type index$h_ObservationsViews = ObservationsViews;
2882
+ declare namespace index$h {
2883
+ export { type index$h_CreateScoreRequest as CreateScoreRequest, type index$h_CreateScoreResponse as CreateScoreResponse, type index$h_GetMetricsRequest as GetMetricsRequest, type index$h_GetObservationsRequest as GetObservationsRequest, type index$h_MetricsResponse as MetricsResponse, type Observations$1 as Observations, type index$h_ObservationsViews as ObservationsViews, index$k as metricsV1, index$j as observationsV1, index$i as scoreV1 };
2884
+ }
2885
+
2886
+ /**
2887
+ * This file was auto-generated by Fern from our API Definition.
2888
+ */
2889
+ /**
2890
+ * LLM API connection configuration (secrets excluded)
2891
+ */
2892
+ interface LlmConnection {
2893
+ id: string;
2894
+ /** Provider name (e.g., 'openai', 'my-gateway'). Must be unique in project, used for upserting. */
2895
+ provider: string;
2896
+ /** The adapter used to interface with the LLM */
2897
+ adapter: string;
2898
+ /** Masked version of the secret key for display purposes */
2899
+ displaySecretKey: string;
2900
+ /** Custom base URL for the LLM API */
2901
+ baseURL?: string;
2902
+ /** List of custom model names available for this connection */
2903
+ customModels: string[];
2904
+ /** Whether to include default models for this adapter */
2905
+ withDefaultModels: boolean;
2906
+ /** Keys of extra headers sent with requests (values excluded for security) */
2907
+ extraHeaderKeys: string[];
2908
+ /** Adapter-specific configuration. Required for Bedrock (`{"region":"us-east-1"}`), optional for VertexAI (`{"location":"us-central1"}`), not used by other adapters. */
2909
+ config?: Record<string, unknown>;
2910
+ createdAt: string;
2911
+ updatedAt: string;
2701
2912
  }
2702
2913
 
2703
2914
  /**
2704
2915
  * This file was auto-generated by Fern from our API Definition.
2705
2916
  */
2706
- interface MetricsV2Response {
2707
- /**
2708
- * The metrics data. Each item in the list contains the metric values and dimensions requested in the query.
2709
- * Format varies based on the query parameters.
2710
- * Histograms will return an array with [lower, upper, height] tuples.
2711
- */
2712
- data: Record<string, unknown>[];
2917
+
2918
+ interface PaginatedLlmConnections {
2919
+ data: LlmConnection[];
2920
+ meta: MetaResponse;
2713
2921
  }
2714
2922
 
2715
2923
  /**
2716
2924
  * This file was auto-generated by Fern from our API Definition.
2717
2925
  */
2926
+
2718
2927
  /**
2719
- * @example
2720
- * {
2721
- * query: "query"
2722
- * }
2928
+ * Request to create or update an LLM connection (upsert)
2723
2929
  */
2724
- interface GetMetricsV2Request {
2725
- /**
2726
- * JSON string containing the query parameters with the following structure:
2727
- * ```json
2728
- * {
2729
- * "view": string, // Required. One of "observations", "scores-numeric", "scores-categorical"
2730
- * "dimensions": [ // Optional. Default: []
2731
- * {
2732
- * "field": string // Field to group by (see available dimensions above)
2733
- * }
2734
- * ],
2735
- * "metrics": [ // Required. At least one metric must be provided
2736
- * {
2737
- * "measure": string, // What to measure (see available measures above)
2738
- * "aggregation": string // How to aggregate: "sum", "avg", "count", "max", "min", "p50", "p75", "p90", "p95", "p99", "histogram"
2739
- * }
2740
- * ],
2741
- * "filters": [ // Optional. Default: []
2742
- * {
2743
- * "column": string, // Column to filter on (any dimension field)
2744
- * "operator": string, // Operator based on type:
2745
- * // - datetime: ">", "<", ">=", "<="
2746
- * // - string: "=", "contains", "does not contain", "starts with", "ends with"
2747
- * // - stringOptions: "any of", "none of"
2748
- * // - arrayOptions: "any of", "none of", "all of"
2749
- * // - number: "=", ">", "<", ">=", "<="
2750
- * // - stringObject/numberObject: same as string/number with required "key"
2751
- * // - boolean: "=", "<>"
2752
- * // - null: "is null", "is not null"
2753
- * "value": any, // Value to compare against
2754
- * "type": string, // Data type: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null"
2755
- * "key": string // Required only for stringObject/numberObject types (e.g., metadata filtering)
2756
- * }
2757
- * ],
2758
- * "timeDimension": { // Optional. Default: null. If provided, results will be grouped by time
2759
- * "granularity": string // One of "auto", "minute", "hour", "day", "week", "month"
2760
- * },
2761
- * "fromTimestamp": string, // Required. ISO datetime string for start of time range
2762
- * "toTimestamp": string, // Required. ISO datetime string for end of time range (must be after fromTimestamp)
2763
- * "orderBy": [ // Optional. Default: null
2764
- * {
2765
- * "field": string, // Field to order by (dimension or metric alias)
2766
- * "direction": string // "asc" or "desc"
2767
- * }
2768
- * ],
2769
- * "config": { // Optional. Query-specific configuration
2770
- * "bins": number, // Optional. Number of bins for histogram aggregation (1-100), default: 10
2771
- * "row_limit": number // Optional. Maximum number of rows to return (1-1000), default: 100
2772
- * }
2773
- * }
2774
- * ```
2775
- */
2776
- query: string;
2777
- }
2778
-
2779
- type index$h_GetMetricsV2Request = GetMetricsV2Request;
2780
- type index$h_MetricsV2Response = MetricsV2Response;
2781
- declare namespace index$h {
2782
- export type { index$h_GetMetricsV2Request as GetMetricsV2Request, index$h_MetricsV2Response as MetricsV2Response };
2930
+ interface UpsertLlmConnectionRequest {
2931
+ /** Provider name (e.g., 'openai', 'my-gateway'). Must be unique in project, used for upserting. */
2932
+ provider: string;
2933
+ /** The adapter used to interface with the LLM */
2934
+ adapter: LlmAdapter;
2935
+ /** Secret key for the LLM API. */
2936
+ secretKey: string;
2937
+ /** Custom base URL for the LLM API */
2938
+ baseURL?: string;
2939
+ /** List of custom model names */
2940
+ customModels?: string[];
2941
+ /** Whether to include default models. Default is true. */
2942
+ withDefaultModels?: boolean;
2943
+ /** Extra headers to send with requests */
2944
+ extraHeaders?: Record<string, string>;
2945
+ /** Adapter-specific configuration. Validation rules: - **Bedrock**: Required. Must be `{"region": "<aws-region>"}` (e.g., `{"region":"us-east-1"}`) - **VertexAI**: Optional. If provided, must be `{"location": "<gcp-location>"}` (e.g., `{"location":"us-central1"}`) - **Other adapters**: Not supported. Omit this field or set to null. */
2946
+ config?: Record<string, unknown>;
2783
2947
  }
2784
2948
 
2785
2949
  /**
2786
2950
  * This file was auto-generated by Fern from our API Definition.
2787
2951
  */
2788
- interface MetricsResponse {
2789
- /**
2790
- * The metrics data. Each item in the list contains the metric values and dimensions requested in the query.
2791
- * Format varies based on the query parameters.
2792
- * Histograms will return an array with [lower, upper, height] tuples.
2793
- */
2794
- data: Record<string, unknown>[];
2795
- }
2952
+ type LlmAdapter = "anthropic" | "openai" | "azure" | "bedrock" | "google-vertex-ai" | "google-ai-studio";
2953
+ declare const LlmAdapter: {
2954
+ readonly Anthropic: "anthropic";
2955
+ readonly OpenAi: "openai";
2956
+ readonly Azure: "azure";
2957
+ readonly Bedrock: "bedrock";
2958
+ readonly GoogleVertexAi: "google-vertex-ai";
2959
+ readonly GoogleAiStudio: "google-ai-studio";
2960
+ };
2796
2961
 
2797
2962
  /**
2798
2963
  * This file was auto-generated by Fern from our API Definition.
2799
2964
  */
2800
2965
  /**
2801
2966
  * @example
2802
- * {
2803
- * query: "query"
2804
- * }
2967
+ * {}
2805
2968
  */
2806
- interface GetMetricsRequest {
2807
- /**
2808
- * JSON string containing the query parameters with the following structure:
2809
- * ```json
2810
- * {
2811
- * "view": string, // Required. One of "traces", "observations", "scores-numeric", "scores-categorical"
2812
- * "dimensions": [ // Optional. Default: []
2813
- * {
2814
- * "field": string // Field to group by, e.g. "name", "userId", "sessionId"
2815
- * }
2816
- * ],
2817
- * "metrics": [ // Required. At least one metric must be provided
2818
- * {
2819
- * "measure": string, // What to measure, e.g. "count", "latency", "value"
2820
- * "aggregation": string // How to aggregate, e.g. "count", "sum", "avg", "p95", "histogram"
2821
- * }
2822
- * ],
2823
- * "filters": [ // Optional. Default: []
2824
- * {
2825
- * "column": string, // Column to filter on
2826
- * "operator": string, // Operator, e.g. "=", ">", "<", "contains"
2827
- * "value": any, // Value to compare against
2828
- * "type": string, // Data type, e.g. "string", "number", "stringObject"
2829
- * "key": string // Required only when filtering on metadata
2830
- * }
2831
- * ],
2832
- * "timeDimension": { // Optional. Default: null. If provided, results will be grouped by time
2833
- * "granularity": string // One of "minute", "hour", "day", "week", "month", "auto"
2834
- * },
2835
- * "fromTimestamp": string, // Required. ISO datetime string for start of time range
2836
- * "toTimestamp": string, // Required. ISO datetime string for end of time range
2837
- * "orderBy": [ // Optional. Default: null
2838
- * {
2839
- * "field": string, // Field to order by
2840
- * "direction": string // "asc" or "desc"
2841
- * }
2842
- * ],
2843
- * "config": { // Optional. Query-specific configuration
2844
- * "bins": number, // Optional. Number of bins for histogram (1-100), default: 10
2845
- * "row_limit": number // Optional. Row limit for results (1-1000)
2846
- * }
2847
- * }
2848
- * ```
2849
- */
2850
- query: string;
2969
+ interface GetLlmConnectionsRequest {
2970
+ /** page number, starts at 1 */
2971
+ page?: number;
2972
+ /** limit of items per page */
2973
+ limit?: number;
2851
2974
  }
2852
2975
 
2853
- type index$g_GetMetricsRequest = GetMetricsRequest;
2854
- type index$g_MetricsResponse = MetricsResponse;
2976
+ type index$g_GetLlmConnectionsRequest = GetLlmConnectionsRequest;
2977
+ declare const index$g_LlmAdapter: typeof LlmAdapter;
2978
+ type index$g_LlmConnection = LlmConnection;
2979
+ type index$g_PaginatedLlmConnections = PaginatedLlmConnections;
2980
+ type index$g_UpsertLlmConnectionRequest = UpsertLlmConnectionRequest;
2855
2981
  declare namespace index$g {
2856
- export type { index$g_GetMetricsRequest as GetMetricsRequest, index$g_MetricsResponse as MetricsResponse };
2982
+ export { type index$g_GetLlmConnectionsRequest as GetLlmConnectionsRequest, index$g_LlmAdapter as LlmAdapter, type index$g_LlmConnection as LlmConnection, type index$g_PaginatedLlmConnections as PaginatedLlmConnections, type index$g_UpsertLlmConnectionRequest as UpsertLlmConnectionRequest };
2857
2983
  }
2858
2984
 
2859
2985
  /**
2860
2986
  * This file was auto-generated by Fern from our API Definition.
2861
2987
  */
2862
-
2863
- interface PaginatedModels {
2864
- data: Model[];
2865
- meta: MetaResponse;
2988
+ interface GetMediaResponse {
2989
+ /** The unique langfuse identifier of a media record */
2990
+ mediaId: string;
2991
+ /** The MIME type of the media record */
2992
+ contentType: string;
2993
+ /** The size of the media record in bytes */
2994
+ contentLength: number;
2995
+ /** The date and time when the media record was uploaded */
2996
+ uploadedAt: string;
2997
+ /** The download URL of the media record */
2998
+ url: string;
2999
+ /** The expiry date and time of the media record download URL */
3000
+ urlExpiry: string;
2866
3001
  }
2867
3002
 
2868
3003
  /**
2869
3004
  * This file was auto-generated by Fern from our API Definition.
2870
3005
  */
2871
-
2872
- interface CreateModelRequest {
2873
- /** Name of the model definition. If multiple with the same name exist, they are applied in the following order: (1) custom over built-in, (2) newest according to startTime where model.startTime<observation.startTime */
2874
- modelName: string;
2875
- /** Regex pattern which matches this model definition to generation.model. Useful in case of fine-tuned models. If you want to exact match, use `(?i)^modelname$` */
2876
- matchPattern: string;
2877
- /** Apply only to generations which are newer than this ISO date. */
2878
- startDate?: string;
2879
- /** Unit used by this model. */
2880
- unit?: ModelUsageUnit;
2881
- /** Deprecated. Use 'pricingTiers' instead. Price (USD) per input unit. Creates a default tier if pricingTiers not provided. */
2882
- inputPrice?: number;
2883
- /** Deprecated. Use 'pricingTiers' instead. Price (USD) per output unit. Creates a default tier if pricingTiers not provided. */
2884
- outputPrice?: number;
2885
- /** Deprecated. Use 'pricingTiers' instead. Price (USD) per total units. Cannot be set if input or output price is set. Creates a default tier if pricingTiers not provided. */
2886
- totalPrice?: number;
2887
- /**
2888
- * Optional. Array of pricing tiers for this model.
2889
- *
2890
- * Use pricing tiers for all models - both those with threshold-based pricing variations and those with simple flat pricing:
2891
- *
2892
- * - For models with standard flat pricing: Create a single default tier with your prices
2893
- * (e.g., one tier with isDefault=true, priority=0, conditions=[], and your standard prices)
2894
- *
2895
- * - For models with threshold-based pricing: Create a default tier plus additional conditional tiers
2896
- * (e.g., default tier for standard usage + high-volume tier for usage above certain thresholds)
2897
- *
2898
- * Requirements:
2899
- * - Cannot be provided with flat prices (inputPrice/outputPrice/totalPrice) - use one approach or the other
2900
- * - Must include exactly one default tier with isDefault=true, priority=0, and conditions=[]
2901
- * - All tier names and priorities must be unique within the model
2902
- * - Each tier must define at least one price
2903
- *
2904
- * If omitted, you must provide flat prices instead (inputPrice/outputPrice/totalPrice),
2905
- * which will automatically create a single default tier named "Standard".
2906
- */
2907
- pricingTiers?: PricingTierInput[];
2908
- /** Optional. Tokenizer to be applied to observations which match to this model. See docs for more details. */
2909
- tokenizerId?: string;
2910
- /** Optional. Configuration for the selected tokenizer. Needs to be JSON. See docs for more details. */
2911
- tokenizerConfig?: unknown;
3006
+ interface PatchMediaBody {
3007
+ /** The date and time when the media record was uploaded */
3008
+ uploadedAt: string;
3009
+ /** The HTTP status code of the upload */
3010
+ uploadHttpStatus: number;
3011
+ /** The HTTP error message of the upload */
3012
+ uploadHttpError?: string;
3013
+ /** The time in milliseconds it took to upload the media record */
3014
+ uploadTimeMs?: number;
2912
3015
  }
2913
3016
 
2914
3017
  /**
2915
3018
  * This file was auto-generated by Fern from our API Definition.
2916
3019
  */
2917
- /**
2918
- * @example
2919
- * {}
2920
- */
2921
- interface GetModelsRequest {
2922
- /** page number, starts at 1 */
2923
- page?: number;
2924
- /** limit of items per page */
2925
- limit?: number;
3020
+
3021
+ interface GetMediaUploadUrlRequest {
3022
+ /** The trace ID associated with the media record */
3023
+ traceId: string;
3024
+ /** The observation ID associated with the media record. If the media record is associated directly with a trace, this will be null. */
3025
+ observationId?: string;
3026
+ contentType: MediaContentType;
3027
+ /** The size of the media record in bytes */
3028
+ contentLength: number;
3029
+ /** The SHA-256 hash of the media record */
3030
+ sha256Hash: string;
3031
+ /** The trace / observation field the media record is associated with. This can be one of `input`, `output`, `metadata` */
3032
+ field: string;
2926
3033
  }
2927
3034
 
2928
- type index$f_CreateModelRequest = CreateModelRequest;
2929
- type index$f_GetModelsRequest = GetModelsRequest;
2930
- type index$f_PaginatedModels = PaginatedModels;
2931
- declare namespace index$f {
2932
- export type { index$f_CreateModelRequest as CreateModelRequest, index$f_GetModelsRequest as GetModelsRequest, index$f_PaginatedModels as PaginatedModels };
3035
+ /**
3036
+ * This file was auto-generated by Fern from our API Definition.
3037
+ */
3038
+ interface GetMediaUploadUrlResponse {
3039
+ /** The presigned upload URL. If the asset is already uploaded, this will be null */
3040
+ uploadUrl?: string;
3041
+ /** The unique langfuse identifier of a media record */
3042
+ mediaId: string;
2933
3043
  }
2934
3044
 
2935
3045
  /**
2936
3046
  * This file was auto-generated by Fern from our API Definition.
2937
3047
  */
2938
-
2939
3048
  /**
2940
- * Response containing observations with field-group-based filtering and cursor-based pagination.
2941
- *
2942
- * The `data` array contains observation objects with only the requested field groups included.
2943
- * Use the `cursor` in `meta` to retrieve the next page of results.
3049
+ * The MIME type of the media record
2944
3050
  */
2945
- interface ObservationsV2Response {
2946
- /** Array of observation objects. Fields included depend on the `fields` parameter in the request. */
2947
- data: Record<string, unknown>[];
2948
- meta: ObservationsV2Meta;
3051
+ type MediaContentType = "image/png" | "image/jpeg" | "image/jpg" | "image/webp" | "image/gif" | "image/svg+xml" | "image/tiff" | "image/bmp" | "image/avif" | "image/heic" | "audio/mpeg" | "audio/mp3" | "audio/wav" | "audio/ogg" | "audio/oga" | "audio/aac" | "audio/mp4" | "audio/flac" | "audio/opus" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "video/mpeg" | "video/quicktime" | "video/x-msvideo" | "video/x-matroska" | "text/plain" | "text/html" | "text/css" | "text/csv" | "text/markdown" | "text/x-python" | "application/javascript" | "text/x-typescript" | "application/x-yaml" | "application/pdf" | "application/msword" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/zip" | "application/json" | "application/xml" | "application/octet-stream" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/rtf" | "application/x-ndjson" | "application/vnd.apache.parquet" | "application/gzip" | "application/x-tar" | "application/x-7z-compressed";
3052
+ declare const MediaContentType: {
3053
+ readonly ImagePng: "image/png";
3054
+ readonly ImageJpeg: "image/jpeg";
3055
+ readonly ImageJpg: "image/jpg";
3056
+ readonly ImageWebp: "image/webp";
3057
+ readonly ImageGif: "image/gif";
3058
+ readonly ImageSvgXml: "image/svg+xml";
3059
+ readonly ImageTiff: "image/tiff";
3060
+ readonly ImageBmp: "image/bmp";
3061
+ readonly ImageAvif: "image/avif";
3062
+ readonly ImageHeic: "image/heic";
3063
+ readonly AudioMpeg: "audio/mpeg";
3064
+ readonly AudioMp3: "audio/mp3";
3065
+ readonly AudioWav: "audio/wav";
3066
+ readonly AudioOgg: "audio/ogg";
3067
+ readonly AudioOga: "audio/oga";
3068
+ readonly AudioAac: "audio/aac";
3069
+ readonly AudioMp4: "audio/mp4";
3070
+ readonly AudioFlac: "audio/flac";
3071
+ readonly AudioOpus: "audio/opus";
3072
+ readonly AudioWebm: "audio/webm";
3073
+ readonly VideoMp4: "video/mp4";
3074
+ readonly VideoWebm: "video/webm";
3075
+ readonly VideoOgg: "video/ogg";
3076
+ readonly VideoMpeg: "video/mpeg";
3077
+ readonly VideoQuicktime: "video/quicktime";
3078
+ readonly VideoXMsvideo: "video/x-msvideo";
3079
+ readonly VideoXMatroska: "video/x-matroska";
3080
+ readonly TextPlain: "text/plain";
3081
+ readonly TextHtml: "text/html";
3082
+ readonly TextCss: "text/css";
3083
+ readonly TextCsv: "text/csv";
3084
+ readonly TextMarkdown: "text/markdown";
3085
+ readonly TextXPython: "text/x-python";
3086
+ readonly ApplicationJavascript: "application/javascript";
3087
+ readonly TextXTypescript: "text/x-typescript";
3088
+ readonly ApplicationXYaml: "application/x-yaml";
3089
+ readonly ApplicationPdf: "application/pdf";
3090
+ readonly ApplicationMsword: "application/msword";
3091
+ readonly ApplicationMsExcel: "application/vnd.ms-excel";
3092
+ readonly ApplicationOpenxmlSpreadsheet: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
3093
+ readonly ApplicationZip: "application/zip";
3094
+ readonly ApplicationJson: "application/json";
3095
+ readonly ApplicationXml: "application/xml";
3096
+ readonly ApplicationOctetStream: "application/octet-stream";
3097
+ readonly ApplicationOpenxmlWord: "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
3098
+ readonly ApplicationOpenxmlPresentation: "application/vnd.openxmlformats-officedocument.presentationml.presentation";
3099
+ readonly ApplicationRtf: "application/rtf";
3100
+ readonly ApplicationXNdjson: "application/x-ndjson";
3101
+ readonly ApplicationParquet: "application/vnd.apache.parquet";
3102
+ readonly ApplicationGzip: "application/gzip";
3103
+ readonly ApplicationXTar: "application/x-tar";
3104
+ readonly ApplicationX7ZCompressed: "application/x-7z-compressed";
3105
+ };
3106
+
3107
+ type index$f_GetMediaResponse = GetMediaResponse;
3108
+ type index$f_GetMediaUploadUrlRequest = GetMediaUploadUrlRequest;
3109
+ type index$f_GetMediaUploadUrlResponse = GetMediaUploadUrlResponse;
3110
+ declare const index$f_MediaContentType: typeof MediaContentType;
3111
+ type index$f_PatchMediaBody = PatchMediaBody;
3112
+ declare namespace index$f {
3113
+ export { type index$f_GetMediaResponse as GetMediaResponse, type index$f_GetMediaUploadUrlRequest as GetMediaUploadUrlRequest, type index$f_GetMediaUploadUrlResponse as GetMediaUploadUrlResponse, index$f_MediaContentType as MediaContentType, type index$f_PatchMediaBody as PatchMediaBody };
2949
3114
  }
2950
3115
 
2951
3116
  /**
2952
3117
  * This file was auto-generated by Fern from our API Definition.
2953
3118
  */
2954
- /**
2955
- * Metadata for cursor-based pagination
2956
- */
2957
- interface ObservationsV2Meta {
2958
- /** Base64-encoded cursor to use for retrieving the next page. If not present, there are no more results. */
2959
- cursor?: string;
3119
+ interface MetricsV2Response {
3120
+ /**
3121
+ * The metrics data. Each item in the list contains the metric values and dimensions requested in the query.
3122
+ * Format varies based on the query parameters.
3123
+ * Histograms will return an array with [lower, upper, height] tuples.
3124
+ */
3125
+ data: Record<string, unknown>[];
2960
3126
  }
2961
3127
 
2962
3128
  /**
2963
3129
  * This file was auto-generated by Fern from our API Definition.
2964
3130
  */
2965
-
2966
3131
  /**
2967
3132
  * @example
2968
- * {}
3133
+ * {
3134
+ * query: "query"
3135
+ * }
2969
3136
  */
2970
- interface GetObservationsV2Request {
2971
- /**
2972
- * Comma-separated list of field groups to include in the response.
2973
- * Available groups: core, basic, time, io, metadata, model, usage, prompt, metrics.
2974
- * If not specified, `core` and `basic` field groups are returned.
2975
- * Example: "basic,usage,model"
2976
- */
2977
- fields?: string;
2978
- /**
2979
- * Comma-separated list of metadata keys to return non-truncated.
2980
- * By default, metadata values over 200 characters are truncated.
2981
- * Use this parameter to retrieve full values for specific keys.
2982
- * Example: "key1,key2"
2983
- */
2984
- expandMetadata?: string;
2985
- /** Number of items to return per page. Maximum 1000, default 50. */
2986
- limit?: number;
2987
- /** Base64-encoded cursor for pagination. Use the cursor from the previous response to get the next page. */
2988
- cursor?: string;
2989
- /**
2990
- * Set to `true` to parse input/output fields as JSON, or `false` to return raw strings.
2991
- * Defaults to `false` if not provided.
2992
- */
2993
- parseIoAsJson?: boolean;
2994
- name?: string;
2995
- userId?: string;
2996
- /** Filter by observation type (e.g., "GENERATION", "SPAN", "EVENT", "AGENT", "TOOL", "CHAIN", "RETRIEVER", "EVALUATOR", "EMBEDDING", "GUARDRAIL") */
2997
- type?: string;
2998
- traceId?: string;
2999
- /** Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR"). */
3000
- level?: ObservationLevel;
3001
- parentObservationId?: string;
3002
- /** Optional filter for observations where the environment is one of the provided values. */
3003
- environment?: string | string[];
3004
- /** Retrieve only observations with a start_time on or after this datetime (ISO 8601). */
3005
- fromStartTime?: string;
3006
- /** Retrieve only observations with a start_time before this datetime (ISO 8601). */
3007
- toStartTime?: string;
3008
- /** Optional filter to only include observations with a certain version. */
3009
- version?: string;
3137
+ interface GetMetricsV2Request {
3010
3138
  /**
3011
- * JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, type, level, environment, fromStartTime, ...).
3012
- *
3013
- * ## Filter Structure
3014
- * Each filter condition has the following structure:
3015
- * ```json
3016
- * [
3017
- * {
3018
- * "type": string, // Required. One of: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null"
3019
- * "column": string, // Required. Column to filter on (see available columns below)
3020
- * "operator": string, // Required. Operator based on type:
3021
- * // - datetime: ">", "<", ">=", "<="
3022
- * // - string: "=", "contains", "does not contain", "starts with", "ends with"
3023
- * // - stringOptions: "any of", "none of"
3024
- * // - categoryOptions: "any of", "none of"
3025
- * // - arrayOptions: "any of", "none of", "all of"
3026
- * // - number: "=", ">", "<", ">=", "<="
3027
- * // - stringObject: "=", "contains", "does not contain", "starts with", "ends with"
3028
- * // - numberObject: "=", ">", "<", ">=", "<="
3029
- * // - boolean: "=", "<>"
3030
- * // - null: "is null", "is not null"
3031
- * "value": any, // Required (except for null type). Value to compare against. Type depends on filter type
3032
- * "key": string // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata
3033
- * }
3034
- * ]
3035
- * ```
3036
- *
3037
- * ## Available Columns
3038
- *
3039
- * ### Core Observation Fields
3040
- * - `id` (string) - Observation ID
3041
- * - `type` (string) - Observation type (SPAN, GENERATION, EVENT)
3042
- * - `name` (string) - Observation name
3043
- * - `traceId` (string) - Associated trace ID
3044
- * - `startTime` (datetime) - Observation start time
3045
- * - `endTime` (datetime) - Observation end time
3046
- * - `environment` (string) - Environment tag
3047
- * - `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)
3048
- * - `statusMessage` (string) - Status message
3049
- * - `version` (string) - Version tag
3050
- * - `userId` (string) - User ID
3051
- * - `sessionId` (string) - Session ID
3052
- *
3053
- * ### Trace-Related Fields
3054
- * - `traceName` (string) - Name of the parent trace
3055
- * - `traceTags` (arrayOptions) - Tags from the parent trace
3056
- * - `tags` (arrayOptions) - Alias for traceTags
3057
- *
3058
- * ### Performance Metrics
3059
- * - `latency` (number) - Latency in seconds (calculated: end_time - start_time)
3060
- * - `timeToFirstToken` (number) - Time to first token in seconds
3061
- * - `tokensPerSecond` (number) - Output tokens per second
3062
- *
3063
- * ### Token Usage
3064
- * - `inputTokens` (number) - Number of input tokens
3065
- * - `outputTokens` (number) - Number of output tokens
3066
- * - `totalTokens` (number) - Total tokens (alias: `tokens`)
3067
- *
3068
- * ### Cost Metrics
3069
- * - `inputCost` (number) - Input cost in USD
3070
- * - `outputCost` (number) - Output cost in USD
3071
- * - `totalCost` (number) - Total cost in USD
3072
- *
3073
- * ### Model Information
3074
- * - `model` (string) - Provided model name (alias: `providedModelName`)
3075
- * - `promptName` (string) - Associated prompt name
3076
- * - `promptVersion` (number) - Associated prompt version
3077
- *
3078
- * ### Structured Data
3079
- * - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.
3080
- *
3081
- * ## Filter Examples
3139
+ * JSON string containing the query parameters with the following structure:
3082
3140
  * ```json
3083
- * [
3084
- * {
3085
- * "type": "string",
3086
- * "column": "type",
3087
- * "operator": "=",
3088
- * "value": "GENERATION"
3089
- * },
3090
- * {
3091
- * "type": "number",
3092
- * "column": "latency",
3093
- * "operator": ">=",
3094
- * "value": 2.5
3141
+ * {
3142
+ * "view": string, // Required. One of "observations", "scores-numeric", "scores-categorical"
3143
+ * "dimensions": [ // Optional. Default: []
3144
+ * {
3145
+ * "field": string // Field to group by (see available dimensions above)
3146
+ * }
3147
+ * ],
3148
+ * "metrics": [ // Required. At least one metric must be provided
3149
+ * {
3150
+ * "measure": string, // What to measure (see available measures above)
3151
+ * "aggregation": string // How to aggregate: "sum", "avg", "count", "max", "min", "p50", "p75", "p90", "p95", "p99", "histogram"
3152
+ * }
3153
+ * ],
3154
+ * "filters": [ // Optional. Default: []
3155
+ * {
3156
+ * "column": string, // Column to filter on (any dimension field)
3157
+ * "operator": string, // Operator based on type:
3158
+ * // - datetime: ">", "<", ">=", "<="
3159
+ * // - string: "=", "contains", "does not contain", "starts with", "ends with"
3160
+ * // - stringOptions: "any of", "none of"
3161
+ * // - arrayOptions: "any of", "none of", "all of"
3162
+ * // - number: "=", ">", "<", ">=", "<="
3163
+ * // - stringObject/numberObject: same as string/number with required "key"
3164
+ * // - boolean: "=", "<>"
3165
+ * // - null: "is null", "is not null"
3166
+ * "value": any, // Value to compare against
3167
+ * "type": string, // Data type: "datetime", "string", "number", "stringOptions", "categoryOptions", "arrayOptions", "stringObject", "numberObject", "boolean", "null"
3168
+ * "key": string // Required only for stringObject/numberObject types (e.g., metadata filtering)
3169
+ * }
3170
+ * ],
3171
+ * "timeDimension": { // Optional. Default: null. If provided, results will be grouped by time
3172
+ * "granularity": string // One of "auto", "minute", "hour", "day", "week", "month"
3095
3173
  * },
3096
- * {
3097
- * "type": "stringObject",
3098
- * "column": "metadata",
3099
- * "key": "environment",
3100
- * "operator": "=",
3101
- * "value": "production"
3174
+ * "fromTimestamp": string, // Required. ISO datetime string for start of time range
3175
+ * "toTimestamp": string, // Required. ISO datetime string for end of time range (must be after fromTimestamp)
3176
+ * "orderBy": [ // Optional. Default: null
3177
+ * {
3178
+ * "field": string, // Field to order by (dimension or metric alias)
3179
+ * "direction": string // "asc" or "desc"
3180
+ * }
3181
+ * ],
3182
+ * "config": { // Optional. Query-specific configuration
3183
+ * "bins": number, // Optional. Number of bins for histogram aggregation (1-100), default: 10
3184
+ * "row_limit": number // Optional. Maximum number of rows to return (1-1000), default: 100
3102
3185
  * }
3103
- * ]
3186
+ * }
3104
3187
  * ```
3105
3188
  */
3106
- filter?: string;
3189
+ query: string;
3107
3190
  }
3108
3191
 
3109
- type index$e_GetObservationsV2Request = GetObservationsV2Request;
3110
- type index$e_ObservationsV2Meta = ObservationsV2Meta;
3111
- type index$e_ObservationsV2Response = ObservationsV2Response;
3192
+ type index$e_GetMetricsV2Request = GetMetricsV2Request;
3193
+ type index$e_MetricsV2Response = MetricsV2Response;
3112
3194
  declare namespace index$e {
3113
- export type { index$e_GetObservationsV2Request as GetObservationsV2Request, index$e_ObservationsV2Meta as ObservationsV2Meta, index$e_ObservationsV2Response as ObservationsV2Response };
3195
+ export type { index$e_GetMetricsV2Request as GetMetricsV2Request, index$e_MetricsV2Response as MetricsV2Response };
3114
3196
  }
3115
3197
 
3116
3198
  /**
3117
3199
  * This file was auto-generated by Fern from our API Definition.
3118
3200
  */
3119
3201
 
3120
- interface Observations$1 {
3121
- data: Observation[];
3202
+ interface PaginatedModels {
3203
+ data: Model[];
3122
3204
  meta: MetaResponse;
3123
3205
  }
3124
3206
 
@@ -3126,26 +3208,132 @@ interface Observations$1 {
3126
3208
  * This file was auto-generated by Fern from our API Definition.
3127
3209
  */
3128
3210
 
3129
- interface ObservationsViews {
3130
- data: ObservationsView[];
3131
- meta: MetaResponse;
3211
+ interface CreateModelRequest {
3212
+ /** Name of the model definition. If multiple with the same name exist, they are applied in the following order: (1) custom over built-in, (2) newest according to startTime where model.startTime<observation.startTime */
3213
+ modelName: string;
3214
+ /** Regex pattern which matches this model definition to generation.model. Useful in case of fine-tuned models. If you want to exact match, use `(?i)^modelname$` */
3215
+ matchPattern: string;
3216
+ /** Apply only to generations which are newer than this ISO date. */
3217
+ startDate?: string;
3218
+ /** Unit used by this model. */
3219
+ unit?: ModelUsageUnit;
3220
+ /** Deprecated. Use 'pricingTiers' instead. Price (USD) per input unit. Creates a default tier if pricingTiers not provided. */
3221
+ inputPrice?: number;
3222
+ /** Deprecated. Use 'pricingTiers' instead. Price (USD) per output unit. Creates a default tier if pricingTiers not provided. */
3223
+ outputPrice?: number;
3224
+ /** Deprecated. Use 'pricingTiers' instead. Price (USD) per total units. Cannot be set if input or output price is set. Creates a default tier if pricingTiers not provided. */
3225
+ totalPrice?: number;
3226
+ /**
3227
+ * Optional. Array of pricing tiers for this model.
3228
+ *
3229
+ * Use pricing tiers for all models - both those with threshold-based pricing variations and those with simple flat pricing:
3230
+ *
3231
+ * - For models with standard flat pricing: Create a single default tier with your prices
3232
+ * (e.g., one tier with isDefault=true, priority=0, conditions=[], and your standard prices)
3233
+ *
3234
+ * - For models with threshold-based pricing: Create a default tier plus additional conditional tiers
3235
+ * (e.g., default tier for standard usage + high-volume tier for usage above certain thresholds)
3236
+ *
3237
+ * Requirements:
3238
+ * - Cannot be provided with flat prices (inputPrice/outputPrice/totalPrice) - use one approach or the other
3239
+ * - Must include exactly one default tier with isDefault=true, priority=0, and conditions=[]
3240
+ * - All tier names and priorities must be unique within the model
3241
+ * - Each tier must define at least one price
3242
+ *
3243
+ * If omitted, you must provide flat prices instead (inputPrice/outputPrice/totalPrice),
3244
+ * which will automatically create a single default tier named "Standard".
3245
+ */
3246
+ pricingTiers?: PricingTierInput[];
3247
+ /** Optional. Tokenizer to be applied to observations which match to this model. See docs for more details. */
3248
+ tokenizerId?: string;
3249
+ /** Optional. Configuration for the selected tokenizer. Needs to be JSON. See docs for more details. */
3250
+ tokenizerConfig?: unknown;
3132
3251
  }
3133
3252
 
3134
3253
  /**
3135
3254
  * This file was auto-generated by Fern from our API Definition.
3136
3255
  */
3137
-
3138
3256
  /**
3139
3257
  * @example
3140
3258
  * {}
3141
3259
  */
3142
- interface GetObservationsRequest {
3143
- /** Page number, starts at 1. */
3260
+ interface GetModelsRequest {
3261
+ /** page number, starts at 1 */
3144
3262
  page?: number;
3145
- /** Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit. */
3263
+ /** limit of items per page */
3146
3264
  limit?: number;
3265
+ }
3266
+
3267
+ type index$d_CreateModelRequest = CreateModelRequest;
3268
+ type index$d_GetModelsRequest = GetModelsRequest;
3269
+ type index$d_PaginatedModels = PaginatedModels;
3270
+ declare namespace index$d {
3271
+ export type { index$d_CreateModelRequest as CreateModelRequest, index$d_GetModelsRequest as GetModelsRequest, index$d_PaginatedModels as PaginatedModels };
3272
+ }
3273
+
3274
+ /**
3275
+ * This file was auto-generated by Fern from our API Definition.
3276
+ */
3277
+
3278
+ /**
3279
+ * Response containing observations with field-group-based filtering and cursor-based pagination.
3280
+ *
3281
+ * The `data` array contains observation objects with only the requested field groups included.
3282
+ * Use the `cursor` in `meta` to retrieve the next page of results.
3283
+ */
3284
+ interface ObservationsV2Response {
3285
+ /** Array of observation objects. Fields included depend on the `fields` parameter in the request. */
3286
+ data: ObservationV2[];
3287
+ meta: ObservationsV2Meta;
3288
+ }
3289
+
3290
+ /**
3291
+ * This file was auto-generated by Fern from our API Definition.
3292
+ */
3293
+ /**
3294
+ * Metadata for cursor-based pagination
3295
+ */
3296
+ interface ObservationsV2Meta {
3297
+ /** Base64-encoded cursor to use for retrieving the next page. If not present, there are no more results. */
3298
+ cursor?: string;
3299
+ }
3300
+
3301
+ /**
3302
+ * This file was auto-generated by Fern from our API Definition.
3303
+ */
3304
+
3305
+ /**
3306
+ * @example
3307
+ * {}
3308
+ */
3309
+ interface GetObservationsV2Request {
3310
+ /**
3311
+ * Comma-separated list of field groups to include in the response.
3312
+ * Available groups: core, basic, time, io, metadata, model, usage, prompt, metrics.
3313
+ * If not specified, `core` and `basic` field groups are returned.
3314
+ * Example: "basic,usage,model"
3315
+ */
3316
+ fields?: string;
3317
+ /**
3318
+ * Comma-separated list of metadata keys to return non-truncated.
3319
+ * By default, metadata values over 200 characters are truncated.
3320
+ * Use this parameter to retrieve full values for specific keys.
3321
+ * Example: "key1,key2"
3322
+ */
3323
+ expandMetadata?: string;
3324
+ /** Number of items to return per page. Maximum 1000, default 50. */
3325
+ limit?: number;
3326
+ /** Base64-encoded cursor for pagination. Use the cursor from the previous response to get the next page. */
3327
+ cursor?: string;
3328
+ /**
3329
+ * **Deprecated.** Setting this to `true` will return a 400 error.
3330
+ * Input/output fields are always returned as raw strings.
3331
+ * Remove this parameter or set it to `false`.
3332
+ */
3333
+ parseIoAsJson?: boolean;
3147
3334
  name?: string;
3148
3335
  userId?: string;
3336
+ /** Filter by observation type (e.g., "GENERATION", "SPAN", "EVENT", "AGENT", "TOOL", "CHAIN", "RETRIEVER", "EVALUATOR", "EMBEDDING", "GUARDRAIL") */
3149
3337
  type?: string;
3150
3338
  traceId?: string;
3151
3339
  /** Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR"). */
@@ -3199,6 +3387,13 @@ interface GetObservationsRequest {
3199
3387
  * - `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)
3200
3388
  * - `statusMessage` (string) - Status message
3201
3389
  * - `version` (string) - Version tag
3390
+ * - `userId` (string) - User ID
3391
+ * - `sessionId` (string) - Session ID
3392
+ *
3393
+ * ### Trace-Related Fields
3394
+ * - `traceName` (string) - Name of the parent trace
3395
+ * - `traceTags` (arrayOptions) - Tags from the parent trace
3396
+ * - `tags` (arrayOptions) - Alias for traceTags
3202
3397
  *
3203
3398
  * ### Performance Metrics
3204
3399
  * - `latency` (number) - Latency in seconds (calculated: end_time - start_time)
@@ -3216,19 +3411,13 @@ interface GetObservationsRequest {
3216
3411
  * - `totalCost` (number) - Total cost in USD
3217
3412
  *
3218
3413
  * ### Model Information
3219
- * - `model` (string) - Provided model name
3414
+ * - `model` (string) - Provided model name (alias: `providedModelName`)
3220
3415
  * - `promptName` (string) - Associated prompt name
3221
3416
  * - `promptVersion` (number) - Associated prompt version
3222
3417
  *
3223
3418
  * ### Structured Data
3224
3419
  * - `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.
3225
3420
  *
3226
- * ### Associated Trace Fields (requires join with traces table)
3227
- * - `userId` (string) - User ID from associated trace
3228
- * - `traceName` (string) - Name from associated trace
3229
- * - `traceEnvironment` (string) - Environment from associated trace
3230
- * - `traceTags` (arrayOptions) - Tags from associated trace
3231
- *
3232
3421
  * ## Filter Examples
3233
3422
  * ```json
3234
3423
  * [
@@ -3257,10 +3446,11 @@ interface GetObservationsRequest {
3257
3446
  filter?: string;
3258
3447
  }
3259
3448
 
3260
- type index$d_GetObservationsRequest = GetObservationsRequest;
3261
- type index$d_ObservationsViews = ObservationsViews;
3262
- declare namespace index$d {
3263
- export type { index$d_GetObservationsRequest as GetObservationsRequest, Observations$1 as Observations, index$d_ObservationsViews as ObservationsViews };
3449
+ type index$c_GetObservationsV2Request = GetObservationsV2Request;
3450
+ type index$c_ObservationsV2Meta = ObservationsV2Meta;
3451
+ type index$c_ObservationsV2Response = ObservationsV2Response;
3452
+ declare namespace index$c {
3453
+ export type { index$c_GetObservationsV2Request as GetObservationsV2Request, index$c_ObservationsV2Meta as ObservationsV2Meta, index$c_ObservationsV2Response as ObservationsV2Response };
3264
3454
  }
3265
3455
 
3266
3456
  /**
@@ -3437,17 +3627,17 @@ interface OtelTraceRequest {
3437
3627
  resourceSpans: OtelResourceSpan[];
3438
3628
  }
3439
3629
 
3440
- type index$c_OtelAttribute = OtelAttribute;
3441
- type index$c_OtelAttributeValue = OtelAttributeValue;
3442
- type index$c_OtelResource = OtelResource;
3443
- type index$c_OtelResourceSpan = OtelResourceSpan;
3444
- type index$c_OtelScope = OtelScope;
3445
- type index$c_OtelScopeSpan = OtelScopeSpan;
3446
- type index$c_OtelSpan = OtelSpan;
3447
- type index$c_OtelTraceRequest = OtelTraceRequest;
3448
- type index$c_OtelTraceResponse = OtelTraceResponse;
3449
- declare namespace index$c {
3450
- export type { index$c_OtelAttribute as OtelAttribute, index$c_OtelAttributeValue as OtelAttributeValue, index$c_OtelResource as OtelResource, index$c_OtelResourceSpan as OtelResourceSpan, index$c_OtelScope as OtelScope, index$c_OtelScopeSpan as OtelScopeSpan, index$c_OtelSpan as OtelSpan, index$c_OtelTraceRequest as OtelTraceRequest, index$c_OtelTraceResponse as OtelTraceResponse };
3630
+ type index$b_OtelAttribute = OtelAttribute;
3631
+ type index$b_OtelAttributeValue = OtelAttributeValue;
3632
+ type index$b_OtelResource = OtelResource;
3633
+ type index$b_OtelResourceSpan = OtelResourceSpan;
3634
+ type index$b_OtelScope = OtelScope;
3635
+ type index$b_OtelScopeSpan = OtelScopeSpan;
3636
+ type index$b_OtelSpan = OtelSpan;
3637
+ type index$b_OtelTraceRequest = OtelTraceRequest;
3638
+ type index$b_OtelTraceResponse = OtelTraceResponse;
3639
+ declare namespace index$b {
3640
+ export type { index$b_OtelAttribute as OtelAttribute, index$b_OtelAttributeValue as OtelAttributeValue, index$b_OtelResource as OtelResource, index$b_OtelResourceSpan as OtelResourceSpan, index$b_OtelScope as OtelScope, index$b_OtelScopeSpan as OtelScopeSpan, index$b_OtelSpan as OtelSpan, index$b_OtelTraceRequest as OtelTraceRequest, index$b_OtelTraceResponse as OtelTraceResponse };
3451
3641
  }
3452
3642
 
3453
3643
  /**
@@ -3544,18 +3734,18 @@ interface OrganizationApiKeysResponse {
3544
3734
  apiKeys: OrganizationApiKey[];
3545
3735
  }
3546
3736
 
3547
- type index$b_DeleteMembershipRequest = DeleteMembershipRequest;
3548
- type index$b_MembershipDeletionResponse = MembershipDeletionResponse;
3549
- type index$b_MembershipRequest = MembershipRequest;
3550
- type index$b_MembershipResponse = MembershipResponse;
3551
- declare const index$b_MembershipRole: typeof MembershipRole;
3552
- type index$b_MembershipsResponse = MembershipsResponse;
3553
- type index$b_OrganizationApiKey = OrganizationApiKey;
3554
- type index$b_OrganizationApiKeysResponse = OrganizationApiKeysResponse;
3555
- type index$b_OrganizationProject = OrganizationProject;
3556
- type index$b_OrganizationProjectsResponse = OrganizationProjectsResponse;
3557
- declare namespace index$b {
3558
- export { type index$b_DeleteMembershipRequest as DeleteMembershipRequest, type index$b_MembershipDeletionResponse as MembershipDeletionResponse, type index$b_MembershipRequest as MembershipRequest, type index$b_MembershipResponse as MembershipResponse, index$b_MembershipRole as MembershipRole, type index$b_MembershipsResponse as MembershipsResponse, type index$b_OrganizationApiKey as OrganizationApiKey, type index$b_OrganizationApiKeysResponse as OrganizationApiKeysResponse, type index$b_OrganizationProject as OrganizationProject, type index$b_OrganizationProjectsResponse as OrganizationProjectsResponse };
3737
+ type index$a_DeleteMembershipRequest = DeleteMembershipRequest;
3738
+ type index$a_MembershipDeletionResponse = MembershipDeletionResponse;
3739
+ type index$a_MembershipRequest = MembershipRequest;
3740
+ type index$a_MembershipResponse = MembershipResponse;
3741
+ declare const index$a_MembershipRole: typeof MembershipRole;
3742
+ type index$a_MembershipsResponse = MembershipsResponse;
3743
+ type index$a_OrganizationApiKey = OrganizationApiKey;
3744
+ type index$a_OrganizationApiKeysResponse = OrganizationApiKeysResponse;
3745
+ type index$a_OrganizationProject = OrganizationProject;
3746
+ type index$a_OrganizationProjectsResponse = OrganizationProjectsResponse;
3747
+ declare namespace index$a {
3748
+ export { type index$a_DeleteMembershipRequest as DeleteMembershipRequest, type index$a_MembershipDeletionResponse as MembershipDeletionResponse, type index$a_MembershipRequest as MembershipRequest, type index$a_MembershipResponse as MembershipResponse, index$a_MembershipRole as MembershipRole, type index$a_MembershipsResponse as MembershipsResponse, type index$a_OrganizationApiKey as OrganizationApiKey, type index$a_OrganizationApiKeysResponse as OrganizationApiKeysResponse, type index$a_OrganizationProject as OrganizationProject, type index$a_OrganizationProjectsResponse as OrganizationProjectsResponse };
3559
3749
  }
3560
3750
 
3561
3751
  /**
@@ -3714,18 +3904,18 @@ interface CreateApiKeyRequest {
3714
3904
  secretKey?: string;
3715
3905
  }
3716
3906
 
3717
- type index$a_ApiKeyDeletionResponse = ApiKeyDeletionResponse;
3718
- type index$a_ApiKeyList = ApiKeyList;
3719
- type index$a_ApiKeyResponse = ApiKeyResponse;
3720
- type index$a_ApiKeySummary = ApiKeySummary;
3721
- type index$a_CreateApiKeyRequest = CreateApiKeyRequest;
3722
- type index$a_CreateProjectRequest = CreateProjectRequest;
3723
- type index$a_Organization = Organization;
3724
- type index$a_Project = Project;
3725
- type index$a_ProjectDeletionResponse = ProjectDeletionResponse;
3726
- type index$a_UpdateProjectRequest = UpdateProjectRequest;
3727
- declare namespace index$a {
3728
- export type { index$a_ApiKeyDeletionResponse as ApiKeyDeletionResponse, index$a_ApiKeyList as ApiKeyList, index$a_ApiKeyResponse as ApiKeyResponse, index$a_ApiKeySummary as ApiKeySummary, index$a_CreateApiKeyRequest as CreateApiKeyRequest, index$a_CreateProjectRequest as CreateProjectRequest, index$a_Organization as Organization, index$a_Project as Project, index$a_ProjectDeletionResponse as ProjectDeletionResponse, Projects$1 as Projects, index$a_UpdateProjectRequest as UpdateProjectRequest };
3907
+ type index$9_ApiKeyDeletionResponse = ApiKeyDeletionResponse;
3908
+ type index$9_ApiKeyList = ApiKeyList;
3909
+ type index$9_ApiKeyResponse = ApiKeyResponse;
3910
+ type index$9_ApiKeySummary = ApiKeySummary;
3911
+ type index$9_CreateApiKeyRequest = CreateApiKeyRequest;
3912
+ type index$9_CreateProjectRequest = CreateProjectRequest;
3913
+ type index$9_Organization = Organization;
3914
+ type index$9_Project = Project;
3915
+ type index$9_ProjectDeletionResponse = ProjectDeletionResponse;
3916
+ type index$9_UpdateProjectRequest = UpdateProjectRequest;
3917
+ declare namespace index$9 {
3918
+ export type { index$9_ApiKeyDeletionResponse as ApiKeyDeletionResponse, index$9_ApiKeyList as ApiKeyList, index$9_ApiKeyResponse as ApiKeyResponse, index$9_ApiKeySummary as ApiKeySummary, index$9_CreateApiKeyRequest as CreateApiKeyRequest, index$9_CreateProjectRequest as CreateProjectRequest, index$9_Organization as Organization, index$9_Project as Project, index$9_ProjectDeletionResponse as ProjectDeletionResponse, Projects$1 as Projects, index$9_UpdateProjectRequest as UpdateProjectRequest };
3729
3919
  }
3730
3920
 
3731
3921
  /**
@@ -3955,28 +4145,28 @@ interface DeletePromptRequest {
3955
4145
  version?: number;
3956
4146
  }
3957
4147
 
3958
- type index$9_BasePrompt = BasePrompt;
3959
- type index$9_ChatMessage = ChatMessage;
3960
- declare const index$9_ChatMessageType: typeof ChatMessageType;
3961
- type index$9_ChatMessageWithPlaceholders = ChatMessageWithPlaceholders;
3962
- type index$9_ChatPrompt = ChatPrompt;
3963
- type index$9_CreateChatPromptRequest = CreateChatPromptRequest;
3964
- declare const index$9_CreateChatPromptType: typeof CreateChatPromptType;
3965
- type index$9_CreatePromptRequest = CreatePromptRequest;
3966
- type index$9_CreateTextPromptRequest = CreateTextPromptRequest;
3967
- declare const index$9_CreateTextPromptType: typeof CreateTextPromptType;
3968
- type index$9_DeletePromptRequest = DeletePromptRequest;
3969
- type index$9_GetPromptRequest = GetPromptRequest;
3970
- type index$9_ListPromptsMetaRequest = ListPromptsMetaRequest;
3971
- type index$9_PlaceholderMessage = PlaceholderMessage;
3972
- declare const index$9_PlaceholderMessageType: typeof PlaceholderMessageType;
3973
- declare const index$9_Prompt: typeof Prompt;
3974
- type index$9_PromptMeta = PromptMeta;
3975
- type index$9_PromptMetaListResponse = PromptMetaListResponse;
3976
- declare const index$9_PromptType: typeof PromptType;
3977
- type index$9_TextPrompt = TextPrompt;
3978
- declare namespace index$9 {
3979
- export { type index$9_BasePrompt as BasePrompt, type index$9_ChatMessage as ChatMessage, index$9_ChatMessageType as ChatMessageType, type index$9_ChatMessageWithPlaceholders as ChatMessageWithPlaceholders, type index$9_ChatPrompt as ChatPrompt, type index$9_CreateChatPromptRequest as CreateChatPromptRequest, index$9_CreateChatPromptType as CreateChatPromptType, type index$9_CreatePromptRequest as CreatePromptRequest, type index$9_CreateTextPromptRequest as CreateTextPromptRequest, index$9_CreateTextPromptType as CreateTextPromptType, type index$9_DeletePromptRequest as DeletePromptRequest, type index$9_GetPromptRequest as GetPromptRequest, type index$9_ListPromptsMetaRequest as ListPromptsMetaRequest, type index$9_PlaceholderMessage as PlaceholderMessage, index$9_PlaceholderMessageType as PlaceholderMessageType, index$9_Prompt as Prompt, type index$9_PromptMeta as PromptMeta, type index$9_PromptMetaListResponse as PromptMetaListResponse, index$9_PromptType as PromptType, type index$9_TextPrompt as TextPrompt };
4148
+ type index$8_BasePrompt = BasePrompt;
4149
+ type index$8_ChatMessage = ChatMessage;
4150
+ declare const index$8_ChatMessageType: typeof ChatMessageType;
4151
+ type index$8_ChatMessageWithPlaceholders = ChatMessageWithPlaceholders;
4152
+ type index$8_ChatPrompt = ChatPrompt;
4153
+ type index$8_CreateChatPromptRequest = CreateChatPromptRequest;
4154
+ declare const index$8_CreateChatPromptType: typeof CreateChatPromptType;
4155
+ type index$8_CreatePromptRequest = CreatePromptRequest;
4156
+ type index$8_CreateTextPromptRequest = CreateTextPromptRequest;
4157
+ declare const index$8_CreateTextPromptType: typeof CreateTextPromptType;
4158
+ type index$8_DeletePromptRequest = DeletePromptRequest;
4159
+ type index$8_GetPromptRequest = GetPromptRequest;
4160
+ type index$8_ListPromptsMetaRequest = ListPromptsMetaRequest;
4161
+ type index$8_PlaceholderMessage = PlaceholderMessage;
4162
+ declare const index$8_PlaceholderMessageType: typeof PlaceholderMessageType;
4163
+ declare const index$8_Prompt: typeof Prompt;
4164
+ type index$8_PromptMeta = PromptMeta;
4165
+ type index$8_PromptMetaListResponse = PromptMetaListResponse;
4166
+ declare const index$8_PromptType: typeof PromptType;
4167
+ type index$8_TextPrompt = TextPrompt;
4168
+ declare namespace index$8 {
4169
+ export { type index$8_BasePrompt as BasePrompt, type index$8_ChatMessage as ChatMessage, index$8_ChatMessageType as ChatMessageType, type index$8_ChatMessageWithPlaceholders as ChatMessageWithPlaceholders, type index$8_ChatPrompt as ChatPrompt, type index$8_CreateChatPromptRequest as CreateChatPromptRequest, index$8_CreateChatPromptType as CreateChatPromptType, type index$8_CreatePromptRequest as CreatePromptRequest, type index$8_CreateTextPromptRequest as CreateTextPromptRequest, index$8_CreateTextPromptType as CreateTextPromptType, type index$8_DeletePromptRequest as DeletePromptRequest, type index$8_GetPromptRequest as GetPromptRequest, type index$8_ListPromptsMetaRequest as ListPromptsMetaRequest, type index$8_PlaceholderMessage as PlaceholderMessage, index$8_PlaceholderMessageType as PlaceholderMessageType, index$8_Prompt as Prompt, type index$8_PromptMeta as PromptMeta, type index$8_PromptMetaListResponse as PromptMetaListResponse, index$8_PromptType as PromptType, type index$8_TextPrompt as TextPrompt };
3980
4170
  }
3981
4171
 
3982
4172
  /**
@@ -4198,27 +4388,27 @@ interface CreateUserRequest {
4198
4388
  password?: string;
4199
4389
  }
4200
4390
 
4201
- type index$8_AuthenticationScheme = AuthenticationScheme;
4202
- type index$8_BulkConfig = BulkConfig;
4203
- type index$8_CreateUserRequest = CreateUserRequest;
4204
- type index$8_EmptyResponse = EmptyResponse;
4205
- type index$8_FilterConfig = FilterConfig;
4206
- type index$8_ListUsersRequest = ListUsersRequest;
4207
- type index$8_ResourceMeta = ResourceMeta;
4208
- type index$8_ResourceType = ResourceType;
4209
- type index$8_ResourceTypesResponse = ResourceTypesResponse;
4210
- type index$8_SchemaExtension = SchemaExtension;
4211
- type index$8_SchemaResource = SchemaResource;
4212
- type index$8_SchemasResponse = SchemasResponse;
4213
- type index$8_ScimEmail = ScimEmail;
4214
- type index$8_ScimFeatureSupport = ScimFeatureSupport;
4215
- type index$8_ScimName = ScimName;
4216
- type index$8_ScimUser = ScimUser;
4217
- type index$8_ScimUsersListResponse = ScimUsersListResponse;
4218
- type index$8_ServiceProviderConfig = ServiceProviderConfig;
4219
- type index$8_UserMeta = UserMeta;
4220
- declare namespace index$8 {
4221
- export type { index$8_AuthenticationScheme as AuthenticationScheme, index$8_BulkConfig as BulkConfig, index$8_CreateUserRequest as CreateUserRequest, index$8_EmptyResponse as EmptyResponse, index$8_FilterConfig as FilterConfig, index$8_ListUsersRequest as ListUsersRequest, index$8_ResourceMeta as ResourceMeta, index$8_ResourceType as ResourceType, index$8_ResourceTypesResponse as ResourceTypesResponse, index$8_SchemaExtension as SchemaExtension, index$8_SchemaResource as SchemaResource, index$8_SchemasResponse as SchemasResponse, index$8_ScimEmail as ScimEmail, index$8_ScimFeatureSupport as ScimFeatureSupport, index$8_ScimName as ScimName, index$8_ScimUser as ScimUser, index$8_ScimUsersListResponse as ScimUsersListResponse, index$8_ServiceProviderConfig as ServiceProviderConfig, index$8_UserMeta as UserMeta };
4391
+ type index$7_AuthenticationScheme = AuthenticationScheme;
4392
+ type index$7_BulkConfig = BulkConfig;
4393
+ type index$7_CreateUserRequest = CreateUserRequest;
4394
+ type index$7_EmptyResponse = EmptyResponse;
4395
+ type index$7_FilterConfig = FilterConfig;
4396
+ type index$7_ListUsersRequest = ListUsersRequest;
4397
+ type index$7_ResourceMeta = ResourceMeta;
4398
+ type index$7_ResourceType = ResourceType;
4399
+ type index$7_ResourceTypesResponse = ResourceTypesResponse;
4400
+ type index$7_SchemaExtension = SchemaExtension;
4401
+ type index$7_SchemaResource = SchemaResource;
4402
+ type index$7_SchemasResponse = SchemasResponse;
4403
+ type index$7_ScimEmail = ScimEmail;
4404
+ type index$7_ScimFeatureSupport = ScimFeatureSupport;
4405
+ type index$7_ScimName = ScimName;
4406
+ type index$7_ScimUser = ScimUser;
4407
+ type index$7_ScimUsersListResponse = ScimUsersListResponse;
4408
+ type index$7_ServiceProviderConfig = ServiceProviderConfig;
4409
+ type index$7_UserMeta = UserMeta;
4410
+ declare namespace index$7 {
4411
+ export type { index$7_AuthenticationScheme as AuthenticationScheme, index$7_BulkConfig as BulkConfig, index$7_CreateUserRequest as CreateUserRequest, index$7_EmptyResponse as EmptyResponse, index$7_FilterConfig as FilterConfig, index$7_ListUsersRequest as ListUsersRequest, index$7_ResourceMeta as ResourceMeta, index$7_ResourceType as ResourceType, index$7_ResourceTypesResponse as ResourceTypesResponse, index$7_SchemaExtension as SchemaExtension, index$7_SchemaResource as SchemaResource, index$7_SchemasResponse as SchemasResponse, index$7_ScimEmail as ScimEmail, index$7_ScimFeatureSupport as ScimFeatureSupport, index$7_ScimName as ScimName, index$7_ScimUser as ScimUser, index$7_ScimUsersListResponse as ScimUsersListResponse, index$7_ServiceProviderConfig as ServiceProviderConfig, index$7_UserMeta as UserMeta };
4222
4412
  }
4223
4413
 
4224
4414
  /**
@@ -4280,11 +4470,11 @@ interface GetScoreConfigsRequest {
4280
4470
  limit?: number;
4281
4471
  }
4282
4472
 
4283
- type index$7_CreateScoreConfigRequest = CreateScoreConfigRequest;
4284
- type index$7_GetScoreConfigsRequest = GetScoreConfigsRequest;
4285
- type index$7_UpdateScoreConfigRequest = UpdateScoreConfigRequest;
4286
- declare namespace index$7 {
4287
- export type { index$7_CreateScoreConfigRequest as CreateScoreConfigRequest, index$7_GetScoreConfigsRequest as GetScoreConfigsRequest, ScoreConfigs$1 as ScoreConfigs, index$7_UpdateScoreConfigRequest as UpdateScoreConfigRequest };
4473
+ type index$6_CreateScoreConfigRequest = CreateScoreConfigRequest;
4474
+ type index$6_GetScoreConfigsRequest = GetScoreConfigsRequest;
4475
+ type index$6_UpdateScoreConfigRequest = UpdateScoreConfigRequest;
4476
+ declare namespace index$6 {
4477
+ export type { index$6_CreateScoreConfigRequest as CreateScoreConfigRequest, index$6_GetScoreConfigsRequest as GetScoreConfigsRequest, ScoreConfigs$1 as ScoreConfigs, index$6_UpdateScoreConfigRequest as UpdateScoreConfigRequest };
4288
4478
  }
4289
4479
 
4290
4480
  /**
@@ -4297,6 +4487,8 @@ interface GetScoresResponseTraceData {
4297
4487
  tags?: string[];
4298
4488
  /** The environment of the trace referenced by score */
4299
4489
  environment?: string;
4490
+ /** The session ID associated with the trace referenced by score */
4491
+ sessionId?: string;
4300
4492
  }
4301
4493
 
4302
4494
  /**
@@ -4380,146 +4572,49 @@ interface GetScoresRequest {
4380
4572
  /** Optional filter to only include scores created on or after a certain datetime (ISO 8601) */
4381
4573
  fromTimestamp?: string;
4382
4574
  /** Optional filter to only include scores created before a certain datetime (ISO 8601) */
4383
- toTimestamp?: string;
4384
- /** Optional filter for scores where the environment is one of the provided values. */
4385
- environment?: string | string[];
4386
- /** Retrieve only scores from a specific source. */
4387
- source?: ScoreSource;
4388
- /** Retrieve only scores with <operator> value. */
4389
- operator?: string;
4390
- /** Retrieve only scores with <operator> value. */
4391
- value?: number;
4392
- /** Comma-separated list of score IDs to limit the results to. */
4393
- scoreIds?: string;
4394
- /** Retrieve only scores with a specific configId. */
4395
- configId?: string;
4396
- /** Retrieve only scores with a specific sessionId. */
4397
- sessionId?: string;
4398
- /** Retrieve only scores with a specific datasetRunId. */
4399
- datasetRunId?: string;
4400
- /** Retrieve only scores with a specific traceId. */
4401
- traceId?: string;
4402
- /** Comma-separated list of observation IDs to filter scores by. */
4403
- observationId?: string;
4404
- /** Retrieve only scores with a specific annotation queueId. */
4405
- queueId?: string;
4406
- /** Retrieve only scores with a specific dataType. */
4407
- dataType?: ScoreDataType;
4408
- /** Only scores linked to traces that include all of these tags will be returned. */
4409
- traceTags?: string | string[];
4410
- /** Comma-separated list of field groups to include in the response. Available field groups: 'score' (core score fields), 'trace' (trace properties: userId, tags, environment). If not specified, both 'score' and 'trace' are returned by default. Example: 'score' to exclude trace data, 'score,trace' to include both. Note: When filtering by trace properties (using userId or traceTags parameters), the 'trace' field group must be included, otherwise a 400 error will be returned. */
4411
- fields?: string;
4412
- }
4413
-
4414
- type index$6_GetScoresRequest = GetScoresRequest;
4415
- type index$6_GetScoresResponse = GetScoresResponse;
4416
- declare const index$6_GetScoresResponseData: typeof GetScoresResponseData;
4417
- type index$6_GetScoresResponseDataBoolean = GetScoresResponseDataBoolean;
4418
- type index$6_GetScoresResponseDataCategorical = GetScoresResponseDataCategorical;
4419
- type index$6_GetScoresResponseDataCorrection = GetScoresResponseDataCorrection;
4420
- type index$6_GetScoresResponseDataNumeric = GetScoresResponseDataNumeric;
4421
- type index$6_GetScoresResponseTraceData = GetScoresResponseTraceData;
4422
- declare namespace index$6 {
4423
- export { type index$6_GetScoresRequest as GetScoresRequest, type index$6_GetScoresResponse as GetScoresResponse, index$6_GetScoresResponseData as GetScoresResponseData, type index$6_GetScoresResponseDataBoolean as GetScoresResponseDataBoolean, type index$6_GetScoresResponseDataCategorical as GetScoresResponseDataCategorical, type index$6_GetScoresResponseDataCorrection as GetScoresResponseDataCorrection, type index$6_GetScoresResponseDataNumeric as GetScoresResponseDataNumeric, type index$6_GetScoresResponseTraceData as GetScoresResponseTraceData };
4424
- }
4425
-
4426
- /**
4427
- * This file was auto-generated by Fern from our API Definition.
4428
- */
4429
-
4430
- /**
4431
- * @example
4432
- * {
4433
- * name: "novelty",
4434
- * value: 0.9,
4435
- * traceId: "cdef-1234-5678-90ab"
4436
- * }
4437
- *
4438
- * @example
4439
- * {
4440
- * name: "consistency",
4441
- * value: 1.2,
4442
- * dataType: LangfuseAPI.ScoreDataType.Numeric,
4443
- * traceId: "cdef-1234-5678-90ab"
4444
- * }
4445
- *
4446
- * @example
4447
- * {
4448
- * name: "accuracy",
4449
- * value: 0.9,
4450
- * dataType: LangfuseAPI.ScoreDataType.Numeric,
4451
- * configId: "9203-4567-89ab-cdef",
4452
- * traceId: "cdef-1234-5678-90ab",
4453
- * environment: "test"
4454
- * }
4455
- *
4456
- * @example
4457
- * {
4458
- * name: "toxicity",
4459
- * value: "not toxic",
4460
- * traceId: "cdef-1234-5678-90ab",
4461
- * environment: "production"
4462
- * }
4463
- *
4464
- * @example
4465
- * {
4466
- * name: "correctness",
4467
- * value: "partially correct",
4468
- * dataType: LangfuseAPI.ScoreDataType.Categorical,
4469
- * configId: "1234-5678-90ab-cdef",
4470
- * traceId: "cdef-1234-5678-90ab"
4471
- * }
4472
- *
4473
- * @example
4474
- * {
4475
- * name: "hallucination",
4476
- * value: 0,
4477
- * dataType: LangfuseAPI.ScoreDataType.Boolean,
4478
- * traceId: "cdef-1234-5678-90ab"
4479
- * }
4480
- *
4481
- * @example
4482
- * {
4483
- * name: "helpfulness",
4484
- * value: 1,
4485
- * dataType: LangfuseAPI.ScoreDataType.Boolean,
4486
- * configId: "1234-5678-90ab-cdef",
4487
- * traceId: "cdef-1234-5678-90ab"
4488
- * }
4489
- */
4490
- interface CreateScoreRequest {
4491
- id?: string;
4492
- traceId?: string;
4575
+ toTimestamp?: string;
4576
+ /** Optional filter for scores where the environment is one of the provided values. */
4577
+ environment?: string | string[];
4578
+ /** Retrieve only scores from a specific source. */
4579
+ source?: ScoreSource;
4580
+ /** Retrieve only scores with <operator> value. */
4581
+ operator?: string;
4582
+ /** Retrieve only scores with <operator> value. */
4583
+ value?: number;
4584
+ /** Comma-separated list of score IDs to limit the results to. */
4585
+ scoreIds?: string;
4586
+ /** Retrieve only scores with a specific configId. */
4587
+ configId?: string;
4588
+ /** Retrieve only scores with a specific sessionId. */
4493
4589
  sessionId?: string;
4494
- observationId?: string;
4590
+ /** Retrieve only scores with a specific datasetRunId. */
4495
4591
  datasetRunId?: string;
4496
- name: string;
4497
- /** The value of the score. Must be passed as string for categorical scores, and numeric for boolean and numeric scores. Boolean score values must equal either 1 or 0 (true or false) */
4498
- value: CreateScoreValue;
4499
- comment?: string;
4500
- metadata?: Record<string, unknown>;
4501
- /** The environment of the score. Can be any lowercase alphanumeric string with hyphens and underscores that does not start with 'langfuse'. */
4502
- environment?: string;
4503
- /** The annotation queue referenced by the score. Indicates if score was initially created while processing annotation queue. */
4592
+ /** Retrieve only scores with a specific traceId. */
4593
+ traceId?: string;
4594
+ /** Comma-separated list of observation IDs to filter scores by. */
4595
+ observationId?: string;
4596
+ /** Retrieve only scores with a specific annotation queueId. */
4504
4597
  queueId?: string;
4505
- /** The data type of the score. When passing a configId this field is inferred. Otherwise, this field must be passed or will default to numeric. */
4598
+ /** Retrieve only scores with a specific dataType. */
4506
4599
  dataType?: ScoreDataType;
4507
- /** Reference a score config on a score. The unique langfuse identifier of a score config. When passing this field, the dataType and stringValue fields are automatically populated. */
4508
- configId?: string;
4509
- }
4510
-
4511
- /**
4512
- * This file was auto-generated by Fern from our API Definition.
4513
- */
4514
- interface CreateScoreResponse {
4515
- /** The id of the created object in Langfuse */
4516
- id: string;
4600
+ /** Only scores linked to traces that include all of these tags will be returned. */
4601
+ traceTags?: string | string[];
4602
+ /** Comma-separated list of field groups to include in the response. Available field groups: 'score' (core score fields), 'trace' (trace properties: userId, tags, environment, sessionId). If not specified, both 'score' and 'trace' are returned by default. Example: 'score' to exclude trace data, 'score,trace' to include both. Note: When filtering by trace properties (using userId or traceTags parameters), the 'trace' field group must be included, otherwise a 400 error will be returned. */
4603
+ fields?: string;
4604
+ /** A JSON stringified array of filter objects. Each object requires type, column, operator, and value. Supports filtering by score metadata using the stringObject type. Example: [{"type":"stringObject","column":"metadata","key":"user_id","operator":"=","value":"abc123"}]. Supported types: stringObject (metadata key-value filtering), string, number, datetime, stringOptions, arrayOptions. Supported operators for stringObject: =, contains, does not contain, starts with, ends with. */
4605
+ filter?: string;
4517
4606
  }
4518
4607
 
4519
- type index$5_CreateScoreRequest = CreateScoreRequest;
4520
- type index$5_CreateScoreResponse = CreateScoreResponse;
4608
+ type index$5_GetScoresRequest = GetScoresRequest;
4609
+ type index$5_GetScoresResponse = GetScoresResponse;
4610
+ declare const index$5_GetScoresResponseData: typeof GetScoresResponseData;
4611
+ type index$5_GetScoresResponseDataBoolean = GetScoresResponseDataBoolean;
4612
+ type index$5_GetScoresResponseDataCategorical = GetScoresResponseDataCategorical;
4613
+ type index$5_GetScoresResponseDataCorrection = GetScoresResponseDataCorrection;
4614
+ type index$5_GetScoresResponseDataNumeric = GetScoresResponseDataNumeric;
4615
+ type index$5_GetScoresResponseTraceData = GetScoresResponseTraceData;
4521
4616
  declare namespace index$5 {
4522
- export type { index$5_CreateScoreRequest as CreateScoreRequest, index$5_CreateScoreResponse as CreateScoreResponse };
4617
+ export { type index$5_GetScoresRequest as GetScoresRequest, type index$5_GetScoresResponse as GetScoresResponse, index$5_GetScoresResponseData as GetScoresResponseData, type index$5_GetScoresResponseDataBoolean as GetScoresResponseDataBoolean, type index$5_GetScoresResponseDataCategorical as GetScoresResponseDataCategorical, type index$5_GetScoresResponseDataCorrection as GetScoresResponseDataCorrection, type index$5_GetScoresResponseDataNumeric as GetScoresResponseDataNumeric, type index$5_GetScoresResponseTraceData as GetScoresResponseTraceData };
4523
4618
  }
4524
4619
 
4525
4620
  /**
@@ -5795,6 +5890,280 @@ declare class Ingestion {
5795
5890
  protected _getAuthorizationHeader(): Promise<string | undefined>;
5796
5891
  }
5797
5892
 
5893
+ /**
5894
+ * This file was auto-generated by Fern from our API Definition.
5895
+ */
5896
+
5897
+ declare namespace MetricsV1 {
5898
+ interface Options {
5899
+ environment: Supplier<string>;
5900
+ /** Specify a custom URL to connect the client to. */
5901
+ baseUrl?: Supplier<string>;
5902
+ username?: Supplier<string | undefined>;
5903
+ password?: Supplier<string | undefined>;
5904
+ /** Override the X-Langfuse-Sdk-Name header */
5905
+ xLangfuseSdkName?: Supplier<string | undefined>;
5906
+ /** Override the X-Langfuse-Sdk-Version header */
5907
+ xLangfuseSdkVersion?: Supplier<string | undefined>;
5908
+ /** Override the X-Langfuse-Public-Key header */
5909
+ xLangfusePublicKey?: Supplier<string | undefined>;
5910
+ /** Additional headers to include in requests. */
5911
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
5912
+ }
5913
+ interface RequestOptions {
5914
+ /** The maximum time to wait for a response in seconds. */
5915
+ timeoutInSeconds?: number;
5916
+ /** The number of times to retry the request. Defaults to 2. */
5917
+ maxRetries?: number;
5918
+ /** A hook to abort the request. */
5919
+ abortSignal?: AbortSignal;
5920
+ /** Override the X-Langfuse-Sdk-Name header */
5921
+ xLangfuseSdkName?: string | undefined;
5922
+ /** Override the X-Langfuse-Sdk-Version header */
5923
+ xLangfuseSdkVersion?: string | undefined;
5924
+ /** Override the X-Langfuse-Public-Key header */
5925
+ xLangfusePublicKey?: string | undefined;
5926
+ /** Additional query string parameters to include in the request. */
5927
+ queryParams?: Record<string, unknown>;
5928
+ /** Additional headers to include in the request. */
5929
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
5930
+ }
5931
+ }
5932
+ declare class MetricsV1 {
5933
+ protected readonly _options: MetricsV1.Options;
5934
+ constructor(_options: MetricsV1.Options);
5935
+ /**
5936
+ * Get metrics from the Langfuse project using a query object.
5937
+ *
5938
+ * Consider using the [v2 metrics endpoint](/api-reference#tag/metricsv2/GET/api/public/v2/metrics) for better performance.
5939
+ *
5940
+ * For more details, see the [Metrics API documentation](https://langfuse.com/docs/metrics/features/metrics-api).
5941
+ *
5942
+ * @param {LangfuseAPI.legacy.GetMetricsRequest} request
5943
+ * @param {MetricsV1.RequestOptions} requestOptions - Request-specific configuration.
5944
+ *
5945
+ * @throws {@link LangfuseAPI.Error}
5946
+ * @throws {@link LangfuseAPI.UnauthorizedError}
5947
+ * @throws {@link LangfuseAPI.AccessDeniedError}
5948
+ * @throws {@link LangfuseAPI.MethodNotAllowedError}
5949
+ * @throws {@link LangfuseAPI.NotFoundError}
5950
+ *
5951
+ * @example
5952
+ * await client.legacy.metricsV1.metrics({
5953
+ * query: "query"
5954
+ * })
5955
+ */
5956
+ metrics(request: GetMetricsRequest, requestOptions?: MetricsV1.RequestOptions): HttpResponsePromise<MetricsResponse>;
5957
+ private __metrics;
5958
+ protected _getAuthorizationHeader(): Promise<string | undefined>;
5959
+ }
5960
+
5961
+ /**
5962
+ * This file was auto-generated by Fern from our API Definition.
5963
+ */
5964
+
5965
+ declare namespace ObservationsV1 {
5966
+ interface Options {
5967
+ environment: Supplier<string>;
5968
+ /** Specify a custom URL to connect the client to. */
5969
+ baseUrl?: Supplier<string>;
5970
+ username?: Supplier<string | undefined>;
5971
+ password?: Supplier<string | undefined>;
5972
+ /** Override the X-Langfuse-Sdk-Name header */
5973
+ xLangfuseSdkName?: Supplier<string | undefined>;
5974
+ /** Override the X-Langfuse-Sdk-Version header */
5975
+ xLangfuseSdkVersion?: Supplier<string | undefined>;
5976
+ /** Override the X-Langfuse-Public-Key header */
5977
+ xLangfusePublicKey?: Supplier<string | undefined>;
5978
+ /** Additional headers to include in requests. */
5979
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
5980
+ }
5981
+ interface RequestOptions {
5982
+ /** The maximum time to wait for a response in seconds. */
5983
+ timeoutInSeconds?: number;
5984
+ /** The number of times to retry the request. Defaults to 2. */
5985
+ maxRetries?: number;
5986
+ /** A hook to abort the request. */
5987
+ abortSignal?: AbortSignal;
5988
+ /** Override the X-Langfuse-Sdk-Name header */
5989
+ xLangfuseSdkName?: string | undefined;
5990
+ /** Override the X-Langfuse-Sdk-Version header */
5991
+ xLangfuseSdkVersion?: string | undefined;
5992
+ /** Override the X-Langfuse-Public-Key header */
5993
+ xLangfusePublicKey?: string | undefined;
5994
+ /** Additional query string parameters to include in the request. */
5995
+ queryParams?: Record<string, unknown>;
5996
+ /** Additional headers to include in the request. */
5997
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
5998
+ }
5999
+ }
6000
+ declare class ObservationsV1 {
6001
+ protected readonly _options: ObservationsV1.Options;
6002
+ constructor(_options: ObservationsV1.Options);
6003
+ /**
6004
+ * Get a observation
6005
+ *
6006
+ * @param {string} observationId - The unique langfuse identifier of an observation, can be an event, span or generation
6007
+ * @param {ObservationsV1.RequestOptions} requestOptions - Request-specific configuration.
6008
+ *
6009
+ * @throws {@link LangfuseAPI.Error}
6010
+ * @throws {@link LangfuseAPI.UnauthorizedError}
6011
+ * @throws {@link LangfuseAPI.AccessDeniedError}
6012
+ * @throws {@link LangfuseAPI.MethodNotAllowedError}
6013
+ * @throws {@link LangfuseAPI.NotFoundError}
6014
+ *
6015
+ * @example
6016
+ * await client.legacy.observationsV1.get("observationId")
6017
+ */
6018
+ get(observationId: string, requestOptions?: ObservationsV1.RequestOptions): HttpResponsePromise<ObservationsView>;
6019
+ private __get;
6020
+ /**
6021
+ * Get a list of observations.
6022
+ *
6023
+ * Consider using the [v2 observations endpoint](/api-reference#tag/observationsv2/GET/api/public/v2/observations) for cursor-based pagination and field selection.
6024
+ *
6025
+ * @param {LangfuseAPI.legacy.GetObservationsRequest} request
6026
+ * @param {ObservationsV1.RequestOptions} requestOptions - Request-specific configuration.
6027
+ *
6028
+ * @throws {@link LangfuseAPI.Error}
6029
+ * @throws {@link LangfuseAPI.UnauthorizedError}
6030
+ * @throws {@link LangfuseAPI.AccessDeniedError}
6031
+ * @throws {@link LangfuseAPI.MethodNotAllowedError}
6032
+ * @throws {@link LangfuseAPI.NotFoundError}
6033
+ *
6034
+ * @example
6035
+ * await client.legacy.observationsV1.getMany()
6036
+ */
6037
+ getMany(request?: GetObservationsRequest, requestOptions?: ObservationsV1.RequestOptions): HttpResponsePromise<ObservationsViews>;
6038
+ private __getMany;
6039
+ protected _getAuthorizationHeader(): Promise<string | undefined>;
6040
+ }
6041
+
6042
+ /**
6043
+ * This file was auto-generated by Fern from our API Definition.
6044
+ */
6045
+
6046
+ declare namespace ScoreV1 {
6047
+ interface Options {
6048
+ environment: Supplier<string>;
6049
+ /** Specify a custom URL to connect the client to. */
6050
+ baseUrl?: Supplier<string>;
6051
+ username?: Supplier<string | undefined>;
6052
+ password?: Supplier<string | undefined>;
6053
+ /** Override the X-Langfuse-Sdk-Name header */
6054
+ xLangfuseSdkName?: Supplier<string | undefined>;
6055
+ /** Override the X-Langfuse-Sdk-Version header */
6056
+ xLangfuseSdkVersion?: Supplier<string | undefined>;
6057
+ /** Override the X-Langfuse-Public-Key header */
6058
+ xLangfusePublicKey?: Supplier<string | undefined>;
6059
+ /** Additional headers to include in requests. */
6060
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6061
+ }
6062
+ interface RequestOptions {
6063
+ /** The maximum time to wait for a response in seconds. */
6064
+ timeoutInSeconds?: number;
6065
+ /** The number of times to retry the request. Defaults to 2. */
6066
+ maxRetries?: number;
6067
+ /** A hook to abort the request. */
6068
+ abortSignal?: AbortSignal;
6069
+ /** Override the X-Langfuse-Sdk-Name header */
6070
+ xLangfuseSdkName?: string | undefined;
6071
+ /** Override the X-Langfuse-Sdk-Version header */
6072
+ xLangfuseSdkVersion?: string | undefined;
6073
+ /** Override the X-Langfuse-Public-Key header */
6074
+ xLangfusePublicKey?: string | undefined;
6075
+ /** Additional query string parameters to include in the request. */
6076
+ queryParams?: Record<string, unknown>;
6077
+ /** Additional headers to include in the request. */
6078
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6079
+ }
6080
+ }
6081
+ declare class ScoreV1 {
6082
+ protected readonly _options: ScoreV1.Options;
6083
+ constructor(_options: ScoreV1.Options);
6084
+ /**
6085
+ * Create a score (supports both trace and session scores)
6086
+ *
6087
+ * @param {LangfuseAPI.legacy.CreateScoreRequest} request
6088
+ * @param {ScoreV1.RequestOptions} requestOptions - Request-specific configuration.
6089
+ *
6090
+ * @throws {@link LangfuseAPI.Error}
6091
+ * @throws {@link LangfuseAPI.UnauthorizedError}
6092
+ * @throws {@link LangfuseAPI.AccessDeniedError}
6093
+ * @throws {@link LangfuseAPI.MethodNotAllowedError}
6094
+ * @throws {@link LangfuseAPI.NotFoundError}
6095
+ *
6096
+ * @example
6097
+ * await client.legacy.scoreV1.create({
6098
+ * id: undefined,
6099
+ * traceId: undefined,
6100
+ * sessionId: undefined,
6101
+ * observationId: undefined,
6102
+ * datasetRunId: undefined,
6103
+ * name: "name",
6104
+ * value: 1.1,
6105
+ * comment: undefined,
6106
+ * metadata: undefined,
6107
+ * environment: undefined,
6108
+ * queueId: undefined,
6109
+ * dataType: undefined,
6110
+ * configId: undefined
6111
+ * })
6112
+ */
6113
+ create(request: CreateScoreRequest, requestOptions?: ScoreV1.RequestOptions): HttpResponsePromise<CreateScoreResponse>;
6114
+ private __create;
6115
+ /**
6116
+ * Delete a score (supports both trace and session scores)
6117
+ *
6118
+ * @param {string} scoreId - The unique langfuse identifier of a score
6119
+ * @param {ScoreV1.RequestOptions} requestOptions - Request-specific configuration.
6120
+ *
6121
+ * @throws {@link LangfuseAPI.Error}
6122
+ * @throws {@link LangfuseAPI.UnauthorizedError}
6123
+ * @throws {@link LangfuseAPI.AccessDeniedError}
6124
+ * @throws {@link LangfuseAPI.MethodNotAllowedError}
6125
+ * @throws {@link LangfuseAPI.NotFoundError}
6126
+ *
6127
+ * @example
6128
+ * await client.legacy.scoreV1.delete("scoreId")
6129
+ */
6130
+ delete(scoreId: string, requestOptions?: ScoreV1.RequestOptions): HttpResponsePromise<void>;
6131
+ private __delete;
6132
+ protected _getAuthorizationHeader(): Promise<string | undefined>;
6133
+ }
6134
+
6135
+ /**
6136
+ * This file was auto-generated by Fern from our API Definition.
6137
+ */
6138
+
6139
+ declare namespace Legacy {
6140
+ interface Options {
6141
+ environment: Supplier<string>;
6142
+ /** Specify a custom URL to connect the client to. */
6143
+ baseUrl?: Supplier<string>;
6144
+ username?: Supplier<string | undefined>;
6145
+ password?: Supplier<string | undefined>;
6146
+ /** Override the X-Langfuse-Sdk-Name header */
6147
+ xLangfuseSdkName?: Supplier<string | undefined>;
6148
+ /** Override the X-Langfuse-Sdk-Version header */
6149
+ xLangfuseSdkVersion?: Supplier<string | undefined>;
6150
+ /** Override the X-Langfuse-Public-Key header */
6151
+ xLangfusePublicKey?: Supplier<string | undefined>;
6152
+ /** Additional headers to include in requests. */
6153
+ headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6154
+ }
6155
+ }
6156
+ declare class Legacy {
6157
+ protected readonly _options: Legacy.Options;
6158
+ protected _metricsV1: MetricsV1 | undefined;
6159
+ protected _observationsV1: ObservationsV1 | undefined;
6160
+ protected _scoreV1: ScoreV1 | undefined;
6161
+ constructor(_options: Legacy.Options);
6162
+ get metricsV1(): MetricsV1;
6163
+ get observationsV1(): ObservationsV1;
6164
+ get scoreV1(): ScoreV1;
6165
+ }
6166
+
5798
6167
  /**
5799
6168
  * This file was auto-generated by Fern from our API Definition.
5800
6169
  */
@@ -5996,7 +6365,7 @@ declare class Media {
5996
6365
  * This file was auto-generated by Fern from our API Definition.
5997
6366
  */
5998
6367
 
5999
- declare namespace MetricsV2 {
6368
+ declare namespace Metrics {
6000
6369
  interface Options {
6001
6370
  environment: Supplier<string>;
6002
6371
  /** Specify a custom URL to connect the client to. */
@@ -6031,9 +6400,9 @@ declare namespace MetricsV2 {
6031
6400
  headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6032
6401
  }
6033
6402
  }
6034
- declare class MetricsV2 {
6035
- protected readonly _options: MetricsV2.Options;
6036
- constructor(_options: MetricsV2.Options);
6403
+ declare class Metrics {
6404
+ protected readonly _options: Metrics.Options;
6405
+ constructor(_options: Metrics.Options);
6037
6406
  /**
6038
6407
  * Get metrics from the Langfuse project using a query object. V2 endpoint with optimized performance.
6039
6408
  *
@@ -6138,74 +6507,6 @@ declare class MetricsV2 {
6138
6507
  * - `auto` bins the data into approximately 50 buckets based on the time range
6139
6508
  *
6140
6509
  * @param {LangfuseAPI.GetMetricsV2Request} request
6141
- * @param {MetricsV2.RequestOptions} requestOptions - Request-specific configuration.
6142
- *
6143
- * @throws {@link LangfuseAPI.Error}
6144
- * @throws {@link LangfuseAPI.UnauthorizedError}
6145
- * @throws {@link LangfuseAPI.AccessDeniedError}
6146
- * @throws {@link LangfuseAPI.MethodNotAllowedError}
6147
- * @throws {@link LangfuseAPI.NotFoundError}
6148
- *
6149
- * @example
6150
- * await client.metricsV2.metrics({
6151
- * query: "query"
6152
- * })
6153
- */
6154
- metrics(request: GetMetricsV2Request, requestOptions?: MetricsV2.RequestOptions): HttpResponsePromise<MetricsV2Response>;
6155
- private __metrics;
6156
- protected _getAuthorizationHeader(): Promise<string | undefined>;
6157
- }
6158
-
6159
- /**
6160
- * This file was auto-generated by Fern from our API Definition.
6161
- */
6162
-
6163
- declare namespace Metrics {
6164
- interface Options {
6165
- environment: Supplier<string>;
6166
- /** Specify a custom URL to connect the client to. */
6167
- baseUrl?: Supplier<string>;
6168
- username?: Supplier<string | undefined>;
6169
- password?: Supplier<string | undefined>;
6170
- /** Override the X-Langfuse-Sdk-Name header */
6171
- xLangfuseSdkName?: Supplier<string | undefined>;
6172
- /** Override the X-Langfuse-Sdk-Version header */
6173
- xLangfuseSdkVersion?: Supplier<string | undefined>;
6174
- /** Override the X-Langfuse-Public-Key header */
6175
- xLangfusePublicKey?: Supplier<string | undefined>;
6176
- /** Additional headers to include in requests. */
6177
- headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6178
- }
6179
- interface RequestOptions {
6180
- /** The maximum time to wait for a response in seconds. */
6181
- timeoutInSeconds?: number;
6182
- /** The number of times to retry the request. Defaults to 2. */
6183
- maxRetries?: number;
6184
- /** A hook to abort the request. */
6185
- abortSignal?: AbortSignal;
6186
- /** Override the X-Langfuse-Sdk-Name header */
6187
- xLangfuseSdkName?: string | undefined;
6188
- /** Override the X-Langfuse-Sdk-Version header */
6189
- xLangfuseSdkVersion?: string | undefined;
6190
- /** Override the X-Langfuse-Public-Key header */
6191
- xLangfusePublicKey?: string | undefined;
6192
- /** Additional query string parameters to include in the request. */
6193
- queryParams?: Record<string, unknown>;
6194
- /** Additional headers to include in the request. */
6195
- headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6196
- }
6197
- }
6198
- declare class Metrics {
6199
- protected readonly _options: Metrics.Options;
6200
- constructor(_options: Metrics.Options);
6201
- /**
6202
- * Get metrics from the Langfuse project using a query object.
6203
- *
6204
- * Consider using the [v2 metrics endpoint](/api-reference#tag/metricsv2/GET/api/public/v2/metrics) for better performance.
6205
- *
6206
- * For more details, see the [Metrics API documentation](https://langfuse.com/docs/metrics/features/metrics-api).
6207
- *
6208
- * @param {LangfuseAPI.GetMetricsRequest} request
6209
6510
  * @param {Metrics.RequestOptions} requestOptions - Request-specific configuration.
6210
6511
  *
6211
6512
  * @throws {@link LangfuseAPI.Error}
@@ -6219,7 +6520,7 @@ declare class Metrics {
6219
6520
  * query: "query"
6220
6521
  * })
6221
6522
  */
6222
- metrics(request: GetMetricsRequest, requestOptions?: Metrics.RequestOptions): HttpResponsePromise<MetricsResponse>;
6523
+ metrics(request: GetMetricsV2Request, requestOptions?: Metrics.RequestOptions): HttpResponsePromise<MetricsV2Response>;
6223
6524
  private __metrics;
6224
6525
  protected _getAuthorizationHeader(): Promise<string | undefined>;
6225
6526
  }
@@ -6352,7 +6653,7 @@ declare class Models {
6352
6653
  * This file was auto-generated by Fern from our API Definition.
6353
6654
  */
6354
6655
 
6355
- declare namespace ObservationsV2 {
6656
+ declare namespace Observations {
6356
6657
  interface Options {
6357
6658
  environment: Supplier<string>;
6358
6659
  /** Specify a custom URL to connect the client to. */
@@ -6387,9 +6688,9 @@ declare namespace ObservationsV2 {
6387
6688
  headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6388
6689
  }
6389
6690
  }
6390
- declare class ObservationsV2 {
6391
- protected readonly _options: ObservationsV2.Options;
6392
- constructor(_options: ObservationsV2.Options);
6691
+ declare class Observations {
6692
+ protected readonly _options: Observations.Options;
6693
+ constructor(_options: Observations.Options);
6393
6694
  /**
6394
6695
  * Get a list of observations with cursor-based pagination and flexible field selection.
6395
6696
  *
@@ -6417,87 +6718,6 @@ declare class ObservationsV2 {
6417
6718
  * When using the `filter` parameter, it takes precedence over individual query parameter filters.
6418
6719
  *
6419
6720
  * @param {LangfuseAPI.GetObservationsV2Request} request
6420
- * @param {ObservationsV2.RequestOptions} requestOptions - Request-specific configuration.
6421
- *
6422
- * @throws {@link LangfuseAPI.Error}
6423
- * @throws {@link LangfuseAPI.UnauthorizedError}
6424
- * @throws {@link LangfuseAPI.AccessDeniedError}
6425
- * @throws {@link LangfuseAPI.MethodNotAllowedError}
6426
- * @throws {@link LangfuseAPI.NotFoundError}
6427
- *
6428
- * @example
6429
- * await client.observationsV2.getMany()
6430
- */
6431
- getMany(request?: GetObservationsV2Request, requestOptions?: ObservationsV2.RequestOptions): HttpResponsePromise<ObservationsV2Response>;
6432
- private __getMany;
6433
- protected _getAuthorizationHeader(): Promise<string | undefined>;
6434
- }
6435
-
6436
- /**
6437
- * This file was auto-generated by Fern from our API Definition.
6438
- */
6439
-
6440
- declare namespace Observations {
6441
- interface Options {
6442
- environment: Supplier<string>;
6443
- /** Specify a custom URL to connect the client to. */
6444
- baseUrl?: Supplier<string>;
6445
- username?: Supplier<string | undefined>;
6446
- password?: Supplier<string | undefined>;
6447
- /** Override the X-Langfuse-Sdk-Name header */
6448
- xLangfuseSdkName?: Supplier<string | undefined>;
6449
- /** Override the X-Langfuse-Sdk-Version header */
6450
- xLangfuseSdkVersion?: Supplier<string | undefined>;
6451
- /** Override the X-Langfuse-Public-Key header */
6452
- xLangfusePublicKey?: Supplier<string | undefined>;
6453
- /** Additional headers to include in requests. */
6454
- headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6455
- }
6456
- interface RequestOptions {
6457
- /** The maximum time to wait for a response in seconds. */
6458
- timeoutInSeconds?: number;
6459
- /** The number of times to retry the request. Defaults to 2. */
6460
- maxRetries?: number;
6461
- /** A hook to abort the request. */
6462
- abortSignal?: AbortSignal;
6463
- /** Override the X-Langfuse-Sdk-Name header */
6464
- xLangfuseSdkName?: string | undefined;
6465
- /** Override the X-Langfuse-Sdk-Version header */
6466
- xLangfuseSdkVersion?: string | undefined;
6467
- /** Override the X-Langfuse-Public-Key header */
6468
- xLangfusePublicKey?: string | undefined;
6469
- /** Additional query string parameters to include in the request. */
6470
- queryParams?: Record<string, unknown>;
6471
- /** Additional headers to include in the request. */
6472
- headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
6473
- }
6474
- }
6475
- declare class Observations {
6476
- protected readonly _options: Observations.Options;
6477
- constructor(_options: Observations.Options);
6478
- /**
6479
- * Get a observation
6480
- *
6481
- * @param {string} observationId - The unique langfuse identifier of an observation, can be an event, span or generation
6482
- * @param {Observations.RequestOptions} requestOptions - Request-specific configuration.
6483
- *
6484
- * @throws {@link LangfuseAPI.Error}
6485
- * @throws {@link LangfuseAPI.UnauthorizedError}
6486
- * @throws {@link LangfuseAPI.AccessDeniedError}
6487
- * @throws {@link LangfuseAPI.MethodNotAllowedError}
6488
- * @throws {@link LangfuseAPI.NotFoundError}
6489
- *
6490
- * @example
6491
- * await client.observations.get("observationId")
6492
- */
6493
- get(observationId: string, requestOptions?: Observations.RequestOptions): HttpResponsePromise<ObservationsView>;
6494
- private __get;
6495
- /**
6496
- * Get a list of observations.
6497
- *
6498
- * Consider using the [v2 observations endpoint](/api-reference#tag/observationsv2/GET/api/public/v2/observations) for cursor-based pagination and field selection.
6499
- *
6500
- * @param {LangfuseAPI.GetObservationsRequest} request
6501
6721
  * @param {Observations.RequestOptions} requestOptions - Request-specific configuration.
6502
6722
  *
6503
6723
  * @throws {@link LangfuseAPI.Error}
@@ -6509,7 +6729,7 @@ declare class Observations {
6509
6729
  * @example
6510
6730
  * await client.observations.getMany()
6511
6731
  */
6512
- getMany(request?: GetObservationsRequest, requestOptions?: Observations.RequestOptions): HttpResponsePromise<ObservationsViews>;
6732
+ getMany(request?: GetObservationsV2Request, requestOptions?: Observations.RequestOptions): HttpResponsePromise<ObservationsV2Response>;
6513
6733
  private __getMany;
6514
6734
  protected _getAuthorizationHeader(): Promise<string | undefined>;
6515
6735
  }
@@ -7496,7 +7716,7 @@ declare class ScoreConfigs {
7496
7716
  * This file was auto-generated by Fern from our API Definition.
7497
7717
  */
7498
7718
 
7499
- declare namespace ScoreV2 {
7719
+ declare namespace Scores {
7500
7720
  interface Options {
7501
7721
  environment: Supplier<string>;
7502
7722
  /** Specify a custom URL to connect the client to. */
@@ -7531,14 +7751,14 @@ declare namespace ScoreV2 {
7531
7751
  headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
7532
7752
  }
7533
7753
  }
7534
- declare class ScoreV2 {
7535
- protected readonly _options: ScoreV2.Options;
7536
- constructor(_options: ScoreV2.Options);
7754
+ declare class Scores {
7755
+ protected readonly _options: Scores.Options;
7756
+ constructor(_options: Scores.Options);
7537
7757
  /**
7538
7758
  * Get a list of scores (supports both trace and session scores)
7539
7759
  *
7540
7760
  * @param {LangfuseAPI.GetScoresRequest} request
7541
- * @param {ScoreV2.RequestOptions} requestOptions - Request-specific configuration.
7761
+ * @param {Scores.RequestOptions} requestOptions - Request-specific configuration.
7542
7762
  *
7543
7763
  * @throws {@link LangfuseAPI.Error}
7544
7764
  * @throws {@link LangfuseAPI.UnauthorizedError}
@@ -7547,15 +7767,15 @@ declare class ScoreV2 {
7547
7767
  * @throws {@link LangfuseAPI.NotFoundError}
7548
7768
  *
7549
7769
  * @example
7550
- * await client.scoreV2.get()
7770
+ * await client.scores.getMany()
7551
7771
  */
7552
- get(request?: GetScoresRequest, requestOptions?: ScoreV2.RequestOptions): HttpResponsePromise<GetScoresResponse>;
7553
- private __get;
7772
+ getMany(request?: GetScoresRequest, requestOptions?: Scores.RequestOptions): HttpResponsePromise<GetScoresResponse>;
7773
+ private __getMany;
7554
7774
  /**
7555
7775
  * Get a score (supports both trace and session scores)
7556
7776
  *
7557
7777
  * @param {string} scoreId - The unique langfuse identifier of a score
7558
- * @param {ScoreV2.RequestOptions} requestOptions - Request-specific configuration.
7778
+ * @param {Scores.RequestOptions} requestOptions - Request-specific configuration.
7559
7779
  *
7560
7780
  * @throws {@link LangfuseAPI.Error}
7561
7781
  * @throws {@link LangfuseAPI.UnauthorizedError}
@@ -7564,106 +7784,13 @@ declare class ScoreV2 {
7564
7784
  * @throws {@link LangfuseAPI.NotFoundError}
7565
7785
  *
7566
7786
  * @example
7567
- * await client.scoreV2.getById("scoreId")
7787
+ * await client.scores.getById("scoreId")
7568
7788
  */
7569
- getById(scoreId: string, requestOptions?: ScoreV2.RequestOptions): HttpResponsePromise<Score$1>;
7789
+ getById(scoreId: string, requestOptions?: Scores.RequestOptions): HttpResponsePromise<Score>;
7570
7790
  private __getById;
7571
7791
  protected _getAuthorizationHeader(): Promise<string | undefined>;
7572
7792
  }
7573
7793
 
7574
- /**
7575
- * This file was auto-generated by Fern from our API Definition.
7576
- */
7577
-
7578
- declare namespace Score {
7579
- interface Options {
7580
- environment: Supplier<string>;
7581
- /** Specify a custom URL to connect the client to. */
7582
- baseUrl?: Supplier<string>;
7583
- username?: Supplier<string | undefined>;
7584
- password?: Supplier<string | undefined>;
7585
- /** Override the X-Langfuse-Sdk-Name header */
7586
- xLangfuseSdkName?: Supplier<string | undefined>;
7587
- /** Override the X-Langfuse-Sdk-Version header */
7588
- xLangfuseSdkVersion?: Supplier<string | undefined>;
7589
- /** Override the X-Langfuse-Public-Key header */
7590
- xLangfusePublicKey?: Supplier<string | undefined>;
7591
- /** Additional headers to include in requests. */
7592
- headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
7593
- }
7594
- interface RequestOptions {
7595
- /** The maximum time to wait for a response in seconds. */
7596
- timeoutInSeconds?: number;
7597
- /** The number of times to retry the request. Defaults to 2. */
7598
- maxRetries?: number;
7599
- /** A hook to abort the request. */
7600
- abortSignal?: AbortSignal;
7601
- /** Override the X-Langfuse-Sdk-Name header */
7602
- xLangfuseSdkName?: string | undefined;
7603
- /** Override the X-Langfuse-Sdk-Version header */
7604
- xLangfuseSdkVersion?: string | undefined;
7605
- /** Override the X-Langfuse-Public-Key header */
7606
- xLangfusePublicKey?: string | undefined;
7607
- /** Additional query string parameters to include in the request. */
7608
- queryParams?: Record<string, unknown>;
7609
- /** Additional headers to include in the request. */
7610
- headers?: Record<string, string | Supplier<string | null | undefined> | null | undefined>;
7611
- }
7612
- }
7613
- declare class Score {
7614
- protected readonly _options: Score.Options;
7615
- constructor(_options: Score.Options);
7616
- /**
7617
- * Create a score (supports both trace and session scores)
7618
- *
7619
- * @param {LangfuseAPI.CreateScoreRequest} request
7620
- * @param {Score.RequestOptions} requestOptions - Request-specific configuration.
7621
- *
7622
- * @throws {@link LangfuseAPI.Error}
7623
- * @throws {@link LangfuseAPI.UnauthorizedError}
7624
- * @throws {@link LangfuseAPI.AccessDeniedError}
7625
- * @throws {@link LangfuseAPI.MethodNotAllowedError}
7626
- * @throws {@link LangfuseAPI.NotFoundError}
7627
- *
7628
- * @example
7629
- * await client.score.create({
7630
- * id: undefined,
7631
- * traceId: undefined,
7632
- * sessionId: undefined,
7633
- * observationId: undefined,
7634
- * datasetRunId: undefined,
7635
- * name: "name",
7636
- * value: 1.1,
7637
- * comment: undefined,
7638
- * metadata: undefined,
7639
- * environment: undefined,
7640
- * queueId: undefined,
7641
- * dataType: undefined,
7642
- * configId: undefined
7643
- * })
7644
- */
7645
- create(request: CreateScoreRequest, requestOptions?: Score.RequestOptions): HttpResponsePromise<CreateScoreResponse>;
7646
- private __create;
7647
- /**
7648
- * Delete a score (supports both trace and session scores)
7649
- *
7650
- * @param {string} scoreId - The unique langfuse identifier of a score
7651
- * @param {Score.RequestOptions} requestOptions - Request-specific configuration.
7652
- *
7653
- * @throws {@link LangfuseAPI.Error}
7654
- * @throws {@link LangfuseAPI.UnauthorizedError}
7655
- * @throws {@link LangfuseAPI.AccessDeniedError}
7656
- * @throws {@link LangfuseAPI.MethodNotAllowedError}
7657
- * @throws {@link LangfuseAPI.NotFoundError}
7658
- *
7659
- * @example
7660
- * await client.score.delete("scoreId")
7661
- */
7662
- delete(scoreId: string, requestOptions?: Score.RequestOptions): HttpResponsePromise<void>;
7663
- private __delete;
7664
- protected _getAuthorizationHeader(): Promise<string | undefined>;
7665
- }
7666
-
7667
7794
  /**
7668
7795
  * This file was auto-generated by Fern from our API Definition.
7669
7796
  */
@@ -7907,12 +8034,11 @@ declare class LangfuseAPIClient {
7907
8034
  protected _datasets: Datasets | undefined;
7908
8035
  protected _health: Health | undefined;
7909
8036
  protected _ingestion: Ingestion | undefined;
8037
+ protected _legacy: Legacy | undefined;
7910
8038
  protected _llmConnections: LlmConnections | undefined;
7911
8039
  protected _media: Media | undefined;
7912
- protected _metricsV2: MetricsV2 | undefined;
7913
8040
  protected _metrics: Metrics | undefined;
7914
8041
  protected _models: Models | undefined;
7915
- protected _observationsV2: ObservationsV2 | undefined;
7916
8042
  protected _observations: Observations | undefined;
7917
8043
  protected _opentelemetry: Opentelemetry | undefined;
7918
8044
  protected _organizations: Organizations | undefined;
@@ -7921,8 +8047,7 @@ declare class LangfuseAPIClient {
7921
8047
  protected _prompts: Prompts | undefined;
7922
8048
  protected _scim: Scim | undefined;
7923
8049
  protected _scoreConfigs: ScoreConfigs | undefined;
7924
- protected _scoreV2: ScoreV2 | undefined;
7925
- protected _score: Score | undefined;
8050
+ protected _scores: Scores | undefined;
7926
8051
  protected _sessions: Sessions | undefined;
7927
8052
  protected _trace: Trace | undefined;
7928
8053
  constructor(_options: LangfuseAPIClient.Options);
@@ -7934,12 +8059,11 @@ declare class LangfuseAPIClient {
7934
8059
  get datasets(): Datasets;
7935
8060
  get health(): Health;
7936
8061
  get ingestion(): Ingestion;
8062
+ get legacy(): Legacy;
7937
8063
  get llmConnections(): LlmConnections;
7938
8064
  get media(): Media;
7939
- get metricsV2(): MetricsV2;
7940
8065
  get metrics(): Metrics;
7941
8066
  get models(): Models;
7942
- get observationsV2(): ObservationsV2;
7943
8067
  get observations(): Observations;
7944
8068
  get opentelemetry(): Opentelemetry;
7945
8069
  get organizations(): Organizations;
@@ -7948,8 +8072,7 @@ declare class LangfuseAPIClient {
7948
8072
  get prompts(): Prompts;
7949
8073
  get scim(): Scim;
7950
8074
  get scoreConfigs(): ScoreConfigs;
7951
- get scoreV2(): ScoreV2;
7952
- get score(): Score;
8075
+ get scores(): Scores;
7953
8076
  get sessions(): Sessions;
7954
8077
  get trace(): Trace;
7955
8078
  }
@@ -8321,4 +8444,4 @@ interface PropagateAttributesParams {
8321
8444
  declare function propagateAttributes<A extends unknown[], F extends (...args: A) => ReturnType<F>>(params: PropagateAttributesParams, fn: F): ReturnType<F>;
8322
8445
  declare function getPropagatedAttributesFromContext(context: Context): Record<string, string | string[]>;
8323
8446
 
8324
- export { AccessDeniedError, type AnnotationQueue, type AnnotationQueueAssignmentRequest, type AnnotationQueueItem, AnnotationQueueObjectType, AnnotationQueueStatus, type ApiKeyDeletionResponse, type ApiKeyList, type ApiKeyResponse, type ApiKeySummary, type AuthenticationScheme, type BaseEvent, type BasePrompt, type BaseScore, type BaseScoreV1, BlobStorageExportFrequency, BlobStorageExportMode, type BlobStorageIntegrationDeletionResponse, BlobStorageIntegrationFileType, type BlobStorageIntegrationResponse, BlobStorageIntegrationType, type BlobStorageIntegrationsResponse, type BooleanScore, type BooleanScoreV1, type BulkConfig, type CategoricalScore, type CategoricalScoreV1, type ChatMessage, ChatMessageType, type ChatMessageWithPlaceholders, type ChatPrompt, type Comment, CommentObjectType, type ConfigCategory, type CorrectionScore, type CreateAnnotationQueueAssignmentResponse, type CreateAnnotationQueueItemRequest, type CreateAnnotationQueueRequest, type CreateApiKeyRequest, type CreateBlobStorageIntegrationRequest, type CreateChatPromptRequest, CreateChatPromptType, type CreateCommentRequest, type CreateCommentResponse, type CreateDatasetItemRequest, type CreateDatasetRequest, type CreateDatasetRunItemRequest, type CreateEventBody, type CreateEventEvent, type CreateGenerationBody, type CreateGenerationEvent, type CreateModelRequest, type CreateObservationEvent, type CreateProjectRequest, type CreatePromptRequest, type CreateScoreConfigRequest, type CreateScoreRequest, type CreateScoreResponse, type CreateScoreValue, type CreateSpanBody, type CreateSpanEvent, type CreateTextPromptRequest, CreateTextPromptType, type CreateUserRequest, type Dataset, type DatasetItem, type DatasetRun, type DatasetRunItem, type DatasetRunWithItems, DatasetStatus, type DeleteAnnotationQueueAssignmentResponse, type DeleteAnnotationQueueItemResponse, type DeleteDatasetItemResponse, type DeleteDatasetRunResponse, type DeleteMembershipRequest, type DeletePromptRequest, type DeleteTraceResponse, type DeleteTracesRequest, type EmptyResponse, Error$1 as Error, type FilterConfig, type GetAnnotationQueueItemsRequest, type GetAnnotationQueuesRequest, type GetCommentsRequest, type GetCommentsResponse, type GetDatasetItemsRequest, type GetDatasetRunsRequest, type GetDatasetsRequest, type GetLlmConnectionsRequest, type GetMediaResponse, type GetMediaUploadUrlRequest, type GetMediaUploadUrlResponse, type GetMetricsRequest, type GetMetricsV2Request, type GetModelsRequest, type GetObservationsRequest, type GetObservationsV2Request, type GetPromptRequest, type GetScoreConfigsRequest, type GetScoresRequest, type GetScoresResponse, GetScoresResponseData, type GetScoresResponseDataBoolean, type GetScoresResponseDataCategorical, type GetScoresResponseDataCorrection, type GetScoresResponseDataNumeric, type GetScoresResponseTraceData, type GetSessionsRequest, type GetTracesRequest, type HealthResponse, type IngestionError, IngestionEvent, type IngestionRequest, type IngestionResponse, type IngestionSuccess, type IngestionUsage, LANGFUSE_SDK_EXPERIMENT_ENVIRONMENT, LANGFUSE_SDK_NAME, LANGFUSE_SDK_VERSION, LANGFUSE_TRACER_NAME, LangfuseAPIClient, LangfuseAPIError, LangfuseAPITimeoutError, LangfuseMedia, type LangfuseMediaParams, LangfuseOtelContextKeys, LangfuseOtelSpanAttributes, type ListDatasetRunItemsRequest, type ListPromptsMetaRequest, type ListUsersRequest, LlmAdapter, type LlmConnection, LogLevel, Logger, type LoggerConfig, type MapValue, MediaContentType, type MembershipDeletionResponse, type MembershipRequest, type MembershipResponse, MembershipRole, type MembershipsResponse, MethodNotAllowedError, type MetricsResponse, type MetricsV2Response, type Model, type ModelPrice, ModelUsageUnit, NotFoundError, type NumericScore, type NumericScoreV1, type Observation, type ObservationBody, ObservationLevel, ObservationType, type Observations$1 as Observations, type ObservationsV2Meta, type ObservationsV2Response, type ObservationsView, type ObservationsViews, type OpenAiCompletionUsageSchema, type OpenAiResponseUsageSchema, type OpenAiUsage, type OptionalObservationBody, type Organization, type OrganizationApiKey, type OrganizationApiKeysResponse, type OrganizationProject, type OrganizationProjectsResponse, type OtelAttribute, type OtelAttributeValue, type OtelResource, type OtelResourceSpan, type OtelScope, type OtelScopeSpan, type OtelSpan, type OtelTraceRequest, type OtelTraceResponse, type PaginatedAnnotationQueueItems, type PaginatedAnnotationQueues, type PaginatedDatasetItems, type PaginatedDatasetRunItems, type PaginatedDatasetRuns, type PaginatedDatasets, type PaginatedLlmConnections, type PaginatedModels, type PaginatedSessions, type ParsedMediaReference, type PatchMediaBody, type PlaceholderMessage, PlaceholderMessageType, type PricingTier, type PricingTierCondition, type PricingTierInput, PricingTierOperator, type Project, type ProjectDeletionResponse, type Projects$1 as Projects, Prompt, type PromptMeta, type PromptMetaListResponse, PromptType, type PropagateAttributesParams, type ResourceMeta, type ResourceType, type ResourceTypesResponse, type SchemaExtension, type SchemaResource, type SchemasResponse, type ScimEmail, type ScimFeatureSupport, type ScimName, type ScimUser, type ScimUsersListResponse, Score$1 as Score, type ScoreBody, type ScoreConfig, ScoreConfigDataType, type ScoreConfigs$1 as ScoreConfigs, ScoreDataType, type ScoreEvent, ScoreSource, ScoreV1, type SdkLogBody, type SdkLogEvent, type ServiceProviderConfig, ServiceUnavailableError, type Session, type SessionWithTraces, type Sort, type TextPrompt, type Trace$1 as Trace, type TraceBody, type TraceEvent, type TraceWithDetails, type TraceWithFullDetails, type Traces, UnauthorizedError, type UpdateAnnotationQueueItemRequest, type UpdateEventBody, type UpdateGenerationBody, type UpdateGenerationEvent, type UpdateObservationEvent, type UpdateProjectRequest, type UpdatePromptRequest, type UpdateScoreConfigRequest, type UpdateSpanBody, type UpdateSpanEvent, type UpsertLlmConnectionRequest, type Usage, type UsageDetails, type UserMeta, index$s as annotationQueues, base64Decode, base64Encode, base64ToBytes, index$r as blobStorageIntegrations, bytesToBase64, index$q as comments, index$p as commons, configureGlobalLogger, createExperimentId, createExperimentItemId, createLogger, index$o as datasetItems, index$n as datasetRunItems, index$m as datasets, generateUUID, getEnv, getGlobalLogger, getPropagatedAttributesFromContext, index$l as health, index$k as ingestion, index$j as llmConnections, LoggerSingleton as logger, index$i as media, index$g as metrics, index$h as metricsV2, index$f as models, index$d as observations, index$e as observationsV2, index$c as opentelemetry, index$b as organizations, index$a as projects, index as promptVersion, index$9 as prompts, propagateAttributes, resetGlobalLogger, safeSetTimeout, index$8 as scim, index$5 as score, index$7 as scoreConfigs, index$6 as scoreV2, serializeValue, index$4 as sessions, index$3 as trace, index$1 as utils };
8447
+ export { AccessDeniedError, type AnnotationQueue, type AnnotationQueueAssignmentRequest, type AnnotationQueueItem, AnnotationQueueObjectType, AnnotationQueueStatus, type ApiKeyDeletionResponse, type ApiKeyList, type ApiKeyResponse, type ApiKeySummary, type AuthenticationScheme, type BaseEvent, type BasePrompt, type BaseScore, type BaseScoreV1, BlobStorageExportFrequency, BlobStorageExportMode, type BlobStorageIntegrationDeletionResponse, BlobStorageIntegrationFileType, type BlobStorageIntegrationResponse, BlobStorageIntegrationType, type BlobStorageIntegrationsResponse, type BooleanScore, type BooleanScoreV1, type BulkConfig, type CategoricalScore, type CategoricalScoreV1, type ChatMessage, ChatMessageType, type ChatMessageWithPlaceholders, type ChatPrompt, type Comment, CommentObjectType, type ConfigCategory, type CorrectionScore, type CreateAnnotationQueueAssignmentResponse, type CreateAnnotationQueueItemRequest, type CreateAnnotationQueueRequest, type CreateApiKeyRequest, type CreateBlobStorageIntegrationRequest, type CreateChatPromptRequest, CreateChatPromptType, type CreateCommentRequest, type CreateCommentResponse, type CreateDatasetItemRequest, type CreateDatasetRequest, type CreateDatasetRunItemRequest, type CreateEventBody, type CreateEventEvent, type CreateGenerationBody, type CreateGenerationEvent, type CreateModelRequest, type CreateObservationEvent, type CreateProjectRequest, type CreatePromptRequest, type CreateScoreConfigRequest, type CreateScoreValue, type CreateSpanBody, type CreateSpanEvent, type CreateTextPromptRequest, CreateTextPromptType, type CreateUserRequest, type Dataset, type DatasetItem, type DatasetRun, type DatasetRunItem, type DatasetRunWithItems, DatasetStatus, type DeleteAnnotationQueueAssignmentResponse, type DeleteAnnotationQueueItemResponse, type DeleteDatasetItemResponse, type DeleteDatasetRunResponse, type DeleteMembershipRequest, type DeletePromptRequest, type DeleteTraceResponse, type DeleteTracesRequest, type EmptyResponse, Error$1 as Error, type FilterConfig, type GetAnnotationQueueItemsRequest, type GetAnnotationQueuesRequest, type GetCommentsRequest, type GetCommentsResponse, type GetDatasetItemsRequest, type GetDatasetRunsRequest, type GetDatasetsRequest, type GetLlmConnectionsRequest, type GetMediaResponse, type GetMediaUploadUrlRequest, type GetMediaUploadUrlResponse, type GetMetricsV2Request, type GetModelsRequest, type GetObservationsV2Request, type GetPromptRequest, type GetScoreConfigsRequest, type GetScoresRequest, type GetScoresResponse, GetScoresResponseData, type GetScoresResponseDataBoolean, type GetScoresResponseDataCategorical, type GetScoresResponseDataCorrection, type GetScoresResponseDataNumeric, type GetScoresResponseTraceData, type GetSessionsRequest, type GetTracesRequest, type HealthResponse, type IngestionError, IngestionEvent, type IngestionRequest, type IngestionResponse, type IngestionSuccess, type IngestionUsage, LANGFUSE_SDK_EXPERIMENT_ENVIRONMENT, LANGFUSE_SDK_NAME, LANGFUSE_SDK_VERSION, LANGFUSE_TRACER_NAME, LangfuseAPIClient, LangfuseAPIError, LangfuseAPITimeoutError, LangfuseMedia, type LangfuseMediaParams, LangfuseOtelContextKeys, LangfuseOtelSpanAttributes, type ListDatasetRunItemsRequest, type ListPromptsMetaRequest, type ListUsersRequest, LlmAdapter, type LlmConnection, LogLevel, Logger, type LoggerConfig, type MapValue, MediaContentType, type MembershipDeletionResponse, type MembershipRequest, type MembershipResponse, MembershipRole, type MembershipsResponse, MethodNotAllowedError, type MetricsV2Response, type Model, type ModelPrice, ModelUsageUnit, NotFoundError, type NumericScore, type NumericScoreV1, type Observation, type ObservationBody, ObservationLevel, ObservationType, type ObservationV2, type ObservationsV2Meta, type ObservationsV2Response, type ObservationsView, type OpenAiCompletionUsageSchema, type OpenAiResponseUsageSchema, type OpenAiUsage, type OptionalObservationBody, type Organization, type OrganizationApiKey, type OrganizationApiKeysResponse, type OrganizationProject, type OrganizationProjectsResponse, type OtelAttribute, type OtelAttributeValue, type OtelResource, type OtelResourceSpan, type OtelScope, type OtelScopeSpan, type OtelSpan, type OtelTraceRequest, type OtelTraceResponse, type PaginatedAnnotationQueueItems, type PaginatedAnnotationQueues, type PaginatedDatasetItems, type PaginatedDatasetRunItems, type PaginatedDatasetRuns, type PaginatedDatasets, type PaginatedLlmConnections, type PaginatedModels, type PaginatedSessions, type ParsedMediaReference, type PatchMediaBody, type PlaceholderMessage, PlaceholderMessageType, type PricingTier, type PricingTierCondition, type PricingTierInput, PricingTierOperator, type Project, type ProjectDeletionResponse, type Projects$1 as Projects, Prompt, type PromptMeta, type PromptMetaListResponse, PromptType, type PropagateAttributesParams, type ResourceMeta, type ResourceType, type ResourceTypesResponse, type SchemaExtension, type SchemaResource, type SchemasResponse, type ScimEmail, type ScimFeatureSupport, type ScimName, type ScimUser, type ScimUsersListResponse, Score, type ScoreBody, type ScoreConfig, ScoreConfigDataType, type ScoreConfigs$1 as ScoreConfigs, ScoreDataType, type ScoreEvent, ScoreSource, ScoreV1$1 as ScoreV1, type SdkLogBody, type SdkLogEvent, type ServiceProviderConfig, ServiceUnavailableError, type Session, type SessionWithTraces, type Sort, type TextPrompt, type Trace$1 as Trace, type TraceBody, type TraceEvent, type TraceWithDetails, type TraceWithFullDetails, type Traces, UnauthorizedError, type UpdateAnnotationQueueItemRequest, type UpdateEventBody, type UpdateGenerationBody, type UpdateGenerationEvent, type UpdateObservationEvent, type UpdateProjectRequest, type UpdatePromptRequest, type UpdateScoreConfigRequest, type UpdateSpanBody, type UpdateSpanEvent, type UpsertLlmConnectionRequest, type Usage, type UsageDetails, type UserMeta, index$t as annotationQueues, base64Decode, base64Encode, base64ToBytes, index$s as blobStorageIntegrations, bytesToBase64, index$r as comments, index$q as commons, configureGlobalLogger, createExperimentId, createExperimentItemId, createLogger, index$p as datasetItems, index$o as datasetRunItems, index$n as datasets, generateUUID, getEnv, getGlobalLogger, getPropagatedAttributesFromContext, index$m as health, index$l as ingestion, index$h as legacy, index$g as llmConnections, LoggerSingleton as logger, index$f as media, index$e as metrics, index$d as models, index$c as observations, index$b as opentelemetry, index$a as organizations, index$9 as projects, index as promptVersion, index$8 as prompts, propagateAttributes, resetGlobalLogger, safeSetTimeout, index$7 as scim, index$6 as scoreConfigs, index$5 as scores, serializeValue, index$4 as sessions, index$3 as trace, index$1 as utils };