Skip to content

Add OpenAI GPT-6.1 Sol support - #1098

Merged
PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:addGpt61SolSupport
Oct 1, 2026
Merged

PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:addGpt61SolSupport

Conversation

@PeterDaveHello

@PeterDaveHello PeterDaveHello commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add GPT-6.1 Sol as a built-in OpenAI API model and use it as the default Sol preset while keeping GPT-6 Sol selectable.
  • Use max_completion_tokens and omit custom temperature for GPT-6.1 Sol requests.
  • Add regression coverage for model registration, display labels, request parameters, and model-family matching.

References

Summary by CodeRabbit

  • New Features
    • Added OpenAI GPT-6.1 Sol as an available model and included it in the default model selection.
    • Added support for its model variants. Custom temperature settings are not available for this model.

Copilot AI balanced review requested due to automatic review settings September 30, 2026 17:00
@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: ba72c978-6b27-4ac4-be16-7f8b941920b2

📥 Commits

Reviewing files that changed from the base of the PR and between 765811c and 99c33ad.

📒 Files selected for processing (9)
  • src/_locales/en/main.json
  • src/config/index.mjs
  • src/services/apis/openai-token-params.mjs
  • src/services/apis/temperature-params.mjs
  • tests/unit/config/config-predicates.test.mjs
  • tests/unit/services/apis/openai-api-compat.test.mjs
  • tests/unit/services/apis/openai-token-params.test.mjs
  • tests/unit/services/apis/temperature-params.test.mjs
  • tests/unit/utils/model-name-convert.test.mjs

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

The model catalog adds GPT-6.1 Sol and selects it in place of GPT-6 Sol in the default API mode IDs. OpenAI token-parameter matching and temperature-override rules now cover GPT-6.1 Sol. Unit tests cover model mapping, labels, and parameter behavior.

Changes

GPT-6.1 Sol model support

Layer / File(s) Summary
Register GPT-6.1 Sol
src/config/index.mjs, src/_locales/en/main.json, tests/unit/config/config-predicates.test.mjs, tests/unit/services/apis/openai-api-compat.test.mjs, tests/unit/utils/model-name-convert.test.mjs
The model catalog adds chatgptApi6_1Sol mapped to gpt-6.1-sol, adds its English label, and replaces chatgptApi6Sol in the default API mode IDs. Tests cover the model mapping, label, and default selection.
Handle API parameter rules
src/services/apis/openai-token-params.mjs, src/services/apis/temperature-params.mjs, tests/unit/services/apis/openai-token-params.test.mjs, tests/unit/services/apis/temperature-params.test.mjs
OpenAI token-parameter matching includes GPT-6.1 Sol and its supported variants. GPT-6.1 Sol is included among models without custom temperature support. Tests check supported and rejected model-name variants.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 99c33

GPT-6.1 Sol is registered as the default and its request parameters align with the available OpenAI documentation. No concrete merge-blocking failure is established.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 99c33

The change is narrowly scoped, with no demonstrated expansion of access or weakening of credential controls. Concurrent settings updates and live service acceptance remain unverified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The inspected exposure is confined to affected client profiles and requests using the existing OpenAI provider authority. The new catalog entry does not establish additional tenant, service, datastore, or administrative access.

Security Findings and Attack Paths

  • inferred — No introduced attacker-controlled destination or increased credential authority was identified in the inspected catalog-to-request path. The changed matcher chooses request body fields, not the outbound URL or API key; this conclusion does not establish complete security coverage.

Trust Boundaries and Controls

  • observed — Provider identity continues to gate OpenAI-specific token shaping. The request producer receives an already resolved destination and credential, preserving the separation between model-family matching and provider authority.

Resilience and Maintainability Implications

  • observed — Default reconciliation does not automatically rewrite every credential or provider field: persistence compares each field against the read snapshot. This limits the supported concurrency concern to overlapping changed fields rather than demonstrating credential rollback from the new default alone.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 8 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: adding OpenAI GPT-6.1 Sol support.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 8 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your trial has ended. Reactivate Greptile to resume code reviews.

@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Add GPT-6.1 Sol as the default OpenAI Sol preset

✨ Enhancement 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Register GPT-6.1 Sol as the default Sol preset while keeping GPT-6 Sol selectable.
• Send supported completion-token parameters and omit custom temperature for GPT-6.1 Sol.
• Cover preset selection, display labels, request behavior, and model-family matching with
 regression tests.
