@learning-commons/evaluators 0.5.0 → 0.6.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.
@@ -73,6 +73,7 @@ interface BatchConfig {
73
73
  concurrency?: number;
74
74
  maxRetries?: number;
75
75
  telemetry?: boolean | TelemetryOptions;
76
+ bypassRowLimit?: boolean;
76
77
  }
77
78
 
78
79
  /**
@@ -73,6 +73,7 @@ interface BatchConfig {
73
73
  concurrency?: number;
74
74
  maxRetries?: number;
75
75
  telemetry?: boolean | TelemetryOptions;
76
+ bypassRowLimit?: boolean;
76
77
  }
77
78
 
78
79
  /**
@@ -1277,7 +1277,9 @@ var VocabularyEvaluator = class _VocabularyEvaluator extends BaseEvaluator {
1277
1277
  reasoning: complexityResponse.data.reasoning,
1278
1278
  metadata: {
1279
1279
  model: modelLabel,
1280
- processingTimeMs: latencyMs
1280
+ processingTimeMs: latencyMs,
1281
+ inputTokens: totalTokenUsage.input_tokens,
1282
+ outputTokens: totalTokenUsage.output_tokens
1281
1283
  },
1282
1284
  _internal: complexityResponse.data
1283
1285
  };
@@ -1607,7 +1609,9 @@ var SentenceStructureEvaluator = class _SentenceStructureEvaluator extends BaseE
1607
1609
  reasoning: complexityResponse.data.reasoning,
1608
1610
  metadata: {
1609
1611
  model: this.provider.label,
1610
- processingTimeMs: latencyMs
1612
+ processingTimeMs: latencyMs,
1613
+ inputTokens: totalTokenUsage.input_tokens,
1614
+ outputTokens: totalTokenUsage.output_tokens
1611
1615
  },
1612
1616
  _internal: {
1613
1617
  sentenceAnalysis: analysisResponse.data,
@@ -1813,7 +1817,9 @@ var GradeLevelAppropriatenessEvaluator = class extends BaseEvaluator {
1813
1817
  reasoning: response.data.reasoning,
1814
1818
  metadata: {
1815
1819
  model: this.provider.label,
1816
- processingTimeMs: latencyMs
1820
+ processingTimeMs: latencyMs,
1821
+ inputTokens: tokenUsage.input_tokens,
1822
+ outputTokens: tokenUsage.output_tokens
1817
1823
  },
1818
1824
  _internal: response.data
1819
1825
  };
@@ -2015,7 +2021,9 @@ var SmkEvaluator = class _SmkEvaluator extends BaseEvaluator {
2015
2021
  reasoning: response.data.reasoning,
2016
2022
  metadata: {
2017
2023
  model: this.provider.label,
2018
- processingTimeMs: latencyMs
2024
+ processingTimeMs: latencyMs,
2025
+ inputTokens: totalTokenUsage.input_tokens,
2026
+ outputTokens: totalTokenUsage.output_tokens
2019
2027
  },
2020
2028
  _internal: response.data
2021
2029
  };
@@ -2221,7 +2229,9 @@ var ConventionalityEvaluator = class _ConventionalityEvaluator extends BaseEvalu
2221
2229
  reasoning: response.data.reasoning,
2222
2230
  metadata: {
2223
2231
  model: this.provider.label,
2224
- processingTimeMs: latencyMs
2232
+ processingTimeMs: latencyMs,
2233
+ inputTokens: totalTokenUsage.input_tokens,
2234
+ outputTokens: totalTokenUsage.output_tokens
2225
2235
  },
2226
2236
  _internal: response.data
2227
2237
  };
@@ -2496,7 +2506,9 @@ var PurposeEvaluator = class _PurposeEvaluator extends BaseEvaluator {
2496
2506
  reasoning: response.data.reasoning,
2497
2507
  metadata: {
2498
2508
  model: this.provider.label,
2499
- processingTimeMs: latencyMs
2509
+ processingTimeMs: latencyMs,
2510
+ inputTokens: tokenUsage.input_tokens,
2511
+ outputTokens: tokenUsage.output_tokens
2500
2512
  },
2501
2513
  _internal: response.data
2502
2514
  };
@@ -2609,6 +2621,7 @@ var BatchEvaluator = class {
2609
2621
  concurrency: 3,
2610
2622
  maxRetries: 2,
2611
2623
  telemetry: false,
2624
+ bypassRowLimit: false,
2612
2625
  ...config
2613
2626
  };
2614
2627
  this.limit = pLimit(this.config.concurrency);
@@ -2762,9 +2775,9 @@ var BatchEvaluator = class {
2762
2775
  `Unknown evaluator group: "${groupId}". Available: ${EVALUATOR_GROUPS.map((g) => g.id).join(", ")}`
2763
2776
  );
2764
2777
  }
2765
- if (inputs.length > group.maxInputRows) {
2778
+ if (!this.config.bypassRowLimit && inputs.length > group.maxInputRows) {
2766
2779
  throw new Error(
2767
- `Input exceeds limit for "${group.id}": ${inputs.length} rows (max ${group.maxInputRows}). Split into smaller batches.`
2780
+ `Input exceeds limit for "${group.id}": ${inputs.length} rows (max ${group.maxInputRows}). Split into smaller batches, or pass { bypassRowLimit: true } in BatchConfig to bypass (use --bypass-row-limit on the CLI).`
2768
2781
  );
2769
2782
  }
2770
2783
  this.isCancelled = false;