Skip to content

refactor(types): use canonical provider identifiers in categories#1

Closed
WebMad wants to merge 15 commits into
feat/951-provider-identifiersfrom
feat/953-provider-category-collections
Closed

refactor(types): use canonical provider identifiers in categories#1
WebMad wants to merge 15 commits into
feat/951-provider-identifiersfrom
feat/953-provider-category-collections

Conversation

@WebMad

@WebMad WebMad commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Testing

  • focused provider tests: 24 passed
  • package type checking passed
  • package lint passed
  • full @roo-code/types test suite: 238 passed

Depends on Zoo-Code-Org#952.
Relates to Zoo-Code-Org#953 and Zoo-Code-Org#944.

zoomote Bot and others added 2 commits July 18, 2026 19:17
…hLock (Zoo-Code-Org#912)

* fix: lock task history invalidation

* fix(task-history): address invalidation review feedback
@WebMad

WebMad commented Jul 19, 2026

Copy link
Copy Markdown
Owner Author

This is a stacked PR on top of Zoo-Code-Org#952. Please review and merge Zoo-Code-Org#952 first; this PR should be reviewed afterward and will be retargeted to the upstream main branch once the foundational PR lands.

edelauna and others added 13 commits July 20, 2026 11:32
…#961) (Zoo-Code-Org#962)

checkExistKey ignored Zoo Gateway session auth, so Finish saved config but never left the setup screen.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Roomote <roomote@roomote.dev>
DeepSeek V4 Pro and V4 Flash support image inputs via their OpenAI-compatible
API, but the model definitions had supportsImages: false. This change flips it
to true for both models, enabling users to attach images when using these models.
…treaming, and model metadata (Zoo-Code-Org#857)

* fix(moonshot): fix provider issues with model picker, refresh, and streaming

- Fix duplicate ModelPicker by adding moonshot to PROVIDERS_WITH_CUSTOM_MODEL_UI
- Fix HTTP 404 on Refresh Models by preserving /v1 in fetcher URL
- Fix empty model list (consequence of 404 fix)
- Fix 'No output generated' error by switching MoonshotHandler from
  OpenAICompatibleHandler (Vercel AI SDK) to OpenAiHandler (OpenAI Node SDK)
  which is what Moonshot's own API docs recommend
- Add dedicated Moonshot fetcher with proper model ID prefixing
- Update tests to match new handler implementation

All 6,660 backend and 1,432 webview-ui tests pass.

* feat(moonshot): add missing models with correct pricing from official docs

Add kimi-k2.7-code, kimi-k2.7-code-highspeed, and kimi-k2.6 to static
models map with accurate pricing from Moonshot documentation.

Also fix kimi-k2.5 to correctly mark supportsImages: true.

* Update webview-ui/src/components/settings/providers/Moonshot.tsx

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

* fix(moonshot): remove fallback pricing for unknown models to match handler behavior

* Bump coverage

* fix(moonshot): address PR review feedback — add tests and fix inline import type

- Replace inline import() type with top-level OpenAI.Chat.Completions.X in moonshot.ts
- Add useSelectedModel moonshot tests (default model, router override, unknown fallback, getValidatedModelId)
- Add modelCache moonshot dispatch test for fetchModelsFromProvider switch
- Create Moonshot.spec.tsx with state machine tests (idle/loading/success/error states, race condition guard)

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Roomote <roomote@roomote.dev>
…milies (Zoo-Code-Org#899)

* fix(litellm): preserve reasoning_content for known reasoning model families

LiteLLM's /v1/model/info never reports reasoning capability flags, so infer
preserveReasoning from the model alias/routed-model name and use
convertToR1Format to keep reasoning_content intact across tool-call turns.

Signed-off-by: daewoongoh <dw.oh@samsung.com>

* test(litellm): cover preserveReasoning inference and message conversion branching

Add unit coverage for LITELLM_PRESERVE_REASONING_PATTERN matching per model
family, getLiteLLMModels setting preserveReasoning on matched models, and
LiteLLMHandler.createMessage branching between convertToR1Format and
convertToOpenAiMessages based on info.preserveReasoning.

Signed-off-by: daewoongoh <dw.oh@samsung.com>

* refactor(litellm): replace preserveReasoning regex with an explicit model id list

Regex-based family matching could over-match unrelated aliases sharing a
substring (e.g. glm-5-flash matching a glm-5 prefix), a gap flagged in
PR Zoo-Code-Org#899 review. LITELLM_PRESERVE_REASONING_MODEL_IDS now lists the exact
model ids that set preserveReasoning: true in their native provider
config, matched via isLiteLLMPreserveReasoningModel() against the final
segment of model_name/litellm_params.model.

Also fixes a test in litellm.spec.ts where the model_name alias itself
matched a known id, so the assertion didn't actually prove
litellm_params.model was being checked.

Signed-off-by: daewoongoh <dw.oh@samsung.com>

---------

Signed-off-by: daewoongoh <dw.oh@samsung.com>
)

* chore(deps): update dependency esbuild-wasm to v0.28.1

* fix(build): eagerly initialize stdout/stderr in esbuild-wasm to prevent V8 crash

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Elliott de Launay <edelaunay@wealthsimple.com>
…ode-Org#925)

* fix(webview): sync cachedState on mode changes in SettingsView

* test(settings): strengthen mode sync change detection

---------

Co-authored-by: Eason Liang <easonliang28@gmail.com>
* fix(code-index): index plain text files

* fix(tree-sitter): skip plain text definition parsing

* fix(code-index): address plain text review feedback

* fix(tree-sitter): preserve Scala structural parsing

* test(code-index): remove redundant async usage
)

* fix(mcp): remove obsolete server creation translations

* test(mcp): remove stale server creation references

* test(mcp): fix no-server prompt snapshot
@WebMad
WebMad force-pushed the feat/953-provider-category-collections branch from 56075ae to 8369dec Compare July 22, 2026 11:30
@WebMad

WebMad commented Jul 22, 2026

Copy link
Copy Markdown
Owner Author

Superseded by Zoo-Code-Org#989, targeting the upstream main branch.

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

7 participants