import { normalizeReagent } from './assayNormalizers' import { idFromName } from './builderIdUtils' import { createTemplateEnvelope } from './templateEnvelopes' import { validateReagentListData } from './templateValidators' import type { CreateReagentListTemplateOptions, ReagentListTemplate, ReagentListTemplateData, ReagentRecord, } from './types' /** @deprecated Scheduled for removal from the core SDK in MINT 1.4; the biology templates move to a dedicated package or the owning plugins. */ export function createReagentListTemplate( options: CreateReagentListTemplateOptions ): ReagentListTemplate { const reagents = options.reagents.map((reagent, index): ReagentRecord => { if (typeof reagent !== 'string') return normalizeReagent(reagent) return { id: idFromName(reagent, `reagent-${index + 1}`), name: reagent, kind: 'reagent', metadata: {}, } }) const data: ReagentListTemplateData = { reagents, metadata: options.metadata ?? {}, } validateReagentListData(data) return createTemplateEnvelope('reagent-list', data, options.metadata ?? {}) }