Skip to content

Update @github/copilot to 1.0.63#1686

Merged
stephentoub merged 2 commits into
mainfrom
update-copilot-1.0.63
Jun 16, 2026
Merged

Update @github/copilot to 1.0.63#1686
stephentoub merged 2 commits into
mainfrom
update-copilot-1.0.63

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Automated update of @github/copilot to version 1.0.63.

Changes

  • Updated @github/copilot in nodejs/package.json and test/harness/package.json
  • Re-ran all code generators (scripts/codegen)
  • Formatted generated output
  • Updated Java codegen dependency, POM property, and regenerated Java types
  • Fixed Rust E2E test rust/tests/e2e/rpc_workspace_checkpoints.rs for the newly generated optional ignore_whitespace field on WorkspacesDiffRequest (added ..Default::default())

Java Handwritten Code Adaptation Plan

If java-sdk-tests CI fails on this PR, follow these steps:

  1. Identify failures: Run mvn clean, mvn verify from java/ locally or check the java-sdk-tests workflow run logs.
  2. Categorize errors:
    • Constructor signature changes (new fields added to generated records)
    • Enum value additions/renames in generated types
    • New event types requiring handler registration
    • Removed or renamed generated types
  3. Fix handwritten source (java/src/main/java/com/github/copilot/sdk/):
    • Update call sites passing positional constructor args to include new fields (typically null for optional new fields).
    • Update switch/if-else over enum values to handle new cases.
    • Register handlers for new event types in CopilotSession.java if applicable.
  4. Fix handwritten tests (java/src/test/java/com/github/copilot/sdk/):
    • Same constructor/enum fixes as above.
    • Add new test methods for new functionality if the change adds user-facing API surface.
  5. Validate: cd java && mvn clean test-compile jar:jar && mvn verify -Dskip.test.harness=true
  6. Format: cd java && mvn spotless:apply
  7. Push fixes to this PR branch.

To automate this, trigger the java-adapt-handwritten-code-to-accept-upgrade-changes agentic workflow instead.

Next steps

When ready, click Ready for review to trigger CI checks.

Created by the Update @github/copilot Dependency workflow.

- Updated nodejs and test harness dependencies
- Re-ran code generators
- Formatted generated code
@stephentoub stephentoub marked this pull request as ready for review June 16, 2026 02:49
@stephentoub stephentoub requested a review from a team as a code owner June 16, 2026 02:49
Copilot AI review requested due to automatic review settings June 16, 2026 02:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Automated dependency upgrade of @github/copilot to 1.0.63, followed by regeneration of the cross-language RPC + session-event generated types so SDKs stay in sync with the updated schema.

Changes:

  • Bumped @github/copilot to ^1.0.63 across Node packages, test harness, and Java codegen inputs.
  • Regenerated SDK types adding new schema fields (e.g., usage finishReason/contentFilterTriggered, tool result structuredContent, MCP deferTools, workspaces diff ignoreWhitespace).
  • Updated Java POM property used for the reference implementation version pin.
