(sessionID: string, flags = { exa: false, parallel: false })
| 28 | export type WebSearchProvider = Schema.Schema.Type<typeof WebSearchProviderSchema> |
| 29 | |
| 30 | export function selectWebSearchProvider(sessionID: string, flags = { exa: false, parallel: false }): WebSearchProvider { |
| 31 | const override = process.env.OPENCODE_WEBSEARCH_PROVIDER |
| 32 | if (override === "exa" || override === "parallel") return override |
| 33 | if (flags.parallel) return "parallel" |
| 34 | if (flags.exa) return "exa" |
| 35 | |
| 36 | return Number.parseInt(checksum(sessionID) ?? "0", 36) % 2 === 0 ? "exa" : "parallel" |
| 37 | } |
| 38 | |
| 39 | export function webSearchProviderLabel(provider: unknown) { |
| 40 | if (provider === "parallel") return "Parallel Web Search" |
no test coverage detected