/**
 * @agentguard/sdk — TypeScript SDK for AgentGuard.
 *
 * Thin HTTP wrapper around the AgentGuard REST API.
 * All intelligence lives in the Python engine.
 *
 * @example
 * ```ts
 * import { AgentGuard } from "@agentguard/sdk";
 *
 * const ag = new AgentGuard({ url: "http://localhost:8420" });
 * const result = await ag.generate({
 *   spec: "A user auth API with JWT tokens",
 *   archetype: "api_backend",
 * });
 * console.log(Object.keys(result.files));
 * ```
 *
 * @packageDocumentation
 */

// Client
export { AgentGuard } from "./client.js";

// Types
export type {
  AgentGuardConfig,
  ArchetypeDetail,
  ArchetypeSummary,
  AutoFix,
  ChallengeRequest,
  ChallengeResult,
  CheckResult,
  CriterionResult,
  GenerateOptions,
  GenerateRequest,
  GenerateResult,
  HealthResponse,
  ProblemDetail,
  SSEChallengeEvent,
  SSECompleteEvent,
  SSEErrorEvent,
  SSEEvent,
  SSELevelEvent,
  SSEValidationEvent,
  TraceDetail,
  TraceListItem,
  TraceSummary,
  ValidateRequest,
  ValidationError,
  ValidationReport,
} from "./types.js";

// Errors
export {
  AgentGuardAPIError,
  AgentGuardConnectionError,
  AgentGuardError,
  AgentGuardTimeoutError,
} from "./errors.js";

// Streaming
export { streamSSE } from "./streaming.js";
