scorecard-ai 1.0.0-alpha.9 → 1.1.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.
Files changed (104) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +48 -19
  3. package/client.d.mts +4 -4
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +4 -4
  6. package/client.d.ts.map +1 -1
  7. package/client.js +7 -5
  8. package/client.js.map +1 -1
  9. package/client.mjs +7 -5
  10. package/client.mjs.map +1 -1
  11. package/internal/tslib.js +6 -6
  12. package/lib/runAndEvaluate.d.mts +20 -8
  13. package/lib/runAndEvaluate.d.mts.map +1 -1
  14. package/lib/runAndEvaluate.d.ts +20 -8
  15. package/lib/runAndEvaluate.d.ts.map +1 -1
  16. package/lib/runAndEvaluate.js +31 -21
  17. package/lib/runAndEvaluate.js.map +1 -1
  18. package/lib/runAndEvaluate.mjs +31 -21
  19. package/lib/runAndEvaluate.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/resources/index.d.mts +2 -2
  22. package/resources/index.d.mts.map +1 -1
  23. package/resources/index.d.ts +2 -2
  24. package/resources/index.d.ts.map +1 -1
  25. package/resources/index.js +4 -4
  26. package/resources/index.js.map +1 -1
  27. package/resources/index.mjs +2 -2
  28. package/resources/index.mjs.map +1 -1
  29. package/resources/metrics.d.mts +611 -0
  30. package/resources/metrics.d.mts.map +1 -0
  31. package/resources/metrics.d.ts +611 -0
  32. package/resources/metrics.d.ts.map +1 -0
  33. package/resources/metrics.js +52 -0
  34. package/resources/metrics.js.map +1 -0
  35. package/resources/metrics.mjs +48 -0
  36. package/resources/metrics.mjs.map +1 -0
  37. package/resources/runs.d.mts +5 -5
  38. package/resources/runs.d.mts.map +1 -1
  39. package/resources/runs.d.ts +5 -5
  40. package/resources/runs.d.ts.map +1 -1
  41. package/resources/runs.js +1 -1
  42. package/resources/runs.mjs +1 -1
  43. package/resources/systems/index.d.mts +3 -0
  44. package/resources/systems/index.d.mts.map +1 -0
  45. package/resources/systems/index.d.ts +3 -0
  46. package/resources/systems/index.d.ts.map +1 -0
  47. package/resources/systems/index.js +9 -0
  48. package/resources/systems/index.js.map +1 -0
  49. package/resources/systems/index.mjs +4 -0
  50. package/resources/systems/index.mjs.map +1 -0
  51. package/resources/systems/systems.d.mts +229 -0
  52. package/resources/systems/systems.d.mts.map +1 -0
  53. package/resources/systems/systems.d.ts +229 -0
  54. package/resources/systems/systems.d.ts.map +1 -0
  55. package/resources/systems/systems.js +151 -0
  56. package/resources/systems/systems.js.map +1 -0
  57. package/resources/systems/systems.mjs +146 -0
  58. package/resources/systems/systems.mjs.map +1 -0
  59. package/resources/systems/versions.d.mts +132 -0
  60. package/resources/systems/versions.d.mts.map +1 -0
  61. package/resources/systems/versions.d.ts +132 -0
  62. package/resources/systems/versions.d.ts.map +1 -0
  63. package/resources/{system-configs.js → systems/versions.js} +26 -25
  64. package/resources/systems/versions.js.map +1 -0
  65. package/resources/{system-configs.mjs → systems/versions.mjs} +24 -23
  66. package/resources/systems/versions.mjs.map +1 -0
  67. package/resources/systems.d.mts +1 -224
  68. package/resources/systems.d.mts.map +1 -1
  69. package/resources/systems.d.ts +1 -224
  70. package/resources/systems.d.ts.map +1 -1
  71. package/resources/systems.js +2 -139
  72. package/resources/systems.js.map +1 -1
  73. package/resources/systems.mjs +1 -137
  74. package/resources/systems.mjs.map +1 -1
  75. package/resources/testsets.d.mts +1 -1
  76. package/resources/testsets.d.ts +1 -1
  77. package/resources/testsets.js +1 -1
  78. package/resources/testsets.mjs +1 -1
  79. package/src/client.ts +22 -27
  80. package/src/lib/runAndEvaluate.ts +52 -27
  81. package/src/resources/index.ts +2 -8
  82. package/src/resources/metrics.ts +768 -0
  83. package/src/resources/runs.ts +5 -5
  84. package/src/resources/systems/index.ts +18 -0
  85. package/src/resources/systems/systems.ts +299 -0
  86. package/src/resources/systems/versions.ts +166 -0
  87. package/src/resources/systems.ts +1 -277
  88. package/src/resources/testsets.ts +1 -1
  89. package/src/version.ts +1 -1
  90. package/version.d.mts +1 -1
  91. package/version.d.mts.map +1 -1
  92. package/version.d.ts +1 -1
  93. package/version.d.ts.map +1 -1
  94. package/version.js +1 -1
  95. package/version.js.map +1 -1
  96. package/version.mjs +1 -1
  97. package/version.mjs.map +1 -1
  98. package/resources/system-configs.d.mts +0 -148
  99. package/resources/system-configs.d.mts.map +0 -1
  100. package/resources/system-configs.d.ts +0 -148
  101. package/resources/system-configs.d.ts.map +0 -1
  102. package/resources/system-configs.js.map +0 -1
  103. package/resources/system-configs.mjs.map +0 -1
  104. package/src/resources/system-configs.ts +0 -189
