observability-toolkit 1.8.0 → 1.8.4

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.
Files changed (186) hide show
  1. package/README.md +81 -3
  2. package/dist/backends/index.d.ts +119 -0
  3. package/dist/backends/index.d.ts.map +1 -1
  4. package/dist/backends/index.js +57 -0
  5. package/dist/backends/index.js.map +1 -1
  6. package/dist/backends/index.test.d.ts +5 -0
  7. package/dist/backends/index.test.d.ts.map +1 -0
  8. package/dist/backends/index.test.js +156 -0
  9. package/dist/backends/index.test.js.map +1 -0
  10. package/dist/backends/local-jsonl-boolean-search.test.js +8 -27
  11. package/dist/backends/local-jsonl-boolean-search.test.js.map +1 -1
  12. package/dist/backends/local-jsonl-logs.test.d.ts +2 -0
  13. package/dist/backends/local-jsonl-logs.test.d.ts.map +1 -0
  14. package/dist/backends/local-jsonl-logs.test.js +603 -0
  15. package/dist/backends/local-jsonl-logs.test.js.map +1 -0
  16. package/dist/backends/local-jsonl-traces.test.d.ts +2 -0
  17. package/dist/backends/local-jsonl-traces.test.d.ts.map +1 -0
  18. package/dist/backends/local-jsonl-traces.test.js +1723 -0
  19. package/dist/backends/local-jsonl-traces.test.js.map +1 -0
  20. package/dist/backends/local-jsonl.d.ts +4 -1
  21. package/dist/backends/local-jsonl.d.ts.map +1 -1
  22. package/dist/backends/local-jsonl.js +185 -1
  23. package/dist/backends/local-jsonl.js.map +1 -1
  24. package/dist/backends/local-jsonl.test.js +723 -46
  25. package/dist/backends/local-jsonl.test.js.map +1 -1
  26. package/dist/backends/signoz-api.d.ts +32 -0
  27. package/dist/backends/signoz-api.d.ts.map +1 -1
  28. package/dist/backends/signoz-api.js +231 -33
  29. package/dist/backends/signoz-api.js.map +1 -1
  30. package/dist/backends/signoz-api.test.js +410 -63
  31. package/dist/backends/signoz-api.test.js.map +1 -1
  32. package/dist/lib/constants.d.ts +59 -0
  33. package/dist/lib/constants.d.ts.map +1 -1
  34. package/dist/lib/constants.js +252 -6
  35. package/dist/lib/constants.js.map +1 -1
  36. package/dist/lib/constants.test.js +357 -21
  37. package/dist/lib/constants.test.js.map +1 -1
  38. package/dist/lib/edge-cases.test.d.ts +11 -0
  39. package/dist/lib/edge-cases.test.d.ts.map +1 -0
  40. package/dist/lib/edge-cases.test.js +634 -0
  41. package/dist/lib/edge-cases.test.js.map +1 -0
  42. package/dist/lib/error-sanitizer.d.ts +57 -0
  43. package/dist/lib/error-sanitizer.d.ts.map +1 -0
  44. package/dist/lib/error-sanitizer.js +207 -0
  45. package/dist/lib/error-sanitizer.js.map +1 -0
  46. package/dist/lib/error-sanitizer.test.d.ts +8 -0
  47. package/dist/lib/error-sanitizer.test.d.ts.map +1 -0
  48. package/dist/lib/error-sanitizer.test.js +369 -0
  49. package/dist/lib/error-sanitizer.test.js.map +1 -0
  50. package/dist/lib/file-utils.d.ts +134 -0
  51. package/dist/lib/file-utils.d.ts.map +1 -1
  52. package/dist/lib/file-utils.js +395 -9
  53. package/dist/lib/file-utils.js.map +1 -1
  54. package/dist/lib/file-utils.test.js +444 -3
  55. package/dist/lib/file-utils.test.js.map +1 -1
  56. package/dist/lib/indexer.d.ts +9 -1
  57. package/dist/lib/indexer.d.ts.map +1 -1
  58. package/dist/lib/indexer.js +51 -2
  59. package/dist/lib/indexer.js.map +1 -1
  60. package/dist/lib/indexer.test.js +138 -20
  61. package/dist/lib/indexer.test.js.map +1 -1
  62. package/dist/lib/input-validator.d.ts +103 -0
  63. package/dist/lib/input-validator.d.ts.map +1 -0
  64. package/dist/lib/input-validator.js +250 -0
  65. package/dist/lib/input-validator.js.map +1 -0
  66. package/dist/lib/input-validator.test.d.ts +2 -0
  67. package/dist/lib/input-validator.test.d.ts.map +1 -0
  68. package/dist/lib/input-validator.test.js +287 -0
  69. package/dist/lib/input-validator.test.js.map +1 -0
  70. package/dist/lib/query-sanitizer.d.ts +143 -0
  71. package/dist/lib/query-sanitizer.d.ts.map +1 -0
  72. package/dist/lib/query-sanitizer.js +261 -0
  73. package/dist/lib/query-sanitizer.js.map +1 -0
  74. package/dist/lib/query-sanitizer.test.d.ts +5 -0
  75. package/dist/lib/query-sanitizer.test.d.ts.map +1 -0
  76. package/dist/lib/query-sanitizer.test.js +400 -0
  77. package/dist/lib/query-sanitizer.test.js.map +1 -0
  78. package/dist/lib/server-utils.d.ts +80 -0
  79. package/dist/lib/server-utils.d.ts.map +1 -0
  80. package/dist/lib/server-utils.js +141 -0
  81. package/dist/lib/server-utils.js.map +1 -0
  82. package/dist/lib/shared-schemas.d.ts +59 -0
  83. package/dist/lib/shared-schemas.d.ts.map +1 -0
  84. package/dist/lib/shared-schemas.js +58 -0
  85. package/dist/lib/shared-schemas.js.map +1 -0
  86. package/dist/lib/shared-schemas.test.d.ts +5 -0
  87. package/dist/lib/shared-schemas.test.d.ts.map +1 -0
  88. package/dist/lib/shared-schemas.test.js +106 -0
  89. package/dist/lib/shared-schemas.test.js.map +1 -0
  90. package/dist/lib/toon-encoder.d.ts +21 -0
  91. package/dist/lib/toon-encoder.d.ts.map +1 -0
  92. package/dist/lib/toon-encoder.js +46 -0
  93. package/dist/lib/toon-encoder.js.map +1 -0
  94. package/dist/server.d.ts +1 -1
  95. package/dist/server.d.ts.map +1 -1
  96. package/dist/server.js +155 -81
  97. package/dist/server.js.map +1 -1
  98. package/dist/server.test.js +363 -0
  99. package/dist/server.test.js.map +1 -1
  100. package/dist/test-helpers/env-utils.d.ts +65 -0
  101. package/dist/test-helpers/env-utils.d.ts.map +1 -0
  102. package/dist/test-helpers/env-utils.js +94 -0
  103. package/dist/test-helpers/env-utils.js.map +1 -0
  104. package/dist/test-helpers/file-utils.d.ts +93 -0
  105. package/dist/test-helpers/file-utils.d.ts.map +1 -0
  106. package/dist/test-helpers/file-utils.js +206 -0
  107. package/dist/test-helpers/file-utils.js.map +1 -0
  108. package/dist/test-helpers/index.d.ts +10 -0
  109. package/dist/test-helpers/index.d.ts.map +1 -0
  110. package/dist/test-helpers/index.js +28 -0
  111. package/dist/test-helpers/index.js.map +1 -0
  112. package/dist/test-helpers/mock-backends.d.ts +139 -0
  113. package/dist/test-helpers/mock-backends.d.ts.map +1 -0
  114. package/dist/test-helpers/mock-backends.js +227 -0
  115. package/dist/test-helpers/mock-backends.js.map +1 -0
  116. package/dist/test-helpers/mock-backends.test.d.ts +5 -0
  117. package/dist/test-helpers/mock-backends.test.d.ts.map +1 -0
  118. package/dist/test-helpers/mock-backends.test.js +368 -0
  119. package/dist/test-helpers/mock-backends.test.js.map +1 -0
  120. package/dist/test-helpers/schema-validators.d.ts +32 -0
  121. package/dist/test-helpers/schema-validators.d.ts.map +1 -0
  122. package/dist/test-helpers/schema-validators.js +125 -0
  123. package/dist/test-helpers/schema-validators.js.map +1 -0
  124. package/dist/test-helpers/test-data-builders.d.ts +223 -0
  125. package/dist/test-helpers/test-data-builders.d.ts.map +1 -0
  126. package/dist/test-helpers/test-data-builders.js +288 -0
  127. package/dist/test-helpers/test-data-builders.js.map +1 -0
  128. package/dist/test-helpers/test-data-builders.test.d.ts +2 -0
  129. package/dist/test-helpers/test-data-builders.test.d.ts.map +1 -0
  130. package/dist/test-helpers/test-data-builders.test.js +306 -0
  131. package/dist/test-helpers/test-data-builders.test.js.map +1 -0
  132. package/dist/test-helpers/tool-validators.d.ts +28 -0
  133. package/dist/test-helpers/tool-validators.d.ts.map +1 -0
  134. package/dist/test-helpers/tool-validators.js +56 -0
  135. package/dist/test-helpers/tool-validators.js.map +1 -0
  136. package/dist/tools/context-stats.d.ts +1 -0
  137. package/dist/tools/context-stats.d.ts.map +1 -1
  138. package/dist/tools/context-stats.js +9 -5
  139. package/dist/tools/context-stats.js.map +1 -1
  140. package/dist/tools/context-stats.test.js +24 -10
  141. package/dist/tools/context-stats.test.js.map +1 -1
  142. package/dist/tools/get-trace-url.js +2 -2
  143. package/dist/tools/get-trace-url.js.map +1 -1
  144. package/dist/tools/health-check.js +2 -2
  145. package/dist/tools/health-check.js.map +1 -1
  146. package/dist/tools/index.d.ts +1 -0
  147. package/dist/tools/index.d.ts.map +1 -1
  148. package/dist/tools/index.js +1 -0
  149. package/dist/tools/index.js.map +1 -1
  150. package/dist/tools/query-evaluations.d.ts +186 -0
  151. package/dist/tools/query-evaluations.d.ts.map +1 -0
  152. package/dist/tools/query-evaluations.js +351 -0
  153. package/dist/tools/query-evaluations.js.map +1 -0
  154. package/dist/tools/query-evaluations.test.d.ts +5 -0
  155. package/dist/tools/query-evaluations.test.d.ts.map +1 -0
  156. package/dist/tools/query-evaluations.test.js +733 -0
  157. package/dist/tools/query-evaluations.test.js.map +1 -0
  158. package/dist/tools/query-llm-events.d.ts +24 -18
  159. package/dist/tools/query-llm-events.d.ts.map +1 -1
  160. package/dist/tools/query-llm-events.js +103 -60
  161. package/dist/tools/query-llm-events.js.map +1 -1
  162. package/dist/tools/query-llm-events.test.js +271 -9
  163. package/dist/tools/query-llm-events.test.js.map +1 -1
  164. package/dist/tools/query-logs.d.ts +28 -20
  165. package/dist/tools/query-logs.d.ts.map +1 -1
  166. package/dist/tools/query-logs.js +85 -61
  167. package/dist/tools/query-logs.js.map +1 -1
  168. package/dist/tools/query-logs.test.js +74 -145
  169. package/dist/tools/query-logs.test.js.map +1 -1
  170. package/dist/tools/query-metrics.d.ts +20 -20
  171. package/dist/tools/query-metrics.d.ts.map +1 -1
  172. package/dist/tools/query-metrics.js +109 -61
  173. package/dist/tools/query-metrics.js.map +1 -1
  174. package/dist/tools/query-metrics.test.js +26 -61
  175. package/dist/tools/query-metrics.test.js.map +1 -1
  176. package/dist/tools/query-traces.d.ts +24 -22
  177. package/dist/tools/query-traces.d.ts.map +1 -1
  178. package/dist/tools/query-traces.js +95 -70
  179. package/dist/tools/query-traces.js.map +1 -1
  180. package/dist/tools/query-traces.test.js +294 -90
  181. package/dist/tools/query-traces.test.js.map +1 -1
  182. package/dist/tools/setup-claudeignore.js +7 -7
  183. package/dist/tools/setup-claudeignore.js.map +1 -1
  184. package/dist/tools/setup-claudeignore.test.js +4 -25
  185. package/dist/tools/setup-claudeignore.test.js.map +1 -1
  186. package/package.json +3 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-jsonl-traces.test.js","sourceRoot":"","sources":["../../src/backends/local-jsonl-traces.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * The local telemetry files use a flat JSONL format where each line is a complete
