MCPcopy
hub / github.com/opactorai/Claudable / buildActiveModelOptions

Function buildActiveModelOptions

lib/utils/cliOptions.ts:86–109  ·  view source on GitHub ↗
(statuses: Record<string, ModelAvailabilityEntry>)

Source from the content-addressed store, hash-verified

84}
85
86export const buildActiveModelOptions = (statuses: Record<string, ModelAvailabilityEntry>): ActiveModelOption[] => {
87 const options: ActiveModelOption[] = [];
88
89 ACTIVE_CLI_OPTIONS.forEach(({ id, name }) => {
90 const status = statuses?.[id];
91 const availableModels = new Set((status?.models ?? []).map(modelId => normalizeModelId(id, modelId)));
92 const baseAvailability = Boolean(status?.available ?? status?.configured ?? true);
93
94 getModelDefinitionsForCli(id).forEach(definition => {
95 const normalizedId = normalizeModelId(id, definition.id);
96 const isAvailable = baseAvailability && (availableModels.size === 0 || availableModels.has(normalizedId));
97
98 options.push({
99 id: normalizedId,
100 name: definition.name,
101 cli: id,
102 cliName: name,
103 available: isAvailable,
104 });
105 });
106 });
107
108 return options;
109};

Callers 1

buildModelOptionsFunction · 0.90

Calls 2

normalizeModelIdFunction · 0.90

Tested by

no test coverage detected