Diagram

graph TD
  A["Preset selection"] --> B["Model registry"] --> C["Request assembly"] --> D["Token policy"] --> F["Request payload"] --> G["OpenAI API"]
  C --> E["Temperature policy"] --> F
Loading
High-Level Assessment

Use the existing built-in model registry and request-parameter policies. A custom-model-only option would not provide the requested default preset or discoverable model label, while the existing GPT-6 Sol entry remains available.

Files changed (9) +32 / -5

Enhancement (4) +6 / -2
main.jsonAdd the GPT-6.1 Sol English label +1/-0

Add the GPT-6.1 Sol English label

• Adds the English display string for the new OpenAI model preset.

src/_locales/en/main.json

index.mjsRegister GPT-6.1 Sol and make it the default Sol preset +3/-1

Register GPT-6.1 Sol and make it the default Sol preset

• Adds the model key, API model ID, and description. Replaces GPT-6 Sol in the default API mode list without removing its selectable registration.

src/config/index.mjs

openai-token-params.mjsRecognize GPT-6.1 Sol for completion-token limits +1/-1

Recognize GPT-6.1 Sol for completion-token limits

• Extends OpenAI model-family matching so GPT-6.1 Sol and its suffixed variants use max_completion_tokens.

src/services/apis/openai-token-params.mjs

temperature-params.mjsSuppress custom temperature for GPT-6.1 Sol +1/-0

Suppress custom temperature for GPT-6.1 Sol

• Adds the normalized GPT-6.1 Sol model family to the set that does not accept temperature overrides.

src/services/apis/temperature-params.mjs

Tests (5) +26 / -3
config-predicates.test.mjsVerify GPT-6.1 Sol registration and default selection +4/-2

Verify GPT-6.1 Sol registration and default selection

• Includes the new key among representative OpenAI API models and asserts that it replaces GPT-6 Sol in default presets.

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

openai-api-compat.test.mjsVerify GPT-6.1 Sol request payloads +1/-0

Verify GPT-6.1 Sol request payloads

• Extends the chat-completions integration test to check the model ID, max_completion_tokens, and omission of max_tokens and temperature.

tests/unit/services/apis/openai-api-compat.test.mjs

openai-token-params.test.mjsCover GPT-6.1 Sol token-policy boundaries +7/-0

Cover GPT-6.1 Sol token-policy boundaries

• Tests the model, dated variants, and case-insensitive matching. Adds near-match and provider-prefixed cases that must retain max_tokens.

tests/unit/services/apis/openai-token-params.test.mjs

temperature-params.test.mjsCover GPT-6.1 Sol temperature-policy boundaries +13/-1

Cover GPT-6.1 Sol temperature-policy boundaries

• Verifies temperature omission across case, provider prefixes, and dated variants, while preserving overrides for near-match model names.

tests/unit/services/apis/temperature-params.test.mjs

model-name-convert.test.mjsVerify the GPT-6.1 Sol display name +1/-0

Verify the GPT-6.1 Sol display name

• Asserts that the new preset key resolves to its OpenAI display description.

tests/unit/utils/model-name-convert.test.mjs

@qodo-code-review

qodo-code-review Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Other locales omit the new model label ✗ Dismissed
Description
The new OpenAI (GPT-6.1 Sol) key is present only in the English catalog, with no matching entry in
the other supported locale catalogs. When modelNameToDesc passes the newly registered label to the
translator for a non-English user, that locale cannot provide a value for it.
Code

src/_locales/en/main.json[231]

+  "OpenAI (GPT-6.1 Sol)": "OpenAI (GPT-6.1 Sol)",
Evidence
The PR adds the English key, but a search across src/_locales finds it nowhere else.
modelNameToDesc passes the registered model description to the translator, so the missing locale
entries affect the new user-facing label.

Rule 2262059: Add new English localization keys before other locales
src/_locales/en/main.json[228-232]
src/_locales/fr/main.json[170-178]
src/utils/model-name-convert.mjs[26-32]

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

## Issue description
The new model label has an English localization key but no matching keys in the other supported locale catalogs.

## Fix Focus Areas
- src/_locales/en/main.json[231-231]
- src/_locales/fr/main.json[170-178]

## Recommended Fix
Add the same key to every supported locale catalog with a translation or a clearly marked placeholder.

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


