11import { assertUnreachable , withSafety } from "../../utils" ;
22import { DefaultTraceConfig , traceConfigMetadata } from "./constants" ;
3- import type { TraceConfig , TraceConfigKey , TraceConfigOptions } from "./types" ;
3+ import type {
4+ BooleanTraceConfigFlag ,
5+ NumericTraceConfigFlag ,
6+ TraceConfig ,
7+ TraceConfigOptions ,
8+ } from "./types" ;
49
510const safelyParseInt = withSafety ( { fn : parseInt } ) ;
611
7- type TraceConfigOptionMetadata = ( typeof traceConfigMetadata ) [ TraceConfigKey ] ;
12+ type TraceConfigOptionMetadata = BooleanTraceConfigFlag | NumericTraceConfigFlag ;
813
914/**
1015 * Parses an option based on its type
@@ -13,6 +18,20 @@ type TraceConfigOptionMetadata = (typeof traceConfigMetadata)[TraceConfigKey];
1318 * @param optionMetadata - The {@link TraceConfigOptionMetadata} for the option which includes its type, default value, and environment variable key.
1419 *
1520 */
21+ function parseOption ( {
22+ optionValue,
23+ optionMetadata,
24+ } : {
25+ optionValue ?: boolean ;
26+ optionMetadata : BooleanTraceConfigFlag ;
27+ } ) : boolean ;
28+ function parseOption ( {
29+ optionValue,
30+ optionMetadata,
31+ } : {
32+ optionValue ?: number ;
33+ optionMetadata : NumericTraceConfigFlag ;
34+ } ) : number ;
1635function parseOption ( {
1736 optionValue,
1837 optionMetadata,
@@ -52,14 +71,50 @@ export function generateTraceConfig(options?: TraceConfigOptions): TraceConfig {
5271 if ( options == null ) {
5372 return DefaultTraceConfig ;
5473 }
55- return Object . entries ( traceConfigMetadata ) . reduce ( ( config , [ key , optionMetadata ] ) => {
56- const TraceConfigKey = key as TraceConfigKey ;
57- return {
58- ...config ,
59- [ TraceConfigKey ] : parseOption ( {
60- optionValue : options [ TraceConfigKey ] ,
61- optionMetadata,
62- } ) ,
63- } ;
64- } , { } as TraceConfig ) ;
74+ return {
75+ hideLLMTools : parseOption ( {
76+ optionValue : options . hideLLMTools ,
77+ optionMetadata : traceConfigMetadata . hideLLMTools ,
78+ } ) ,
79+ hideInputs : parseOption ( {
80+ optionValue : options . hideInputs ,
81+ optionMetadata : traceConfigMetadata . hideInputs ,
82+ } ) ,
83+ hideOutputs : parseOption ( {
84+ optionValue : options . hideOutputs ,
85+ optionMetadata : traceConfigMetadata . hideOutputs ,
86+ } ) ,
87+ hideInputMessages : parseOption ( {
88+ optionValue : options . hideInputMessages ,
89+ optionMetadata : traceConfigMetadata . hideInputMessages ,
90+ } ) ,
91+ hideOutputMessages : parseOption ( {
92+ optionValue : options . hideOutputMessages ,
93+ optionMetadata : traceConfigMetadata . hideOutputMessages ,
94+ } ) ,
95+ hideInputImages : parseOption ( {
96+ optionValue : options . hideInputImages ,
97+ optionMetadata : traceConfigMetadata . hideInputImages ,
98+ } ) ,
99+ hideInputText : parseOption ( {
100+ optionValue : options . hideInputText ,
101+ optionMetadata : traceConfigMetadata . hideInputText ,
102+ } ) ,
103+ hideOutputText : parseOption ( {
104+ optionValue : options . hideOutputText ,
105+ optionMetadata : traceConfigMetadata . hideOutputText ,
106+ } ) ,
107+ hideEmbeddingVectors : parseOption ( {
108+ optionValue : options . hideEmbeddingVectors ,
109+ optionMetadata : traceConfigMetadata . hideEmbeddingVectors ,
110+ } ) ,
111+ base64ImageMaxLength : parseOption ( {
112+ optionValue : options . base64ImageMaxLength ,
113+ optionMetadata : traceConfigMetadata . base64ImageMaxLength ,
114+ } ) ,
115+ hidePrompts : parseOption ( {
116+ optionValue : options . hidePrompts ,
117+ optionMetadata : traceConfigMetadata . hidePrompts ,
118+ } ) ,
119+ } ;
65120}
0 commit comments