MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / parseOpencodeGoModel

Function parseOpencodeGoModel

src/api/providers/fetchers/opencode-go.ts:57–82  ·  view source on GitHub ↗
(model: OpencodeGoModel)

Source from the content-addressed store, hash-verified

55 * @returns Normalised model metadata suitable for the model picker.
56 */
57export const parseOpencodeGoModel = (model: OpencodeGoModel): ModelInfo => {
58 const native = getOpencodeGoModelInfo(model.id)
59
60 // Live endpoint values take precedence over the registry for volatile fields.
61 const liveContextWindow = model.context_window ?? model.context_length
62 const liveMaxTokens = model.max_output_tokens ?? model.max_tokens
63 const liveSupportsImages = model.supports_images
64
65 if (native) {
66 return {
67 ...native,
68 ...(liveContextWindow !== undefined && { contextWindow: liveContextWindow }),
69 ...(liveMaxTokens !== undefined && { maxTokens: liveMaxTokens }),
70 ...(liveSupportsImages !== undefined && { supportsImages: liveSupportsImages }),
71 description: model.description ?? model.name ?? native.description,
72 }
73 }
74
75 return {
76 maxTokens: liveMaxTokens ?? opencodeGoDefaultModelInfo.maxTokens,
77 contextWindow: liveContextWindow ?? opencodeGoDefaultModelInfo.contextWindow,
78 supportsImages: liveSupportsImages ?? false,
79 supportsPromptCache: false,
80 description: model.description ?? model.name,
81 }
82}
83
84/**
85 * Fetches the list of available models from the Opencode Go `/models` endpoint.

Callers 2

getOpencodeGoModelsFunction · 0.85

Calls 1

getOpencodeGoModelInfoFunction · 0.90

Tested by

no test coverage detected