Skip to content

feat(openai-codex): persist and send Fast priority mode - #2

Closed
WebMad wants to merge 10 commits into
refactor/service-tier-primitivesfrom
feat/openai-codex-fast-backend
Closed

feat(openai-codex): persist and send Fast priority mode#2
WebMad wants to merge 10 commits into
refactor/service-tier-primitivesfrom
feat/openai-codex-fast-backend

Conversation

@WebMad

@WebMad WebMad commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Responsibility and scope

Adds backend/configuration support for persisting the OpenAI Codex speed preference and mapping Fast mode to the provider request priority field. Tests travel with the behavior in this PR.

Behavior

  • Fast sends Priority in the OpenAI Codex request.
  • Missing and Default settings omit the priority field.
  • Flex is rejected for this provider path.
  • Persistence, validation, serialization, and request construction are covered at the backend layer.

Explicit non-goals

  • No webview-ui/ changes and no user-facing selector; that is the next stack PR.
  • No unrelated Task.throttle.test.ts fix.
  • No changeset.

Test evidence

  • Focused backend tests cover Fast, missing/Default omission, and Flex rejection.
  • Repository type checks passed from the push hook.
  • The completed stack was locally verified before publication.

Stack dependency

  1. Zoo-Code-Org/Zoo-Code#1040 — shared service-tier primitives.
  2. This PR — backend persistence and request behavior (base: WebMad:refactor/service-tier-primitives).
  3. WebMad/Zoo-Code#3 — webview speed selector and translations.

Review after Zoo-Code-Org#1040; this PR intentionally contains only the immediate-base backend delta.

Lee-Si-Yoon and others added 9 commits July 28, 2026 23:57
…de-Org#950)

* chore(lint): add core/webview to no-floating-promises ratchet

* fix(webview): catch indexing errors and cover changed handler paths

* chore(lint): triage new core/webview call sites after merging main

Also restore README.md to the upstream version, dropping an unintended formatter artifact picked up during the merge commit.

---------

Co-authored-by: edelauna <54631123+edelauna@users.noreply.github.com>
…Zoo-Code-Org#971)

* fix(branding): replace remaining user-facing "Roo" strings with "Zoo"

Replace user-facing product references from "Roo" to "Zoo":
- Webview panel and editor tab titles
- Integrated terminal names
- Diff view labels
- VS Code LM authorization justification
- LM Studio error messages
- Missing-parameter tool error (now i18n-keyed via tools:missingToolParameter[WithPath] across all 16 locales)
- Webview-ui localization strings (chat, settings, prompts across all locales)

Per review feedback, references to the external Roo provider/router remain
untouched: the routerRemoval messages, errors.roo/info.roo i18n keys, Roo
credit-balance notices, and other internal identifiers that reference the
legacy Roo provider rather than our brand.

