Skip to content

Refresh AIML default model presets#954

Merged
PeterDaveHello merged 1 commit intoChatGPTBox-dev:masterfrom
PeterDaveHello:update-aiml-default-models
Mar 14, 2026
Merged

Refresh AIML default model presets#954
PeterDaveHello merged 1 commit intoChatGPTBox-dev:masterfrom
PeterDaveHello:update-aiml-default-models

Conversation

@PeterDaveHello
Copy link
Copy Markdown
Member

@PeterDaveHello PeterDaveHello commented Mar 14, 2026

Replace the AIML preset list with the current defaults and remove the outdated AIML model definitions tied to the old preset entries.


Open with Devin

Summary by CodeRabbit

  • Chores
    • Updated supported AI models: Replaced older Claude, OpenAI, and Moonshot Kimi versions with their latest alternatives; Added support for new Google Gemini 3 Flash and Gemini 3.1 Pro models.

Replace the AIML preset list with the current defaults and remove the
outdated AIML model definitions tied to the old preset entries.
@PeterDaveHello PeterDaveHello requested a review from Copilot March 14, 2026 16:30
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Update AIML default model presets to latest versions

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Updated AIML model presets to current defaults
• Replaced outdated Claude 3.7 with Claude Sonnet 4.6
• Added GPT-5.2 and Google Gemini 3 models
• Updated Moonshot Kimi from K2 to K2.5
Diagram
flowchart LR
  oldModels["Old AIML Models<br/>Claude 3.7, GPT-o3,<br/>GPT-4.1, Kimi K2"]
  newModels["New AIML Models<br/>Claude Sonnet 4.6, GPT-5.2,<br/>Gemini 3, Kimi K2.5"]
  oldModels -- "refresh presets" --> newModels
Loading

Grey Divider

File Changes

1. src/config/index.mjs ⚙️ Configuration changes +21/-16

Refresh AIML model definitions and presets

• Replaced 4 outdated AIML model keys with 5 current defaults
• Updated model identifiers and API values for Claude, OpenAI, Google, and Moonshot
• Changed Claude 3.7 Sonnet to Claude Sonnet 4.6 with new API path
• Added GPT-5.2 and two Google Gemini 3 variants

src/config/index.mjs


2. tests/unit/config/config-predicates.test.mjs 🧪 Tests +2/-2

Update test fixtures for new AIML models

• Updated representative AIML model names in test fixtures
• Replaced old Claude and OpenAI model identifiers with new ones

tests/unit/config/config-predicates.test.mjs


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Mar 14, 2026

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. AIML key migration missing 🐞 Bug ⛯ Reliability
Description
Removing the previous AIML model keys from the AIML model group means persisted configs/sessions
still using older AIML modelName/apiMode entries will no longer match any ModelGroups entry, so
execution falls into the background "Unknown model configuration" error path instead of routing to
AIML.
Code

src/config/index.mjs[R128-134]

export const aimlApiModelKeys = [
-  'aiml_claude_3_7_sonnet_20250219',
-  'aiml_openai_o3_2025_04_16',
-  'aiml_openai_gpt_4_1_2025_04_14',
-  'aiml_moonshot_kimi_k2_preview',
+  'aiml_claude_sonnet_4_6_20260218',
+  'aiml_openai_gpt_5_2',
+  'aiml_google_gemini_3_flash_preview',
+  'aiml_google_gemini_3_1_pro_preview',
+  'aiml_moonshot_kimi_k2_5',
]
Evidence
After this change, AIML routing is determined by membership in the AIML ModelGroups value list. If a
persisted modelName is no longer included in any ModelGroups value array, isInApiModeGroup() returns
false and the background dispatcher reaches the unknown-model fallback that posts an error. There is
no migration/validation in getUserConfig() to rewrite deprecated stored model keys to the new
defaults.

src/config/index.mjs[128-134]
src/config/index.mjs[205-208]
src/utils/model-name-convert.mjs[146-166]
src/background/index.mjs[542-557]
src/config/index.mjs[751-756]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Previously supported AIML model keys were removed from `aimlApiModelKeys` and `Models`. If a user has a persisted `modelName`/`apiMode`/`activeApiModes` entry using one of the removed keys, `getModelNameGroup()` no longer finds a group match, so `isUsingAimlApiModel()` returns false and the background execution falls into the `Unknown model configuration` error path.

### Issue Context
- AIML routing depends on `ModelGroups.aimlModelKeys.value` (which is `aimlApiModelKeys`).
- There is no config migration/validation in `getUserConfig()` to rewrite deprecated keys.

### Fix Focus Areas
- src/config/index.mjs[128-134]
- src/config/index.mjs[205-208]
- src/config/index.mjs[751-756]
- src/utils/model-name-convert.mjs[146-166]
- src/background/index.mjs[542-557]

