sanitize mcp schemas for Gemini; fix gpt-codex-mini alias; add matrix filter

Gemini's generateContent API rejects arktype's `{anyOf:[{enum:[...]}]}` string-enum
encoding, `$schema` metadata, and `anyOf` with sibling fields. Port the old
sanitizer back as an isolated module (action/mcp/geminiSanitizer.ts) and gate it
on `isGeminiRouted(ctx)` so non-gemini routes see the original schema. Wires
`resolvedModel` onto ToolContext so the sanitizer can see the upstream specifier.

Also bumps `openai/gpt-codex-mini` alias from the deprecated `codex-mini-latest`
to `gpt-5.1-codex-mini`, matching the openrouter resolve.

Adds a `filter` workflow_dispatch input + MATRIX_FILTER env that restricts the
models-live matrix to aliases matching a substring, so we can iterate on a
single provider (e.g. `filter=gemini`) without paying to run every model.
This commit is contained in:
Colin McDonnell
2026-04-16 23:09:32 +00:00
committed by pullfrog[bot]
parent a71567af90
commit c608051b79
6 changed files with 152 additions and 10 deletions
+1 -1
View File
@@ -86,7 +86,7 @@ export const providers = {
},
"gpt-codex-mini": {
displayName: "GPT Codex Mini",
resolve: "openai/codex-mini-latest",
resolve: "openai/gpt-5.1-codex-mini",
openRouterResolve: "openrouter/openai/gpt-5.1-codex-mini",
},
o3: {