Update @github/copilot to 1.0.60#1597
Conversation
- Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code
There was a problem hiding this comment.
Pull request overview
Updates the monorepo’s @github/copilot dependency to 1.0.60 and refreshes all generated SDK protocol surfaces (session events + RPC types) across Node.js, Python, Go, Rust, .NET, and Java to match the updated schema.
Changes:
- Bumped
@github/copilotto^1.0.60in Node.js packages and the test harness, updating lockfiles accordingly. - Regenerated session-event models across languages (adds
session.canvas.closed,apiCallId, hook errorsource, and docstring updates). - Regenerated Java RPC/SDK types and updated Java’s reference-impl version property.
Show a summary per file
| File | Description |
|---|---|
| test/harness/package.json | Bump harness devDependency on @github/copilot to ^1.0.60. |
| test/harness/package-lock.json | Lockfile update for @github/copilot@1.0.60 (+ minor metadata reordering). |
| nodejs/package.json | Bump Node.js SDK dependency on @github/copilot to ^1.0.60. |
| nodejs/package-lock.json | Lockfile update for @github/copilot@1.0.60 and platform optional deps. |
| nodejs/samples/package-lock.json | Update sample lockfile dependency to @github/copilot@^1.0.60. |
| nodejs/src/generated/session-events.ts | Regenerated TS session events (new session.canvas.closed, apiCallId, hook/source, doc updates). |
| python/copilot/generated/session_events.py | Regenerated Python session events/types (new SESSION_CANVAS_CLOSED, api_call_id, hook/source, doc updates). |
| rust/src/generated/session_events.rs | Regenerated Rust session events/types (new SessionCanvasClosed, api_call_id, hook/source, doc updates). |
| go/zsession_events.go | Regenerated Go re-export wiring for new session event types. |
| go/rpc/zsession_events.go | Regenerated Go RPC session-event types (new canvas closed, APICallID, hook/source, doc updates). |
| go/rpc/zsession_encoding.go | Update Go session-event decoding to handle session.canvas.closed. |
| go/rpc/zrpc_encoding.go | Regenerated Go RPC JSON (new unions + source now string where applicable + session list entry decoding). |
| dotnet/src/Generated/SessionEvents.cs | Regenerated .NET session events (new canvas closed, ApiCallId, hook/source, doc updates). |
| java/pom.xml | Update Java ref-impl version property to ^1.0.60. |
| java/scripts/codegen/package.json | Bump Java codegen dependency on @github/copilot to ^1.0.60. |
| java/scripts/codegen/package-lock.json | Lockfile update for Java codegen dependency to @github/copilot@1.0.60. |
| java/src/generated/java/com/github/copilot/generated/session events: SubagentStartedEvent.java | Generated comment tweak for model field. |
| java/src/generated/java/com/github/copilot/generated/session events: SubagentFailedEvent.java | Generated comment tweak for model field. |
| java/src/generated/java/com/github/copilot/generated/SessionIdleEvent.java | Updated idle-event docstring. |
| java/src/generated/java/com/github/copilot/generated/SessionEvent.java | Add session.canvas.closed subtype registration. |
| java/src/generated/java/com/github/copilot/generated/SessionCanvasClosedEvent.java | New generated session event for canvas close. |
| java/src/generated/java/com/github/copilot/generated/HookEndError.java | Add hook error source field. |
| java/src/generated/java/com/github/copilot/generated/AssistantMessageEvent.java | Add assistant message apiCallId field. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerRpc.java | Add plugins namespace accessor. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerPluginsApi.java | New generated server-level plugins API. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerPluginsMarketplacesApi.java | New generated server-level plugin marketplaces API. |
| java/src/generated/java/com/github/copilot/generated/rpc/ServerSessionsApi.java | Adds/extends server-level sessions APIs (open, remote control, polling, etc.). |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionUiApi.java | Add ephemeralQuery to session-scoped UI API. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionUiEphemeralQueryParams.java | New generated params record for UI ephemeral query. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionUiEphemeralQueryResult.java | New generated result record for UI ephemeral query. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionTelemetryApi.java | Add getEngagementId to session telemetry API. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionTelemetryGetEngagementIdParams.java | New generated params record for telemetry engagement ID. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionTelemetryGetEngagementIdResult.java | New generated result record for telemetry engagement ID. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionShellApi.java | Add user-requested execute/cancel RPCs. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionShellExecuteUserRequestedParams.java | New generated params record for user-requested shell execution. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionShellExecuteUserRequestedResult.java | New generated result record for user-requested shell execution. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionShellCancelUserRequestedParams.java | New generated params record for cancelling user-requested shell execution. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionShellCancelUserRequestedResult.java | New generated result record for cancelling user-requested shell execution. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionPlanApi.java | Add readSqlTodos to session plan API. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionPlanReadSqlTodosParams.java | New generated params record for reading SQL todos. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionPlanReadSqlTodosResult.java | New generated result record for reading SQL todos. |
| java/src/generated/java/com/github/copilot/generated/rpc/PlanSqlTodosRow.java | New generated row type for SQL todos results. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMetadataApi.java | Add activity() endpoint binding. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMetadataActivityParams.java | New generated params record for session activity. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMetadataActivityResult.java | New generated activity result type. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMetadataSnapshotResult.java | Add workspace user_named field. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMetadataContextInfoResult.java | Docstring update for context limit. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionSendParams.java | Tighten source type from opaque to String with documented format. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionOptionsUpdateParams.java | Add/retarget several typed fields (provider/sandbox/capabilities, etc.). |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionCapability.java | New generated enum of session capability flags. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionContext.java | Update type description for session context. |
| java/src/generated/java/com/github/copilot/generated/rpc/ModelCapabilitiesOverride.java | Docstring update. |
| java/src/generated/java/com/github/copilot/generated/rpc/OptionsUpdateReasoningSummary.java | New generated enum for reasoning summary mode. |
| java/src/generated/java/com/github/copilot/generated/rpc/OptionsUpdateContextTier.java | New generated enum for context tier. |
| java/src/generated/java/com/github/copilot/generated/rpc/OptionsUpdateAdditionalContentExclusionPolicy*.java | New generated types for additional content exclusion policies. |
| java/src/generated/java/com/github/copilot/generated/rpc/ProviderConfig*.java | New generated typed BYOK provider configuration surface. |
| java/src/generated/java/com/github/copilot/generated/rpc/SandboxConfig*.java | New generated resolved sandbox configuration surface. |
| java/src/generated/java/com/github/copilot/generated/rpc/RemoteControlConfig*.java | New generated remote-control configuration surface. |
| java/src/generated/java/com/github/copilot/generated/rpc/RemoteSessionMetadata*.java | New generated remote session metadata shapes. |
| java/src/generated/java/com/github/copilot/generated/rpc/McpHostState.java | New generated host-level MCP state type. |
| java/src/generated/java/com/github/copilot/generated/rpc/McpServerFailureInfo.java | New generated MCP failure info type. |
| java/src/generated/java/com/github/copilot/generated/rpc/McpServerNeedsAuthInfo.java | New generated MCP needs-auth info type. |
| java/src/generated/java/com/github/copilot/generated/rpc/McpAllowedServer.java | New generated allowed-server type for MCP policy. |
| java/src/generated/java/com/github/copilot/generated/rpc/McpFilteredServer.java | New generated filtered-server type for MCP policy. |
| java/src/generated/java/com/github/copilot/generated/rpc/McpTools.java | New generated MCP tool listing item type. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpApi.java | Add multiple new session MCP operations (listTools, reloadWithConfig, start/stop/restart, etc.). |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpListToolsParams.java | New generated params record for MCP tool listing. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpListToolsResult.java | New generated result record for MCP tool listing. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpReloadWithConfigParams.java | New generated params record for MCP reload-with-config. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpReloadWithConfigResult.java | New generated result record for MCP reload-with-config. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpConfigureGitHubParams.java | New generated params record for configuring GitHub MCP. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpConfigureGitHubResult.java | New generated result record for configuring GitHub MCP. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpRegisterExternalClientParams.java | New generated params record for registering external MCP clients. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpUnregisterExternalClientParams.java | New generated params record for unregistering external MCP clients. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpStartServerParams.java | New generated params record for starting an MCP server. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpStopServerParams.java | New generated params record for stopping an MCP server. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpRestartServerParams.java | New generated params record for restarting an MCP server. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpIsServerRunningParams.java | New generated params record for checking MCP server running state. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpIsServerRunningResult.java | New generated result record for checking MCP server running state. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpOauthApi.java | Add MCP OAuth respond RPC binding. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpOauthRespondParams.java | New generated params record for MCP OAuth respond. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionMcpListResult.java | Extend MCP list result with host-level state. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsOpen*.java | New generated types for sessions.open result/progress/status. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsRemoteControl.java | New generated remote-control request/result types. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsPollSpawnedSessions*.java | New generated result/event types for spawned-session polling. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsRegisterExtensionToolsOnSession*.java | New generated types for extension tool registration. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsGetBoardEntryCount*.java | New generated params/result types for board entry count. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsGetRemoteControlStatusResult.java | New generated remote-control status wrapper type. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsConfigureSessionExtensionsParams.java | New generated params record for configuring session extensions. |
| java/src/generated/java/com/github/copilot/generated/rpc/Plugins*.java | New generated plugin management request/result types. |
| java/src/generated/java/com/github/copilot/generated/rpc/Marketplace*.java | New generated marketplace info/result types. |
| java/src/generated/java/com/github/copilot/generated/rpc/InstalledPluginInfo.java | New generated installed-plugin info type. |
| java/src/generated/java/com/github/copilot/generated/rpc/LocalSessionMetadataValue.java | New generated local session metadata value type. |
| java/src/generated/java/com/github/copilot/generated/rpc/SessionsListResult.java | Update sessions.list result to List<Object> discriminated by isRemote. |
Copilot's findings
Files not reviewed (8)
- go/rpc/zrpc_encoding.go: Language not supported
- go/rpc/zsession_encoding.go: Language not supported
- go/rpc/zsession_events.go: Language not supported
- go/zsession_events.go: Language not supported
- java/scripts/codegen/package-lock.json: Language not supported
- nodejs/package-lock.json: Language not supported
- nodejs/samples/package-lock.json: Language not supported
- test/harness/package-lock.json: Language not supported
- Files reviewed: 4/151 changed files
- Comments generated: 0
- scripts/codegen/go.ts: also match discriminator method name on the discriminator property itself, so sum types with a single variant (e.g. PermissionDecisionNoResult) get the sealing method. - scripts/codegen/python.ts: add reorderPythonDataclassFields pass that moves required fields before optional ones (Python dataclass rule). - Regenerate Go/Python/Java artifacts and adapt E2E tests across all SDKs to the updated RPC surface. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
- nodejs/test/e2e/rpc_remote.e2e.test.ts: re-run prettier --write to fix a small indent in waitForCondition call. - python/e2e/test_rpc_server_e2e.py: move LocalSessionMetadataValue into its correct alphabetical position in the from copilot.rpc import block (ruff I001). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
The 1.0.60 schema introduces OptionsUpdateReasoningSummary and SessionOpenOptionsReasoningSummary, structurally identical to the shared ReasoningSummary enum. quicktype's enum-merging path (independent of combineClasses) collapsed them into a single locally-defined `class ReasoningSummary(Enum)` that shadowed the import from session_events at the top of rpc.py. ModelSwitchToRequest.to_dict() then called `to_enum(ReasoningSummary, x)` against the local class while session.py constructed values via the imported one, so the isinstance check inside to_enum failed and the unit test TestSessionConfigForwarding.test_set_model_sends_correct_rpc broke. Add a small post-processing step that strips locally-emitted enum classes whose name and value set exactly match a name imported from .session_events. The existing aliases at the end of rpc.py (OptionsUpdateReasoningSummary = ReasoningSummary etc.) now resolve to the imported enum, restoring isinstance equality across the SDK. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The previous change to `goDiscriminatorMethodName` over-broadly flagged collisions whenever the discriminator property's natural Go name matched the chosen method name, even on multi-variant unions where the discriminator field is elided or renamed to `Discriminator` on the emitted variant structs. The result was 98 unnecessary `Kind()` -> `xxxKind()` method renames across 8 multi-variant unions (PermissionPromptRequest, PermissionDecision, AgentRegistrySpawnResult, SlashCommandInvocationResult, UserToolSessionApproval, PermissionsLocationsAddToolApprovalDetails, and the two ApproveFor* variants). The real natural-name collision case is when the variant struct is a pre-existing type (already in `ctx.generatedNames`) that retained the discriminator as a struct field with its natural Go name -- e.g., `SessionListEntry`'s `LocalSessionMetadataValue.IsRemote bool` field, which would clash with an exported `IsRemote() bool` interface method on the union. This commit narrows the natural-name check to that pre-existing-variant case, leaving the independent `Discriminator`-rename collision clause unchanged. Also drops the now-dead `permissionDecisionKind()` helper from the hand-written `permission_decision_no_result.go`. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cross-SDK Consistency Review ✅This is an automated schema update ( Changes verified across all SDKs
Java handwritten code adaptationThe Java handwritten No cross-SDK consistency issues found. All six SDKs are in alignment.
|
Automated update of
@github/copilotto version1.0.60.Changes
@github/copilotinnodejs/package.jsonandtest/harness/package.jsonscripts/codegen)Java Handwritten Code Adaptation Plan
If
java-sdk-testsCI fails on this PR, follow these steps:mvn clean,mvn verifyfromjava/locally or check thejava-sdk-testsworkflow run logs.java/src/main/java/com/github/copilot/sdk/):nullfor optional new fields).CopilotSession.javaif applicable.java/src/test/java/com/github/copilot/sdk/):cd java && mvn clean test-compile jar:jar && mvn verify -Dskip.test.harness=truecd java && mvn spotless:applyNext steps
When ready, click Ready for review to trigger CI checks.