/**
 * Zulip核心模块常量定义
 *
 * 功能描述：
 * - 定义Zulip核心模块中使用的所有常量和配置值
 * - 提供统一的常量管理和维护
 * - 避免魔法数字和硬编码值
 * - 便于配置调整和环境适配
 *
 * 职责分离：
 * - 常量定义：集中管理所有核心模块常量
 * - 配置管理：提供可配置的默认值
 * - 类型安全：确保常量的类型正确性
 *
 * 最近修改：
 * - 2026-01-12: 代码规范优化 - 修正注释规范和修改记录格式 (修改者: moyin)
 * - 2026-01-08: 文件夹扁平化 - 从constants/子文件夹移动到上级目录 (修改者: moyin)
 * - 2026-01-07: 代码规范优化 - 创建核心模块常量文件，提取魔法数字 (修改者: moyin)
 *
 * @author moyin
 * @version 1.0.2
 * @since 2026-01-07
 * @lastModified 2026-01-12
 */

// 时间相关常量
export const INITIALIZATION_DELAY_MS = 5000; // Stream初始化延迟时间（毫秒）
export const DEFAULT_EVENT_POLLING_INTERVAL_MS = 5000; // 默认事件轮询间隔（毫秒）
export const ACTIVE_CLIENT_THRESHOLD_MINUTES = 5; // 活跃客户端判断阈值（分钟）
export const DEFAULT_IDLE_CLEANUP_MINUTES = 30; // 默认空闲清理时间（分钟）
export const SESSION_TIMEOUT_MINUTES = 30; // 会话超时时间（分钟）

// 性能监控常量
export const MAX_RECENT_LOGS = 100; // 最大近期日志数量
export const DEFAULT_RESPONSE_TIME_THRESHOLD_MS = 5000; // 默认响应时间阈值（毫秒）
export const HEALTH_CHECK_INTERVAL_MS = 60000; // 健康检查间隔（毫秒）

// 限制常量
export const MESSAGE_RATE_LIMIT_PER_MINUTE = 60; // 每分钟消息速率限制
export const MESSAGE_MAX_LENGTH = 1000; // 消息最大长度
export const CLEANUP_INTERVAL_MINUTES = 5; // 清理间隔（分钟）

// 测试相关常量
export const TEST_TIMEOUT_MS = 30000; // 测试超时时间（毫秒）
export const PROPERTY_TEST_RUNS = 100; // 属性测试运行次数
export const PERFORMANCE_TEST_RUNS = 50; // 性能测试运行次数
export const TEST_POLLING_INTERVAL_MS = 100; // 测试轮询间隔（毫秒）
export const TEST_WAIT_TIME_MS = 50; // 测试等待时间（毫秒）

// 错误率阈值
export const ERROR_RATE_THRESHOLD = 0.1; // 错误率阈值（10%）
export const MEMORY_THRESHOLD = 0.9; // 内存使用阈值（90%）

// 时间转换常量
export const MILLISECONDS_PER_SECOND = 1000; // 毫秒转秒
export const SECONDS_PER_MINUTE = 60; // 秒转分钟
export const MILLISECONDS_PER_MINUTE = SECONDS_PER_MINUTE * MILLISECONDS_PER_SECOND; // 毫秒转分钟

// 密码生成常量
export const DEFAULT_PASSWORD_LENGTH = 12; // 默认密码长度

// 监控相关常量
export const DEFAULT_RECENT_ALERTS_LIMIT = 10; // 默认近期告警数量限制
export const MAX_RECENT_LOGS_LIMIT = 100; // 最大近期日志数量限制

// 重试相关常量
export const DEFAULT_RETRY_BASE_DELAY_MS = 1000; // 默认重试基础延迟（毫秒）
export const DEFAULT_RETRY_MAX_DELAY_MS = 30000; // 默认重试最大延迟（毫秒）
export const DEFAULT_RETRY_BACKOFF_MULTIPLIER = 2; // 默认重试退避倍数

// HTTP状态码常量
export const HTTP_STATUS_UNAUTHORIZED = 401; // 未授权
export const HTTP_STATUS_TOO_MANY_REQUESTS = 429; // 请求过多
export const HTTP_STATUS_CLIENT_ERROR_MIN = 400; // 客户端错误最小值
export const HTTP_STATUS_CLIENT_ERROR_MAX = 500; // 客户端错误最大值

// 错误重试延迟常量
export const CONNECTION_ERROR_RETRY_DELAY_MS = 5000; // 连接错误重试延迟（毫秒）
export const RATE_LIMIT_ERROR_RETRY_DELAY_MS = 60000; // 限流错误重试延迟（毫秒）