config.ts 5.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. HORAS24: process.env["24HORAS"] ?? "https://www.24horas.cl/",
  18. ADNRADIO: process.env.ADNRADIO ?? "https://www.adnradio.cl/",
  19. BIOBIOCHILE: process.env.BIOBIOCHILE ?? "https://www.biobiochile.cl/",
  20. CHILECULTURA: process.env.CHILECULTURA ?? "https://chilecultura.gob.cl/",
  21. CIPER: process.env.CIPER ?? "https://www.ciperchile.cl/actualidad/",
  22. CODEXVERDE: process.env.CODEXVERDE ?? "https://codexverde.cl/",
  23. CONTRAPODER: process.env.CONTRAPODER ?? "https://contrapoderchile.cl/category/portada/",
  24. COOPERATIVA: process.env.COOPERATIVA ?? "https://www.cooperativa.cl/",
  25. DF: process.env.DF ?? "https://www.df.cl/ultimasnoticias",
  26. ELCIUDADANO: process.env.ELCIUDADANO ?? "https://www.elciudadano.com/chile/",
  27. ELDESCONCIERTO: process.env.ELDESCONCIERTO ?? "https://eldesconcierto.cl",
  28. ELMOSTRADOR: process.env.ELMOSTRADOR ?? "https://www.elmostrador.cl/categoria/dia/",
  29. ELSIGLO: process.env.ELSIGLO ?? "https://elsiglo.cl/",
  30. EMOL: process.env.EMOL ?? "https://www.emol.com",
  31. FASTCHECK: process.env.FASTCHECK ?? "https://www.fastcheck.cl/category/chequeo/",
  32. GLACIARESCHILENOS: process.env.GLACIARESCHILENOS ?? "https://www.glaciareschilenos.org/articulos/",
  33. INTERFERENCIA: process.env.INTERFERENCIA ?? "https://interferencia.cl/",
  34. LADERASUR: process.env.LADERASUR ?? "https://laderasur.com/",
  35. LANACION: process.env.LANACION ?? "https://www.lanacion.cl/",
  36. LATERCERA: process.env.LATERCERA ?? "https://www.latercera.com/canal/nacional/",
  37. METEORED: process.env.METEORED ?? "https://www.meteored.cl/",
  38. RESUMEN: process.env.RESUMEN ?? "https://resumen.cl/",
  39. SISMOLOGIA: process.env.SISMOLOGIA ?? "https://www.sismologia.cl/index.html",
  40. TARREO: process.env.TARREO ?? "https://www.tarreo.com/noticias/",
  41. THECLINIC: process.env.THECLINIC ?? "https://www.theclinic.cl/lo-ultimo/",
  42. // KEYS
  43. MASTODON_KEY_24HORAS: process.env.MASTODON_KEY_24HORAS ?? "",
  44. MASTODON_KEY_ADNRADIO: process.env.MASTODON_KEY_ADNRADIO ?? "",
  45. MASTODON_KEY_BIOBIOCHILE: process.env.MASTODON_KEY_BIOBIOCHILE ?? "",
  46. MASTODON_KEY_CHILECULTURA: process.env.MASTODON_KEY_CHILECULTURA ?? "",
  47. MASTODON_KEY_CIPER: process.env.MASTODON_KEY_CIPER ?? "",
  48. MASTODON_KEY_CODEXVERDE: process.env.MASTODON_KEY_CODEXVERDE ?? "",
  49. MASTODON_KEY_CONTRAPODER: process.env.MASTODON_KEY_CONTRAPODER ?? "",
  50. MASTODON_KEY_COOPERATIVA: process.env.MASTODON_KEY_COOPERATIVA ?? "",
  51. MASTODON_KEY_DF: process.env.MASTODON_KEY_DF ?? "",
  52. MASTODON_KEY_ELCIUDADANO: process.env.MASTODON_KEY_ELCIUDADANO ?? "",
  53. MASTODON_KEY_ELDESCONCIERTO: process.env.MASTODON_KEY_ELDESCONCIERTO ?? "",
  54. MASTODON_KEY_ELMOSTRADOR: process.env.MASTODON_KEY_ELMOSTRADOR ?? "",
  55. MASTODON_KEY_ELSIGLO: process.env.MASTODON_KEY_ELSIGLO ?? "",
  56. MASTODON_KEY_EMOL: process.env.MASTODON_KEY_EMOL ?? "",
  57. MASTODON_KEY_FASTCHECK: process.env.MASTODON_KEY_FASTCHECK ?? "",
  58. MASTODON_KEY_GLACIARESCHILENOS: process.env.MASTODON_KEY_GLACIARESCHILENOS ?? "",
  59. MASTODON_KEY_INTERFERENCIA: process.env.MASTODON_KEY_INTERFERENCIA ?? "",
  60. MASTODON_KEY_LADERASUR: process.env.MASTODON_KEY_LADERASUR ?? "",
  61. MASTODON_KEY_LANACION: process.env.MASTODON_KEY_LANACION ?? "",
  62. MASTODON_KEY_LATERCERA: process.env.MASTODON_KEY_LATERCERA ?? "",
  63. MASTODON_KEY_METEORED: process.env.MASTODON_KEY_METEORED ?? "",
  64. MASTODON_KEY_RESUMEN: process.env.MASTODON_KEY_RESUMEN ?? "",
  65. MASTODON_KEY_SISMOLOGIA: process.env.MASTODON_KEY_SISMOLOGIA ?? "",
  66. MASTODON_KEY_TARREO: process.env.MASTODON_KEY_TARREO ?? "",
  67. MASTODON_KEY_THECLINIC: process.env.MASTODON_KEY_THECLINIC ?? "",
  68. // AGENTS
  69. MASTODON_KEY_FORTUNE: process.env.MASTODON_KEY_FORTUNE ?? "",
  70. MASTODON_KEY_REMINDME: process.env.MASTODON_KEY_REMINDME ?? "",
  71. MASTODON_KEY_ANNIVERSARIES: process.env.MASTODON_KEY_ANNIVERSARIES ?? "",
  72. MASTODON_KEY_ANONYBOT: process.env.MASTODON_KEY_ANONYBOT ?? "",
  73. MASTODON_KEY_COUNTDOWN: process.env.MASTODON_KEY_COUNTDOWN ?? "",
  74. COUNTDOWN_EVENTS: process.env.COUNTDOWN_EVENTS ?? "",
  75. // ANONYBOT Settings
  76. ANONYBOT_MAX_MESSAGE_LENGTH: process.env.ANONYBOT_MAX_MESSAGE_LENGTH ?? 500,
  77. ANONYBOT_RATE_LIMIT_HOURS: process.env.ANONYBOT_RATE_LIMIT_HOURS ?? 1,
  78. ANONYBOT_MAX_MESSAGES_PER_HOUR: process.env.ANONYBOT_MAX_MESSAGES_PER_HOUR ?? 5,
  79. ANONYBOT_MODERATION_LEVEL: process.env.ANONYBOT_MODERATION_LEVEL ?? "conservative",
  80. // OLLAMA
  81. OLLAMA_URL: process.env.OLLAMA_URL ?? "http://localhost:11434/api/generate",
  82. OLLAMA_MODEL: process.env.OLLAMA_MODEL ?? "llama3.2",
  83. OLLAMA_ENABLED: !(process.env.OLLAMA_ENABLED === "false"),
  84. OLLAMA_TIMEOUT: Number(process.env.OLLAMA_TIMEOUT ?? 10000),
  85. // Develop
  86. DEVELOP: !(process.env.DEVELOP === "false"),
  87. DEV_ACTIVE_PORTALS: process.env.DEV_ACTIVE_PORTALS?.split(";") ?? [],
  88. MASTODON_TEST_ACCESS_TOKEN: process.env.MASTODON_TEST_ACCESS_TOKEN ?? "",
  89. };
  90. export default config;