config.ts 4.8 KB

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