# ─────────────────────────────────────────────────────────────────────────
# WHAT BELONGS IN THIS FILE — and what does NOT
#
# This file is for the DEPLOYMENT'S OWN identity and its model keys. That is
# all. Provider credentials do NOT live here.
#
#   HERE, in .env
#     LEAFMESH_LICENSE_KEY, LEAFMESH_ENV_TOKEN
#     the ports, REDIS_* / Postgres  (the store the vault itself lives in)
#     your model provider key(s): OPENAI_API_KEY / ANTHROPIC_API_KEY /
#       GOOGLE_API_KEY …  (these are read from the environment as the mesh
#       starts, so they must be here — the vault is read too late for them)
#
#   NOT HERE — in the VAULT, added on Studio's Infrastructure page
#     every channel credential  (Slack bot_token / signing_secret / app_token,
#       Teams, Discord, Cliq, WhatsApp, Email)
#     every connector credential (MCP, Zapier, Composio, n8n, custom)
#     Config then names it:  connection: "slack-workspace"
#
# Why it matters: since 2.4.180 the mesh REFUSES TO BOOT if it finds a
# provider credential written into config — and `${ENV_VAR}` does not help,
# because substitution happens before the check runs, so the check sees the
# token itself. `connection:` is the only path that works.
#
# Note: a value is EMPTY here, never a comment. `KEY=   # explanation` is read
# by python-dotenv as the COMMENT being the value.
# ─────────────────────────────────────────────────────────────────────────

# {{project_name}} — environment
# Tier 1 — required to boot (dev mode). The whole LLM chain runs on these
# against the seed KB / backlog store (./data); no connector needed.
LEAFMESH_LICENSE_KEY=
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# Async ingestion stream (the Coordinator listens); defaults to local Redis.
SUPPORT_EVENTS_REDIS_URL=redis://localhost:6379

# Tier 2 — real connectors (set the URL to go live; inert until then).
# Docs/KB MCP — uncomment the mcp block on response_agent, then set these.
DOCS_MCP_URL=
DOCS_MCP_TOKEN=
# n8n connector actors — insights / SLA / cross-channel identity live in YOUR
# support desk + CRM (Zendesk Explore, Zendesk SLA policies, Salesforce/Segment).
N8N_SUPPORT_INSIGHTS_WEBHOOK_URL=
N8N_SLA_WATCHDOG_WEBHOOK_URL=
N8N_CROSS_CHANNEL_WEBHOOK_URL=
# Egress dispatcher — the comms platform that SENDS the approved reply
# (Slack postMessage / email gateway / CPaaS like Twilio/EmailBison). Inert
# until set: reply_dispatcher_agent records sends to ./data/outbox.json and
# renders ./out so the chain runs day-0; wire this to send live.
COMMS_DISPATCH_WEBHOOK_URL=

# Manager escalation surfaces (optional).
PAGER_WEBHOOK=
SLACK_BOT_TOKEN=
SLACK_SIGNING_SECRET=
SLACK_SUPPORT_CHANNEL=
LEAFMESH_ENV_TOKEN=development
