feat(azure,vertex): add 26 missing models for full provider coverage#188
feat(azure,vertex): add 26 missing models for full provider coverage#188adaline-akshay merged 6 commits intomainfrom
Conversation
Add CLAUDE.md with project context, architecture patterns, and common commands so Claude Code agents can work effectively in this repository. Add .claude/settings.json with safe permission defaults. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
P0: PostToolUse hook auto-runs Prettier on edited files P0: PreToolUse hook blocks edits to .env, lock files, production configs P0: Notification hook alerts when Claude needs input P0: Expanded permissions for prettier, eslint, gh CLI P1: GitHub Action enables @claude mentions in issues/PRs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Skills (inspired by garrytan/gstack): - /ship: full PR pipeline (build→test→lint→changeset→push→PR) - /review: pre-landing code review (types, patterns, tests, imports) - /investigate: root-cause debugging (gather→hypothesize→verify→fix→report) Agents: - code-reviewer: read-only review (sonnet), cannot modify files - test-runner: fast test execution + failure analysis (haiku) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
gstack (~/.claude/skills/gstack) provides battle-tested versions of /ship, /review, /investigate plus 25 more skills. Keeping only repo-specific skills: /add-model, /review-provider. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Azure: add 25 OpenAI models — GPT-4.1 series (3), o-series (8), GPT-5 family (10), and remaining GPT-4 variants (4). Vertex: add gemini-3.1-pro-preview-customtools for Google parity. Constraint: gpt-5.2-pro excluded from Azure — requires Responses API base class Rejected: Adding gpt-5.2-pro with chat/completions endpoint | incompatible API surface Confidence: high Scope-risk: narrow Not-tested: Azure deployment-level auth with o-series reasoning_effort param Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Greptile SummaryThis PR achieves near-full provider coverage by adding 25 missing OpenAI models to the Azure provider and one Key observations:
Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
User["User calls provider.chatModel(options)"]
subgraph Azure ["Azure Provider"]
AzureProv["Azure.chatModel()\n(always uses __base__)"]
BaseChatModel["BaseChatModelOpenAI\napi-version: 2024-06-01 (hardcoded)"]
AzureProv --> BaseChatModel
end
subgraph NewAzureModels ["New Model Schemas (exported, not registered)"]
GPT41["GPT-4.1 / GPT-4.1-mini / GPT-4.1-nano\n✅ compatible with 2024-06-01"]
GPT5["GPT-5 family (10 models)\n✅ compatible with 2024-06-01"]
GPT4Turbo["GPT-4-turbo / GPT-4-0125-preview\n✅ compatible with 2024-06-01"]
OSeries["o1, o3, o4-mini + dated variants (8 models)\n⚠️ requires ≥ 2024-12-01-preview"]
end
User --> AzureProv
BaseChatModel -.->|"schema reference only\n(not wired into provider)"| GPT41
BaseChatModel -.->|"schema reference only"| GPT5
BaseChatModel -.->|"schema reference only"| GPT4Turbo
BaseChatModel -.->|"schema reference only\n❌ API version mismatch"| OSeries
subgraph Vertex ["Vertex Provider"]
VertexProv["Vertex.chatModel(options)"]
GeminiFactory["Model factory lookup by literal"]
NewGemini["gemini-3.1-pro-preview-customtools\n✅ registered + priced"]
VertexProv --> GeminiFactory --> NewGemini
end
User --> VertexProv
|
|
|
||
| import pricingData from "../pricing.json"; | ||
| import { BaseChatModelOptions, BaseChatModelVertex } from "./base-chat-model.vertex"; | ||
|
|
There was a problem hiding this comment.
Missing specs reference comment
The sister file gemini-3.1-pro-preview.vertex.ts includes a // Specs reference: https://cloud.google.com/vertex-ai/generative-ai/docs/models/model-versions (retrieved 2026-02-25) comment above the literal constant for traceability. The new customtools variant omits this. Adding it (with the source and retrieval date for the pricing/capacity numbers) would keep the file consistent with the established pattern in this directory.
| // Specs reference: https://cloud.google.com/vertex-ai/generative-ai/docs/models/model-versions (retrieved <date>) | |
| const Gemini3_1ProPreviewCustomtoolsLiteral = "gemini-3.1-pro-preview-customtools" as const; |
Prompt To Fix With AI
This is a comment left during a code review.
Path: core/providers/vertex/src/models/chat-models/gemini-3.1-pro-preview-customtools.vertex.ts
Line: 14
Comment:
**Missing specs reference comment**
The sister file `gemini-3.1-pro-preview.vertex.ts` includes a `// Specs reference: https://cloud.google.com/vertex-ai/generative-ai/docs/models/model-versions (retrieved 2026-02-25)` comment above the literal constant for traceability. The new `customtools` variant omits this. Adding it (with the source and retrieval date for the pricing/capacity numbers) would keep the file consistent with the established pattern in this directory.
```suggestion
// Specs reference: https://cloud.google.com/vertex-ai/generative-ai/docs/models/model-versions (retrieved <date>)
const Gemini3_1ProPreviewCustomtoolsLiteral = "gemini-3.1-pro-preview-customtools" as const;
```
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
gpt-4.1,gpt-4.1-mini,gpt-4.1-nanoo1,o1-2024-12-17,o3,o3-2025-04-16,o3-mini,o3-mini-2025-01-31,o4-mini,o4-mini-2025-04-16gpt-5,gpt-5.1,gpt-5.2,gpt-5.2-codex,gpt-5.2-chat-latest,gpt-5.3-codex,gpt-5-chat-latest,gpt-5-mini,gpt-5-nano,chatgpt-5.2gpt-4-turbo,gpt-4-turbo-preview,gpt-4-0125-preview,chatgpt-4o-latestgemini-3.1-pro-preview-customtoolswith pricing, achieving parity with the Google providerNote:
gpt-5.2-prois excluded from Azure — it uses the OpenAI Responses API (/v1/responses) which requires a new Azure base class (current Azure base only supports/chat/completions).Test plan
pnpm run build— 14/14 packages passpnpm run test— 17/17 suites pass (Azure: 100 tests, Vertex: 83 tests)@adaline/azure(minor) and@adaline/vertex(minor)reasoning_effortparam (requires live Azure endpoint)🤖 Generated with Claude Code