import type { NormalizedProviderListResponse } from "@opencode-ai/session-ui/context" const emptyProviderCatalog: NormalizedProviderListResponse = { all: new Map(), connected: [], default: {} } type DirectoryCatalog = { ready: boolean providers: NormalizedProviderListResponse } type ProviderCatalogInput = | { explicit: true directory?: string catalog?: DirectoryCatalog } | { explicit: false directory?: string catalog?: DirectoryCatalog global: NormalizedProviderListResponse } export function selectProviderCatalog(input: ProviderCatalogInput) { if (input.directory && input.catalog?.ready) return input.catalog.providers if (input.explicit) return emptyProviderCatalog return input.global }