[
  # ============================================================================
  # STANDARD LIBRARY PRIVATE IMPLEMENTATION MAPPINGS
  # ============================================================================
  { include: ["<bits/std_abs.h>", "private", "<cstdlib>", "public"] },
  { include: ["<bits/stdint-intn.h>", "private", "<cstdint>", "public"] },
  { include: ["<bits/stdint-uintn.h>", "private", "<cstdint>", "public"] },
  { include: ["<bits/types/time_t.h>", "private", "<ctime>", "public"] },
  { include: ["<bits/chrono.h>", "private", "<chrono>", "public"] },
  { include: ["<bits/exception.h>", "private", "<exception>", "public"] },
  { include: ["<bits/std_function.h>", "private", "<functional>", "public"] },
  { include: ["<bits/stringfwd.h>", "private", "<string>", "public"] },
  { include: ["<bits/basic_string.h>", "private", "<string>", "public"] },
  { include: ["<bits/move.h>", "private", "<utility>", "public"] },
  { include: ["<bits/stl_pair.h>", "private", "<utility>", "public"] },
  { include: ["<bits/stl_vector.h>", "private", "<vector>", "public"] },
  { include: ["<bits/stl_map.h>", "private", "<map>", "public"] },
  { include: ["<bits/unique_ptr.h>", "private", "<memory>", "public"] },
  { include: ["<bits/shared_ptr.h>", "private", "<memory>", "public"] },

  # ============================================================================
  # SYSTEM HEADERS
  # ============================================================================
  { include: ["<sys/socket.h>", "public", "<sys/socket.h>", "public"] },
  { include: ["<netinet/in.h>", "public", "<netinet/in.h>", "public"] },
  { include: ["<arpa/inet.h>", "public", "<arpa/inet.h>", "public"] },
  { include: ["<sys/epoll.h>", "public", "<sys/epoll.h>", "public"] },
  { include: ["<fcntl.h>", "public", "<fcntl.h>", "public"] },
  { include: ["<unistd.h>", "public", "<unistd.h>", "public"] },

  # ============================================================================
  # PROJECT HEADERS - Normalize to angle brackets
  # ============================================================================
  { include: ["\"webserv/log/Log.hpp\"", "public", "<webserv/log/Log.hpp>", "public"] },
  { include: ["\"webserv/log/Channel.hpp\"", "public", "<webserv/log/Channel.hpp>", "public"] },
  { include: ["\"webserv/log/StdoutChannel.hpp\"", "public", "<webserv/log/StdoutChannel.hpp>", "public"] },
  { include: ["\"webserv/log/FileChannel.hpp\"", "public", "<webserv/log/FileChannel.hpp>", "public"] },

  { include: ["\"webserv/http/HttpRequest.hpp\"", "public", "<webserv/http/HttpRequest.hpp>", "public"] },
  { include: ["\"webserv/http/HttpResponse.hpp\"", "public", "<webserv/http/HttpResponse.hpp>", "public"] },
  { include: ["\"webserv/http/HttpHeaders.hpp\"", "public", "<webserv/http/HttpHeaders.hpp>", "public"] },
  { include: ["\"webserv/http/HttpConstants.hpp\"", "public", "<webserv/http/HttpConstants.hpp>", "public"] },

  { include: ["\"webserv/config/ConfigManager.hpp\"", "public", "<webserv/config/ConfigManager.hpp>", "public"] },
  { include: ["\"webserv/config/ServerConfig.hpp\"", "public", "<webserv/config/ServerConfig.hpp>", "public"] },
  { include: ["\"webserv/config/LocationConfig.hpp\"", "public", "<webserv/config/LocationConfig.hpp>", "public"] },
  { include: ["\"webserv/config/AConfig.hpp\"", "public", "<webserv/config/AConfig.hpp>", "public"] },
  { include: ["\"webserv/config/GlobalConfig.hpp\"", "public", "<webserv/config/GlobalConfig.hpp>", "public"] },

  { include: ["\"webserv/utils/utils.hpp\"", "public", "<webserv/utils/utils.hpp>", "public"] },
  { include: ["\"webserv/utils/FileUtils.hpp\"", "public", "<webserv/utils/FileUtils.hpp>", "public"] },

  { include: ["\"webserv/server/Server.hpp\"", "public", "<webserv/server/Server.hpp>", "public"] },
  { include: ["\"webserv/client/Client.hpp\"", "public", "<webserv/client/Client.hpp>", "public"] },
  { include: ["\"webserv/socket/ASocket.hpp\"", "public", "<webserv/socket/ASocket.hpp>", "public"] },
  { include: ["\"webserv/socket/ClientSocket.hpp\"", "public", "<webserv/socket/ClientSocket.hpp>", "public"] },
  { include: ["\"webserv/socket/ServerSocket.hpp\"", "public", "<webserv/socket/ServerSocket.hpp>", "public"] },
  { include: ["\"webserv/socket/CgiSocket.hpp\"", "public", "<webserv/socket/CgiSocket.hpp>", "public"] },
  { include: ["\"webserv/router/Router.hpp\"", "public", "<webserv/router/Router.hpp>", "public"] },

  { include: ["\"webserv/handler/AHandler.hpp\"", "public", "<webserv/handler/AHandler.hpp>", "public"] },
  { include: ["\"webserv/handler/CgiHandler.hpp\"", "public", "<webserv/handler/CgiHandler.hpp>", "public"] },
  { include: ["\"webserv/handler/FileHandler.hpp\"", "public", "<webserv/handler/FileHandler.hpp>", "public"] },
  { include: ["\"webserv/handler/ErrorHandler.hpp\"", "public", "<webserv/handler/ErrorHandler.hpp>", "public"] },
  { include: ["\"webserv/handler/URI.hpp\"", "public", "<webserv/handler/URI.hpp>", "public"] },
  { include: ["\"webserv/handler/CgiProcess.hpp\"", "public", "<webserv/handler/CgiProcess.hpp>", "public"] },
  { include: ["\"webserv/handler/CgiEnvironment.hpp\"", "public", "<webserv/handler/CgiEnvironment.hpp>", "public"] },
  # CgiHandler needs CgiProcess for unique_ptr deletion
  { include: ["<webserv/handler/CgiHandler.hpp>", "public", "<webserv/handler/CgiProcess.hpp>", "public"] }
]