MCPcopy
hub / github.com/anomalyco/opencode / projectModel

Function projectModel

packages/core/src/catalog.ts:78–97  ·  view source on GitHub ↗
(model: ModelV2.Info, provider: ProviderV2.Info)

Source from the content-addressed store, hash-verified

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

Callers 2

catalog.tsFile · 0.85
pickFunction · 0.85

Calls 1

makeMethod · 0.45

Tested by

no test coverage detected