@@ -18,6 +18,13 @@ export const JsonSchema = z.string().refine(
1818 { message : "Invalid JSON string" } ,
1919) ;
2020
21+ const boolEnvSchema = ( defaultBool : boolean ) =>
22+ z
23+ . string ( )
24+ . default ( defaultBool ? "true" : "false" )
25+ . refine ( ( s ) => s === "true" || s === "false" , "must be 'true' or 'false'" )
26+ . transform ( ( s ) => s === "true" ) ;
27+
2128export const UrlSchema = z
2229 . string ( )
2330 . refine (
@@ -53,15 +60,15 @@ export const env = createEnv({
5360 ) ,
5461 PORT : z . coerce . number ( ) . default ( 3005 ) ,
5562 HOST : z . string ( ) . default ( "0.0.0.0" ) ,
56- ENABLE_HTTPS : z . coerce . boolean ( ) . default ( false ) ,
63+ ENABLE_HTTPS : boolEnvSchema ( false ) ,
5764 HTTPS_PASSPHRASE : z . string ( ) . default ( "thirdweb-engine" ) ,
58- TRUST_PROXY : z . coerce . boolean ( ) . default ( false ) ,
65+ TRUST_PROXY : boolEnvSchema ( false ) ,
5966 CLIENT_ANALYTICS_URL : z
6067 . union ( [ UrlSchema , z . literal ( "" ) ] )
6168 . default ( "https://c.thirdweb.com/event" ) ,
6269 SDK_BATCH_TIME_LIMIT : z . coerce . number ( ) . default ( 0 ) ,
6370 SDK_BATCH_SIZE_LIMIT : z . coerce . number ( ) . default ( 100 ) ,
64- ENABLE_KEYPAIR_AUTH : z . coerce . boolean ( ) . default ( false ) ,
71+ ENABLE_KEYPAIR_AUTH : boolEnvSchema ( false ) ,
6572 CONTRACT_SUBSCRIPTIONS_DELAY_SECONDS : z . coerce
6673 . number ( )
6774 . nonnegative ( )
@@ -73,11 +80,11 @@ export const env = createEnv({
7380 . enum ( [ "default" , "sandbox" , "server_only" , "worker_only" ] )
7481 . default ( "default" ) ,
7582 GLOBAL_RATE_LIMIT_PER_MIN : z . coerce . number ( ) . default ( 400 * 60 ) ,
76- DD_TRACER_ACTIVATED : z . coerce . boolean ( ) . default ( false ) ,
83+ DD_TRACER_ACTIVATED : boolEnvSchema ( false ) ,
7784
7885 // Prometheus
7986 METRICS_PORT : z . coerce . number ( ) . default ( 4001 ) ,
80- METRICS_ENABLED : z . coerce . boolean ( ) . default ( true ) ,
87+ METRICS_ENABLED : boolEnvSchema ( true ) ,
8188
8289 /**
8390 * Limits
0 commit comments