# Platform Values Constants, limits, defaults, and enumeration values. ## Value Files ### Limits (`limits.ncl`) Platform limits and constraints: - Port limits (1024-65535) - Connection limits per mode - Worker thread limits - Agent instance limits - Timeout limits - Pool size limits - Storage limits Example: ```nickel let limits = import "values/limits.ncl" in let max_workers = limits.workers.max # 32 ``` ### Defaults (`defaults.ncl`) Default values applied to all modes: - Server defaults (host, port, workers) - Database defaults (URL, credentials) - Monitoring defaults (log level, metrics) - Security defaults (TLS disabled by default) - Storage defaults (paths, backup settings) Example: ```nickel let defaults = import "values/defaults.ncl" in let default_port = defaults.server.port # 8080 ``` ### Ranges (`ranges.ncl`) Enumeration values and valid ranges: - Log levels: [trace, debug, info, warn, error] - Auth methods: [jwt, oauth2, mfa] - Storage backends: [filesystem, s3, azure] - Budget windows: [daily, weekly, monthly] - LLM providers: [claude, openai, gemini, ollama] - Deployment modes: [solo, multiuser, enterprise] - Protocol schemes: [ws, wss, http, https, file] Example: ```nickel let ranges = import "values/ranges.ncl" in let valid_modes = ranges.deployment_modes # ["solo", "multiuser", "enterprise"] ``` ## Usage Pattern ```nickel let limits = import "values/limits.ncl" in let defaults = import "values/defaults.ncl" in let ranges = import "values/ranges.ncl" in # Check against limits assert port > limits.port.min && port < limits.port.max # Use defaults let config = { port = defaults.server.port, workers = 4, } # Validate enum assert std.array.contains ranges.log_levels "info" ``` ## References - Parent: `../README.md` - Constraints: `../constraints/README.md` - Validators: `../validators/README.md`