(
enabled: boolean,
data: OpencodeModelsResponse | undefined,
pollCount: number
)
| 11 | const MAX_OPENCODE_MODEL_DISCOVERY_POLLS = 10 |
| 12 | |
| 13 | export function getOpencodeModelsRefetchInterval( |
| 14 | enabled: boolean, |
| 15 | data: OpencodeModelsResponse | undefined, |
| 16 | pollCount: number |
| 17 | ): 1000 | false { |
| 18 | if (!enabled || pollCount >= MAX_OPENCODE_MODEL_DISCOVERY_POLLS) { |
| 19 | return false |
| 20 | } |
| 21 | if (!data) { |
| 22 | return 1000 |
| 23 | } |
| 24 | if (data.success === false) { |
| 25 | return 1000 |
| 26 | } |
| 27 | return (data.availableModels?.length ?? 0) > 0 ? false : 1000 |
| 28 | } |
| 29 | |
| 30 | export function useOpencodeModels(args: { |
| 31 | api: ApiClient | null |
no outgoing calls
no test coverage detected