(request: LLMRequest)
| 290 | const geminiOptions = (request: LLMRequest) => request.providerOptions?.gemini |
| 291 | |
| 292 | const thinkingConfig = (request: LLMRequest) => { |
| 293 | const value = geminiOptions(request)?.thinkingConfig |
| 294 | if (!ProviderShared.isRecord(value)) return undefined |
| 295 | const result = { |
| 296 | thinkingBudget: typeof value.thinkingBudget === "number" ? value.thinkingBudget : undefined, |
| 297 | includeThoughts: typeof value.includeThoughts === "boolean" ? value.includeThoughts : undefined, |
| 298 | } |
| 299 | return Object.values(result).some((item) => item !== undefined) ? result : undefined |
| 300 | } |
| 301 | |
| 302 | const fromRequest = Effect.fn("Gemini.fromRequest")(function* (request: LLMRequest) { |
| 303 | const toolsEnabled = request.tools.length > 0 && request.toolChoice?.type !== "none" |
no test coverage detected