Skip to content

Support experimental model picker categories - #2394

Draft
andysalerno wants to merge 1 commit into
mainfrom
andysalerno/hydrafusion-supplemental-models
Draft

Support experimental model picker categories#2394
andysalerno wants to merge 1 commit into
mainfrom
andysalerno/hydrafusion-supplemental-models

Conversation

@andysalerno

Copy link
Copy Markdown

Summary

  • recognize the runtime's experimental model picker category in generated Rust types
  • keep the provisional supplemental-model RPC untyped through Client::call
  • verify raw response decoding and inspectable method-not-found fallback

Compatibility

This adds no first-class supplemental RPC API. Older runtimes continue returning JSON-RPC -32601, and unknown future categories still decode as Unknown.

Testing

  • cargo test --manifest-path rust/Cargo.toml --features test-support --test session_test raw_client_call_supports_supplemental_model_compatibility

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings August 25, 2026 02:55
@andysalerno
andysalerno requested a review from a team as a code owner August 25, 2026 02:55

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.

Pull request overview

Adds Rust compatibility for experimental supplemental model categories while retaining raw RPC access and fallback handling.

Changes:

  • Generates an Experimental model-picker category.
  • Tests supplemental model decoding, unknown categories, and -32601 errors.
Show a summary per file
File Description
scripts/codegen/rust.ts Extends the Rust schema before generation.
rust/src/generated/api_types.rs Adds the generated enum variant.
rust/tests/session_test.rs Verifies raw RPC compatibility behavior.

Review details

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

  • Files reviewed: 2/3 changed files
  • Comments generated: 0
  • Review effort level: Balanced

@andysalerno

Copy link
Copy Markdown
Author

Companion implementation: github/copilot-agent-runtime#16936 and github/github-app#13436. This PR intentionally adds category compatibility only; the supplemental RPC remains private and is invoked through generic Client::call.

@andysalerno
andysalerno marked this pull request as draft August 25, 2026 15:22
@SteveSandersonMS

Copy link
Copy Markdown
Contributor

Thanks for tackling the Rust side of this and for the clear test coverage on the raw Client::call compatibility path!

Since ModelPickerCategory is a shared protocol enum, we'd like to keep all generated SDKs aligned rather than patching this into Rust codegen alone. Could you extend the same schema change (and regeneration) to Node, C#, Python, Go, and Java as well, with per-language decoding/behavior tests for the new experimental value and the unknown-category fallback? E2E coverage isn't necessary here unless existing conventions in a given language already call for it — unit/integration-level tests matching what you've done for Rust should be sufficient.

Marking this as draft and adding waiting on response in the meantime — please mark it ready for review once the other languages are updated. Thanks!

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.

3 participants