MCPcopy Create free account
hub / github.com/anomalyco/opencode / buildConfigOptions

Function buildConfigOptions

packages/opencode/src/acp/config-option.ts:90–113  ·  view source on GitHub ↗
(input: {
  providers: readonly ConfigOptionProvider[]
  currentModel: ModelSelection["model"]
  currentVariant?: string
  includeModelVariants?: boolean
  modes?: readonly ConfigOptionMode[]
  currentModeId?: string
})

Source from the content-addressed store, hash-verified

88}
89
90export function buildConfigOptions(input: {
91 providers: readonly ConfigOptionProvider[]
92 currentModel: ModelSelection["model"]
93 currentVariant?: string
94 includeModelVariants?: boolean
95 modes?: readonly ConfigOptionMode[]
96 currentModeId?: string
97}): SessionConfigOption[] {
98 const variants = variantsForModel(input.providers, input.currentModel)
99 const effort = buildEffortSelectOption({ variants, currentVariant: input.currentVariant })
100
101 return [
102 buildModelSelectOption({
103 providers: input.providers,
104 currentModel: input.currentModel,
105 currentVariant: input.currentVariant,
106 includeVariants: input.includeModelVariants ?? false,
107 }),
108 ...(effort ? [effort] : []),
109 ...(input.modes && input.currentModeId
110 ? [buildModeSelectOption({ modes: input.modes, currentModeId: input.currentModeId })]
111 : []),
112 ]
113}
114
115export function parseModelSelection(modelId: string, providers: readonly ConfigOptionProvider[]): ModelSelection {
116 const provider = providers.find((item) => modelId.startsWith(`${item.id}/`))

Callers 2

configOptionsFunction · 0.90

Calls 4

variantsForModelFunction · 0.85
buildEffortSelectOptionFunction · 0.85
buildModelSelectOptionFunction · 0.85
buildModeSelectOptionFunction · 0.85

Tested by

no test coverage detected