config.ts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import "dotenv/config";
  2. const config = {
  3. LOG_LEVEL: process.env.LOG_LEVEL ?? "debug",
  4. REDIS_CONN: process.env.REDIS_CONN ?? "redis://localhost:6379/10",
  5. PUPPETEER_URL: process.env.PUPPETEER_URL ?? "http://localhost:8000/api/v1/visit",
  6. MASTODON_URL: process.env.MASTODON_URL ?? "https://mastodon.cl",
  7. MASTODON_API_URL: process.env.MASTODON_API_URL ?? "https://mastodon.cl/api/v1/",
  8. MASTODON_STREAMING_URL: process.env.MASTODON_STREAMING_URL ?? "wss://mastodon.cl/api/v1/streaming",
  9. IMG_PLACEHOLDER: process.env.IMG_PLACEHOLDER ?? "https://placehold.co/600x400",
  10. DEFAULT_TIMEZONE: process.env.DEFAULT_TIMEZONE ?? "America/Santiago",
  11. DEFAULT_LOCALE: process.env.DEFAULT_LOCALE ?? "es-CL",
  12. MASTODON_DB_HOST: process.env.MASTODON_DB_HOST,
  13. MASTODON_DB_USER: process.env.MASTODON_DB_USER,
  14. MASTODON_DB_PASSWORD: process.env.MASTODON_DB_PASSWORD,
  15. MASTODON_DB_DATABASE: process.env.MASTODON_DB_DATABASE,
  16. // PORTALES
  17. ADNRADIO: process.env.ADNRADIO ?? "https://www.adnradio.cl/",
  18. BIOBIOCHILE: process.env.BIOBIOCHILE ?? "https://www.biobiochile.cl/",
  19. CHILECULTURA: process.env.CHILECULTURA ?? "https://chilecultura.gob.cl/",
  20. CIPER: process.env.CIPER ?? "https://www.ciperchile.cl/actualidad/",
  21. CODEXVERDE: process.env.CODEXVERDE ?? "https://codexverde.cl/",
  22. CONTRAPODER: process.env.CONTRAPODER ?? "https://contrapoderchile.cl/category/portada/",
  23. COOPERATIVA: process.env.COOPERATIVA ?? "https://www.cooperativa.cl/",
  24. DF: process.env.DF ?? "https://www.df.cl/ultimasnoticias",
  25. ELCIUDADANO: process.env.ELCIUDADANO ?? "https://www.elciudadano.com/chile/",
  26. ELDESCONCIERTO: process.env.ELDESCONCIERTO ?? "https://eldesconcierto.cl",
  27. ELMOSTRADOR: process.env.ELMOSTRADOR ?? "https://www.elmostrador.cl/categoria/dia/",
  28. EMOL: process.env.EMOL ?? "https://www.emol.com",
  29. FASTCHECK: process.env.FASTCHECK ?? "https://www.fastcheck.cl/category/chequeo/",
  30. GLACIARESCHILENOS: process.env.GLACIARESCHILENOS ?? "https://www.glaciareschilenos.org/articulos/",
  31. INTERFERENCIA: process.env.INTERFERENCIA ?? "https://interferencia.cl/",
  32. LADERASUR: process.env.LADERASUR ?? "https://laderasur.com/",
  33. LATERCERA: process.env.LATERCERA ?? "https://www.latercera.com/canal/nacional/",
  34. RESUMEN: process.env.RESUMEN ?? "https://resumen.cl/",
  35. SISMOLOGIA: process.env.SISMOLOGIA ?? "https://www.sismologia.cl/index.html",
  36. TARREO: process.env.TARREO ?? "https://www.tarreo.com/noticias/",
  37. THECLINIC: process.env.THECLINIC ?? "https://www.theclinic.cl/lo-ultimo/",
  38. // KEYS
  39. MASTODON_KEY_ADNRADIO: process.env.MASTODON_KEY_ADNRADIO ?? "",
  40. MASTODON_KEY_BIOBIOCHILE: process.env.MASTODON_KEY_BIOBIOCHILE ?? "",
  41. MASTODON_KEY_CHILECULTURA: process.env.MASTODON_KEY_CHILECULTURA ?? "",
  42. MASTODON_KEY_CIPER: process.env.MASTODON_KEY_CIPER ?? "",
  43. MASTODON_KEY_CODEXVERDE: process.env.MASTODON_KEY_CODEXVERDE ?? "",
  44. MASTODON_KEY_CONTRAPODER: process.env.MASTODON_KEY_CONTRAPODER ?? "",
  45. MASTODON_KEY_COOPERATIVA: process.env.MASTODON_KEY_COOPERATIVA ?? "",
  46. MASTODON_KEY_DF: process.env.MASTODON_KEY_DF ?? "",
  47. MASTODON_KEY_ELCIUDADANO: process.env.MASTODON_KEY_ELCIUDADANO ?? "",
  48. MASTODON_KEY_ELDESCONCIERTO: process.env.MASTODON_KEY_ELDESCONCIERTO ?? "",
  49. MASTODON_KEY_ELMOSTRADOR: process.env.MASTODON_KEY_ELMOSTRADOR ?? "",
  50. MASTODON_KEY_EMOL: process.env.MASTODON_KEY_EMOL ?? "",
  51. MASTODON_KEY_FASTCHECK: process.env.MASTODON_KEY_FASTCHECK ?? "",
  52. MASTODON_KEY_GLACIARESCHILENOS: process.env.MASTODON_KEY_GLACIARESCHILENOS ?? "",
  53. MASTODON_KEY_INTERFERENCIA: process.env.MASTODON_KEY_INTERFERENCIA ?? "",
  54. MASTODON_KEY_LADERASUR: process.env.MASTODON_KEY_LADERASUR ?? "",
  55. MASTODON_KEY_LATERCERA: process.env.MASTODON_KEY_LATERCERA ?? "",
  56. MASTODON_KEY_RESUMEN: process.env.MASTODON_KEY_RESUMEN ?? "",
  57. MASTODON_KEY_SISMOLOGIA: process.env.MASTODON_KEY_SISMOLOGIA ?? "",
  58. MASTODON_KEY_TARREO: process.env.MASTODON_KEY_TARREO ?? "",
  59. MASTODON_KEY_THECLINIC: process.env.MASTODON_KEY_THECLINIC ?? "",
  60. // AGENTS
  61. MASTODON_KEY_FORTUNE: process.env.MASTODON_KEY_FORTUNE ?? "",
  62. MASTODON_KEY_REMINDME: process.env.MASTODON_KEY_REMINDME ?? "",
  63. MASTODON_KEY_ANNIVERSARIES: process.env.MASTODON_KEY_ANNIVERSARIES ?? "",
  64. MASTODON_KEY_ANONYBOT: process.env.MASTODON_KEY_ANONYBOT ?? "",
  65. MASTODON_KEY_COUNTDOWN: process.env.MASTODON_KEY_COUNTDOWN ?? "",
  66. COUNTDOWN_EVENTS: process.env.COUNTDOWN_EVENTS ?? "",
  67. // ANONYBOT Settings
  68. ANONYBOT_MAX_MESSAGE_LENGTH: process.env.ANONYBOT_MAX_MESSAGE_LENGTH ?? 500,
  69. ANONYBOT_RATE_LIMIT_HOURS: process.env.ANONYBOT_RATE_LIMIT_HOURS ?? 1,
  70. ANONYBOT_MAX_MESSAGES_PER_HOUR: process.env.ANONYBOT_MAX_MESSAGES_PER_HOUR ?? 5,
  71. ANONYBOT_MODERATION_LEVEL: process.env.ANONYBOT_MODERATION_LEVEL ?? "conservative",
  72. // OLLAMA
  73. OLLAMA_URL: process.env.OLLAMA_URL ?? "http://localhost:11434/api/generate",
  74. OLLAMA_MODEL: process.env.OLLAMA_MODEL ?? "llama3.2",
  75. OLLAMA_ENABLED: !(process.env.OLLAMA_ENABLED === "false"),
  76. OLLAMA_TIMEOUT: Number(process.env.OLLAMA_TIMEOUT ?? 10000),
  77. // Develop
  78. DEVELOP: !(process.env.DEVELOP === "false"),
  79. DEV_ACTIVE_PORTALS: process.env.DEV_ACTIVE_PORTALS?.split(";") ?? [],
  80. MASTODON_TEST_ACCESS_TOKEN: process.env.MASTODON_TEST_ACCESS_TOKEN ?? "",
  81. };
  82. export default config;