* test: bump coverage for Roo-to-Zoo user-facing string changes (Zoo-Code-Org#971)

* chore: simplify i18n mocking in Task.spec.ts

* test: increase coverage of vscode-lm.ts and vscode-lm-format.ts

* fix(types): eliminate any casts in vscode-lm provider and format transform

---------

Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Elliott de Launay <edelauna@gmail.com>
… emit output (Zoo-Code-Org#1043)

* fix(terminal): delay command_output ask for short foreground commands

The command_output ask fired on the first output chunk of any foreground
command, prompting users even for commands about to complete. Schedule the
ask instead so it only fires when the command is still running after a
5s delay, preserving the interrupt/feedback path for long-running commands
while letting short commands finish without prompting.

Closes Zoo-Code-Org#1042

* fix(terminal): anchor command_output ask delay to execution start

Anchor the ask-delay timer to onShellExecutionStarted (falling back to the
pre-runCommand timestamp) so shell-integration startup on cold terminals
does not consume the grace period, and expand ask-policy tests to cover
the agent-timeout cancel, re-anchor reschedule, ask error handling, and
non-message responses to restore patch coverage.

* test(terminal): cover fallback anchor for command_output ask delay

* fix(terminal): clean up pending command_output ask on completion

- Supersede a still-pending command_output ask in onCompleted so it
  resolves immediately instead of lingering until the next interactive
  message, and clear the Proceed/Kill controls in the webview when the
  final non-partial command_output say arrives.
- Continue the process for any ask answer, not just typed messages, so a
  non-message response actually backgrounds the command and the tool
  resolves before the process completes.
- Strengthen ask-policy tests: assert the rescheduled ask still fires at
  the re-anchored deadline, assert early resolution for non-message
  answers, and cover ask supersession on completion.

* test(terminal): note synthetic yesButtonClicked in non-message ask test

---------

Co-authored-by: Roomote <roomote@roomote.dev>
…, Story 3.1) (Zoo-Code-Org#1031)

* feat(TaskScheduler): introduce TaskScheduler and wire into ClineProvider

* feat(Task): keep track of active running task

* docs(eslint): updating guidance on how to handle suppression file

* fix(ClineProvider): route createTaskWithHistoryItem through taskScheduler

* test(e2e): add scheduler regression tests for task resume paths

* refactor(ClineProvider): extract scheduleTask helper to deduplicate fire-and-forget scheduling

* refactor(ClineProvider): extract scheduleTask helper to deduplicate fire-and-forget scheduling

---------

Co-authored-by: Naved  Merchant <naved.merchant@gmail.com>
…oo-Code-Org#1045)

* ci: harden E2E workflow against VS Code binary download failures

Add restore-keys fallback to the VS Code test binary cache, probe the VS
Code update API before running tests, fall back to a stale cached binary
(via VSCODE_VERSION) when the CDN is unreachable, and retry the mocked
E2E step so transient network blips don't fail the merge queue. Skip
writing the pass marker when the stale-binary fallback was used.

Closes Zoo-Code-Org#1044

* ci: scope E2E retries to binary download, probe CDN endpoint, prune stale binaries

Address review feedback on Zoo-Code-Org#1045:
- Retry only the VS Code binary download (its own step), so genuine
  test failures fail fast instead of re-running the whole suite.
- Probe the archive CDN endpoint (via the 302-redirect HEAD) in
  addition to the update API, so the stale-binary fallback also
  engages when only the CDN host is down.
- Restore/save the binary cache with restore+save actions and prune
  older vscode-linux-x64-* dirs so each saved entry keeps one binary
  instead of growing with every version bump; skip the save when the
  stale fallback was used.
- Emit a ::warning:: when endpoints are unreachable with no cached
  binary, and echo why the pass marker is skipped on fallback runs.

---------

Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: edelauna <54631123+edelauna@users.noreply.github.com>
)

* refactor(webview): use canonical provider identifiers

* test(webview): remove brittle identifier mutation tests

* fix(webview): handle remaining model providers explicitly

* test(webview): avoid unreachable coverage branch

* refactor(webview): use canonical anthropic identifier

* test(webview): cover Anthropic Opus 1M tier

* test(webview): use canonical Anthropic identifier

* fix(webview): address canonical provider review

* test(webview): use canonical provider identifiers

* test(webview): cover Kimi Code model selection
* refactor: finish canonical provider identifier audit

* fix: address provider identifier review feedback

* refactor: centralize Anthropic protocol value

* refactor: reuse canonical provider protocol constants

* refactor: centralize OpenAI protocol value

* test: use canonical keyless provider identifiers

* test: address protocol routing review feedback
* refactor(api): centralize service-tier primitives

* test(openai-native): cover omitted completion tiers

* test(openai-native): cover resolved streaming tiers

* test(api): cover service tier fallbacks

* test(api): cover remaining service tier branches

* refactor(api): remove duplicate tier capture

* test(openai-native): cover flex service tier

* test(openai-native): expand service tier coverage

* refactor: address service tier review feedback

* refactor(api): address service tier review feedback

* test(webview): add model info visual snapshot

* fix(webview): isolate visual test dependencies

* test(webview): update service tier visual baseline

* fix(webview): add @source directive so Tailwind utilities generate in CT builds

---------

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
@WebMad
WebMad force-pushed the feat/openai-codex-fast-backend branch 2 times, most recently from bd51eef to 4d112a7 Compare July 30, 2026 15:05
@WebMad

WebMad commented Jul 30, 2026

Copy link
Copy Markdown
Owner Author

Retargeted to the upstream repository as Zoo-Code-Org#1063: Zoo-Code-Org#1063

@WebMad WebMad closed this Jul 30, 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.

5 participants