@langfuse/core 5.4.1 → 5.5.0-beta.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.mjs CHANGED
@@ -276,7 +276,7 @@ var resetGlobalLogger = () => {
276
276
  // package.json
277
277
  var package_default = {
278
278
  name: "@langfuse/core",
279
- version: "5.4.1",
279
+ version: "5.5.0-beta.0",
280
280
  description: "Core functions and utilities for Langfuse packages",
281
281
  type: "module",
282
282
  sideEffects: false,
@@ -878,6 +878,9 @@ var scim_exports = {};
878
878
  // src/api/api/resources/scoreConfigs/index.ts
879
879
  var scoreConfigs_exports = {};
880
880
 
881
+ // src/api/api/resources/scoresV3/index.ts
882
+ var scoresV3_exports = {};
883
+
881
884
  // src/api/api/resources/scores/index.ts
882
885
  var scores_exports = {};
883
886
 
@@ -892,6 +895,7 @@ var unstable_exports = {};
892
895
  __export(unstable_exports, {
893
896
  AccessDeniedError: () => AccessDeniedError2,
894
897
  BadRequestError: () => BadRequestError,
898
+ CodeEvaluatorSourceCodeLanguage: () => CodeEvaluatorSourceCodeLanguage,
895
899
  ConflictError: () => ConflictError,
896
900
  EvaluationRuleArrayOptionsFilterOperator: () => EvaluationRuleArrayOptionsFilterOperator,
897
901
  EvaluationRuleBooleanFilterOperator: () => EvaluationRuleBooleanFilterOperator,
@@ -906,6 +910,7 @@ __export(unstable_exports, {
906
910
  EvaluatorScope: () => EvaluatorScope,
907
911
  EvaluatorType: () => EvaluatorType,
908
912
  InternalServerError: () => InternalServerError,
913
+ LlmAsJudgeEvaluatorType: () => LlmAsJudgeEvaluatorType,
909
914
  MethodNotAllowedError: () => MethodNotAllowedError2,
910
915
  NotFoundError: () => NotFoundError2,
911
916
  PublicApiErrorCode: () => PublicApiErrorCode,
@@ -921,6 +926,7 @@ __export(unstable_exports, {
921
926
  // src/api/api/resources/unstable/resources/commons/index.ts
922
927
  var commons_exports2 = {};
923
928
  __export(commons_exports2, {
929
+ CodeEvaluatorSourceCodeLanguage: () => CodeEvaluatorSourceCodeLanguage,
924
930
  EvaluationRuleArrayOptionsFilterOperator: () => EvaluationRuleArrayOptionsFilterOperator,
925
931
  EvaluationRuleBooleanFilterOperator: () => EvaluationRuleBooleanFilterOperator,
926
932
  EvaluationRuleMappingSource: () => EvaluationRuleMappingSource,
@@ -937,7 +943,14 @@ __export(commons_exports2, {
937
943
 
938
944
  // src/api/api/resources/unstable/resources/commons/types/EvaluatorType.ts
939
945
  var EvaluatorType = {
940
- LlmAsJudge: "llm_as_judge"
946
+ LlmAsJudge: "llm_as_judge",
947
+ Code: "code"
948
+ };
949
+
950
+ // src/api/api/resources/unstable/resources/commons/types/CodeEvaluatorSourceCodeLanguage.ts
951
+ var CodeEvaluatorSourceCodeLanguage = {
952
+ Python: "PYTHON",
953
+ Typescript: "TYPESCRIPT"
941
954
  };
942
955
 
943
956
  // src/api/api/resources/unstable/resources/commons/types/EvaluatorScope.ts
@@ -1174,6 +1187,14 @@ var InternalServerError = class _InternalServerError extends LangfuseAPIError {
1174
1187
 
1175
1188
  // src/api/api/resources/unstable/resources/evaluationRules/index.ts
1176
1189
  var evaluationRules_exports = {};
1190
+ __export(evaluationRules_exports, {
1191
+ LlmAsJudgeEvaluatorType: () => LlmAsJudgeEvaluatorType
1192
+ });
1193
+
1194
+ // src/api/api/resources/unstable/resources/evaluationRules/types/LlmAsJudgeEvaluatorType.ts
1195
+ var LlmAsJudgeEvaluatorType = {
1196
+ LlmAsJudge: "llm_as_judge"
1197
+ };
1177
1198
 
1178
1199
  // src/api/api/resources/unstable/resources/evaluators/index.ts
1179
1200
  var evaluators_exports = {};
@@ -11417,6 +11438,220 @@ var ScoreConfigs = class {
11417
11438
  }
11418
11439
  };
11419
11440
 
11441
+ // src/api/api/resources/scoresV3/client/Client.ts
11442
+ var ScoresV3 = class {
11443
+ constructor(_options) {
11444
+ this._options = _options;
11445
+ }
11446
+ /**
11447
+ * Get a list of scores with a polymorphic `value` field (v3).
11448
+ *
11449
+ * This endpoint requires Langfuse v4 or later.
11450
+ *
11451
+ * The `value` field type depends on `dataType`:
11452
+ * - `NUMERIC` → number
11453
+ * - `BOOLEAN` → boolean
11454
+ * - `CATEGORICAL`, `TEXT`, `CORRECTION` → string
11455
+ *
11456
+ * Use the `fields` parameter to include optional field groups beyond the
11457
+ * default `core`. Unknown group names return HTTP 400.
11458
+ *
11459
+ * @param {LangfuseAPI.GetScoresV3Request} request
11460
+ * @param {ScoresV3.RequestOptions} requestOptions - Request-specific configuration.
11461
+ *
11462
+ * @throws {@link LangfuseAPI.Error}
11463
+ * @throws {@link LangfuseAPI.UnauthorizedError}
11464
+ * @throws {@link LangfuseAPI.AccessDeniedError}
11465
+ * @throws {@link LangfuseAPI.MethodNotAllowedError}
11466
+ * @throws {@link LangfuseAPI.NotFoundError}
11467
+ *
11468
+ * @example
11469
+ * await client.scoresV3.getManyV3()
11470
+ */
11471
+ getManyV3(request = {}, requestOptions) {
11472
+ return HttpResponsePromise.fromPromise(
11473
+ this.__getManyV3(request, requestOptions)
11474
+ );
11475
+ }
11476
+ async __getManyV3(request = {}, requestOptions) {
11477
+ var _a2, _b, _c, _d, _e, _f, _g, _h;
11478
+ const {
11479
+ limit,
11480
+ cursor,
11481
+ fields,
11482
+ id,
11483
+ name,
11484
+ source,
11485
+ dataType,
11486
+ environment,
11487
+ configId,
11488
+ queueId,
11489
+ authorUserId,
11490
+ value,
11491
+ valueMin,
11492
+ valueMax,
11493
+ traceId,
11494
+ sessionId,
11495
+ observationId,
11496
+ experimentId,
11497
+ fromTimestamp,
11498
+ toTimestamp
11499
+ } = request;
11500
+ const _queryParams = {};
11501
+ if (limit != null) {
11502
+ _queryParams["limit"] = limit.toString();
11503
+ }
11504
+ if (cursor != null) {
11505
+ _queryParams["cursor"] = cursor;
11506
+ }
11507
+ if (fields != null) {
11508
+ _queryParams["fields"] = fields;
11509
+ }
11510
+ if (id != null) {
11511
+ _queryParams["id"] = id;
11512
+ }
11513
+ if (name != null) {
11514
+ _queryParams["name"] = name;
11515
+ }
11516
+ if (source != null) {
11517
+ _queryParams["source"] = source;
11518
+ }
11519
+ if (dataType != null) {
11520
+ _queryParams["dataType"] = dataType;
11521
+ }
11522
+ if (environment != null) {
11523
+ _queryParams["environment"] = environment;
11524
+ }
11525
+ if (configId != null) {
11526
+ _queryParams["configId"] = configId;
11527
+ }
11528
+ if (queueId != null) {
11529
+ _queryParams["queueId"] = queueId;
11530
+ }
11531
+ if (authorUserId != null) {
11532
+ _queryParams["authorUserId"] = authorUserId;
11533
+ }
11534
+ if (value != null) {
11535
+ _queryParams["value"] = value;
11536
+ }
11537
+ if (valueMin != null) {
11538
+ _queryParams["valueMin"] = valueMin.toString();
11539
+ }
11540
+ if (valueMax != null) {
11541
+ _queryParams["valueMax"] = valueMax.toString();
11542
+ }
11543
+ if (traceId != null) {
11544
+ _queryParams["traceId"] = traceId;
11545
+ }
11546
+ if (sessionId != null) {
11547
+ _queryParams["sessionId"] = sessionId;
11548
+ }
11549
+ if (observationId != null) {
11550
+ _queryParams["observationId"] = observationId;
11551
+ }
11552
+ if (experimentId != null) {
11553
+ _queryParams["experimentId"] = experimentId;
11554
+ }
11555
+ if (fromTimestamp != null) {
11556
+ _queryParams["fromTimestamp"] = fromTimestamp;
11557
+ }
11558
+ if (toTimestamp != null) {
11559
+ _queryParams["toTimestamp"] = toTimestamp;
11560
+ }
11561
+ let _headers = mergeHeaders(
11562
+ (_a2 = this._options) == null ? void 0 : _a2.headers,
11563
+ mergeOnlyDefinedHeaders({
11564
+ Authorization: await this._getAuthorizationHeader(),
11565
+ "X-Langfuse-Sdk-Name": (_c = requestOptions == null ? void 0 : requestOptions.xLangfuseSdkName) != null ? _c : (_b = this._options) == null ? void 0 : _b.xLangfuseSdkName,
11566
+ "X-Langfuse-Sdk-Version": (_e = requestOptions == null ? void 0 : requestOptions.xLangfuseSdkVersion) != null ? _e : (_d = this._options) == null ? void 0 : _d.xLangfuseSdkVersion,
11567
+ "X-Langfuse-Public-Key": (_g = requestOptions == null ? void 0 : requestOptions.xLangfusePublicKey) != null ? _g : (_f = this._options) == null ? void 0 : _f.xLangfusePublicKey
11568
+ }),
11569
+ requestOptions == null ? void 0 : requestOptions.headers
11570
+ );
11571
+ const _response = await fetcher({
11572
+ url: url_exports.join(
11573
+ (_h = await Supplier.get(this._options.baseUrl)) != null ? _h : await Supplier.get(this._options.environment),
11574
+ "/api/public/v3/scores"
11575
+ ),
11576
+ method: "GET",
11577
+ headers: _headers,
11578
+ queryParameters: { ..._queryParams, ...requestOptions == null ? void 0 : requestOptions.queryParams },
11579
+ timeoutMs: (requestOptions == null ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1e3 : 6e4,
11580
+ maxRetries: requestOptions == null ? void 0 : requestOptions.maxRetries,
11581
+ abortSignal: requestOptions == null ? void 0 : requestOptions.abortSignal
11582
+ });
11583
+ if (_response.ok) {
11584
+ return {
11585
+ data: _response.body,
11586
+ rawResponse: _response.rawResponse
11587
+ };
11588
+ }
11589
+ if (_response.error.reason === "status-code") {
11590
+ switch (_response.error.statusCode) {
11591
+ case 400:
11592
+ throw new Error2(
11593
+ _response.error.body,
11594
+ _response.rawResponse
11595
+ );
11596
+ case 401:
11597
+ throw new UnauthorizedError(
11598
+ _response.error.body,
11599
+ _response.rawResponse
11600
+ );
11601
+ case 403:
11602
+ throw new AccessDeniedError(
11603
+ _response.error.body,
11604
+ _response.rawResponse
11605
+ );
11606
+ case 405:
11607
+ throw new MethodNotAllowedError(
11608
+ _response.error.body,
11609
+ _response.rawResponse
11610
+ );
11611
+ case 404:
11612
+ throw new NotFoundError(
11613
+ _response.error.body,
11614
+ _response.rawResponse
11615
+ );
11616
+ default:
11617
+ throw new LangfuseAPIError({
11618
+ statusCode: _response.error.statusCode,
11619
+ body: _response.error.body,
11620
+ rawResponse: _response.rawResponse
11621
+ });
11622
+ }
11623
+ }
11624
+ switch (_response.error.reason) {
11625
+ case "non-json":
11626
+ throw new LangfuseAPIError({
11627
+ statusCode: _response.error.statusCode,
11628
+ body: _response.error.rawBody,
11629
+ rawResponse: _response.rawResponse
11630
+ });
11631
+ case "timeout":
11632
+ throw new LangfuseAPITimeoutError(
11633
+ "Timeout exceeded when calling GET /api/public/v3/scores."
11634
+ );
11635
+ case "unknown":
11636
+ throw new LangfuseAPIError({
11637
+ message: _response.error.errorMessage,
11638
+ rawResponse: _response.rawResponse
11639
+ });
11640
+ }
11641
+ }
11642
+ async _getAuthorizationHeader() {
11643
+ const username = await Supplier.get(this._options.username);
11644
+ const password = await Supplier.get(this._options.password);
11645
+ if (username != null && password != null) {
11646
+ return BasicAuth.toAuthorizationHeader({
11647
+ username,
11648
+ password
11649
+ });
11650
+ }
11651
+ return void 0;
11652
+ }
11653
+ };
11654
+
11420
11655
  // src/api/api/resources/scores/client/Client.ts
11421
11656
  var Scores = class {
11422
11657
  constructor(_options) {
@@ -12507,8 +12742,9 @@ var EvaluationRules = class {
12507
12742
  * - `evaluator.name` + `evaluator.scope` must identify an existing evaluator family returned by the evaluator endpoints
12508
12743
  * - Langfuse resolves that family to its latest version before saving the evaluation rule
12509
12744
  * - for `target=experiment`, use dataset `id` values from `GET /api/public/v2/datasets` when filtering by `datasetId`
12510
- * - every evaluator prompt variable must be mapped exactly once
12511
- * - `expected_output` and `experiment_item_metadata` mappings are only valid for `target=experiment`
12745
+ * - for `llm_as_judge` evaluators, every evaluator prompt variable must be mapped exactly once
12746
+ * - for `code` evaluators, Langfuse uses the fixed code runtime mapping; omit `mapping` in create and update requests
12747
+ * - for user-provided `llm_as_judge` mappings, `expected_output` and `experiment_item_metadata` are only valid for `target=experiment`
12512
12748
  * - if `enabled=true`, Langfuse validates that the referenced evaluator can currently run
12513
12749
  * - at most 50 evaluation rules can be effectively active in one project at the same time
12514
12750
  *
@@ -12525,9 +12761,9 @@ var EvaluationRules = class {
12525
12761
  * Recovery guidance:
12526
12762
  * - `400 invalid_filter_value`: fix the filter `column` or `value` using `details.column`, `details.invalidValues`, and `details.allowedValues`
12527
12763
  * - `400 invalid_filter_value` with `details.column=datasetId`: call `GET /api/public/v2/datasets`, then retry with dataset `id` values from that response
12528
- * - `400 missing_variable_mapping`: fetch the evaluator again and make sure every variable in `variables` appears exactly once in `mapping`
12764
+ * - `400 missing_variable_mapping`: for `llm_as_judge` evaluators, fetch the evaluator again and make sure every variable in `variables` appears exactly once in `mapping`
12529
12765
  * - `400 duplicate_variable_mapping`: remove repeated mappings for the same variable
12530
- * - `400 invalid_variable_mapping`: switch to a valid `source` for the selected `target`, or fix the variable name
12766
+ * - `400 invalid_variable_mapping`: for `llm_as_judge`, switch to a valid `source` for the selected `target`, or fix the variable name
12531
12767
  * - `400 invalid_json_path`: remove or correct the `jsonPath`
12532
12768
  * - `422 evaluator_preflight_failed`: the selected evaluator cannot run with the resolved model configuration. Fix the evaluator/default model setup, then retry the create request.
12533
12769
  *
@@ -12554,7 +12790,8 @@ var EvaluationRules = class {
12554
12790
  * name: "answer-correctness-live",
12555
12791
  * evaluator: {
12556
12792
  * name: "answer-correctness",
12557
- * scope: "project"
12793
+ * scope: "project",
12794
+ * type: "llm_as_judge"
12558
12795
  * },
12559
12796
  * target: "observation",
12560
12797
  * enabled: true,
@@ -12576,10 +12813,30 @@ var EvaluationRules = class {
12576
12813
  *
12577
12814
  * @example
12578
12815
  * await client.unstable.evaluationRules.create({
12816
+ * name: "toxicity-code-live",
12817
+ * evaluator: {
12818
+ * name: "toxicity-detector",
12819
+ * scope: "project",
12820
+ * type: "code"
12821
+ * },
12822
+ * target: "observation",
12823
+ * enabled: true,
12824
+ * sampling: 1,
12825
+ * filter: [{
12826
+ * type: "stringOptions",
12827
+ * column: "type",
12828
+ * operator: "any of",
12829
+ * value: ["GENERATION"]
12830
+ * }]
12831
+ * })
12832
+ *
12833
+ * @example
12834
+ * await client.unstable.evaluationRules.create({
12579
12835
  * name: "experiment-expected-output-match",
12580
12836
  * evaluator: {
12581
12837
  * name: "expected-output-match",
12582
- * scope: "project"
12838
+ * scope: "project",
12839
+ * type: "llm_as_judge"
12583
12840
  * },
12584
12841
  * target: "experiment",
12585
12842
  * enabled: true,
@@ -13039,18 +13296,19 @@ var EvaluationRules = class {
13039
13296
  * - switch to another evaluator
13040
13297
  * - adjust sampling
13041
13298
  * - change filters
13042
- * - update variable mappings
13299
+ * - update LLM-as-judge variable mappings
13043
13300
  *
13044
13301
  * Important behavior:
13045
13302
  * - provide only the fields you want to change
13046
13303
  * - if you provide `evaluator`, Langfuse resolves that evaluator family to its latest version before saving
13047
- * - changing `target`, `filter`, or `mapping` must still produce a valid target-specific configuration
13048
- * - if you change `target`, also send a compatible `filter` and `mapping` in the same request unless the existing ones are still valid for the new target
13304
+ * - changing `target`, `filter`, or an LLM-as-judge `mapping` must still produce a valid target-specific configuration
13305
+ * - if you change `target` for an LLM-as-judge rule, also send a compatible `filter` and `mapping` in the same request unless the existing ones are still valid for the new target
13306
+ * - for `code` evaluator rules, omit `mapping`; Langfuse stores the fixed code runtime mapping automatically
13049
13307
  * - if the resulting config is enabled, Langfuse re-validates that the selected evaluator can run
13050
13308
  * - if the update would move a non-active evaluation rule into the active state and the project already has 50 active evaluation rules, the API returns `409`
13051
13309
  *
13052
13310
  * Recovery guidance:
13053
- * - if the update fails with `missing_variable_mapping` or `invalid_variable_mapping` after changing `evaluator` or `target`, resend the request with a complete new `mapping`
13311
+ * - if an LLM-as-judge update fails with `missing_variable_mapping` or `invalid_variable_mapping` after changing `evaluator` or `target`, resend the request with a complete new `mapping`
13054
13312
  * - if the update fails with `invalid_filter_value` after changing `target`, resend the request with a target-compatible `filter`
13055
13313
  *
13056
13314
  * @param {string} evaluationRuleId - Evaluation rule identifier.
@@ -13381,7 +13639,9 @@ var Evaluators = class {
13381
13639
  /**
13382
13640
  * Create an evaluator in the authenticated project.
13383
13641
  *
13384
- * Use evaluators to define **how** Langfuse should score data: the prompt, the expected structured output, and the optional model configuration.
13642
+ * Use evaluators to define **how** Langfuse should score data.
13643
+ * LLM-as-a-judge evaluators define a prompt, expected structured output, and optional model configuration.
13644
+ * Code evaluators define source code and a runtime language.
13385
13645
  *
13386
13646
  * Naming behavior:
13387
13647
  * - If this is a new evaluator name in your project, Langfuse creates version `1`.
@@ -13394,10 +13654,15 @@ var Evaluators = class {
13394
13654
  * 3. Read the returned `outputDefinition.dataType` so the client knows whether future scores will be numeric, boolean, or categorical.
13395
13655
  * 4. Create one or more evaluation rules that reference the returned evaluator family using `name` and `scope`.
13396
13656
  *
13657
+ * Code evaluator validation:
13658
+ * - At creation, Langfuse only validates the request shape
13659
+ * - The `sourceCode` itself is not executed here. It is first run (preflight-tested against a sample observation) when you link the evaluator to an evaluation rule, so runtime errors in the code surface at evaluation-rule creation, not at evaluator creation.
13660
+ *
13397
13661
  * Recovery guidance:
13398
13662
  * - `422` with `code=evaluator_preflight_failed`: the evaluator cannot run with the resolved model configuration. Add a valid explicit `modelConfig`, or configure the project's default evaluation model, then retry the same request.
13399
13663
  * - `400` with `code=invalid_body`: the request shape is malformed. Use the structured `details.issues` array to fix the specific fields and retry.
13400
- * - `400` with `code=invalid_body` on `outputDefinition`: send `dataType`, `reasoning.description`, and `score.description`. Do not send `version`; it is not part of the public request shape.
13664
+ * - `400` with `code=invalid_body` on `outputDefinition`: for `type=llm_as_judge`, send `dataType`, `reasoning.description`, and `score.description`. Do not send `version`; it is not part of the public request shape.
13665
+ * - If `type` is omitted, Langfuse treats the request as `type=llm_as_judge` for backwards compatibility. New clients should send `type` explicitly.
13401
13666
  *
13402
13667
  * Unstable API note:
13403
13668
  * - This surface may evolve while the underlying evaluation data model is being redesigned.
@@ -13421,6 +13686,7 @@ var Evaluators = class {
13421
13686
  *
13422
13687
  * @example
13423
13688
  * await client.unstable.evaluators.create({
13689
+ * type: "llm_as_judge",
13424
13690
  * name: "answer-correctness",
13425
13691
  * prompt: "You are grading an answer.\n\nInput:\n{{input}}\n\nOutput:\n{{output}}\n\nReturn a score between 0 and 1.\n",
13426
13692
  * outputDefinition: {
@@ -13438,6 +13704,22 @@ var Evaluators = class {
13438
13704
  * model: "gpt-4.1-mini"
13439
13705
  * }
13440
13706
  * })
13707
+ *
13708
+ * @example
13709
+ * await client.unstable.evaluators.create({
13710
+ * type: "code",
13711
+ * name: "exact-match",
13712
+ * sourceCode: "function evaluate(ctx: EvaluationContext): EvaluationResult {\n const input = ctx.observation.input;\n const matchesOutput =\n input !== undefined && ctx.observation.output === input;\n\n return {\n scores: [\n {\n name: \"Exact match\",\n value: matchesOutput,\n dataType: \"BOOLEAN\",\n comment: matchesOutput\n ? \"Output exactly matches the input.\"\n : \"Output does not match the input.\",\n },\n ],\n };\n}\n",
13713
+ * sourceCodeLanguage: "TYPESCRIPT"
13714
+ * })
13715
+ *
13716
+ * @example
13717
+ * await client.unstable.evaluators.create({
13718
+ * type: "code",
13719
+ * name: "exact-match",
13720
+ * sourceCode: "def evaluate(ctx: EvaluationContext) -> EvaluationResult:\n \"\"\"Evaluates one observation and returns one or more Langfuse scores.\"\"\"\n input = ctx.observation.input\n matches_output = input is not None and ctx.observation.output == input\n\n return EvaluationResult(\n scores=[\n Score(\n name=\"Exact match\",\n value=matches_output,\n data_type=\"BOOLEAN\",\n comment=(\n \"Output exactly matches the input.\"\n if matches_output\n else \"Output does not match the input.\"\n ),\n )\n ]\n )\n",
13721
+ * sourceCodeLanguage: "PYTHON"
13722
+ * })
13441
13723
  */
13442
13724
  create(request, requestOptions) {
13443
13725
  return HttpResponsePromise.fromPromise(
@@ -13998,6 +14280,10 @@ var LangfuseAPIClient = class {
13998
14280
  var _a2;
13999
14281
  return (_a2 = this._scoreConfigs) != null ? _a2 : this._scoreConfigs = new ScoreConfigs(this._options);
14000
14282
  }
14283
+ get scoresV3() {
14284
+ var _a2;
14285
+ return (_a2 = this._scoresV3) != null ? _a2 : this._scoresV3 = new ScoresV3(this._options);
14286
+ }
14001
14287
  get scores() {
14002
14288
  var _a2;
14003
14289
  return (_a2 = this._scores) != null ? _a2 : this._scores = new Scores(this._options);
@@ -14683,6 +14969,7 @@ export {
14683
14969
  scim_exports as scim,
14684
14970
  scoreConfigs_exports as scoreConfigs,
14685
14971
  scores_exports as scores,
14972
+ scoresV3_exports as scoresV3,
14686
14973
  serializeValue,
14687
14974
  sessions_exports as sessions,
14688
14975
  setLangfuseTraceIdInBaggage,