Parity backlog: high-level session/client methods exposed in Rust SDK only
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- api, developer-experience
Research direction
Start with rust/src/session.rs and rust/src/lib.rs, which define the reference high-level Session and Client methods, then inspect the generated RPC layer in one target SDK. Pick a specific method or SDK and confirm its existing RPC types and naming conventions before proposing the wrapper. Done means the selected SDK exposes the agreed high-level method without requiring consumers to use generated RPC calls.
Written by the indexing model from the issue text.
Description
The Rust SDK's Cross-SDK Consistency Review on PR #1164 surfaced several methods that the Rust SDK promotes to first-class Session / Client methods, but which are reachable from other SDKs only via the lower-level generated RPC layer (or not at all).
These are real protocol methods backed by the CLI server. The Rust SDK established a richer high-level surface; the other SDKs are consistent with each other but lag behind. Tracking here as a parity backlog item across Node/Python/Go/.NET.
Methods the Rust SDK exposes at the high level
| Method | RPC call | Status in other SDKs |
|---|---|---|
Session::get_model() |
session.model.getCurrent |
Generated RPC only |
Session::get_mode() / set_mode() |
session.mode.get / session.mode.set |
Generated RPC only |
Session::get_name() / set_name() |
session.name.get / session.name.set |
Generated RPC only |
Session::list_workspace_files() / read_workspace_file() / create_workspace_file() |
session.workspace.* |
Not exposed |
Session::read_plan() / update_plan() / delete_plan() |
session.plan.* |
Not exposed |
Session::start_fleet() |
session.fleet.start |
Not exposed |
Session::send_telemetry() |
session.sendTelemetry |
Not exposed at session level |
Client::get_quota() |
account.getQuota |
.NET generated only |
Why it matters
- Consumers shouldn't have to drop into the generated RPC layer for first-class Copilot session features.
- Names, signatures, and ergonomics across SDKs should converge so the Rust SDK isn't a moving target.
Suggested approach
Each SDK could pick this up independently — most additions are mechanical wrappers around the existing generated RPC types. We should agree on naming first so we don't end up with getModel / Model / GetCurrentModel / get_model style drift.
The Rust signatures in rust/src/session.rs and rust/src/lib.rs (PR #1164) can serve as the reference shape. If a different SDK has a stronger reason to deviate, that's worth a discussion before landing.
Out of scope
Idiomatic differences like Rust's subscribe() returning a tokio::sync::broadcast::Receiver vs Node's callback on(handler) are correctly idiomatic for each language — the consistency review flagged these as expected, and they don't belong here.
Generated via Copilot (Claude Opus 4.7) on behalf of @tclem
- Dominant language
- Java
- Stars
- 10.5k
- Forks
- 1.5k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 133
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-sdk
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2709 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
github/copilot-sdk#2673 ·
-
bug testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-sdk#2628 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2627 · 1 comment ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
github/copilot-sdk#2493 ·
All issues in github/copilot-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
checkstyle/test-configs#263 ·
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
1.0.0-alpha2 Type/Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
wso2/dpdp-accelerator#272 ·