Merge reference implementation SDK changes (2026-05-15)#202
Conversation
Add remoteSession field to SessionConfig, ResumeSessionConfig, CreateSessionRequest, and ResumeSessionRequest. Wire it through SessionRequestBuilder for both create and resume paths. Reference implementation commit: 0159731 (Add remote_session field to all SDK SessionConfig types) Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
…om.xml CLI version, and update scripts/codegen @github/copilot version Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
edburns
left a comment
There was a problem hiding this comment.
Hello @copilot ,
- Please rebase to
HEADofmainto get the most recent changes. - Add some substantive tests. Remote session is a very important feature. Add some tests that don't just verify the property is transmitted and dealt with correctly but actually add some tests that actually exercises the real feature. Now, I know that most of your tests use the proxy thing and actually just are backed by canned content. In this case, you'll have to think hard about what to do to create a sufficient test that exercises actual functionality.
Take a look at what the reference implementations do to test this. https://github.com/github/copilot-sdk
Auto-committed by codegen-check workflow.
…l-sync Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
…ion errors Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
Done in 41e7c0e and 3b15abf.
The reference implementation itself only tests serialization at this level (Rust Also fixed pre-existing compilation errors in generated code ( |
Auto-committed by codegen-check workflow.
There was a problem hiding this comment.
Pull request overview
Ports reference-implementation changes through e20f5be into the Java SDK. The main user-facing change is a new remoteSession ("off" | "export" | "on") field on session config/request types, plumbed through SessionRequestBuilder. Regenerated src/generated/java/** files pick up additional schema updates (new session.custom_notification event, session.commands.list/invoke RPCs, model picker categories, billing token prices, SessionsFork/SessionsForkResult.name, SessionSkillsReloadResult fields, SessionRemoteApi.enable taking a RemoteSessionMode, etc.) and bumps @github/copilot to ^1.0.48.
Changes:
- Add
remoteSessionfield + Javadoc'd getter/setter onSessionConfig/ResumeSessionConfig/CreateSessionRequest/ResumeSessionRequest, wired throughSessionRequestBuilder(and preserved inclone()). - Regenerate
src/generated/java/**for new schema (new events, RPC methods, enums, record fields); update RPC coverage tests to match new record arities. - Bump
.lastmerge,pom.xml, andscripts/codegen/package.json/package-lock.jsonto@github/copilot ^1.0.48.
Show a summary per file
| File | Description |
|---|---|
src/main/java/.../SessionConfig.java |
Adds remoteSession field, getter/setter, clone propagation |
src/main/java/.../ResumeSessionConfig.java |
Same remoteSession plumbing |
src/main/java/.../CreateSessionRequest.java |
DTO field + @JsonProperty |
src/main/java/.../ResumeSessionRequest.java |
DTO field + @JsonProperty |
src/main/java/.../SessionRequestBuilder.java |
Propagates remoteSession into both create/resume requests |
src/test/java/.../RemoteSessionTest.java |
New test suite covering getter/setter, builder wiring, serialization, round-trip, handoff event |
src/test/java/.../GeneratedRpcRecordsCoverageTest.java |
Updates record constructors for new arities |
src/test/java/.../GeneratedRpcApiCoverageTest.java |
Updates SessionsForkParams constructor calls |
src/generated/java/.../AssistantUsageApiEndpoint.java |
New enum — contains invalid Java identifiers, will not compile |
src/generated/java/.../AssistantUsageEvent.java |
Adds apiEndpoint field |
src/generated/java/.../SessionCustomNotificationEvent.java |
New event type + sealed registration in SessionEvent |
src/generated/java/.../SessionScheduleCreatedEvent.java |
Adds recurring field |
src/generated/java/.../SessionErrorEvent.java |
Doc-only update for quota errorCode |
src/generated/java/.../UserMessageEvent.java |
Adds isAutopilotContinuation field |
src/generated/java/.../rpc/SessionCommandsApi.java + SessionCommandsListParams/Result, SessionCommandsInvokeParams, SlashCommand* |
New session.commands.list/invoke API surface |
src/generated/java/.../rpc/SessionRemoteApi.java + SessionRemoteEnableParams, RemoteSessionMode |
enable() now takes SessionRemoteEnableParams (breaking signature change) |
src/generated/java/.../rpc/SessionSkillsApi.java + SessionSkillsReloadResult |
reload() returns warnings/errors instead of Void |
src/generated/java/.../rpc/SessionsForkParams.java, SessionsForkResult.java |
Adds optional name |
src/generated/java/.../rpc/Model.java, ModelBilling.java, ModelBillingTokenPrices.java, ModelPickerCategory.java, ModelPickerPriceCategory.java |
Model picker + token-price metadata |
pom.xml, .lastmerge, scripts/codegen/package.json, scripts/codegen/package-lock.json |
Version sync to @github/copilot ^1.0.48 and reference-impl SHA |
Copilot's findings
Files not reviewed (1)
- scripts/codegen/package-lock.json: Language not supported
- Files reviewed: 9/39 changed files
- Comments generated: 0
Verified: To confirm, I re-ran the codegen from scratch: Then checked for differences: Result: empty diff. The regenerated output is byte-identical to what's committed. All |
I ran codegen with both versions using the same unchanged 15 modified files — each maps to a specific Zod schema change in
0 new/deleted files between the two codegen runs (the 13 new files in the git diff — Final verification: |
edburns
left a comment
There was a problem hiding this comment.
I have just merged #204 from @brunoborges .
Please merge to get these changes and then re-run the Build & Test workflow. It must pass cleanly for us to proceed.
…l-sync Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
…regenerate Co-authored-by: edburns <75821+edburns@users.noreply.github.com>
Merged main (including #204) and fixed a codegen compilation error in All non-E2E tests pass locally (compilation, RemoteSessionTest, GeneratedRpcRecordsCoverageTest, GeneratedRpcApiCoverageTest, ModuleDescriptorTest, spotless). The |
Resolves #201
Before the change?
remoteSessionfield added in reference implementation commit0159731— sessions cannot configure remote behavior (off/export/on)..lastmergepointed at4a0437bb03a0b60a1867f14ae8e3faf053afa5aa,@github/copilotpinned to older version.After the change?
remoteSessionfield added toSessionConfig,ResumeSessionConfig,CreateSessionRequest,ResumeSessionRequest, wired throughSessionRequestBuilder..lastmergeupdated toe20f5bef125860accb30c60d1b35109371a77f16,@github/copilotsynced to^1.0.48.Reference implementation commits analyzed (19 commits)
0159731remote_sessionfield to all SDK SessionConfig typesbb076dbe20f5be32e932cd7168c6EditorBrowsable— Java@Deprecatedalready sufficient81bb92b9a19838–7e7dac29915343Documentation Impact
No user-facing docs changes needed. The new field has full Javadoc and follows the existing pattern of string-typed config options (
reasoningEffort,gitHubToken).Pull request checklist
mvn spotless:applyhas been run to format the codemvn clean verifypasses locallyDoes this introduce a breaking change?