Files
oh-my-openagent/src/cli/provider-availability.ts
YeonGyu-Kim d525958a9d refactor(cli): split install.ts and model-fallback.ts into focused modules
Install pipeline:
- cli-installer.ts, tui-installer.ts, tui-install-prompts.ts
- install-validators.ts

Model fallback:
- model-fallback-types.ts, fallback-chain-resolution.ts
- provider-availability.ts, provider-model-id-transform.ts
2026-02-08 16:25:12 +09:00

31 lines
960 B
TypeScript

import type { InstallConfig } from "./types"
import type { ProviderAvailability } from "./model-fallback-types"
export function toProviderAvailability(config: InstallConfig): ProviderAvailability {
return {
native: {
claude: config.hasClaude,
openai: config.hasOpenAI,
gemini: config.hasGemini,
},
opencodeZen: config.hasOpencodeZen,
copilot: config.hasCopilot,
zai: config.hasZaiCodingPlan,
kimiForCoding: config.hasKimiForCoding,
isMaxPlan: config.isMax20,
}
}
export function isProviderAvailable(provider: string, availability: ProviderAvailability): boolean {
const mapping: Record<string, boolean> = {
anthropic: availability.native.claude,
openai: availability.native.openai,
google: availability.native.gemini,
"github-copilot": availability.copilot,
opencode: availability.opencodeZen,
"zai-coding-plan": availability.zai,
"kimi-for-coding": availability.kimiForCoding,
}
return mapping[provider] ?? false
}