MCPcopy Index your code
hub / github.com/sourcebot-dev/sourcebot / getModelOptionsForProvider

Function getModelOptionsForProvider

packages/setupWizard/src/models.ts:77–109  ·  view source on GitHub ↗
(providerKey: string)

Source from the content-addressed store, hash-verified

75}
76
77async function getModelOptionsForProvider(providerKey: string): Promise<ModelOption[] | null> {
78 const catalog = await loadCatalog();
79 if (!catalog) {
80 return null;
81 }
82 const providerId = PROVIDER_ID_OVERRIDES[providerKey] ?? providerKey;
83 const provider = catalog[providerId];
84 if (!provider || !provider.models) {
85 return null;
86 }
87 const models = Object.values(provider.models);
88 if (models.length === 0) {
89 return null;
90 }
91 return models
92 .map((m) => ({
93 id: m.id,
94 name: m.name || m.id,
95 releaseDate: m.release_date,
96 }))
97 .sort((a, b) => {
98 if (a.releaseDate && b.releaseDate) {
99 return b.releaseDate.localeCompare(a.releaseDate);
100 }
101 if (a.releaseDate) {
102 return -1;
103 }
104 if (b.releaseDate) {
105 return 1;
106 }
107 return a.name.localeCompare(b.name);
108 });
109}
110
111// ─── prompts ───────────────────────────────────────────────────────────────
112

Callers 1

collectModelsFunction · 0.85

Calls 1

loadCatalogFunction · 0.85

Tested by

no test coverage detected