/**
 * Shared application constants
 */

/** Milliseconds before token expiry at which a proactive refresh is triggered */
export const TOKEN_REFRESH_THRESHOLD_MS = 5 * 60 * 1_000; // 5 minutes

/** Default access token lifetime (matches backend default: 15 min) */
export const ACCESS_TOKEN_LIFETIME_MS = 15 * 60 * 1_000;

/** Default refresh token lifetime (matches backend default: 7 days) */
export const REFRESH_TOKEN_LIFETIME_MS = 7 * 24 * 60 * 60 * 1_000;

/** Path to the CLI config file */
export const CLI_CONFIG_PATH = '~/.effigenix/config.json';

/** File permission octal for the CLI config file (owner read/write only) */
export const CLI_CONFIG_FILE_MODE = 0o600;

/** Pagination defaults */
export const DEFAULT_PAGE_SIZE = 20;
export const MAX_PAGE_SIZE = 100;

/** Password constraints (must match backend validation) */
export const PASSWORD_MIN_LENGTH = 8;
export const PASSWORD_MAX_LENGTH = 128;
