export const DEFAULTS = {
  COMMAND_TIMEOUT: 30000,
  MAX_OUTPUT_SIZE: 10 * 1024 * 1024,
  MAX_RESULTS: 100,
  CONTEXT_LINES: 5,
} as const;

export const RESOURCE_LIMITS = {
  MCP_MAX_TOKENS: 25000,

  CHARS_PER_TOKEN: 4,

  MAX_FETCH_CONTENT_CHARS: 50000,

  MAX_OUTPUT_SIZE_BYTES: 10 * 1024 * 1024,

  LARGE_FILE_THRESHOLD_KB: 100,

  MAX_ENTRIES_BEFORE_PAGINATION: 100,

  MAX_FILES_DEFAULT: 1000,

  DEFAULT_ENTRIES_PER_PAGE: 100,

  MAX_ENTRIES_PER_PAGE: 200,

  MAX_LIST_ITEMS_DETAILED: 100,

  MAX_LIST_ITEMS_SIMPLE: 200,

  MAX_ARCHIVE_ENTRIES_PER_PAGE: 100,

  MAX_DIR_ENTRIES_PER_PAGE: 100,

  MAX_DIR_ENTRIES_TREE: 1000,

  DEFAULT_EXEC_TIMEOUT_MS: 30000,

  DEFAULT_MAX_MATCHES_PER_FILE: 3,

  DEFAULT_CONTEXT_LINES: 5,

  DEFAULT_MATCH_CONTENT_LENGTH: 500,

  MAX_MATCH_CONTENT_LENGTH: 800,

  DEFAULT_MATCHES_PER_PAGE: 10,

  MAX_MATCHES_PER_PAGE: 100,

  DEFAULT_FILES_PER_PAGE: 20,

  MAX_FILES_PER_PAGE: 50,

  MAX_RIPGREP_DIRECTORY_SIZE_MB: 100,

  MAX_FILE_COUNT_FOR_SEARCH: 1000,

  ESTIMATED_AVG_FILE_SIZE_BYTES: 50 * 1024,

  LARGE_RESULT_BYTES_HINT: 1.5 * 1024 * 1024,

  BINARY_MAX_BYTES: 10 * 1024,

  BINARY_DEFAULT_HEX_LINES: 20,

  BINARY_DEFAULT_MIN_STRING_LENGTH: 6,

  MAX_ARCHIVE_FILES: 1000,

  DEFAULT_ARCHIVE_MAX_FILES: 200,

  GLOBAL_MEMORY_LIMIT_BYTES: 100 * 1024 * 1024,

  PER_OPERATION_MEMORY_LIMIT_BYTES: 10 * 1024 * 1024,

  MEMORY_RESERVATION_TIMEOUT_MS: 5 * 60 * 1000,

  TOKEN_CRITICAL_THRESHOLD: 50000,

  TOKEN_HIGH_THRESHOLD: 25000,

  TOKEN_MODERATE_THRESHOLD: 10000,

  TOKEN_NOTICE_THRESHOLD: 2500,
} as const;
