Skip to content

feat: simplify GPT model display names - #493

Merged
nikita-ashihmin merged 2 commits into
mainfrom
nikita.ashikhmin/short-model-display-names
Sep 9, 2026
Merged

nikita-ashihmin merged 2 commits into
mainfrom
nikita.ashikhmin/short-model-display-names

Conversation

@nikita-ashihmin

@nikita-ashihmin nikita-ashihmin commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • format GPT model picker labels using a generic transformation rule
  • remove the gpt- prefix and replace hyphen/slash separators with spaces
  • preserve model IDs and leave non-GPT provider names unchanged
  • update Codex from 0.153.3 to 0.153.4 so GPT-6 Astra is advertised as visible and default
  • apply the same labels to current config options and legacy model state

Examples

  • gpt-6-astra6 Astra
  • gpt-5.3/codex-spark5.3 Codex Spark
  • o3-mini → unchanged

Verification

  • npm run generate-types (no schema diff)
  • npm run typecheck
  • npm test (609 passed, 26 skipped)
  • direct model/list probe against Codex 0.153.4 returns gpt-6-astra with hidden: false, isDefault: true
  • live authenticated e2e was not run because no API key is available

Copilot AI 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.

🟢 Approval recommended

The focused implementation is consistent across both model surfaces and has appropriate test coverage.

Pull request overview

Simplifies GPT model labels consistently across current configuration and legacy model state while preserving model IDs and non-GPT names.

Changes:

  • Adds generic GPT display-name formatting.
  • Applies formatting to current and legacy model options.
  • Adds unit coverage and updates the legacy snapshot.
File summaries
File Description
src/ModelConfigOption.ts Adds and applies GPT label formatting.
src/CodexAcpServer.ts Reuses formatting for legacy model state.
src/__tests__/ModelConfigOption.test.ts Tests formatting and ID preservation.
src/__tests__/CodexACPAgent/data/model-filtering.json Updates expected legacy labels.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0
  • Review effort level: Balanced

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