Show a summary per file
File Description
test/harness/package.json Bumps harness devDependency to @github/copilot@^1.0.63.
test/harness/package-lock.json Lockfile updates for @github/copilot@1.0.63 and platform packages.
rust/src/generated/session_events.rs Adds new generated fields for usage + tool results.
rust/src/generated/api_types.rs Adds MCP defer_tools, workspace diff ignore_whitespace, and other schema fields.
python/copilot/generated/session_events.py Regenerated event models (usage + tool result structured_content).
python/copilot/generated/rpc.py Regenerated RPC types (MCP deferTools, workspaces diff ignoreWhitespace, etc.).
nodejs/src/generated/session-events.ts Regenerated session event interfaces including structuredContent.
nodejs/src/generated/rpc.ts Regenerated RPC types including MCP deferTools and workspaces diff ignoreWhitespace.
nodejs/samples/package-lock.json Sample lockfile bump to @github/copilot@^1.0.63.
nodejs/package.json Bumps Node SDK dependency to @github/copilot@^1.0.63.
nodejs/package-lock.json Lockfile updates for @github/copilot@1.0.63 and platform packages.
java/src/generated/java/com/github/copilot/generated/ToolExecutionCompleteResult.java Adds structuredContent to generated tool result record.
java/src/generated/java/com/github/copilot/generated/rpc/SessionWorkspacesDiffParams.java Adds ignoreWhitespace to workspace diff params.
java/src/generated/java/com/github/copilot/generated/AssistantUsageEvent.java Adds finishReason and contentFilterTriggered fields to usage event data.
java/scripts/codegen/package.json Bumps Java codegen input dependency to @github/copilot@^1.0.63.
java/scripts/codegen/package-lock.json Lockfile updates for Java codegen dependency bump.
java/pom.xml Updates the pinned reference implementation version property to ^1.0.63.
go/rpc/zsession_events.go Regenerated event structs adding usage/tool-result fields.
go/rpc/zsession_encoding.go Updates JSON decoding to include structuredContent.
go/rpc/zrpc.go Regenerated RPC types for MCP deferTools and workspace diff ignoreWhitespace.
go/rpc/zrpc_encoding.go Updates JSON decoding for MCP server config deferTools.
dotnet/src/Generated/SessionEvents.cs Regenerated session events with new usage/tool-result fields.
dotnet/src/Generated/Rpc.cs Regenerated RPC models and updated Workspaces diff API signature.

Copilot's findings

Files not reviewed (8)
  • go/rpc/zrpc.go: Generated file
  • go/rpc/zrpc_encoding.go: Generated file
  • go/rpc/zsession_encoding.go: Generated file
  • go/rpc/zsession_events.go: Generated file
  • java/scripts/codegen/package-lock.json: Generated file
  • nodejs/package-lock.json: Generated file
  • nodejs/samples/package-lock.json: Generated file
  • test/harness/package-lock.json: Generated file
  • Files reviewed: 4/23 changed files
  • Comments generated: 1

Comment thread dotnet/src/Generated/Rpc.cs
@github-actions

This comment has been minimized.

…quest

The 1.0.63 type regeneration added an optional ignore_whitespace field to
the generated WorkspacesDiffRequest struct. The explicit struct literal in
rpc_workspace_checkpoints.rs failed to compile (E0063: missing field), which
broke clippy on ubuntu and cargo test on macos/windows. Add ..Default::default()
to the literal, matching the existing pattern in rpc_session_state.rs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor Author

Cross-SDK Consistency Review

This PR is an automated schema update (v1.0.62 → v1.0.63) regenerating types across all SDKs. Most changes are well-aligned. Here's a summary:

✅ Consistent across all relevant SDKs

New field .NET Go Node.js Python Rust Java
can_upgrade_plan on CopilotUserResponse N/A1
ignoreWhitespace on WorkspacesDiffRequest
contentFilterTriggered + finishReason on AssistantUsageData
structuredContent on ToolExecutionCompleteResult
McpServerConfigDeferTools enum + deferTools on MCP config types N/A2

1 Java doesn't generate CopilotUserResponse (auth/user types are out of scope for the Java codegen).
2 Java doesn't generate McpServerConfigStdio/McpServerConfigHttp types.


⚠️ Consistency Gap: deferTools missing from .NET MCP server config

The new deferTools / MCPServerConfigDeferTools field was added to the generated MCP server config types in Go, Node.js, Python, and Rust. However, the .NET equivalents — McpStdioServerConfig and McpHttpServerConfig in dotnet/src/Types.cs — are handwritten and were not updated by this PR's codegen run.

To bring .NET into parity, dotnet/src/Types.cs would need:

  1. A new enum (analogous to Go's MCPServerConfigDeferTools, Node.js's McpServerConfigDeferTools):
/// <summary>Controls whether MCP server tools are loaded on demand (auto) or always included in the initial tool list (never).</summary>
[JsonConverter(typeof(JsonStringEnumConverter<McpServerConfigDeferTools>))]
public enum McpServerConfigDeferTools
{
    [JsonStringEnumMemberName("auto")] Auto,
    [JsonStringEnumMemberName("never")] Never,
}
  1. A DeferTools property on McpStdioServerConfig and McpHttpServerConfig (or on the base McpServerConfig class, since both types have this field in the schema):
