Application Configuration
JSON Schema for application configuration
Server
host
Host specifies the network interface to bind the server to.
Common values:
"0.0.0.0"
: Listen on all interfaces (default)"127.0.0.1"
or"localhost"
: Local access only- Specific IP: Bind to a specific network interface
port
Port specifies the TCP port for the HTTP server.
Valid range: 1-65535. Common ports:
8080
: Default development port80
: Standard HTTP (requires privileges)443
: Standard HTTPS (requires privileges)
cors_enabled
CORSEnabled enables Cross-Origin Resource Sharing headers.
Set to true
when the API is accessed from web browsers on different origins.
cors
CORS configures Cross-Origin Resource Sharing policies.
Only applies when CORSEnabled is true.
timeout
Timeout sets the maximum duration for processing requests.
Applies to all HTTP operations including request reading, processing, and response writing. Default: 30s. Increase for long-running operations.
auth
Auth configures API authentication settings.
CLI
APIKey
APIKey authenticates CLI requests to the Compozy API.
Security: Always use environment variables for API keys. Never commit API keys to version control.
BaseURL
BaseURL specifies the Compozy API endpoint.
Default: "https://api.compozy.com" Use custom endpoints for self-hosted or development environments.
ColorMode
ColorMode controls terminal color output.
Options:
"auto"
: Detect terminal color support (default)"on"
: Force color output"off"
: Disable all color output
ConfigFile
ConfigFile specifies a custom configuration file path.
Default: "./compozy.yaml" or "~/.compozy/config.yaml"
Debug
Debug enables verbose debug logging.
Shows detailed API requests, responses, and internal operations.
DefaultFormat
DefaultFormat sets the default output format.
Options:
"json"
: JSON format for programmatic consumption"tui"
: Terminal UI with tables and formatting (default)"auto"
: Automatically detect based on terminal capabilities
EnvFile
EnvFile specifies a .env file to load environment variables from.
Variables in this file are loaded before processing configuration.
Interactive
Interactive enables interactive prompts and confirmations.
Default: true Set to false for non-interactive environments.
Mode
Mode controls the CLI execution behavior.
Available modes:
"normal"
: Standard interactive mode (default)"batch"
: Non-interactive batch processing"script"
: Optimized for scripting (minimal output)
NoColor
NoColor disables all color output regardless of terminal support.
Overrides ColorMode when set to true.
OutputFormatAlias
OutputFormatAlias allows custom output format aliases.
Used internally for format customization.
PageSize
PageSize sets the number of results per page in list operations.
Default: 50 Range: 1-1000
Quiet
Quiet suppresses all non-error output.
Useful for scripting and automation.
ServerURL
ServerURL overrides the server URL for local development.
This takes precedence over BaseURL when set. Example: "http://localhost:8080" for local server
Timeout
Timeout sets the maximum duration for API requests.
Default: 30s Increase for long-running operations like workflow execution.
Database
conn_string
ConnString provides a complete PostgreSQL connection URL.
Format: postgres://user:password@host:port/database?sslmode=mode
Takes precedence over individual connection parameters.
host
Host specifies the database server hostname or IP address.
Default: "localhost"
port
Port specifies the database server port.
Default: "5432" (PostgreSQL default)
user
User specifies the database username for authentication.
password
Password specifies the database password for authentication.
Security: Use environment variables in production.
name
DBName specifies the database name to connect to.
Default: "compozy"
ssl_mode
SSLMode configures SSL/TLS connection security.
Options:
"disable"
: No SSL (development only)"prefer"
: Try SSL, fallback to non-SSL"require"
: SSL required (recommended)"verify-ca"
: SSL with CA verification"verify-full"
: SSL with full verification
auto_migrate
AutoMigrate enables automatic database migrations on startup.
When enabled, the system will automatically apply any pending database migrations when establishing a database connection. This eliminates the need for manual migration commands.
Default: true
Temporal
host_port
HostPort specifies the Temporal server endpoint.
Format: host:port
Default: "localhost:7233"
namespace
Namespace isolates workflows within Temporal.
Use different namespaces for:
- Environment separation (dev, staging, prod)
- Multi-tenant deployments
- Workflow versioning Default: "default"
task_queue
TaskQueue identifies the queue for workflow tasks.
Workers poll this queue for tasks to execute. Use different queues for:
- Workflow type separation
- Priority-based routing
- Resource isolation Default: "compozy-queue"
Runtime
async_token_counter_buffer_size
AsyncTokenCounterBufferSize sets the token counter queue size.
Larger buffers handle traffic spikes better but use more memory. Default: 1000
async_token_counter_workers
AsyncTokenCounterWorkers sets the number of token counting workers.
More workers improve throughput for high-volume token counting. Default: 5
bun_permissions
BunPermissions defines runtime security permissions for Bun.
Default: ["--allow-read", "--allow-env", "--allow-net"]
dispatcher_heartbeat_interval
DispatcherHeartbeatInterval sets how often dispatchers report health.
Lower values provide faster failure detection but increase load. Default: 5s
dispatcher_heartbeat_ttl
DispatcherHeartbeatTTL sets heartbeat expiration time.
Must be greater than heartbeat interval to handle network delays. Default: 15s (3x interval)
dispatcher_stale_threshold
DispatcherStaleThreshold defines when a dispatcher is considered failed.
Triggers reassignment of dispatcher's workflows. Default: 30s
entrypoint
Entrypoint specifies the path to the JavaScript/TypeScript entrypoint file. Overrides global runtime.entrypoint_path setting if specified.
entrypoint_path
EntrypointPath specifies the path to the JavaScript/TypeScript entrypoint file.
Default: "./tools.ts"
environment
Environment specifies the deployment environment.
Affects:
- Error verbosity and stack traces
- Performance optimizations
- Debug endpoints availability
- Default timeouts and limits
Values: "development", "staging", "production"
log_level
LogLevel controls logging verbosity.
Levels (least to most verbose):
"error"
: Critical errors only"warn"
: Warnings and errors"info"
: General operational info (default)"debug"
: Detailed debugging information
permissions
Permissions defines runtime security permissions. Overrides global runtime.bun_permissions setting if specified.
runtime_type
RuntimeType specifies the JavaScript runtime to use for tool execution.
Values: "bun", "node" Default: "bun"
tool_execution_timeout
ToolExecutionTimeout sets the maximum time for tool execution.
Prevents runaway tools from blocking workflows. Default: 30s
type
Type specifies the JavaScript runtime to use for tool execution. Overrides global runtime.runtime_type setting if specified.
Limits
max_nesting_depth
MaxNestingDepth limits JSON/YAML structure nesting.
Prevents stack overflow from deeply nested data. Default: 20
max_string_length
MaxStringLength limits individual string values.
Applies to all string fields in requests and responses. Default: 10MB (10485760 bytes)
max_message_content
MaxMessageContent limits LLM message content size.
Prevents excessive API costs and timeouts. Default: 50MB (52428800 bytes)
max_total_content_size
MaxTotalContentSize limits total request/response size.
Prevents memory exhaustion from large payloads. Default: 100MB (104857600 bytes)
max_task_context_depth
MaxTaskContextDepth limits task execution stack depth.
Prevents infinite recursion in workflow execution. Default: 10
parent_update_batch_size
ParentUpdateBatchSize controls database update batching.
Larger batches improve throughput but increase memory usage. Default: 100
Memory
prefix
Prefix namespaces memory keys in Redis.
Prevents key collisions when sharing Redis. Default: "compozy:memory:"
ttl
TTL sets memory entry expiration time.
Balances context retention with storage costs. Default: 24h
max_entries
MaxEntries limits memory entries per conversation.
Prevents unbounded memory growth. Default: 100
LLM
proxy_url
ProxyURL specifies the MCP proxy server endpoint.
The proxy handles:
- MCP server connections
- Tool discovery and routing
- Protocol translation Default: "http://localhost:6001"
admin_token
AdminToken authenticates administrative operations.
Required for:
- MCP server registration
- Proxy configuration changes
- Debug endpoints Security: Use environment variables
Rate Limit
global_rate
GlobalRate applies to all requests system-wide.
Protects against total system overload.
api_key_rate
APIKeyRate applies per API key.
Ensures fair usage across different clients.
prefix
Prefix namespaces rate limit keys in Redis.
Default: "ratelimit:"
max_retry
MaxRetry sets retry attempts for rate-limited requests.
Default: 3