/**
 * Public API for the grounding subsystem.
 *
 * Single import surface for the rest of the codebase. Internal
 * implementation files (adapters, registry, metrics) should NOT be
 * imported directly from anywhere outside `src/services/grounding/*`.
 *
 * Usage (Phase-0 bench + future DesktopTool):
 *
 *     import {
 *       createGroundingModel,
 *       listGroundingModels,
 *       ModelId,
 *       ReasoningEffort,
 *       parseCoords,
 *       summarise,
 *     } from '../services/grounding/index.js';
 */

export { GroundingModel, makeError } from './GroundingModel.js';

export {
  createGroundingModel,
  listGroundingModels,
  isRegistered,
  listModelIds,
} from './registry.js';

export {
  parseCoords,
  distance,
  rectCenter,
  pointInRect,
  summarise,
} from './groundingMetrics.js';

export {
  // Enums (operator-facing values)
  ReasoningEffort,
  REASONING_EFFORT_VALUES,
  DEFAULT_REASONING_EFFORT,
  ImageDetail,
  DEFAULT_IMAGE_DETAIL,
  ModelId,
  DEFAULT_GROUNDING_MODEL_ID,
  KnobType,
  ErrorCode,
  // Tuning surfaces (for code that constructs sensible defaults)
  SamplingDefaults,
  TokenBudget,
  Timeouts,
  Foundry,
} from './constants.js';
