/**
 * Core domain types for the code generator. Describes the input (module schema loaded from
 * `{bc}.aurora.yaml`) and intermediate representations used while rendering templates.
 * Types here have no behaviour — helpers live in sibling files (`property-*.ts`, `utils/code-gen.ts`).
 */
// Re-exported from widget-type.ts for backwards-compatible imports.
import { WidgetType } from './widget-type.js';
export { WidgetType };
/**
 * Build a complete ModuleDefinitionSchema from a RelationshipPivot.
 * Every field is explicit — if ModuleDefinitionSchema gains a new required field,
 * TypeScript will force it to be added here.
 */
export function buildPivotSchema(pivot) {
    return {
        additionalApis: pivot.additionalApis ?? [],
        aggregateName: pivot.aggregateName,
        aggregateProperties: pivot.aggregateProperties,
        boundedContextName: pivot.boundedContextName,
        excludedFiles: pivot.excludedFiles,
        excludedOperations: pivot.excludedOperations,
        hasAuditing: pivot.hasAuditing ?? false,
        hasOAuth: pivot.hasOAuth ?? false,
        hasTenant: pivot.hasTenant ?? false,
        moduleName: pivot.moduleName,
        moduleNames: pivot.moduleNames,
    };
}
