Skip to content

feat: map reasoning effort to Cursor model variants - #40

Merged
anyrobert merged 1 commit into
anyrobert:mainfrom
cty41:feat/reasoning-effort-model-mapping
Aug 29, 2026
Merged

feat: map reasoning effort to Cursor model variants#40
anyrobert merged 1 commit into
anyrobert:mainfrom
cty41:feat/reasoning-effort-model-mapping

Conversation

@cty41

@cty41 cty41 commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • map Chat Completions reasoning_effort and Responses reasoning.effort to model variants from the live Cursor catalog
  • preserve explicit and -fast variants while rejecting unsupported family/effort combinations with a clear 400 error
  • document the behavior and cover model resolution plus both HTTP APIs

Closes #39.

Test plan

  • npm run typecheck
  • npm run build
  • npx vitest run src/lib/model-map.test.ts src/lib/server.test.ts (33 passed)
  • npx vitest run --exclude src/lib/workspace.test.ts (288 passed)
  • live Chat Completions request: gpt-5.6-sol + high
  • live Responses request: gpt-5.6-sol + low
  • DeepSeek Harness end-to-end selection: logical gpt-5.6-sol + high

The unfiltered suite has one pre-existing Windows-only assertion in workspace.test.ts: it expects POSIX /tmp/.../.cursor while path.join correctly returns Windows separators. This change does not touch workspace handling.

Translate OpenAI reasoning controls through the live Cursor catalog so clients can select supported effort levels without hard-coding model suffixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@anyrobert

Copy link
Copy Markdown
Owner

Thanks for the contribution @cty41! Clean implementation and test coverage.

@anyrobert
anyrobert merged commit faa1b53 into anyrobert:main Aug 29, 2026
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.

Map OpenAI reasoning effort to Cursor model variants

2 participants