a tool to help your Letta AI agents navigate bluesky

Improve environment variable parsing and default values

Changed files
+29 -17
utils
+29 -17
utils/agentContext.ts
··· 220 220 }; 221 221 222 222 const getNotifDelayMinimum = (): number => { 223 - const value = Number(Deno.env.get("NOTIF_DELAY_MINIMUM")); 223 + const value = msFrom.parse(Deno.env.get("NOTIF_DELAY_MINIMUM")); 224 224 225 225 if (isNaN(value) || value < msFrom.seconds(1) || value > msFrom.hours(24)) { 226 - return msFrom.seconds(2); 226 + return msFrom.seconds(10); 227 227 } 228 228 229 229 return value; 230 230 }; 231 231 232 232 const getNotifDelayMaximum = (): number => { 233 - const value = Number(Deno.env.get("NOTIF_DELAY_MAXIMUM")); 233 + const value = msFrom.parse(Deno.env.get("NOTIF_DELAY_MAXIMUM")); 234 234 235 235 if (isNaN(value) || value < msFrom.seconds(5) || value > msFrom.hours(24)) { 236 - return msFrom.hours(1); 236 + return msFrom.minutes(90); 237 237 } 238 238 239 239 const minimum = getNotifDelayMinimum(); ··· 251 251 const value = Number(Deno.env.get("NOTIF_DELAY_MULTIPLIER")); 252 252 253 253 if (isNaN(value) || value < 0 || value > 500) { 254 - return 1.05; 254 + return 1.12; 255 255 } 256 256 257 257 return (value / 100) + 1; 258 258 }; 259 259 260 260 const getReflectionDelayMinimum = (): number => { 261 - const value = Number(Deno.env.get("REFLECTION_DELAY_MINIMUM")); 261 + const value = msFrom.parse(Deno.env.get("REFLECTION_DELAY_MINIMUM")); 262 262 263 263 if (isNaN(value) || value < msFrom.minutes(30) || value > msFrom.hours(24)) { 264 - return msFrom.minutes(30); 264 + return msFrom.hours(3); 265 265 } 266 266 267 267 return value; 268 268 }; 269 269 270 270 const getReflectionDelayMaximum = (): number => { 271 - const value = Number(Deno.env.get("REFLECTION_DELAY_MAXIMUM")); 271 + const value = msFrom.parse(Deno.env.get("REFLECTION_DELAY_MAXIMUM")); 272 272 const minimum = getReflectionDelayMinimum(); 273 273 274 274 if (isNaN(value) || value < msFrom.minutes(60) || value > msFrom.hours(24)) { 275 - return msFrom.hours(8); 275 + return msFrom.hours(14); 276 276 } 277 277 278 278 if (value <= minimum) { ··· 285 285 }; 286 286 287 287 const getProactiveDelayMinimum = (): number => { 288 - const value = Number(Deno.env.get("PROACTIVE_DELAY_MINIMUM")); 288 + const value = msFrom.parse(Deno.env.get("PROACTIVE_DELAY_MINIMUM")); 289 289 290 290 if (isNaN(value) || value < msFrom.hours(1) || value > msFrom.hours(24)) { 291 - return msFrom.hours(1); 291 + return msFrom.hours(3); 292 292 } 293 293 294 294 return value; 295 295 }; 296 296 297 297 const getProactiveDelayMaximum = (): number => { 298 - const value = Number(Deno.env.get("PROACTIVE_DELAY_MAXIMUM")); 298 + const value = msFrom.parse(Deno.env.get("PROACTIVE_DELAY_MAXIMUM")); 299 299 const minimum = getProactiveDelayMinimum(); 300 300 301 301 if (isNaN(value) || value < msFrom.hours(3) || value > msFrom.hours(24)) { 302 - return msFrom.hours(12); 302 + return msFrom.hours(14); 303 303 } 304 304 305 305 if (value <= minimum) { ··· 312 312 }; 313 313 314 314 const getWakeTime = (): number => { 315 - const value = Math.round(Number(Deno.env.get("WAKE_TIME"))); 315 + const envValue = Deno.env.get("WAKE_TIME"); 316 316 317 - if (!value) { 317 + if (envValue === undefined || envValue === null || envValue === "") { 318 318 return 8; 319 319 } 320 320 321 + const value = Math.round(Number(envValue)); 322 + 323 + if (isNaN(value)) { 324 + throw Error(`"WAKE_TIME" must be a valid number, got: "${envValue}"`); 325 + } 326 + 321 327 if (value > 23) { 322 328 throw Error(`"WAKE_TIME" cannot be greater than 23 (11pm)`); 323 329 } ··· 330 336 }; 331 337 332 338 const getSleepTime = (): number => { 333 - const value = Math.round(Number(Deno.env.get("SLEEP_TIME"))); 339 + const envValue = Deno.env.get("SLEEP_TIME"); 334 340 335 - if (!value) { 341 + if (envValue === undefined || envValue === null || envValue === "") { 336 342 return 10; 343 + } 344 + 345 + const value = Math.round(Number(envValue)); 346 + 347 + if (isNaN(value)) { 348 + throw Error(`"SLEEP_TIME" must be a valid number, got: "${envValue}"`); 337 349 } 338 350 339 351 if (value > 23) {