/**
 * @i-learned/core — the framework-free domain layer.
 *
 * This package must never import Next.js, React, Prisma or any transport
 * concern; everything it needs from the outside world is declared as a port in
 * `./ports`. That constraint is enforced by ESLint and is what keeps the domain
 * portable to a standalone API later (ARCHITECTURE.md §2).
 */

export * from './errors/index.js';
export * from './auth/index.js';
export * from './workflow/index.js';
export * from './scheduling/index.js';
export * from './grading/index.js';
export * from './ports/index.js';
export * from './logging/index.js';
export * from './format/index.js';
export * from './util/index.js';
export * from './crm/index.js';
export * from './documents/index.js';

// Money exports are namespaced: `add`, `min` and `max` are far too generic to
// sit in a package-wide namespace, and `assessment` re-exports some of them.
export * as Money from './money/index.js';
export * from './money/assessment.js';
