Update @github/copilot to 1.0.45#1263
Conversation
- Updated nodejs and test harness dependencies - Re-ran code generators - Formatted generated code
There was a problem hiding this comment.
Pull request overview
This PR is an automated dependency bump of @github/copilot to 1.0.45 across the Node SDK and test harness, followed by regenerating the cross-SDK generated RPC/types to match the updated schema.
Changes:
- Bumped
@github/copilotto^1.0.45in Node packages/lockfiles. - Regenerated SDK types/RPC bindings across Rust/Python/Node/Go/.NET (new fields + new RPC method
session.commands.respondToQueuedCommand, removal of workspacesummary). - Updated generated session-event models (e.g., assistant message
modeland Anthropic advisor fields; new extension-related approval variants).
Show a summary per file
| File | Description |
|---|---|
| test/harness/package.json | Bumps @github/copilot dependency version for the test harness. |
| test/harness/package-lock.json | Lockfile refresh for @github/copilot@1.0.45 and platform bins. |
| rust/src/generated/session_events.rs | Updates generated session-event payloads (assistant message + approval variants). |
| rust/src/generated/rpc.rs | Adds generated RPC wrapper for session.commands.respondToQueuedCommand. |
| rust/src/generated/api_types.rs | Adds RPC method constant + request/response types; removes workspace summary. |
| python/copilot/generated/session_events.py | Updates generated session-event models (assistant message + approval kinds). |
| python/copilot/generated/rpc.py | Adds generated RPC request/response models and client method for queued-command responses; removes workspace summary. |
| nodejs/src/generated/session-events.ts | Updates generated TS session-event types (assistant message + approval variants). |
| nodejs/src/generated/rpc.ts | Adds generated TS RPC types and session command method for queued-command responses; removes workspace summary. |
| nodejs/samples/package-lock.json | Updates sample lockfile to @github/copilot@^1.0.45. |
| nodejs/package.json | Bumps @github/copilot dependency version for the Node SDK. |
| nodejs/package-lock.json | Lockfile refresh for @github/copilot@1.0.45 and related metadata. |
| go/rpc/generated_rpc.go | Adds generated Go RPC API/types for queued-command response; removes workspace summary. |
| go/generated_session_events.go | Updates generated Go session-event models (assistant message + approval kinds). |
| dotnet/src/Generated/SessionEvents.cs | Updates generated .NET session-event models (assistant message + approval variants). |
| dotnet/src/Generated/Rpc.cs | Adds generated .NET RPC API/types for queued-command response; removes workspace summary. |
Copilot's findings
Files not reviewed (3)
- 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/generated_rpc.go:2437
- The
QueuedCommandResultHandledconstants are string values ("true"/"false"), which further enforces serializing thehandleddiscriminator as a JSON string. If the protocol expects a boolean discriminator, this should be removed in favor of aboolfield (or custom JSON marshal/unmarshal) so the wire format useshandled: true|false.
// Handled discriminator for QueuedCommandResult.
type QueuedCommandResultHandled string
const (
QueuedCommandResultHandledFalse QueuedCommandResultHandled = "false"
QueuedCommandResultHandledTrue QueuedCommandResultHandled = "true"
)
- Files reviewed: 4/16 changed files
- Comments generated: 2
| // Handled discriminator | ||
| Handled QueuedCommandResultHandled `json:"handled"` |
There was a problem hiding this comment.
@qmuntal, something to address in a follow-up?
Generate boolean-discriminated unions as flat DTOs so handled serializes as a JSON boolean. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cross-SDK Consistency Review ✅ (with one note)This is an automated schema update (
One inconsistency found: Rust
|
There was a problem hiding this comment.
Generated by SDK Consistency Review Agent for issue #1263 · ● 741.3K
| } | ||
|
|
||
| #[derive(Debug, Clone, Serialize, Deserialize)] | ||
| #[serde(rename_all = "camelCase")] |
There was a problem hiding this comment.
Cross-SDK consistency note: The result field here uses serde_json::Value rather than a typed QueuedCommandResult type. All other SDKs expose a typed representation:
- TypeScript:
result: QueuedCommandResult(discriminated union ofQueuedCommandHandled | QueuedCommandNotHandled) - Python:
result: QueuedCommandResult(flat dataclass withhandled: bool+ optionalstop_processing_queue) - .NET:
result: QueuedCommandResult(flat class withHandled: bool+ optionalStopProcessingQueue?) - Go:
result: QueuedCommandResult(flat struct with typedHandled+ optionalStopProcessingQueue)
The types QueuedCommandHandled and QueuedCommandNotHandled are generated in this file but aren't used here. Rust users must manually construct the JSON payload when calling respondToQueuedCommand, which is less ergonomic than every other SDK.
This appears to be a Rust codegen limitation with boolean-discriminated union types. A follow-up issue to improve the Rust code generator to emit a proper QueuedCommandResult union type (e.g., as an enum with Handled(QueuedCommandHandled) and NotHandled(QueuedCommandNotHandled) variants) would bring the Rust SDK into alignment with the others.
|
@tclem, something to fix in a follow-up?
|
Automated update of
@github/copilotto version1.0.45.Changes
@github/copilotinnodejs/package.jsonandtest/harness/package.jsonscripts/codegen)Next steps
When ready, click Ready for review to trigger CI checks.