# VAPORA Configuration - Generated from Nickel
# Deployment Mode: {{ deployment_mode }}
# Workspace: {{ workspace_name }}

[server]
host = "{{ backend.host }}"
port = {{ backend.port }}
workers = {{ backend.workers }}
request_timeout = {{ backend.request_timeout }}
keep_alive = {{ backend.keep_alive }}
max_connections = {{ backend.max_connections }}
graceful_shutdown = {{ backend.graceful_shutdown|lower }}
shutdown_timeout = {{ backend.shutdown_timeout }}

[server.auth]
method = "{{ backend.auth.method }}"
jwt_secret = "{{ backend.auth.jwt_secret }}"
jwt_ttl = {{ backend.auth.jwt_ttl }}
mfa_enabled = {{ backend.auth.mfa_enabled|lower }}
audit_logging = {{ backend.auth.audit_logging|lower }}

[server.database]
url = "{{ backend.database.url }}"
username = "{{ backend.database.username }}"
password = "{{ backend.database.password }}"
database = "{{ backend.database.database }}"
pool_size = {{ backend.database.pool_size }}
connection_timeout = {{ backend.database.connection_timeout }}

[server.storage]
path = "{{ backend.storage.path }}"
backend = "{{ backend.storage.backend }}"

[server.cache]
enabled = {{ backend.cache.enabled|lower }}
ttl = {{ backend.cache.ttl }}
max_size = {{ backend.cache.max_size }}

[frontend]
host = "{{ frontend.host }}"
port = {{ frontend.port }}
api_url = "{{ frontend.api_url }}"
enable_wasm = {{ frontend.enable_wasm|lower }}

[database]
url = "{{ database.url }}"
username = "{{ database.username }}"
password = "{{ database.password }}"
database = "{{ database.database }}"
pool_size = {{ database.pool_size }}

[nats]
enabled = {{ nats.enabled|lower }}
url = "{{ nats.url }}"
timeout = {{ nats.timeout }}

[agents]
host = "{{ agents.host }}"
port = {{ agents.port }}
max_instances = {{ agents.max_instances }}
heartbeat_interval = {{ agents.heartbeat_interval }}
health_check_timeout = {{ agents.health_check_timeout }}

[agents.learning]
enabled = {{ agents.learning.enabled|lower }}
recency_window_days = {{ agents.learning.recency_window_days }}
recency_multiplier = {{ agents.learning.recency_multiplier }}

[agents.learning.scoring]
load_weight = {{ agents.learning.scoring.load_weight }}
expertise_weight = {{ agents.learning.scoring.expertise_weight }}
confidence_weight = {{ agents.learning.scoring.confidence_weight }}

[agents.knowledge_graph]
enabled = {{ agents.knowledge_graph.enabled|lower }}
retention_days = {{ agents.knowledge_graph.retention_days }}
causal_reasoning = {{ agents.knowledge_graph.causal_reasoning|lower }}
similarity_search = {{ agents.knowledge_graph.similarity_search|lower }}

[agents.swarm]
enabled = {{ agents.swarm.enabled|lower }}
load_balancing_strategy = "{{ agents.swarm.load_balancing_strategy }}"
capability_filtering = {{ agents.swarm.capability_filtering|lower }}

[agents.nats]
enabled = {{ agents.nats.enabled|lower }}
url = "{{ agents.nats.url }}"
timeout = {{ agents.nats.timeout }}

[agents.registry]
persistence = {{ agents.registry.persistence|lower }}
path = "{{ agents.registry.path }}"

[llm_router]
host = "{{ llm_router.host }}"
port = {{ llm_router.port }}

[llm_router.cost_tracking]
enabled = {{ llm_router.cost_tracking.enabled|lower }}
track_tokens = {{ llm_router.cost_tracking.track_tokens|lower }}
track_latency = {{ llm_router.cost_tracking.track_latency|lower }}
reporting_interval = {{ llm_router.cost_tracking.reporting_interval }}

[llm_router.budget_enforcement]
enabled = {{ llm_router.budget_enforcement.enabled|lower }}
window = "{{ llm_router.budget_enforcement.window }}"
near_threshold_percent = {{ llm_router.budget_enforcement.near_threshold_percent }}
auto_fallback = {{ llm_router.budget_enforcement.auto_fallback|lower }}
detailed_tracking = {{ llm_router.budget_enforcement.detailed_tracking|lower }}

[llm_router.budget_enforcement.role_limits]
architect_cents = {{ llm_router.budget_enforcement.role_limits.architect_cents }}
developer_cents = {{ llm_router.budget_enforcement.role_limits.developer_cents }}
reviewer_cents = {{ llm_router.budget_enforcement.role_limits.reviewer_cents }}
testing_cents = {{ llm_router.budget_enforcement.role_limits.testing_cents }}

[llm_router.providers]
claude_enabled = {{ llm_router.providers.claude_enabled|lower }}
openai_enabled = {{ llm_router.providers.openai_enabled|lower }}
gemini_enabled = {{ llm_router.providers.gemini_enabled|lower }}
ollama_enabled = {{ llm_router.providers.ollama_enabled|lower }}
ollama_url = "{{ llm_router.providers.ollama_url }}"

[llm_router.routing]
strategy = "{{ llm_router.routing.strategy }}"
retry_attempts = {{ llm_router.routing.retry_attempts }}
retry_delay = {{ llm_router.routing.retry_delay }}
request_timeout = {{ llm_router.routing.request_timeout }}

[monitoring]
prometheus_enabled = {{ monitoring.prometheus_enabled|lower }}
log_level = "{{ monitoring.log_level }}"
tracing_enabled = {{ monitoring.tracing_enabled|lower }}
metrics_path = "{{ monitoring.metrics_path }}"

[security]
jwt_secret = "{{ security.jwt_secret }}"
tls_enabled = {{ security.tls_enabled|lower }}
tls_cert_path = "{{ security.tls_cert_path }}"
tls_key_path = "{{ security.tls_key_path }}"

[storage]
base_path = "{{ storage.base_path }}"
backup_enabled = {{ storage.backup_enabled|lower }}
backup_interval = {{ storage.backup_interval }}

[providers]
claude_enabled = {{ providers.claude_enabled|lower }}
openai_enabled = {{ providers.openai_enabled|lower }}
gemini_enabled = {{ providers.gemini_enabled|lower }}
ollama_enabled = {{ providers.ollama_enabled|lower }}
ollama_url = "{{ providers.ollama_url }}"
