import { CommandChecker } from "./cmd";
import { DbChecker } from "./db";
import { DnsChecker } from "./dns";
import { HttpChecker } from "./http";
import { IcmpChecker } from "./icmp";
import { LlmChecker } from "./llm";
import { CheckerRegistry } from "./registry";
import { TcpChecker } from "./tcp";
import { UdpChecker } from "./udp";
import { WsChecker } from "./ws";

const checkers = [
  new HttpChecker(),
  new CommandChecker(),
  new DbChecker(),
  new TcpChecker(),
  new IcmpChecker(),
  new UdpChecker(),
  new LlmChecker(),
  new DnsChecker(),
  new WsChecker(),
];

export function createDefaultCheckerRegistry(): CheckerRegistry {
  const registry = new CheckerRegistry();
  for (const checker of checkers) {
    registry.register(checker);
  }
  return registry;
}

export const checkerRegistry = createDefaultCheckerRegistry();
