| 213 | const sessionID = "test-session-123" |
| 214 | |
| 215 | const createGoogleModel = (reasoning: boolean, npm: "@ai-sdk/google" | "@ai-sdk/google-vertex") => |
| 216 | ({ |
| 217 | id: `${npm === "@ai-sdk/google" ? "google" : "google-vertex"}/gemini-2.0-flash`, |
| 218 | providerID: npm === "@ai-sdk/google" ? "google" : "google-vertex", |
| 219 | api: { |
| 220 | id: "gemini-2.0-flash", |
| 221 | url: npm === "@ai-sdk/google" ? "https://generativelanguage.googleapis.com" : "https://vertexai.googleapis.com", |
| 222 | npm, |
| 223 | }, |
| 224 | name: "Gemini 2.0 Flash", |
| 225 | capabilities: { |
| 226 | temperature: true, |
| 227 | reasoning, |
| 228 | attachment: true, |
| 229 | toolcall: true, |
| 230 | input: { text: true, audio: false, image: true, video: false, pdf: true }, |
| 231 | output: { text: true, audio: false, image: false, video: false, pdf: false }, |
| 232 | interleaved: false, |
| 233 | }, |
| 234 | cost: { |
| 235 | input: 0.001, |
| 236 | output: 0.002, |
| 237 | cache: { read: 0.0001, write: 0.0002 }, |
| 238 | }, |
| 239 | limit: { |
| 240 | context: 1_000_000, |
| 241 | output: 8192, |
| 242 | }, |
| 243 | status: "active", |
| 244 | options: {}, |
| 245 | headers: {}, |
| 246 | }) as any |
| 247 | |
| 248 | test("does not set thinkingConfig for google models without reasoning capability", () => { |
| 249 | const result = ProviderTransform.options({ |