@nikita-ashihmin
nikita-ashihmin merged commit df025c7 into main Sep 9, 2026
7 checks passed
@nikita-ashihmin
nikita-ashihmin deleted the nikita.ashikhmin/short-model-display-names branch September 9, 2026 19:15
lodystage Bot added a commit to LodyAI/acp-extension-codex that referenced this pull request Sep 18, 2026
* fix: paginate thread history when forking and loading sessions (agentclientprotocol#481)

* fix: paginate thread history when forking and loading sessions

* fix: reject cyclic thread history cursors

* fix: bound history pagination to the resume cursor

* fix: preserve full history reads for legacy threads

* fix: finalize standalone MCP elicitation permission requests (agentclientprotocol#471)

A message-only MCP elicitation that is not tied to a Codex item is presented
through `session/request_permission` with a synthetic tool call id. Nothing
ever updated that tool call after the user answered, so clients kept an
unfinished, untitled card (LLM-29763).

Give the synthetic tool call a generic title and expose the question in
`rawInput.description`, and send a `tool_call_update` with `status: completed`
and the chosen action once the user responds. Correlated tool-call approvals
are unchanged: the real tool call is completed by Codex itself.

* ci: set up preview publishing (agentclientprotocol#474)

Copy of agentclientprotocol/claude-agent-acp#1084

Today nothing reaches npm between two release-please releases, so trying a merged
but unreleased change means building from source. This adds a continuously
published preview channel.

Every CI-green push to `main` that is not a release merge publishes
`<package.json version, patch bumped>-preview.N` under the `preview` dist-tag,
tags the commit `v<version>`, and dispatches the same agent registry update a
stable release does. With `main` at 0.73.0 that gives `0.73.1-preview.1`,
`0.73.1-preview.2`, and so on; `N` restarts at 1 whenever a release moves the
base. `latest` is untouched.

## Approach

- **Added to `publish.yml` rather than a new workflow.** npm binds a trusted
  publisher to one repo + workflow filename, and a package gets only one. A
  separate file would fail OIDC and cost the stable path its publisher.
- **Gated on the `CI` workflow succeeding** (`workflow_run`), so a red commit is
  never published. release-please's release merge is excluded by the head
  commit's author and subject — its `releases_created` output is not reachable
  from a different workflow run.
- **`N` is the max of the npm registry and local git tags.** npm reserves
  versions forever, even after `unpublish`, so a reused `N` is a hard failure;
  but the registry is CDN-served and lags, which the tags cover. A registry read
  failure aborts rather than guessing.
- **Base is patch+1, not release-please's prediction**, which moves mid-flight
  and would reset `N` under already-published previews.
- **The version is applied to the CI working tree only**, never committed —
  `package.json` and the release-please manifest stay release-please's to own.
- **`--tag preview` is mandatory:** `npm publish` defaults to `latest` even for a
  semver prerelease.
- **Three jobs.** `publish-npm-preview` mirrors `publish-npm` and only publishes
  (no repo write access); `publish-tag-preview` only tags, so a failed tag is
  retryable with _Re-run failed jobs_ without re-publishing an immutable version;
  `trigger-registry-update` is shared with the stable path. Both downstream jobs
  gate on a `published` output the publish step sets, not on job status — the tag
  push happens after the publish, so a red job can still mean npm has the
  version.

* feat: advertise recommended model and reasoning effort (agentclientprotocol#491)

* feat: advertise recommended model and reasoning effort

* fix: harden recommended config metadata

* feat: simplify GPT model display names (agentclientprotocol#493)

* feat: simplify GPT model display names

* chore: update Codex to 0.153.4

* chore(main): release 1.11.0 (agentclientprotocol#483)

Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>

* ci: poll for package availability after publish before triggering registry update (agentclientprotocol#499)

* build(deps-dev): bump hono in the npm_and_yarn group across 1 directory (agentclientprotocol#488)

Bumps the npm_and_yarn group with 1 update in the / directory: [hono](https://github.com/honojs/hono).


Updates `hono` from 4.13.3 to 4.13.7
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.13.3...v4.13.7)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.13.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: Add tool names to ACP tool call events (agentclientprotocol#513)

* fix: update codex to 0.154.0 (agentclientprotocol#494)

* fix: update codex to 0.154.0

* fix: fix test fixture types after Codex update

Add required nullable MCP status, thread, and rate-limit fields to tests to match the Codex 0.154.0 schema.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

* fix: improve request_user_input elicitation forms (agentclientprotocol#299)

* Fix request_user_input elicitation form structure

* Simplify request_user_input note field IDs

* Remove redundant question IDs from form fields

* Remove unused request input metadata

* fix: preserve request input fields and unique Other choices

---------

Co-authored-by: Shushakov Daniil 84373458 <shushakov.daniil@h-partners.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

* perf: supply validated diff statistics to ACP clients (agentclientprotocol#501)

* perf: supply validated diff statistics to ACP clients

Clients compared full file texts again to display line counts. Supply counts
and the first changed line through com.intellij/diffStats metadata.
Parse each update patch once and reuse it for application and statistics.
Validate hunk coordinates and content before publishing the counts.
Omit statistics when validation fails so clients can compare the texts.

Type checking, the build, and all 610 active tests pass; 26 tests are skipped.
The new coverage includes 34 statistics and file event cases.
A real Codex history imported through ACP provides statistics for all 277 diffs.

* perf: use the AIR namespace for diff statistics

Publish diff statistics at _meta.jetbrains.air.diffStats through the existing
AIR metadata helper. Preserve the diff kind and the versioned envelope.
Document the wire format, count semantics, navigation, and fallback behavior.

Type checking, the build, and all 610 active tests pass; 26 tests are skipped.

* perf: count diff operations without scanning file texts

Use the parsed patch as the source of added and removed counts.
Remove navigation coordinates and duplicate validation of complete file texts.
Keep the existing patch application responsible for constructing ACP content.
Count created and deleted files from the content already supplied by Codex.

Update the extension specification and regression tests for counts-only metadata.
Type checking, the build, and the full local test suite pass.
A patch with 20 additions and 30 deletions takes about one microsecond to count.

* perf: derive file change reports from turn diffs (agentclientprotocol#518)

* perf: derive file change reports from turn diffs

* fix: scope turn diff collection

* fix: harden turn diff reports

* fix: handle turn diff edge cases

* fix: resolve diff paths across workspace roots

* fix: bound and stabilize turn diff parsing

* fix: bound retained turn diffs

* fix: preserve lexical cwd for turn diff paths

* fix: preserve whitespace in turn diff paths

* docs: clarify empty turn diff snapshots

* fix: snapshot and parse turn diff paths

* chore(main): release 1.12.0 (agentclientprotocol#514)

Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>

* feat: adopt Core 0.1.6 elicitation answer notes

* refactor: remove redundant elicitation schema branches

Ablation against 61 focused tests:
- Removing the standard-form capability guard fails capability negotiation; restored.
- Removing the selected-answer guard fails note-only response coverage; restored.
- Collapsing common schema fields passes all snapshots unchanged.
- Inlining the single-use base object also passes unchanged.

Final validation: typecheck, build, 789 tests passed (27 skipped), and real read-only Codex smoke completed with end_turn.

* chore: align adapter version with upstream 1.12.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: nikita-ashihmin <nikita.ashihmin@jetbrains.com>
Co-authored-by: Aleksandr Suhinin <95745995+AlexandrSuhinin@users.noreply.github.com>
Co-authored-by: Andrey Bragin <andrey.bragin@jetbrains.com>
Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniil Shushakov <4shushakov@gmail.com>
Co-authored-by: Shushakov Daniil 84373458 <shushakov.daniil@h-partners.com>
Co-authored-by: Leon Zhao <leeeon233@gmail.com>
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