/// <summary>Controls whether tools from this server are loaded on demand via tool search (auto) or always included in the initial tool list (never).</summary>
[JsonPropertyName("deferTools")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public McpServerConfigDeferTools? DeferTools { get; set; }

This is a known limitation of having handwritten .NET types for a schema-driven API: the codegen can't automatically update Types.cs. This gap should be addressed in a follow-up PR or as an addition to this one.

Generated by SDK Consistency Review Agent for issue #1686 · sonnet46 3.5M ·

@stephentoub stephentoub added this pull request to the merge queue Jun 16, 2026
Merged via the queue into main with commit 0d6f2e5 Jun 16, 2026
48 of 50 checks passed
@stephentoub stephentoub deleted the update-copilot-1.0.63 branch June 16, 2026 16:00
krukow added a commit to copilot-community-sdk/copilot-sdk-clojure that referenced this pull request Jun 18, 2026
* chore(schema): bump CLI schema 1.0.61 -> 1.0.63 and regenerate

Pins @github/copilot to 1.0.63 and regenerates generated/event_specs.clj
from the refreshed JSON Schemas. Pulls in new wire surface: the
session.todos_changed event, optional AssistantUsageData fields
(contentFilterTriggered, finishReason), ToolExecutionCompleteResult
structuredContent, ToolExecutionStartData toolDescription, and the
plugin/session ExtensionSource values.

Upstream: github/copilot-sdk#1686 (1.0.63),
commit a115246a (1.0.62).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sync): port post-v1.0.1 config, lifecycle, and event additions

Adds the public-SDK surface introduced upstream after v1.0.1:

- :memory session config ({:enabled boolean}) forwarded on both
  create-session and resume-session, omitted when unset.
  github/copilot-sdk#1617
- :otlp-protocol telemetry option mapped to OTEL_EXPORTER_OTLP_PROTOCOL.
  github/copilot-sdk#1648
- Graceful runtime.shutdown in stop! for SDK-owned processes, bounded by
  a 10s timeout; force-stop! left unchanged.
  github/copilot-sdk#1667
- :mcp-defer-tools (#{:auto :never}) on MCP stdio/http server configs,
  rendered as deferTools on the wire (1.0.63 schema).
- :token-prices on ::model-billing.
  github/copilot-sdk#1633
- Optional event-data fields surfaced by the 1.0.63 schema
  (assistant.usage content-filter/finish-reason,
  tool.execution_complete structured-content) and the
  :copilot/session.todos_changed public event.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test(sync): cover memory, otlp, graceful shutdown, and deferTools

Adds integration coverage for the new session config and wire mappings,
mock-server handling for the runtime.shutdown RPC, and process-level
assertions for graceful termination ordering.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs(sync): document new config and bump version to 1.0.1.1

Documents :memory, :otlp-protocol, MCP :defer-tools, :token-prices,
the session.todos_changed event, and graceful shutdown across API.md,
the MCP overview, and CHANGELOG. Bumps the Clojure patch to 1.0.1.1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(sync): address Copilot review feedback

Resolve four findings from the Copilot Code Review bot on PR #139:

- process.clj: preserve the thread interrupt flag in wait-for-exit!.
  .waitFor throws InterruptedException (a subclass of Exception), so the
  generic catch was swallowing it and clearing the interrupt flag. Catch
  it separately and re-set the flag via (.interrupt (Thread/currentThread))
  so callers still observe cancellation.
- util.clj: correct the mcp-server->wire docstring example. clj->wire
  produces camelCase keyword keys, not string keys.
- specs.clj: fix the memory-config comment to cite upstream PR #1617
  (not #1638).
- CHANGELOG.md: drop the nonexistent ::memory-enabled spec reference;
  only ::memory exists (reusing the existing ::enabled spec).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs(sync): drop non-exposed RPC method reference from todos_changed row

The session.todos_changed event reference pointed Clojure users at
session.plan.readSqlTodosWithDependencies(), a TS-style method call for
an @experimental upstream method this SDK does not expose. Reword the row
as signal-only with no payload, consistent with how the rest of the doc
names JSON-RPC methods.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants