// Block registry entrypoint. Requiring this module registers every server-side
// block definition (schema + cache policy) exactly once, then re-exports the
// registry API and the blocks validator. Anything that needs to validate a
// page's blocks or look up a block type should require THIS module, not
// ./registry directly, so the definitions are guaranteed to be loaded.
//
// Wave 1 block definitions are registered below, one require() per block (each
// module self-registers on load). Requiring THIS module guarantees they are all
// present before anything validates a page's blocks.

const registry = require('./registry')
const { validateBlocks, MAX_BLOCKS, MAX_SUBBLOCKS } = require('./validateBlocks')
const { sanitizeBlocks } = require('./sanitizeBlocks')

// ── Wave 1 block definitions (self-register on require) ────────────────
require('./types/heading')
require('./types/richText')
require('./types/image')
require('./types/twoColumn')
require('./types/cta')
require('./types/divider')
require('./types/quote')

module.exports = {
  ...registry,
  validateBlocks,
  sanitizeBlocks,
  MAX_BLOCKS,
  MAX_SUBBLOCKS,
}