@@ -0,0 +1,611 @@
1
+ import { APIResource } from "../core/resource.mjs";
2
+ import { APIPromise } from "../core/api-promise.mjs";
3
+ import { RequestOptions } from "../internal/request-options.mjs";
4
+ export declare class Metrics extends APIResource {
5
+ /**
6
+ * Create a new Metric for evaluating system outputs. The structure of a metric
7
+ * depends on the evalType and outputType of the metric.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const metric = await client.metrics.create('314', {
12
+ * evalType: 'ai',
13
+ * name: 'Response Accuracy',
14
+ * outputType: 'boolean',
15
+ * promptTemplate:
16
+ * 'Please evaluate if the following response is factually accurate: {{outputs.response}}',
17
+ * description:
18
+ * 'Evaluates if the response is factually accurate',
19
+ * evalModelName: 'gpt-4o',
20
+ * guidelines:
21
+ * 'Check if the response contains factually correct information',
22
+ * temperature: 0.1,
23
+ * });
24
+ * ```
25
+ */
26
+ create(projectID: string, body: MetricCreateParams, options?: RequestOptions): APIPromise<Metric>;
27
+ /**
28
+ * Update an existing Metric. You must specify the evalType and outputType of the
29
+ * metric. The structure of a metric depends on the evalType and outputType of the
30
+ * metric.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const metric = await client.metrics.update('321', {
35
+ * evalType: 'ai',
36
+ * outputType: 'boolean',
37
+ * promptTemplate:
38
+ * 'Using the following guidelines, evaluate the response: {{ guidelines }}\n\nResponse: {{ outputs.response }}\n\nIdeal answer: {{ expected.idealResponse }}',
39
+ * });
40
+ * ```
41
+ */
42
+ update(metricID: string, body: MetricUpdateParams, options?: RequestOptions): APIPromise<Metric>;
43
+ }
44
+ /**
45
+ * A Metric defines how to evaluate system outputs against expected results.
46
+ */
47
+ export type Metric = Metric.AIIntMetric | Metric.HumanIntMetric | Metric.HeuristicIntMetric | Metric.AIBooleanMetric | Metric.HumanBooleanMetric | Metric.HeuristicBooleanMetric;
48
+ export declare namespace Metric {
49
+ /**
50
+ * A Metric with AI evaluation and integer output.
51
+ */
52
+ interface AIIntMetric {
53
+ /**
54
+ * The ID of the Metric.
55
+ */
56
+ id: string;
57
+ /**
58
+ * The description of the Metric.
59
+ */
60
+ description: string | null;
61
+ /**
62
+ * The AI model to use for evaluation.
63
+ */
64
+ evalModelName: string;
65
+ /**
66
+ * AI-based evaluation type.
67
+ */
68
+ evalType: 'ai';
69
+ /**
70
+ * Guidelines for AI evaluation on how to score the metric.
71
+ */
72
+ guidelines: string | null;
73
+ /**
74
+ * The name of the Metric.
75
+ */
76
+ name: string;
77
+ /**
78
+ * Integer output type.
79
+ */
80
+ outputType: 'int';
81
+ /**
82
+ * The threshold for determining pass/fail from integer scores (1-5).
83
+ */
84
+ passingThreshold: number;
85
+ /**
86
+ * The complete prompt template for AI evaluation. Should include placeholders for
87
+ * dynamic content.
88
+ */
89
+ promptTemplate: string;
90
+ /**
91
+ * The temperature for AI evaluation (0-2).
92
+ */
93
+ temperature: number;
94
+ }
95
+ /**
96
+ * A Metric with human evaluation and integer output.
97
+ */
98
+ interface HumanIntMetric {
99
+ /**
100
+ * The ID of the Metric.
101
+ */
102
+ id: string;
103
+ /**
104
+ * The description of the Metric.
105
+ */
106
+ description: string | null;
107
+ /**
108
+ * Human-based evaluation type.
109
+ */
110
+ evalType: 'human';
111
+ /**
112
+ * The name of the Metric.
113
+ */
114
+ name: string;
115
+ /**
116
+ * Integer output type.
117
+ */
118
+ outputType: 'int';
119
+ /**
120
+ * The threshold for determining pass/fail from integer scores (1-5).
121
+ */
122
+ passingThreshold: number;
123
+ /**
124
+ * Guidelines for human evaluators.
125
+ */
126
+ guidelines?: string;
127
+ }
128
+ /**
129
+ * A Metric with heuristic evaluation and integer output.
130
+ */
131
+ interface HeuristicIntMetric {
132
+ /**
133
+ * The ID of the Metric.
134
+ */
135
+ id: string;
136
+ /**
137
+ * The description of the Metric.
138
+ */
139
+ description: string | null;
140
+ /**
141
+ * Heuristic-based evaluation type.
142
+ */
143
+ evalType: 'heuristic';
144
+ /**
145
+ * The name of the Metric.
146
+ */
147
+ name: string;
148
+ /**
149
+ * Integer output type.
150
+ */
151
+ outputType: 'int';
152
+ /**
153
+ * The threshold for determining pass/fail from integer scores (1-5).
154
+ */
155
+ passingThreshold: number;
156
+ /**
157
+ * Optional guidelines for heuristic evaluation logic.
158
+ */
159
+ guidelines?: string;
160
+ }
161
+ /**
162
+ * A Metric with AI evaluation and boolean output.
163
+ */
164
+ interface AIBooleanMetric {
165
+ /**
166
+ * The ID of the Metric.
167
+ */
168
+ id: string;
169
+ /**
170
+ * The description of the Metric.
171
+ */
172
+ description: string | null;
173
+ /**
174
+ * The AI model to use for evaluation.
175
+ */
176
+ evalModelName: string;
177
+ /**
178
+ * AI-based evaluation type.
179
+ */
180
+ evalType: 'ai';
181
+ /**
182
+ * Guidelines for AI evaluation on how to score the metric.
183
+ */
184
+ guidelines: string | null;
185
+ /**
186
+ * The name of the Metric.
187
+ */
188
+ name: string;
189
+ /**
190
+ * Boolean output type.
191
+ */
192
+ outputType: 'boolean';
193
+ /**
194
+ * The complete prompt template for AI evaluation. Should include placeholders for
195
+ * dynamic content.
196
+ */
197
+ promptTemplate: string;
198
+ /**
199
+ * The temperature for AI evaluation (0-2).
200
+ */
201
+ temperature: number;
202
+ }
203
+ /**
204
+ * A Metric with human evaluation and boolean output.
205
+ */
206
+ interface HumanBooleanMetric {
207
+ /**
208
+ * The ID of the Metric.
209
+ */
210
+ id: string;
211
+ /**
212
+ * The description of the Metric.
213
+ */
214
+ description: string | null;
215
+ /**
216
+ * Human-based evaluation type.
217
+ */
218
+ evalType: 'human';
219
+ /**
220
+ * The name of the Metric.
221
+ */
222
+ name: string;
223
+ /**
224
+ * Boolean output type.
225
+ */
226
+ outputType: 'boolean';
227
+ /**
228
+ * Guidelines for human evaluators.
229
+ */
230
+ guidelines?: string;
231
+ }
232
+ /**
233
+ * A Metric with heuristic evaluation and boolean output.
234
+ */
235
+ interface HeuristicBooleanMetric {
236
+ /**
237
+ * The ID of the Metric.
238
+ */
239
+ id: string;
240
+ /**
241
+ * The description of the Metric.
242
+ */
243
+ description: string | null;
244
+ /**
245
+ * Heuristic-based evaluation type.
246
+ */
247
+ evalType: 'heuristic';
248
+ /**
249
+ * The name of the Metric.
250
+ */
251
+ name: string;
252
+ /**
253
+ * Boolean output type.
254
+ */
255
+ outputType: 'boolean';
256
+ /**
257
+ * Optional guidelines for heuristic evaluation logic.
258
+ */
259
+ guidelines?: string;
260
+ }
261
+ }
262
+ export type MetricCreateParams = MetricCreateParams.AIIntMetric | MetricCreateParams.HumanIntMetric | MetricCreateParams.HeuristicIntMetric | MetricCreateParams.AIBooleanMetric | MetricCreateParams.HumanBooleanMetric | MetricCreateParams.HeuristicBooleanMetric;
263
+ export declare namespace MetricCreateParams {
264
+ interface AIIntMetric {
265
+ /**
266
+ * AI-based evaluation type.
267
+ */
268
+ evalType: 'ai';
269
+ /**
270
+ * The name of the Metric.
271
+ */
272
+ name: string;
273
+ /**
274
+ * Integer output type.
275
+ */
276
+ outputType: 'int';
277
+ /**
278
+ * The complete prompt template for AI evaluation. Should include placeholders for
279
+ * dynamic content.
280
+ */
281
+ promptTemplate: string;
282
+ /**
283
+ * The description of the Metric.
284
+ */
285
+ description?: string | null;
286
+ /**
287
+ * The AI model to use for evaluation.
288
+ */
289
+ evalModelName?: string;
290
+ /**
291
+ * Guidelines for AI evaluation on how to score the metric.
292
+ */
293
+ guidelines?: string | null;
294
+ /**
295
+ * The threshold for determining pass/fail from integer scores (1-5).
296
+ */
297
+ passingThreshold?: number;
298
+ /**
299
+ * The temperature for AI evaluation (0-2).
300
+ */
301
+ temperature?: number;
302
+ }
303
+ interface HumanIntMetric {
304
+ /**
305
+ * Human-based evaluation type.
306
+ */
307
+ evalType: 'human';
308
+ /**
309
+ * The name of the Metric.
310
+ */
311
+ name: string;
312
+ /**
313
+ * Integer output type.
314
+ */
315
+ outputType: 'int';
316
+ /**
317
+ * The description of the Metric.
318
+ */
319
+ description?: string | null;
320
+ /**
321
+ * Guidelines for human evaluators.
322
+ */
323
+ guidelines?: string;
324
+ /**
325
+ * The threshold for determining pass/fail from integer scores (1-5).
326
+ */
327
+ passingThreshold?: number;
328
+ }
329
+ interface HeuristicIntMetric {
330
+ /**
331
+ * Heuristic-based evaluation type.
332
+ */
333
+ evalType: 'heuristic';
334
+ /**
335
+ * The name of the Metric.
336
+ */
337
+ name: string;
338
+ /**
339
+ * Integer output type.
340
+ */
341
+ outputType: 'int';
342
+ /**
343
+ * The description of the Metric.
344
+ */
345
+ description?: string | null;
346
+ /**
347
+ * Optional guidelines for heuristic evaluation logic.
348
+ */
349
+ guidelines?: string;
350
+ /**
351
+ * The threshold for determining pass/fail from integer scores (1-5).
352
+ */
353
+ passingThreshold?: number;
354
+ }
355
+ interface AIBooleanMetric {
356
+ /**
357
+ * AI-based evaluation type.
358
+ */
359
+ evalType: 'ai';
360
+ /**
361
+ * The name of the Metric.
362
+ */
363
+ name: string;
364
+ /**
365
+ * Boolean output type.
366
+ */
367
+ outputType: 'boolean';
368
+ /**
369
+ * The complete prompt template for AI evaluation. Should include placeholders for
370
+ * dynamic content.
371
+ */
372
+ promptTemplate: string;
373
+ /**
374
+ * The description of the Metric.
375
+ */
376
+ description?: string | null;
377
+ /**
378
+ * The AI model to use for evaluation.
379
+ */
380
+ evalModelName?: string;
381
+ /**
382
+ * Guidelines for AI evaluation on how to score the metric.
383
+ */
384
+ guidelines?: string | null;
385
+ /**
386
+ * The temperature for AI evaluation (0-2).
387
+ */
388
+ temperature?: number;
389
+ }
390
+ interface HumanBooleanMetric {
391
+ /**
392
+ * Human-based evaluation type.
393
+ */
394
+ evalType: 'human';
395
+ /**
396
+ * The name of the Metric.
397
+ */
398
+ name: string;
399
+ /**
400
+ * Boolean output type.
401
+ */
402
+ outputType: 'boolean';
403
+ /**
404
+ * The description of the Metric.
405
+ */
406
+ description?: string | null;
407
+ /**
408
+ * Guidelines for human evaluators.
409
+ */
410
+ guidelines?: string;
411
+ }
412
+ interface HeuristicBooleanMetric {
413
+ /**
414
+ * Heuristic-based evaluation type.
415
+ */
416
+ evalType: 'heuristic';
417
+ /**
418
+ * The name of the Metric.
419
+ */
420
+ name: string;
421
+ /**
422
+ * Boolean output type.
423
+ */
424
+ outputType: 'boolean';
425
+ /**
426
+ * The description of the Metric.
427
+ */
428
+ description?: string | null;
429
+ /**
430
+ * Optional guidelines for heuristic evaluation logic.
431
+ */
432
+ guidelines?: string;
433
+ }
434
+ }
435
+ export type MetricUpdateParams = MetricUpdateParams.AIIntMetric | MetricUpdateParams.HumanIntMetric | MetricUpdateParams.HeuristicIntMetric | MetricUpdateParams.AIBooleanMetric | MetricUpdateParams.HumanBooleanMetric | MetricUpdateParams.HeuristicBooleanMetric;
436
+ export declare namespace MetricUpdateParams {
437
+ interface AIIntMetric {
438
+ /**
439
+ * AI-based evaluation type.
440
+ */
441
+ evalType: 'ai';
442
+ /**
443
+ * Integer output type.
444
+ */
445
+ outputType: 'int';
446
+ /**
447
+ * The description of the Metric.
448
+ */
449
+ description?: string | null;
450
+ /**
451
+ * The AI model to use for evaluation.
452
+ */
453
+ evalModelName?: string;
454
+ /**
455
+ * Guidelines for AI evaluation on how to score the metric.
456
+ */
457
+ guidelines?: string | null;
458
+ /**
459
+ * The name of the Metric.
460
+ */
461
+ name?: string;
462
+ /**
463
+ * The threshold for determining pass/fail from integer scores (1-5).
464
+ */
465
+ passingThreshold?: number;
466
+ /**
467
+ * The complete prompt template for AI evaluation. Should include placeholders for
468
+ * dynamic content.
469
+ */
470
+ promptTemplate?: string;
471
+ /**
472
+ * The temperature for AI evaluation (0-2).
473
+ */
474
+ temperature?: number;
475
+ }
476
+ interface HumanIntMetric {
477
+ /**
478
+ * Human-based evaluation type.
479
+ */
480
+ evalType: 'human';
481
+ /**
482
+ * Integer output type.
483
+ */
484
+ outputType: 'int';
485
+ /**
486
+ * The description of the Metric.
487
+ */
488
+ description?: string | null;
489
+ /**
490
+ * Guidelines for human evaluators.
491
+ */
492
+ guidelines?: string;
493
+ /**
494
+ * The name of the Metric.
495
+ */
496
+ name?: string;
497
+ /**
498
+ * The threshold for determining pass/fail from integer scores (1-5).
499
+ */
500
+ passingThreshold?: number;
501
+ }
502
+ interface HeuristicIntMetric {
503
+ /**
504
+ * Heuristic-based evaluation type.
505
+ */
506
+ evalType: 'heuristic';
507
+ /**
508
+ * Integer output type.
509
+ */
510
+ outputType: 'int';
511
+ /**
512
+ * The description of the Metric.
513
+ */
514
+ description?: string | null;
515
+ /**
516
+ * Optional guidelines for heuristic evaluation logic.
517
+ */
518
+ guidelines?: string;
519
+ /**
520
+ * The name of the Metric.
521
+ */
522
+ name?: string;
523
+ /**
524
+ * The threshold for determining pass/fail from integer scores (1-5).
525
+ */
526
+ passingThreshold?: number;
527
+ }
528
+ interface AIBooleanMetric {
529
+ /**
530
+ * AI-based evaluation type.
531
+ */
532
+ evalType: 'ai';
533
+ /**
534
+ * Boolean output type.
535
+ */
536
+ outputType: 'boolean';
537
+ /**
538
+ * The description of the Metric.
539
+ */
540
+ description?: string | null;
541
+ /**
542
+ * The AI model to use for evaluation.
543
+ */
544
+ evalModelName?: string;
545
+ /**
546
+ * Guidelines for AI evaluation on how to score the metric.
547
+ */
548
+ guidelines?: string | null;
549
+ /**
550
+ * The name of the Metric.
551
+ */
552
+ name?: string;
553
+ /**
554
+ * The complete prompt template for AI evaluation. Should include placeholders for
555
+ * dynamic content.
556
+ */
557
+ promptTemplate?: string;
558
+ /**
559
+ * The temperature for AI evaluation (0-2).
560
+ */
561
+ temperature?: number;
562
+ }
563
+ interface HumanBooleanMetric {
564
+ /**
565
+ * Human-based evaluation type.
566
+ */
567
+ evalType: 'human';
568
+ /**
569
+ * Boolean output type.
570
+ */
571
+ outputType: 'boolean';
572
+ /**
573
+ * The description of the Metric.
574
+ */
575
+ description?: string | null;
576
+ /**
577
+ * Guidelines for human evaluators.
578
+ */
579
+ guidelines?: string;
580
+ /**
581
+ * The name of the Metric.
582
+ */
583
+ name?: string;
584
+ }
585
+ interface HeuristicBooleanMetric {
586
+ /**
587
+ * Heuristic-based evaluation type.
588
+ */
589
+ evalType: 'heuristic';
590
+ /**
591
+ * Boolean output type.
592
+ */
593
+ outputType: 'boolean';
594
+ /**
595
+ * The description of the Metric.
596
+ */
597
+ description?: string | null;
598
+ /**
599
+ * Optional guidelines for heuristic evaluation logic.
600
+ */
601
+ guidelines?: string;
602
+ /**
603
+ * The name of the Metric.
604
+ */
605
+ name?: string;
606
+ }
607
+ }
608
+ export declare namespace Metrics {
609
+ export { type Metric as Metric, type MetricCreateParams as MetricCreateParams, type MetricUpdateParams as MetricUpdateParams, };
610
+ }
611
+ //# sourceMappingURL=metrics.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.mts","sourceRoot":"","sources":["../src/resources/metrics.ts"],"names":[],"mappings":"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"}