# Honcho — environment configuration
# Copy this file to .env and fill in the values.
#
#   cp .env.example .env
#
# Lines marked [REQUIRED] must be set before starting.
# Lines marked [OPTIONAL] have sensible defaults and can be left empty.

# ── LLM Provider ─────────────────────────────────────────────────────────────
#
# Honcho uses an LLM internally for:
#   - extracting conclusions from conversation turns  (deriver)
#   - building peer representations / user cards       (deriver)
#   - session summarisation                            (deriver)
#   - dialectic/peer_chat queries                      (api)
#
# The deriver will fail silently (no memory extraction) if no key is provided.
# The API itself will still respond; only background memory-building stops.

# Option A — OpenAI (default)
# All model slots default to gpt-4o-mini / text-embedding-3-small.
LLM_OPENAI_API_KEY=sk-...                    # [REQUIRED for default setup]

# Option B — OpenRouter (OpenAI-compatible, access to many models)
# Uncomment and set DERIVER_MODEL_CONFIG__OVERRIDES__BASE_URL in the section below.
# LLM_OPENAI_API_KEY=sk-or-...

# Option C — Ollama (fully local, no data leaves the machine)
# Requires Ollama running on the host and a model that supports function calling.
# Uncomment the OLLAMA block below.

# ── Model overrides (optional) ────────────────────────────────────────────────
#
# Leave empty to use the defaults (OpenAI gpt-4o-mini / text-embedding-3-small).
# Uncomment and edit to point at a different provider or model.

# OpenRouter example:
# DERIVER_MODEL_CONFIG__TRANSPORT=openai
# DERIVER_MODEL_CONFIG__MODEL=openai/gpt-4o-mini
# DERIVER_MODEL_CONFIG__OVERRIDES__BASE_URL=https://openrouter.ai/api/v1

# Ollama example (fully local):
# LLM_OPENAI_API_KEY=ollama
# DERIVER_MODEL_CONFIG__TRANSPORT=openai
# DERIVER_MODEL_CONFIG__MODEL=llama3.3:70b
# DERIVER_MODEL_CONFIG__OVERRIDES__BASE_URL=http://host.docker.internal:11434/v1
# LLM_EMBEDDING_API_KEY=ollama
# LLM_EMBEDDING_BASE_URL=http://host.docker.internal:11434/v1
# LLM_EMBEDDING_MODEL=nomic-embed-text

# ── Database ──────────────────────────────────────────────────────────────────
# Credentials for the built-in PostgreSQL container.
# Change these if you connect an external DB.

POSTGRES_USER=honcho
POSTGRES_PASSWORD=honcho          # [RECOMMENDED] change in production
POSTGRES_DB=honcho

# ── Redis ─────────────────────────────────────────────────────────────────────
# No configuration needed for the built-in Redis container.
# To use an external Redis, override CACHE_URL in docker-compose.yml.

# ── API exposure ──────────────────────────────────────────────────────────────
# Port the Honcho API listens on. Default: 8000.
HONCHO_PORT=8000

# API auth token. Leave empty for unauthenticated local access.
# If set, pass it as Bearer token from personal-agent's plugin config (api_key field).
# HONCHO_AUTH_TOKEN=

# ── Sentry / observability (optional) ────────────────────────────────────────
# SENTRY_DSN=
