Update @github/copilot to 1.0.48#1292
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the embedded Copilot CLI dependency to @github/copilot 1.0.48 and refreshes generated SDK protocol types across languages.
Changes:
- Updates Node/package-lock references from
1.0.48-1to1.0.48. - Regenerates session event types to include
session.custom_notification. - Regenerates RPC APIs, including changes to models/account request handling.
Show a summary per file
| File | Description |
|---|---|
test/harness/package.json |
Updates harness Copilot CLI dependency. |
test/harness/package-lock.json |
Locks harness dependency and platform packages to 1.0.48. |
rust/src/generated/session_events.rs |
Adds custom notification session event/data types. |
rust/src/generated/rpc.rs |
Regenerates Rust typed RPC methods. |
rust/src/generated/api_types.rs |
Regenerates Rust RPC API types. |
python/copilot/generated/session_events.py |
Adds custom notification session event/data handling. |
python/copilot/generated/rpc.py |
Regenerates Python RPC method signatures. |
nodejs/src/generated/session-events.ts |
Adds custom notification event/data TypeScript types. |
nodejs/src/generated/rpc.ts |
Regenerates Node RPC method signatures. |
nodejs/samples/package-lock.json |
Refreshes sample lockfile dependency metadata. |
nodejs/package.json |
Updates Node SDK Copilot CLI dependency. |
nodejs/package-lock.json |
Locks Node dependency and platform packages to 1.0.48. |
go/zsession_events.go |
Re-exports new custom notification types/constants. |
go/rpc/zsession_events.go |
Adds Go custom notification event/data types. |
go/rpc/zsession_encoding.go |
Adds Go custom notification JSON decoding/encoding. |
go/rpc/zrpc.go |
Regenerates Go server RPC method signatures. |
dotnet/src/Generated/SessionEvents.cs |
Adds .NET custom notification event/data types. |
Copilot's findings
Files not reviewed (7)
- go/rpc/zrpc.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
- nodejs/package-lock.json: Language not supported
- nodejs/samples/package-lock.json: Language not supported
- test/harness/package-lock.json: Language not supported
Comments suppressed due to low confidence (1)
go/rpc/zrpc.go:2752
- This changes
Listfrom an optional variadic request to a required pointer, which is inconsistent with the generated pattern for optional request objects such asCommandsApi.List(ctx, params ...*CommandsListRequest)ingo/rpc/zrpc.go:3039and breaks no-argument callers. Keep the variadic signature for default model listing unless the whole public API is intentionally being changed.
- Files reviewed: 2/17 changed files
- Comments generated: 1
9500fea to
d74dafa
Compare
- Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code
The 1.0.48 codegen made models.list, account.getQuota, and session.commands.list require explicit request params instead of accepting no arguments. Python: - Update test call sites to pass ModelsListRequest() (all fields optional) - Add ModelsListRequest import where needed Rust: - Add missing AccountGetQuotaRequest, ModelsListRequest, and CommandsListRequest structs to generated api_types.rs (all fields optional, matching the Python/Node generated schemas) - Update callers in lib.rs, tests, and README to pass Default::default() Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
d74dafa to
81f4967
Compare
Fix ruff I001 import sorting violations in test_rpc_e2e.py and test_rpc_timeout.py caused by newly added ModelsListRequest import. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Increase timeout for test_both_clients_see_tool_request_and_completion_events from 10s to 30s. On Windows CI, the first multi-client TCP test needs extra time for CLI subprocess and TCP connection establishment. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cross-SDK Consistency Review ✅This automated codegen update maintains strong cross-SDK consistency. Here's a summary of the changes and their cross-language alignment: New
|
| SDK | Type | Event Constant |
|---|---|---|
| Node.js | CustomNotificationEvent |
"session.custom_notification" |
| Python | SessionCustomNotificationData |
SESSION_CUSTOM_NOTIFICATION |
| Go | SessionCustomNotificationData |
SessionEventTypeSessionCustomNotification |
| .NET | SessionCustomNotificationEvent |
"session.custom_notification" |
| Rust | SessionCustomNotificationData |
SessionCustomNotification |
The SessionCustomNotificationData payload shape (name, source, payload, optional subject, optional version) is consistently structured across all SDKs, with each language using idiomatic representations for the polymorphic payload field (unknown[]|{...} in TS, Any in Python, serde_json::Value in Rust, a discriminated union struct in Go).
errorCode doc update — Consistent across all SDKs ✅
The new quota error code documentation (adding "quota_exceeded", "session_quota_exceeded", "billing_not_configured") is applied uniformly in Go, Node.js, Python, .NET, and Rust.
models.list / account.getQuota params now required — Appropriately handled ✅
The change from optional to required params is consistent where applicable:
- Node.js:
params?: ModelsListRequest→params: ModelsListRequest - Python:
params: ModelsListRequest | None = None→params: ModelsListRequest - Go:
params ...*ModelsListRequest(variadic) →params *ModelsListRequest(pointer) — callers passnilfor no params; existing tests already use this pattern - .NET: Not affected — uses a higher-level
ListModelsAsync(string? gitHubToken = null)API that wraps request creation internally (by design) - Rust: Not affected — codegen intentionally produces both
list()(no-params convenience) andlist_with_params(params)variants (Rust idiom)
Rust codegen fix ✅
The fix in scripts/codegen/rust.ts to handle nullable anyOf wrappers (unwrapping anyOf: [{ not: {} }, objectSchema] before struct generation) is an internal codegen correctness fix with no cross-SDK impact.
No cross-SDK consistency issues found. 🟢
Generated by SDK Consistency Review Agent for issue #1292 · ● 606.2K · ◷
Automated update of
@github/copilotto version1.0.48.Changes
@github/copilotinnodejs/package.jsonandtest/harness/package.jsonscripts/codegen)Next steps
When ready, click Ready for review to trigger CI checks.