feat: check provider connectivity instead of specific model for hephaestus availability

Hephaestus now appears when any of its providers (openai, github-copilot, opencode) is
connected, rather than requiring the exact gpt-5.2-codex model. This allows users with
newer codex models (e.g., gpt-5.3-codex) to use Hephaestus without manual config overrides.

- Add requiresProvider field to ModelRequirement type
- Add isAnyProviderConnected() helper in model-availability
- Update hephaestus config from requiresModel to requiresProvider
- Update cli model-fallback to handle requiresProvider checks
This commit is contained in:
YeonGyu-Kim
2026-02-06 10:42:46 +09:00
parent 04576c306c
commit b8f15affdb
7 changed files with 100 additions and 22 deletions
+2 -1
View File
@@ -9,6 +9,7 @@ export type ModelRequirement = {
variant?: string // Default variant (used when entry doesn't specify one)
requiresModel?: string // If set, only activates when this model is available (fuzzy match)
requiresAnyModel?: boolean // If true, requires at least ONE model in fallbackChain to be available (or empty availability treated as unavailable)
requiresProvider?: string[] // If set, only activates when any of these providers is connected
}
export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
@@ -27,7 +28,7 @@ export const AGENT_MODEL_REQUIREMENTS: Record<string, ModelRequirement> = {
fallbackChain: [
{ providers: ["openai", "github-copilot", "opencode"], model: "gpt-5.2-codex", variant: "medium" },
],
requiresModel: "gpt-5.2-codex",
requiresProvider: ["openai", "github-copilot", "opencode"],
},
oracle: {
fallbackChain: [