| 57 | }; |
| 58 | |
| 59 | function createRegistration<TModel extends string>( |
| 60 | name: string, |
| 61 | module: { |
| 62 | default?: Definition<TModel>; |
| 63 | models?: ReadonlyArray<TModel>; |
| 64 | }, |
| 65 | ): Registration<TModel> { |
| 66 | const definition = module.default; |
| 67 | const models = module.models; |
| 68 | |
| 69 | assert(definition, `Agent module ${name} is missing a default export.`); |
| 70 | assert(models, `Agent module ${name} is missing the exported models list.`); |
| 71 | |
| 72 | return { name, definition, models }; |
| 73 | } |
| 74 | |
| 75 | export function get(name: string): Registration { |
| 76 | const agent = agents[name]; |