(model: ModelV2.Info, provider: ProviderV2.Info)
| 76 | } |
| 77 | |
| 78 | const projectModel = (model: ModelV2.Info, provider: ProviderV2.Info) => { |
| 79 | const api = |
| 80 | model.api.type === "native" && !model.api.url && Object.keys(model.api.settings).length === 0 |
| 81 | ? { ...provider.api, id: model.api.id } |
| 82 | : model.api.type === "aisdk" && provider.api.type === "aisdk" && !model.api.url |
| 83 | ? { ...model.api, url: provider.api.url, settings: { ...provider.api.settings, ...model.api.settings } } |
| 84 | : model.api.type === "aisdk" && provider.api.type === "aisdk" |
| 85 | ? { ...model.api, settings: { ...provider.api.settings, ...model.api.settings } } |
| 86 | : model.api |
| 87 | const request = { |
| 88 | headers: { ...provider.request.headers, ...model.request.headers }, |
| 89 | body: { ...provider.request.body, ...model.request.body }, |
| 90 | variant: model.request.variant, |
| 91 | } |
| 92 | return ModelV2.Info.make({ |
| 93 | ...model, |
| 94 | api, |
| 95 | request, |
| 96 | }) |
| 97 | } |
| 98 | |
| 99 | const normalizeApi = (item: ProviderV2.MutableInfo | ModelV2.MutableInfo) => { |
| 100 | if (typeof item.request.body.baseURL !== "string") return |
no test coverage detected