5
5
  * span or log record, not the batched OpenTelemetry export format.
6
6
  */
7
- import { TelemetryBackend, TraceSpan, LogRecord, MetricDataPoint, LLMEvent, TraceQueryOptions, LogQueryOptions, MetricQueryOptions, LLMEventQueryOptions, OTLPTraceExport, OTLPLogExport, OTLPMetricExport } from './index.js';
7
+ import { TelemetryBackend, TraceSpan, LogRecord, MetricDataPoint, LLMEvent, EvaluationResult, TraceQueryOptions, LogQueryOptions, MetricQueryOptions, LLMEventQueryOptions, EvaluationQueryOptions, OTLPTraceExport, OTLPLogExport, OTLPMetricExport } from './index.js';
8
8
  export declare class LocalJsonlBackend implements TelemetryBackend {
9
9
  name: string;
10
10
  private telemetryDir;
@@ -12,6 +12,7 @@ export declare class LocalJsonlBackend implements TelemetryBackend {
12
12
  private logCache;
13
13
  private metricCache;
14
14
  private llmEventCache;
15
+ private evaluationCache;
15
16
  private useIndexes;
16
17
  constructor(telemetryDir?: string, useIndexes?: boolean);
17
18
  /**
@@ -38,6 +39,7 @@ export declare class LocalJsonlBackend implements TelemetryBackend {
38
39
  */
39
40
  private calculateRate;
40
41
  queryLLMEvents(options: LLMEventQueryOptions): Promise<LLMEvent[]>;
42
+ queryEvaluations(options: EvaluationQueryOptions): Promise<EvaluationResult[]>;
41
43
  healthCheck(): Promise<{
42
44
  status: 'ok' | 'error';
43
45
  message?: string;
@@ -72,6 +74,7 @@ export declare class MultiDirectoryBackend implements TelemetryBackend {
72
74
  queryLogs(options: LogQueryOptions): Promise<LogRecord[]>;
73
75
  queryMetrics(options: MetricQueryOptions): Promise<MetricDataPoint[]>;
74
76
  queryLLMEvents(options: LLMEventQueryOptions): Promise<LLMEvent[]>;
77
+ queryEvaluations(options: EvaluationQueryOptions): Promise<EvaluationResult[]>;
75
78
  healthCheck(): Promise<{
76
79
  status: 'ok' | 'error';
77
80
  message?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"local-jsonl.d.ts","sourceRoot":"","sources":["../../src/backends/local-jsonl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-jsonl.d.ts","sourceRoot":"","sources":["../../src/backends/local-jsonl.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,13 @@
5
5
  * span or log record, not the batched OpenTelemetry export format.
6
6
  */
7
7
  import { join } from 'path';
8
+ import { GENAI_EVALUATION_ATTRIBUTES, } from './index.js';
8
9
  import { convertToOTLPTraces, convertToOTLPLogs, convertToOTLPMetrics, } from '../lib/otlp-export.js';
9
10
  import { TELEMETRY_DIR, getTelemetryDirectories, getSpanKind, getStatusCodeName } from '../lib/constants.js';
10
11
  import { listFiles, streamJsonl, parseDateFromFilename, getDateString, paginateResults, hasReachedLimit, } from '../lib/file-utils.js';
11
12
  import { QueryCache, makeCacheKey } from '../lib/cache.js';
12
13
  import { getIndexPath, readIndex, isIndexStale, queryIndex, readLinesByNumber, } from '../lib/indexer.js';
14
+ import { sanitizePath } from '../lib/error-sanitizer.js';
13
15
  import { existsSync } from 'fs';
14
16
  function startTiming() {
15
17
  const start = performance.now();
@@ -147,6 +149,63 @@ function extractFieldsFromBody(body, fields) {
147
149
  return undefined;
148
150
  }
149
151
  }
152
+ /**
153
+ * Validate and extract a non-empty trimmed string from attributes
154
+ */
155
+ function extractValidString(value) {
156
+ if (typeof value !== 'string')
157
+ return undefined;
158
+ const trimmed = value.trim();
159
+ return trimmed.length > 0 ? trimmed : undefined;
160
+ }
161
+ /**
162
+ * Validate and extract a finite number from attributes
163
+ */
164
+ function extractValidNumber(value) {
165
+ if (typeof value !== 'number')
166
+ return undefined;
167
+ return Number.isFinite(value) ? value : undefined;
168
+ }
169
+ /** Valid evaluator types per our schema */
170
+ const VALID_EVALUATOR_TYPES = ['llm', 'human', 'rule', 'classifier'];
171
+ /**
172
+ * Extract and validate evaluatorType
173
+ */
174
+ function extractValidEvaluatorType(value) {
175
+ if (typeof value !== 'string')
176
+ return undefined;
177
+ const trimmed = value.trim().toLowerCase();
178
+ return VALID_EVALUATOR_TYPES.includes(trimmed) ? trimmed : undefined;
179
+ }
180
+ /**
181
+ * Convert flat evaluation to normalized EvaluationResult
182
+ * Includes runtime validation for data integrity (P0-2 fix)
183
+ */
184
+ function normalizeEvaluation(raw) {
185
+ const attrs = raw.attributes;
186
+ // evaluationName is required per OTel spec - must be non-empty string
187
+ const evaluationName = extractValidString(attrs?.[GENAI_EVALUATION_ATTRIBUTES.NAME]);
188
+ if (!evaluationName || !raw.timestamp)
189
+ return null;
190
+ return {
191
+ timestamp: raw.timestamp,
192
+ evaluationName,
193
+ // Validate scoreValue is finite (rejects NaN, Infinity, -Infinity)
194
+ scoreValue: extractValidNumber(attrs?.[GENAI_EVALUATION_ATTRIBUTES.SCORE_VALUE]),
195
+ // Validate string fields are non-empty after trimming
196
+ scoreLabel: extractValidString(attrs?.[GENAI_EVALUATION_ATTRIBUTES.SCORE_LABEL]),
197
+ // Score unit for normalization (custom extension)
198
+ scoreUnit: extractValidString(attrs?.[GENAI_EVALUATION_ATTRIBUTES.SCORE_UNIT]),
199
+ explanation: extractValidString(attrs?.[GENAI_EVALUATION_ATTRIBUTES.EXPLANATION]),
200
+ // Evaluator fields (custom extension)
201
+ evaluator: extractValidString(attrs?.[GENAI_EVALUATION_ATTRIBUTES.EVALUATOR]),
202
+ evaluatorType: extractValidEvaluatorType(attrs?.[GENAI_EVALUATION_ATTRIBUTES.EVALUATOR_TYPE]),
203
+ responseId: extractValidString(attrs?.['gen_ai.response.id']),
204
+ traceId: raw.traceId,
205
+ spanId: raw.spanId,
206
+ sessionId: extractValidString(attrs?.['session.id']),
207
+ };
208
+ }
150
209
  /**
151
210
  * OTel-compliant severity number mapping
152
211
  * https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitynumber
@@ -370,6 +429,7 @@ export class LocalJsonlBackend {
370
429
  logCache = new QueryCache();
371
430
  metricCache = new QueryCache();
372
431
  llmEventCache = new QueryCache();
432
+ evaluationCache = new QueryCache();
373
433
  useIndexes;
374
434
  constructor(telemetryDir, useIndexes = true) {
375
435
  this.telemetryDir = telemetryDir || TELEMETRY_DIR;
@@ -383,6 +443,7 @@ export class LocalJsonlBackend {
383
443
  this.logCache.clear();
384
444
  this.metricCache.clear();
385
445
  this.llmEventCache.clear();
446
+ this.evaluationCache.clear();
386
447
  }
387
448
  /**
388
449
  * Get cache statistics for all query caches
@@ -393,6 +454,7 @@ export class LocalJsonlBackend {
393
454
  logs: this.logCache.getStats(),
394
455
  metrics: this.metricCache.getStats(),
395
456
  llmEvents: this.llmEventCache.getStats(),
457
+ evaluations: this.evaluationCache.getStats(),
396
458
  };
397
459
  }
398
460
  /**
@@ -946,21 +1008,129 @@ export class LocalJsonlBackend {
946
1008
  logTiming();
947
1009
  return paginated;
948
1010
  }
1011
+ async queryEvaluations(options) {
1012
+ const timer = startTiming();
1013
+ const logTiming = () => {
1014
+ const durationMs = timer.end();
1015
+ if (durationMs > SLOW_QUERY_THRESHOLD_MS) {
1016
+ console.warn(`[obs-toolkit] Slow query: queryEvaluations took ${durationMs.toFixed(1)}ms`);
1017
+ }
1018
+ };
1019
+ // Check cache first
1020
+ const cacheKey = makeCacheKey('evaluations', options);
1021
+ const cached = this.evaluationCache.get(cacheKey);
1022
+ if (cached) {
1023
+ logTiming();
1024
+ return cached;
1025
+ }
1026
+ const files = getFilesInRange(this.telemetryDir, /evaluations-\d{4}-\d{2}-\d{2}\.jsonl(\.gz)?$/, options.startDate, options.endDate);
1027
+ const results = [];
1028
+ const limit = options.limit || 100;
1029
+ const offset = options.offset || 0;
1030
+ // Build index query options for indexable filters
1031
+ const indexOptions = {
1032
+ traceId: options.traceId,
1033
+ evaluationName: options.evaluationName,
1034
+ scoreLabel: options.scoreLabel,
1035
+ responseId: options.responseId,
1036
+ evaluator: options.evaluator,
1037
+ };
1038
+ // Helper to apply non-indexable filters to an evaluation
1039
+ const applyFilters = (evaluation) => {
1040
+ // Score range filters - only apply when evaluation HAS a scoreValue (P1-1 fix)
1041
+ // Evaluations with only scoreLabel (qualitative) should pass through
1042
+ if (options.scoreMin !== undefined && evaluation.scoreValue !== undefined) {
1043
+ if (evaluation.scoreValue < options.scoreMin)
1044
+ return false;
1045
+ }
1046
+ if (options.scoreMax !== undefined && evaluation.scoreValue !== undefined) {
1047
+ if (evaluation.scoreValue > options.scoreMax)
1048
+ return false;
1049
+ }
1050
+ // Session filter
1051
+ if (options.sessionId && evaluation.sessionId !== options.sessionId) {
1052
+ return false;
1053
+ }
1054
+ // Evaluator type filter (not indexed, so always applied here)
1055
+ if (options.evaluatorType && evaluation.evaluatorType !== options.evaluatorType) {
1056
+ return false;
1057
+ }
1058
+ return true;
1059
+ };
1060
+ for (const file of files) {
1061
+ // Try to use index for pre-filtering
1062
+ const matchingLines = this.tryUseIndex(file, 'evaluations', indexOptions);
1063
+ if (matchingLines !== null) {
1064
+ // Use indexed query - read only matching lines
1065
+ const rawRecords = await readLinesByNumber(file, matchingLines);
1066
+ for (const raw of rawRecords) {
1067
+ const evaluation = normalizeEvaluation(raw);
1068
+ if (!evaluation)
1069
+ continue;
1070
+ if (!applyFilters(evaluation))
1071
+ continue;
1072
+ results.push(evaluation);
1073
+ if (hasReachedLimit(results.length, offset, limit)) {
1074
+ const paginated = paginateResults(results, offset, limit);
1075
+ this.evaluationCache.set(cacheKey, paginated);
1076
+ logTiming();
1077
+ return paginated;
1078
+ }
1079
+ }
1080
+ }
1081
+ else {
1082
+ // Fall back to full file scan
1083
+ for await (const raw of streamJsonl(file)) {
1084
+ const evaluation = normalizeEvaluation(raw);
1085
+ if (!evaluation)
1086
+ continue;
1087
+ // Apply indexable filters (since no index was used)
1088
+ if (options.traceId && evaluation.traceId !== options.traceId)
1089
+ continue;
1090
+ if (options.evaluationName && !evaluation.evaluationName.includes(options.evaluationName))
1091
+ continue;
1092
+ if (options.scoreLabel && evaluation.scoreLabel !== options.scoreLabel)
1093
+ continue;
1094
+ if (options.responseId && evaluation.responseId !== options.responseId)
1095
+ continue;
1096
+ if (options.evaluator && evaluation.evaluator !== options.evaluator)
1097
+ continue;
1098
+ if (!applyFilters(evaluation))
1099
+ continue;
1100
+ results.push(evaluation);
1101
+ if (hasReachedLimit(results.length, offset, limit)) {
1102
+ const paginated = paginateResults(results, offset, limit);
1103
+ this.evaluationCache.set(cacheKey, paginated);
1104
+ logTiming();
1105
+ return paginated;
1106
+ }
1107
+ }
1108
+ }
1109
+ }
1110
+ const paginated = paginateResults(results, offset, limit);
1111
+ this.evaluationCache.set(cacheKey, paginated);
1112
+ logTiming();
1113
+ return paginated;
1114
+ }
949
1115
  async healthCheck() {
950
1116
  if (!existsSync(this.telemetryDir)) {
951
- return { status: 'error', message: `Telemetry directory not found: ${this.telemetryDir}` };
1117
+ // Security: sanitize path to prevent information disclosure
1118
+ return { status: 'error', message: `Telemetry directory not found: ${sanitizePath(this.telemetryDir)}` };
952
1119
  }
953
1120
  const today = getDateString();
954
1121
  const tracesFile = join(this.telemetryDir, `traces-${today}.jsonl`);
955
1122
  const logsFile = join(this.telemetryDir, `logs-${today}.jsonl`);
956
1123
  const llmEventsFile = join(this.telemetryDir, `llm-events-${today}.jsonl`);
1124
+ const evaluationsFile = join(this.telemetryDir, `evaluations-${today}.jsonl`);
957
1125
  const hasTraces = existsSync(tracesFile);
958
1126
  const hasLogs = existsSync(logsFile);
959
1127
  const hasLLMEvents = existsSync(llmEventsFile);
1128
+ const hasEvaluations = existsSync(evaluationsFile);
960
1129
  const found = [
961
1130
  hasTraces ? 'traces' : '',
962
1131
  hasLogs ? 'logs' : '',
963
1132
  hasLLMEvents ? 'llm-events' : '',
1133
+ hasEvaluations ? 'evaluations' : '',
964
1134
  ].filter(Boolean).join(', ');
965
1135
  if (!found) {
966
1136
  return { status: 'ok', message: `No telemetry files for today (${today})` };
@@ -1054,6 +1224,19 @@ export class MultiDirectoryBackend {
1054
1224
  }
1055
1225
  return topResults;
1056
1226
  }
1227
+ async queryEvaluations(options) {
1228
+ const limit = options.limit || 100;
1229
+ // Query all backends in parallel
1230
+ const allBackendResults = await Promise.all(this.backends.map(b => b.queryEvaluations({ ...options, limit })));
1231
+ // Merge results using bounded insertion for efficient top-K selection
1232
+ const topResults = [];
1233
+ for (const results of allBackendResults) {
1234
+ for (const evaluation of results) {
1235
+ insertSortedBounded(topResults, evaluation, limit, (a, b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime());
1236
+ }
1237
+ }
1238
+ return topResults;
1239
+ }
1057
1240
  async healthCheck() {
1058
1241
  if (this.backends.length === 0) {
1059
1242
  return { status: 'error', message: 'No telemetry directories found' };
@@ -1082,6 +1265,7 @@ export class MultiDirectoryBackend {
1082
1265
  logs: { hits: 0, misses: 0, evictions: 0, size: 0 },
1083
1266
  metrics: { hits: 0, misses: 0, evictions: 0, size: 0 },
1084
1267
  llmEvents: { hits: 0, misses: 0, evictions: 0, size: 0 },
1268
+ evaluations: { hits: 0, misses: 0, evictions: 0, size: 0 },
1085
1269
  };
1086
1270
  for (const backend of this.backends) {
1087
1271
  const stats = backend.getCacheStats();