Add canonical per-provider model lists with picker UI

The catalog only carried one defaultModel string per provider, which
forced users to type model ids by hand and made the onboarding /
providers panel feel like the original AgentCompany was missing models.

- src/shared/provider-models.ts holds the canonical id/name list per
  provider key (~165 entries across OpenAI, Anthropic, xAI, Groq,
  GitHub Copilot, Antigravity, GPT account, Azure, Bedrock, Vertex)
- ProviderCatalogEntry now exposes a models[] array
- Onboarding ProviderStep renders a <select> populated from the active
  provider's catalog instead of a freeform text input
- ProvidersPanel connect dialog uses the same picker for API key,
  OAuth, and account auth flows
- TeamPage hire dialog adds a <datalist> with every catalog model so
  manual entry is autocompletable
This commit is contained in:
ZacharyZhang-NY committed 2026-05-21 21:39:36 -04:00
1 parent dc791ec984
commit 2c3760ca11
6 files changed
+257 -6

No files matched your search

@@ -1,11 +1,12 @@
import { PROVIDER_AUTH_TYPE, type ProviderCatalogEntry } from "./domain";
import { listProviderModels } from "./provider-models";
export const PROVIDER_CATALOG: ProviderCatalogEntry[] = [
const RAW_CATALOG: Omit<ProviderCatalogEntry, "models">[] = [
{
key: "openai",
label: "OpenAI",
authType: PROVIDER_AUTH_TYPE.API_KEY,
defaultModel: "gpt-5.1",
defaultModel: "gpt-5.4",
capabilityTags: ["responses", "tools", "background"],
signInUrl: null,
credentialHelp: "Generate an API key at platform.openai.com → API keys.",
@@ -92,3 +93,8 @@ export const PROVIDER_CATALOG: ProviderCatalogEntry[] = [
credentialHelp: "Provide GCP project id, region, and a service-account JSON key with aiplatform.user role.",
},
];
export const PROVIDER_CATALOG: ProviderCatalogEntry[] = RAW_CATALOG.map((entry) => ({
...entry,
models: listProviderModels(entry.key),
}));