Implementation:Promptfoo Promptfoo Constants
| Knowledge Sources | |
|---|---|
| Domains | Configuration, Constants |
| Last Updated | 2026-02-14 07:45 GMT |
Overview
Centralized constants and configuration helper functions used across the entire promptfoo codebase, including API URLs, default values, and terminal settings.
Description
The Constants module (constants.ts) exports application-wide constants such as DEFAULT_MAX_CONCURRENCY (4), DEFAULT_QUERY_LIMIT (100), DEFAULT_API_BASE_URL, TERMINAL_MAX_WIDTH, and CLOUD_PROVIDER_PREFIX. It also provides helper functions like getShareApiBaseUrl(), getShareViewBaseUrl(), and getDefaultPort() that read environment variables with sensible defaults. It re-exports VERSION from version.ts and provider constants.
Usage
Import these constants and helpers wherever application-wide defaults or API URLs are needed.
Code Reference
Source Location
- Repository: Promptfoo_Promptfoo
- File: src/constants.ts
- Lines: 1-46
Signature
export const DEFAULT_QUERY_LIMIT = 100;
export const DEFAULT_MAX_CONCURRENCY = 4;
export const DEFAULT_API_BASE_URL = 'https://api.promptfoo.app';
export const TERMINAL_MAX_WIDTH: number;
export const CLOUD_PROVIDER_PREFIX = 'promptfoo://provider/';
export function getShareApiBaseUrl(): string
export function getDefaultShareViewBaseUrl(): string
export function getShareViewBaseUrl(): string
export function getDefaultPort(): number
Import
import { DEFAULT_MAX_CONCURRENCY, TERMINAL_MAX_WIDTH, getDefaultPort } from './constants';
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| (none for constants) | — | — | Static values |
| env vars (for helpers) | string | No | PROMPTFOO_REMOTE_API_BASE_URL, API_PORT, etc. |
Outputs
| Name | Type | Description |
|---|---|---|
| constants | various | Static values (numbers, strings) |
| URLs | string | Environment-aware API and share URLs |
| port | number | Default server port (15500 or env override) |
Usage Examples
import { DEFAULT_MAX_CONCURRENCY, getDefaultPort, TERMINAL_MAX_WIDTH } from './constants';
// Use default concurrency
const concurrency = userConcurrency ?? DEFAULT_MAX_CONCURRENCY;
// Get the server port
const port = getDefaultPort(); // 15500 or API_PORT env var
// Wrap text to terminal width
const maxWidth = TERMINAL_MAX_WIDTH; // e.g., 120