### Implementation notes
- Introduce a small deprecated-key mapping (e.g., `{ aiml_openai_o3_2025_04_16: &#x27;aiml_openai_gpt_5_2&#x27;, ... }`) and apply it during config load (preferred) so stored values are rewritten and saved back.
- Alternatively (or additionally), keep deprecated AIML keys as hidden aliases in `Models`/`aimlApiModelKeys` so routing continues to work while the UI shows only new presets.
- Ensure migration handles both `config.modelName` and any stored API mode lists (`activeApiModes`, `customApiModes`) that could contain the deprecated keys.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the application's configuration to reflect the latest default AIML model presets. It replaces outdated model definitions with current ones, ensuring the system leverages the most recent and relevant AI models for its operations. This change improves the accuracy and capabilities of AI-powered features by keeping the model selection up-to-date.

Highlights

  • Updated AIML Model Presets: The default list of AIML API model keys has been refreshed to include newer models and remove outdated ones in src/config/index.mjs.
  • Refreshed Model Definitions: Corresponding model definitions, including their values and descriptions, were updated in src/config/index.mjs to align with the new preset list.
  • Synchronized Test Data: Unit tests in tests/unit/config/config-predicates.test.mjs were updated to reflect the new AIML API model names, ensuring test coverage remains accurate.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/config/index.mjs
    • Replaced outdated aimlApiModelKeys with a new set of current AIML model identifiers.
    • Updated the Models object to define the new AIML models and remove the definitions for the deprecated ones.
  • tests/unit/config/config-predicates.test.mjs
    • Modified representativeAimlApiModelNames to include the new AIML model keys for testing purposes.
Activity
  • No human activity (comments, reviews, etc.) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 14, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e35de634-9106-4a6e-9bb1-d39cd5227bf0

📥 Commits

Reviewing files that changed from the base of the PR and between f4814cb and c8780aa.

📒 Files selected for processing (2)
  • src/config/index.mjs
  • tests/unit/config/config-predicates.test.mjs

📝 Walkthrough

Walkthrough

The PR updates AIML model configuration by replacing four outdated model identifiers (Claude 3.7 Sonnet, O3, GPT-4.1, Kimi K2 preview) with five newer versions (Claude Sonnet 4.6, GPT-5.2, Gemini 3 Flash, Gemini 3.1 Pro, Kimi K2.5) in the main config file and corresponding test fixtures.

Changes

Cohort / File(s) Summary
Configuration Registry
src/config/index.mjs
Removed four outdated AIML model keys and added five newer ones. Replaced Claude 3.7 Sonnet with Claude Sonnet 4.6; added GPT-5.2, Gemini 3 Flash, Gemini 3.1 Pro, and Kimi K2.5 with corresponding value mappings and descriptions.
Test Fixtures
tests/unit/config/config-predicates.test.mjs
Updated representativeAimlApiModelNames set to replace Claude 3.7 Sonnet and O3 with Claude Sonnet 4.6 and GPT-5.2 for consistent test coverage.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

  • #943: Modifies the same configuration exports and test fixtures in src/config/index.mjs and tests/unit/config/config-predicates.test.mjs, directly updating AIML model entries.
  • #942: Adds support for Claude Sonnet 4.6 to the model configuration, overlapping with the Claude model updates in this PR.
  • #895: Updates the AIML model registry in src/config/index.mjs with Claude Sonnet version changes and model mappings.

Suggested labels

config, model-updates, aiml

Poem

🐰 Old models hop away, new ones arrive,
Claude 4.6 and GPT-5 help us thrive,
Gemini flashes and Kimi take flight,
Config refreshed—the future shines bright! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Refresh AIML default model presets' directly and clearly reflects the main change: updating AIML model configurations from outdated versions to newer ones.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can use OpenGrep to find security vulnerabilities and bugs across 17+ programming languages.

OpenGrep is compatible with Semgrep configurations. Add an opengrep.yml or semgrep.yml configuration file to your project to enable OpenGrep analysis.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the AIML model presets to the current defaults. The changes are mostly correct, but I've identified a naming inconsistency for the new Claude model key provided through AIML. For improved code consistency and maintainability, I've suggested renaming the key to include its provider, anthropic. This change should be applied across the model key definition, the Models object, and the related test data.

Comment thread src/config/index.mjs
Comment thread src/config/index.mjs
Comment thread tests/unit/config/config-predicates.test.mjs
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c8780aad1b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/config/index.mjs
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the set of AIML (AI/ML API) model keys and model-id mappings used by the extension’s configuration and predicate tests.

Changes:

  • Replaces older AIML model keys with a new set of AIML model keys in src/config/index.mjs.
  • Updates Models entries to map the new AIML keys to provider model IDs and descriptions.
  • Adjusts unit test representative AIML model names to match the new keys.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tests/unit/config/config-predicates.test.mjs Updates representative AIML model names used by predicate tests.
src/config/index.mjs Replaces AIML model key list and updates Models mappings for AIML provider models.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/config/index.mjs
Comment thread src/config/index.mjs
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

View 4 additional findings in Devin Review.

Open in Devin Review

Comment thread src/config/index.mjs
Comment thread src/config/index.mjs
Comment thread src/config/index.mjs
@PeterDaveHello PeterDaveHello merged commit 0eb64f7 into ChatGPTBox-dev:master Mar 14, 2026
8 checks passed
@PeterDaveHello PeterDaveHello deleted the update-aiml-default-models branch March 14, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants