server.port=${PORT:8082}
server.address=0.0.0.0

# Default active profile
spring.profiles.active=dev

# Logging configuration
logging.level.org.atmosphere=warn
logging.level.de.assecutor.votianlt=INFO
logging.level.de.assecutor.votianlt.controller.MessageController=DEBUG
logging.level.de.assecutor.votianlt.config.MongoConfig=DEBUG

# File logging configuration
logging.file.name=logs/votianlt.log
logging.logback.rollingpolicy.max-file-size=10MB
logging.logback.rollingpolicy.max-history=30
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.console=%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
spring.mustache.check-template-location=false

# Launch the default browser when starting the application in development mode
vaadin.launch-browser=true
# Disable Vaadin Copilot to avoid NullPointerException in dev mode
vaadin.copilot.enabled=false
# To improve the performance during development.
# For more information https://vaadin.com/docs/latest/flow/integrations/spring/configuration#special-configuration-parameters
vaadin.allowed-packages=com.vaadin,org.vaadin,de.assecutor.votianlt

# Open-in-view is only needed if you use lazy-loaded entities in your Flow views.
spring.jpa.open-in-view=false

# MongoDB - Default configuration (override in profile-specific files)
spring.data.mongodb.uri=mongodb://192.168.180.25:27017/votianlt_dev
spring.data.mongodb.auto-index-creation=true
spring.data.mongodb.socket-timeout=30000
spring.data.mongodb.connect-timeout=10000
spring.data.mongodb.server-selection-timeout=5000

# Mail Configuration (Spring Boot Standard)
spring.mail.host=mailhub.assecutor.org
spring.mail.port=587
spring.mail.username=noreply@assecutor.org
spring.mail.password=OStRIL,_,31
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

# HTTP request size limits for large payloads
server.max-http-request-header-size=8MB
# Tomcat connector limits
server.tomcat.max-http-form-post-size=64MB
server.tomcat.max-save-post-size=64MB
server.tomcat.max-swallow-size=64MB
# Multipart upload limits for photo HTTP uploads
spring.servlet.multipart.max-file-size=32MB
spring.servlet.multipart.max-request-size=64MB
# Jackson message converter limits
spring.jackson.default-property-inclusion=non_null

# 2FA Configuration (global toggle - individual users can disable in their profile)
app.security.two-factor.enabled=true

# WebSocket Configuration
app.messaging.websocket.path=/ws/messaging
app.messaging.websocket.max-text-message-size=65536
app.messaging.websocket.max-session-idle-timeout=300000
app.messaging.websocket.allowed-origins=*

# Application Version - automatically set from pom.xml during build
app.version=@project.version@

# Google Maps API Key
app.google.maps.api-key=AIzaSyDnbitL06iLp3elmj-WtPudCykX9xvXcVE

# ===========================================
# LLM Configuration (LM Studio)
# ===========================================
spring.ai.openai.base-url=http://192.168.180.3:1234
spring.ai.openai.api-key=not-used
spring.ai.openai.chat.options.model=local-model
spring.ai.openai.chat.options.temperature=0.7

# WICHTIG: Streaming deaktivieren - LM Studio/Docker können Streaming-Responses nicht korrekt handlen
spring.ai.openai.chat.options.stream=false

# Timeouts für OpenAI Client
spring.ai.openai.connect-timeout=10s
spring.ai.openai.read-timeout=120s

# ===========================================
# MCP Server Configuration
# ===========================================
spring.ai.mcp.server.enabled=true
spring.ai.mcp.server.name=votianlt-mcp-server
spring.ai.mcp.server.version=1.0.0
spring.ai.mcp.server.sse-message-endpoint=/mcp/message