Grey Divider

Context sources
✅ Compliance rules (platform): 6 rules
Review mode: ⚖️ Balanced: This is a localized model-registration and request-parameter behavior change with multiple matching paths and API compatibility implications, warranting a complete single-pass review.

Grey Divider

Tip of the day
💡 Did you know, you can keep summaries lean with Findings visible per group, which tucks the rest behind a View link

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread src/_locales/en/main.json Outdated

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

  • Model registration — chatgptApi6_1Sol (gpt-6.1-sol, OpenAI (GPT-6.1 Sol)) added to chatgptApiModelKeys and Models, plus the English locale desc key.
  • Default preset swap — defaultApiModeIds replaces chatgptApi6Sol with chatgptApi6_1Sol; GPT-6 Sol stays in chatgptApiModelKeys, so it remains selectable.
  • Token params — openai-token-params.mjs pattern generalized to gpt-6(?:\.1-sol|-(?:astra|sol|luna)), so gpt-6.1-sol correctly uses max_completion_tokens.
  • Temperature params — gpt-6-1-sol added to MODELS_WITHOUT_CUSTOM_TEMPERATURE; normalizeModelId converts the dotted gpt-6.1-sol to this hyphenated entry, consistent with the existing gpt-6-sol handling.
  • Tests — regression coverage added across config-predicates, openai-api-compat, openai-token-params, temperature-params, and model-name-convert.

I ran the changed test files plus the migration/popup config tests (278 tests, all pass) and npm run lint (clean). I also checked the regex boundaries by hand: gpt-6.1-solar, gpt-6.10-sol, my-gpt-6.1-sol, and openai/gpt-6.1-sol are all handled correctly. The default-preset change follows the same additive-only migration pattern as prior model-generation bumps, so existing users keep GPT-6 Sol while gaining the new default.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your trial has ended. Reactivate Greptile to resume code reviews.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

Delta since the prior pullfrog review (7d451e7 → 99c33ad): the commit was rebased and the new model entry was moved after its GPT-6 siblings. No semantic change.

  • chatgptApi6_1Sol ordering — the key now sits after chatgptApi6Luna in chatgptApiModelKeys and Models, and gpt-6-1-sol after gpt-6-luna in the temperature exclusion set; the locale key and test entries were reordered to match. This only affects model-picker display order.
  • Behavior unchanged — defaultApiModeIds still swaps chatgptApi6Sol → chatgptApi6_1Sol; the token-params regex and temperature exclusion are otherwise identical to the previously reviewed version.
  • Tests — the renamed GPT-6 defaults use GPT-6.1 Sol and GPT-6 Luna assertion set is equivalent to before. Re-ran the affected suites on this head: 177 tests pass, lint previously clean.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The model is consistently registered, parameterized, localized, and covered by focused regression tests.

Review effort: Balanced
Findings: None

What changed in this PR

Adds GPT-6.1 Sol as the default OpenAI Sol preset while retaining GPT-6 Sol.

Changes:

  • Registers and localizes GPT-6.1 Sol.
  • Applies compatible token and temperature parameters.
  • Adds regression coverage for registration and request behavior.
File Description
src/​config/​index.mjs Registers GPT-6.1 Sol and makes it the default Sol preset.
src/​_locales/​en/​main.json Adds the English display label.
src/​services/​apis/​openai-token-params.mjs Uses max_completion_tokens for the model family.
src/​services/​apis/​temperature-params.mjs Disables custom temperature for the model family.
tests/​unit/​config/​config-predicates.test.mjs Verifies registration and default selection.
tests/​unit/​services/​apis/​openai-api-compat.test.mjs Verifies generated request parameters.
tests/​unit/​services/​apis/​openai-token-params.test.mjs Tests token-parameter family matching.
tests/​unit/​services/​apis/​temperature-params.test.mjs Tests temperature family matching.
tests/​unit/​utils/​model-name-convert.test.mjs Verifies the model display label.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI balanced review requested due to automatic review settings September 30, 2026 17:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The model integration is consistent with existing patterns and includes focused regression coverage.

Review effort: Balanced
Findings: None

@PeterDaveHello
PeterDaveHello merged commit 75d088d into ChatGPTBox-dev:master Oct 1, 2026
7 checks passed
@PeterDaveHello
PeterDaveHello deleted the addGpt61SolSupport branch October 1, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants