1 line
11 KiB
JSON
1 line
11 KiB
JSON
{"repo": "aluminumshark/finflash", "files": {"backend/.env.example": {"9a016a7084350d3e86eb59502b8f2e0a548aaf05": {"t": 1785745167.4047287, "n": 2814, "h": "362ae738918dfbf0", "c": "# ---- FinFlash backend configuration ----\n\n# App\nFINFLASH_ENV=development # development | production | testing\nLOG_LEVEL=INFO\nSECRET_KEY=change-me-in-production\n\n# Require an X-API-Key on /api routes. Unset = ON only in production.\n# Leave OFF for local/self-host; set true to gate a PUBLIC deployment.\nREQUIRE_API_KEY=false\n\n# CORS (comma-separated origins; \"*\" only for local dev)\nCORS_ORIGINS=http://localhost:5173\n\n# Database (async drivers)\n# Postgres + pgvector recommended for RAG; SQLite works for local dev (no vector search).\nDATABASE_URL=postgresql+asyncpg://finflash:finflash@localhost:5432/finflash\n# DATABASE_URL=sqlite+aiosqlite:///./financial_news.db\n\n# Redis (rate limiting + per-key quota)\nREDIS_URL=redis://localhost:6379/0\n\n# ---- Default server-side LLM keys (optional) ----\n# Used only when a request does NOT bring its own key (BYO key).\n# Leave blank to force every caller to supply X-LLM-Key.\nOPENAI_API_KEY=\nANTHROPIC_API_KEY=\nGEMINI_API_KEY=\nDEEPSEEK_API_KEY=\n\n# ---- Self-hosted Ollama (optional; free, no key) ----\n# Set this to use local models, then point DEFAULT_LLM_MODEL / DEFAULT_EMBEDDING_MODEL\n# at ollama_chat/<model> and ollama/<embed-model>. Callers can also override per-request\n# with the X-LLM-Api-Base header.\nOLLAMA_API_BASE=\n# Cap concurrent LLM calls (0 = unlimited). Set to 1 for a small/constrained\n# self-hosted Ollama so the parallel analysts don't crash the model runner.\nLLM_MAX_CONCURRENCY=0\n\n# Default model when caller does not specify one (LiteLLM model id).\n# Cloud example: openai/gpt-5 Local example: ollama_chat/qwen3.6:latest\nDEFAULT_LLM_MODEL=openai/gpt-5\n\n# Embeddings are a DEPLOYMENT-level setting (consistent vector dimension for all rows).\n# Cloud: openai/text-embedding-3-small (1536) | gemini/text-embedding-004 (768)\n# Local: ollama/embeddinggemma:latest (768)\nDEFAULT_EMBEDDING_MODEL=openai/text-embedding-3-small\nEMBEDDING_DIM=1536 # MUST match DEFAULT_EMBEDDING_MODEL's width\n\nTRANSCRIPTION_MODEL=openai/gpt-4o-transcribe\n\n# News search: leave blank to use the FREE Google News RSS source (no key needed).\n# Set an Exa key to upgrade to full-text search.\nEXA_API_KEY=\n\n# Per-API-key daily quotas (0 = unlimited)\nQUOTA_DAILY_REQUESTS=500\nQUOTA_DAILY_USD=10.0\n\n# RAG: only retrieve news collected within this many days (0 = no limit)\nRAG_MAX_AGE_DAYS=90\n\n# Data retention: auto-purge news + analyses older than N days (0 = keep forever).\n# When > 0, a background task runs every CLEANUP_INTERVAL_HOURS.\nDATA_RETENTION_DAYS=0\nCLEANUP_INTERVAL_HOURS=24\n# Safety floor: the manual /api/admin/cleanup endpoint can never delete data\n# newer than this many days (protects recent data on auth-off instances).\nCLEANUP_MIN_AGE_DAYS=7\n\n# Observability (optional)\nLANGSMITH_TRACING=false\nLANGSMITH_API_KEY=\nLANGSMITH_PROJECT=finflash\n"}, "d102337003aea4924d370844b00806d04dd6492f": {"t": 1785748350.0269763, "n": 2814, "h": "362ae738918dfbf0", "c": "# ---- FinFlash backend configuration ----\n\n# App\nFINFLASH_ENV=development # development | production | testing\nLOG_LEVEL=INFO\nSECRET_KEY=change-me-in-production\n\n# Require an X-API-Key on /api routes. Unset = ON only in production.\n# Leave OFF for local/self-host; set true to gate a PUBLIC deployment.\nREQUIRE_API_KEY=false\n\n# CORS (comma-separated origins; \"*\" only for local dev)\nCORS_ORIGINS=http://localhost:5173\n\n# Database (async drivers)\n# Postgres + pgvector recommended for RAG; SQLite works for local dev (no vector search).\nDATABASE_URL=postgresql+asyncpg://finflash:finflash@localhost:5432/finflash\n# DATABASE_URL=sqlite+aiosqlite:///./financial_news.db\n\n# Redis (rate limiting + per-key quota)\nREDIS_URL=redis://localhost:6379/0\n\n# ---- Default server-side LLM keys (optional) ----\n# Used only when a request does NOT bring its own key (BYO key).\n# Leave blank to force every caller to supply X-LLM-Key.\nOPENAI_API_KEY=\nANTHROPIC_API_KEY=\nGEMINI_API_KEY=\nDEEPSEEK_API_KEY=\n\n# ---- Self-hosted Ollama (optional; free, no key) ----\n# Set this to use local models, then point DEFAULT_LLM_MODEL / DEFAULT_EMBEDDING_MODEL\n# at ollama_chat/<model> and ollama/<embed-model>. Callers can also override per-request\n# with the X-LLM-Api-Base header.\nOLLAMA_API_BASE=\n# Cap concurrent LLM calls (0 = unlimited). Set to 1 for a small/constrained\n# self-hosted Ollama so the parallel analysts don't crash the model runner.\nLLM_MAX_CONCURRENCY=0\n\n# Default model when caller does not specify one (LiteLLM model id).\n# Cloud example: openai/gpt-5 Local example: ollama_chat/qwen3.6:latest\nDEFAULT_LLM_MODEL=openai/gpt-5\n\n# Embeddings are a DEPLOYMENT-level setting (consistent vector dimension for all rows).\n# Cloud: openai/text-embedding-3-small (1536) | gemini/text-embedding-004 (768)\n# Local: ollama/embeddinggemma:latest (768)\nDEFAULT_EMBEDDING_MODEL=openai/text-embedding-3-small\nEMBEDDING_DIM=1536 # MUST match DEFAULT_EMBEDDING_MODEL's width\n\nTRANSCRIPTION_MODEL=openai/gpt-4o-transcribe\n\n# News search: leave blank to use the FREE Google News RSS source (no key needed).\n# Set an Exa key to upgrade to full-text search.\nEXA_API_KEY=\n\n# Per-API-key daily quotas (0 = unlimited)\nQUOTA_DAILY_REQUESTS=500\nQUOTA_DAILY_USD=10.0\n\n# RAG: only retrieve news collected within this many days (0 = no limit)\nRAG_MAX_AGE_DAYS=90\n\n# Data retention: auto-purge news + analyses older than N days (0 = keep forever).\n# When > 0, a background task runs every CLEANUP_INTERVAL_HOURS.\nDATA_RETENTION_DAYS=0\nCLEANUP_INTERVAL_HOURS=24\n# Safety floor: the manual /api/admin/cleanup endpoint can never delete data\n# newer than this many days (protects recent data on auth-off instances).\nCLEANUP_MIN_AGE_DAYS=7\n\n# Observability (optional)\nLANGSMITH_TRACING=false\nLANGSMITH_API_KEY=\nLANGSMITH_PROJECT=finflash\n"}, "e671ea9e81d737c6617a1049b31e3529e266a0ac": {"t": 1785748351.6121764, "n": 2640, "h": "f034144832f1986f", "c": "# ---- FinFlash backend configuration ----\n\n# App\nFINFLASH_ENV=development # development | production | testing\nLOG_LEVEL=INFO\nSECRET_KEY=change-me-in-production\n\n# Require an X-API-Key on /api routes. Unset = ON only in production.\n# Leave OFF for local/self-host; set true to gate a PUBLIC deployment.\nREQUIRE_API_KEY=false\n\n# CORS (comma-separated origins; \"*\" only for local dev)\nCORS_ORIGINS=http://localhost:5173\n\n# Database (async drivers)\n# Postgres + pgvector recommended for RAG; SQLite works for local dev (no vector search).\nDATABASE_URL=postgresql+asyncpg://finflash:finflash@localhost:5432/finflash\n# DATABASE_URL=sqlite+aiosqlite:///./financial_news.db\n\n# Redis (rate limiting + per-key quota)\nREDIS_URL=redis://localhost:6379/0\n\n# ---- Default server-side LLM keys (optional) ----\n# Used only when a request does NOT bring its own key (BYO key).\n# Leave blank to force every caller to supply X-LLM-Key.\nOPENAI_API_KEY=\nANTHROPIC_API_KEY=\nGEMINI_API_KEY=\nDEEPSEEK_API_KEY=\n\n# ---- Self-hosted Ollama (optional; free, no key) ----\n# Set this to use local models, then point DEFAULT_LLM_MODEL / DEFAULT_EMBEDDING_MODEL\n# at ollama_chat/<model> and ollama/<embed-model>. Callers can also override per-request\n# with the X-LLM-Api-Base header.\nOLLAMA_API_BASE=\n# Cap concurrent LLM calls (0 = unlimited). Set to 1 for a small/constrained\n# self-hosted Ollama so the parallel analysts don't crash the model runner.\nLLM_MAX_CONCURRENCY=0\n\n# Default model when caller does not specify one (LiteLLM model id).\n# Cloud example: openai/gpt-5 Local example: ollama_chat/qwen3.6:latest\nDEFAULT_LLM_MODEL=openai/gpt-5\n\n# Embeddings are a DEPLOYMENT-level setting (consistent vector dimension for all rows).\n# Cloud: openai/text-embedding-3-small (1536) | gemini/text-embedding-004 (768)\n# Local: ollama/embeddinggemma:latest (768)\nDEFAULT_EMBEDDING_MODEL=openai/text-embedding-3-small\nEMBEDDING_DIM=1536 # MUST match DEFAULT_EMBEDDING_MODEL's width\n\nTRANSCRIPTION_MODEL=openai/gpt-4o-transcribe\n\n# News search: leave blank to use the FREE Google News RSS source (no key needed).\n# Set an Exa key to upgrade to full-text search.\nEXA_API_KEY=\n\n# Per-API-key daily quotas (0 = unlimited)\nQUOTA_DAILY_REQUESTS=500\nQUOTA_DAILY_USD=10.0\n\n# RAG: only retrieve news collected within this many days (0 = no limit)\nRAG_MAX_AGE_DAYS=90\n\n# Data retention: auto-purge news + analyses older than N days (0 = keep forever).\n# When > 0, a background task runs every CLEANUP_INTERVAL_HOURS.\nDATA_RETENTION_DAYS=0\nCLEANUP_INTERVAL_HOURS=24\n\n# Observability (optional)\nLANGSMITH_TRACING=false\nLANGSMITH_API_KEY=\nLANGSMITH_PROJECT=finflash\n"}, "6ea7926547da3a6be58796e6b310822c4ae57d41": {"t": 1785748352.7026534, "n": 2349, "h": "fde4285109c7a87a", "c": "# ---- FinFlash backend configuration ----\n\n# App\nFINFLASH_ENV=development # development | production | testing\nLOG_LEVEL=INFO\nSECRET_KEY=change-me-in-production\n\n# Require an X-API-Key on /api routes. Unset = ON only in production.\n# Leave OFF for local/self-host; set true to gate a PUBLIC deployment.\nREQUIRE_API_KEY=false\n\n# CORS (comma-separated origins; \"*\" only for local dev)\nCORS_ORIGINS=http://localhost:5173\n\n# Database (async drivers)\n# Postgres + pgvector recommended for RAG; SQLite works for local dev (no vector search).\nDATABASE_URL=postgresql+asyncpg://finflash:finflash@localhost:5432/finflash\n# DATABASE_URL=sqlite+aiosqlite:///./financial_news.db\n\n# Redis (rate limiting + per-key quota)\nREDIS_URL=redis://localhost:6379/0\n\n# ---- Default server-side LLM keys (optional) ----\n# Used only when a request does NOT bring its own key (BYO key).\n# Leave blank to force every caller to supply X-LLM-Key.\nOPENAI_API_KEY=\nANTHROPIC_API_KEY=\nGEMINI_API_KEY=\nDEEPSEEK_API_KEY=\n\n# ---- Self-hosted Ollama (optional; free, no key) ----\n# Set this to use local models, then point DEFAULT_LLM_MODEL / DEFAULT_EMBEDDING_MODEL\n# at ollama_chat/<model> and ollama/<embed-model>. Callers can also override per-request\n# with the X-LLM-Api-Base header.\nOLLAMA_API_BASE=\n# Cap concurrent LLM calls (0 = unlimited). Set to 1 for a small/constrained\n# self-hosted Ollama so the parallel analysts don't crash the model runner.\nLLM_MAX_CONCURRENCY=0\n\n# Default model when caller does not specify one (LiteLLM model id).\n# Cloud example: openai/gpt-5 Local example: ollama_chat/qwen3.6:latest\nDEFAULT_LLM_MODEL=openai/gpt-5\n\n# Embeddings are a DEPLOYMENT-level setting (consistent vector dimension for all rows).\n# Cloud: openai/text-embedding-3-small (1536) | gemini/text-embedding-004 (768)\n# Local: ollama/embeddinggemma:latest (768)\nDEFAULT_EMBEDDING_MODEL=openai/text-embedding-3-small\nEMBEDDING_DIM=1536 # MUST match DEFAULT_EMBEDDING_MODEL's width\n\nTRANSCRIPTION_MODEL=openai/gpt-4o-transcribe\n\n# News search: leave blank to use the FREE Google News RSS source (no key needed).\n# Set an Exa key to upgrade to full-text search.\nEXA_API_KEY=\n\n# Per-API-key daily quotas (0 = unlimited)\nQUOTA_DAILY_REQUESTS=500\nQUOTA_DAILY_USD=10.0\n\n# Observability (optional)\nLANGSMITH_TRACING=false\nLANGSMITH_API_KEY=\nLANGSMITH_PROJECT=finflash\n"}}}} |