import { BusError } from './broker.mjs'; // Adapt S1's validated loadBusiness + resolveInstance outputs, without loading or writing files. export function busBusiness(business, resolved) { if (!business || typeof business.id !== 'string' || !business.roles || !resolved) throw new BusError('invalid-business'); const out = structuredClone(business); for (const role of Object.keys(out.roles)) { const r = resolved[role]; if ( !r || r.business !== business.id || r.instance !== role || r.definition !== out.roles[role].definition || !r.limits?.authority ) throw new BusError('invalid-resolution'); out.roles[role].authority = structuredClone(r.limits.authority); out.roles[role].credentials = structuredClone(r.credentials ?? {}); } return out; }