/**
 * pm2 ecosystem entry for legal-metadata-drain — scheduled (every 15 min) drain
 * of the precedent metadata-extraction queue (Gemini Flash). Keeps the
 * /precedents metadata queue from clogging (the prior agentic claude-CLI path
 * hit error_max_turns and nothing drained it autonomously).
 *
 * Pattern: cron_restart fires the script on schedule; autorestart:false → runs
 * once and exits (pm2 shows "stopped" between ticks — expected). Cheap no-op
 * when the queue is empty; Gemini Flash ≈ $0.10/1M tokens.
 *
 * Requires (host ~/.env via legal_mcp.config): GEMINI_API_KEY, POSTGRES_URL.
 *
 * Install (once):
 *     pm2 start /home/chaim/legal-ai/scripts/legal-metadata-drain.config.cjs
 *     pm2 save
 * Run now (manual): mcp-server/.venv/bin/python scripts/drain_metadata_queue.py
 * Schedule override: METADATA_DRAIN_CRON (default every 15 min).
 */
const cron = process.env.METADATA_DRAIN_CRON || "*/15 * * * *";

module.exports = {
  apps: [
    {
      name: "legal-metadata-drain",
      cwd: "/home/chaim/legal-ai",
      script: "/home/chaim/legal-ai/mcp-server/.venv/bin/python",
      args: "scripts/drain_metadata_queue.py 10",
      env: { HOME: "/home/chaim", PYTHONUNBUFFERED: "1" },
      autorestart: false, // one-shot per cron tick
      cron_restart: cron,
      max_memory_restart: "500M",
    },
  ],
};
