-
[OPIK-3519] [INFRA] add automated provider model sync script (#5506)
发布于
2026-03-10 11:48:19 +00:00 - [OPIK-3519] [BE][FE] feat: add automated provider model sync script
Add a Python script and GitHub Actions workflow to automatically sync
LLM provider model lists across 5 Java enums and 2 TypeScript files.- Supports OpenAI, Anthropic, Gemini, VertexAI, and OpenRouter providers
- Fetches models from provider APIs (with fallback to LiteLLM prices JSON)
- Add-only mode: never removes models automatically, reports stale models
- Curated dropdown filtering with smart sorting per provider
- Detects deprecated models via deprecation_date and excludes from dropdown
- Excludes Responses-API-only models (e.g. gpt-5.2-pro) from dropdown
- Generates PRs with detailed summary of changes
- Scheduled daily via GitHub Actions cron
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix(ci): align workflow PR template with Opik conventions
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix: address PR review comments
- Add permissions block (contents: write, pull-requests: write) to workflow
- Surface sync summary in GitHub Step Summary even when no models are added
- Fix _deduplicate_by_base to pick newest dated variant instead of oldest
- Report enum name collisions in sync summary instead of silently skipping
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix: pipefail for workflow exit code + openrouter deprecated prefix
- Use PIPESTATUS[0] with pipefail so Python exit code is captured
instead of tee's (always-zero) exit - Add openrouter/ to build_deprecated_set prefix list so deprecated
OpenRouter models are filtered from dropdown
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
Co-authored-by: Andrei Căutișanu andreicautisanu@Andreis-MacBook-Pro.local
Co-authored-by: Claude Opus 4.6 noreply@anthropic.com下载附件