11import { Tracer } from "@opentelemetry/api" ;
2- import {
3- Instrumentation ,
4- registerInstrumentations ,
5- } from "@opentelemetry/instrumentation" ;
62import { resourceFromAttributes } from "@opentelemetry/resources" ;
73import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node" ;
84import { AnthropicInstrumentation } from "@traceloop/instrumentation-anthropic" ;
@@ -102,7 +98,7 @@ class ExtendedEvaluations extends BaseEvaluations {
10298 * @param evaluators - List of evaluators to be. Can be ran on Humanloop if specified only by path, or locally if a callable is provided.
10399 * @param concurrency - Number of datapoints to process in parallel.
104100 */
105- async run < I , O > ( {
101+ async run < I extends Record < string , unknown > & { messages ?: any [ ] } , O > ( {
106102 file,
107103 dataset,
108104 name,
@@ -122,14 +118,7 @@ class ExtendedEvaluations extends BaseEvaluations {
122118 ) [ ] ;
123119 concurrency ?: number ;
124120 } ) : Promise < EvaluatorCheck [ ] > {
125- return runEval < I , O > (
126- this . _client ,
127- file ,
128- dataset ,
129- name ,
130- evaluators ,
131- concurrency ,
132- ) ;
121+ return runEval ( this . _client , file , dataset , name , evaluators , concurrency ) ;
133122 }
134123}
135124
@@ -293,7 +282,7 @@ export class HumanloopClient extends BaseHumanloopClient {
293282 }
294283
295284 // Check if user has passed the LLM provider instrumentors
296- private assertProviders ( ) {
285+ private assertAtLeastOneProviderModuleSet ( ) {
297286 const userDidNotPassProviders = Object . values ( this . instrumentProviders ) . every (
298287 ( provider ) => ! provider ,
299288 ) ;
@@ -406,20 +395,18 @@ ${RESET}`,
406395 * @param path - The path to the Prompt.
407396 */
408397 public prompt < I , O > ( args : {
409- callable : I extends Record < string , unknown > & { messages ?: ChatMessage [ ] }
410- ? ( args : I ) => O
411- : ( ) => O ;
398+ callable : I extends never ? ( ) => O : ( args : I ) => O ;
412399 path : string ;
413- } ) : I extends Record < string , unknown >
414- ? (
415- args : I ,
416- ) => O extends Promise < infer R >
400+ } ) : I extends never
401+ ? ( ) => O extends Promise < infer R >
417402 ? Promise < R | undefined >
418403 : Promise < O | undefined >
419- : ( ) => O extends Promise < infer R >
404+ : (
405+ args : I ,
406+ ) => O extends Promise < infer R >
420407 ? Promise < R | undefined >
421408 : Promise < O | undefined > {
422- this . assertProviders ( ) ;
409+ this . assertAtLeastOneProviderModuleSet ( ) ;
423410 // @ts -ignore
424411 return promptDecoratorFactory ( args . path , args . callable ) ;
425412 }
@@ -457,16 +444,20 @@ ${RESET}`,
457444 * @param version - The JSON Schema of the Tool's inputs and outputs, plus the optional Humanloop fields `attributes and `setupValues`. See API reference for details.
458445 */
459446 public tool < I , O > ( args : {
460- callable : I extends Record < string , unknown > ? ( args : I ) => O : ( ) => O ;
447+ callable : I extends never
448+ ? ( ) => O
449+ : I extends Record < string , any >
450+ ? ( args : I ) => O
451+ : never ;
461452 path : string ;
462453 version : ToolKernelRequest ;
463- } ) : I extends Record < string , unknown >
464- ? (
465- args : I ,
466- ) => O extends Promise < infer R >
454+ } ) : I extends never
455+ ? ( ) => O extends Promise < infer R >
467456 ? Promise < R | undefined >
468457 : Promise < O | undefined >
469- : ( ) => O extends Promise < infer R >
458+ : (
459+ args : I ,
460+ ) => O extends Promise < infer R >
470461 ? Promise < R | undefined >
471462 : Promise < O | undefined > {
472463 // @ts -ignore
@@ -543,18 +534,20 @@ ${RESET}`,
543534 path,
544535 attributes,
545536 } : {
546- callable : I extends Record < string , unknown > & { messages ?: ChatMessage [ ] }
547- ? ( ( args : I ) => O ) | ( ( ) => O )
548- : never ;
537+ callable : I extends never
538+ ? ( ) => O
539+ : I extends Record < string , any > & { messages ?: ChatMessage [ ] }
540+ ? ( args : I ) => O
541+ : never ;
549542 path : string ;
550543 attributes ?: Record < string , unknown > ;
551- } ) : I extends Record < string , unknown > & { messages ?: ChatMessage [ ] }
552- ? (
553- args : I ,
554- ) => O extends Promise < infer R >
544+ } ) : I extends never
545+ ? ( ) => O extends Promise < infer R >
555546 ? Promise < R | undefined >
556547 : Promise < O | undefined >
557- : ( ) => O extends Promise < infer R >
548+ : (
549+ args : I ,
550+ ) => O extends Promise < infer R >
558551 ? Promise < R | undefined >
559552 : Promise < O | undefined > {
560553 // @ts -ignore
0 commit comments