Skip to content

Update @github/copilot to 1.0.76-0 - #2100

Open
github-actions[bot] wants to merge 7 commits into
mainfrom
update-copilot-1.0.76-0
Open

Update @github/copilot to 1.0.76-0#2100
github-actions[bot] wants to merge 7 commits into
mainfrom
update-copilot-1.0.76-0

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated update of @github/copilot to version 1.0.76-0.

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

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 July 28, 2026 02:47
@stephentoub
stephentoub requested a review from a team as a code owner July 28, 2026 02:47
Copilot AI review requested due to automatic review settings July 28, 2026 02:47

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

Updates @github/copilot to 1.0.76-0 and regenerates SDK protocol types.

Changes:

  • Updates Node, test-harness, and Java codegen dependencies.
  • Regenerates Node, Go, and Java event/RPC models.
  • Adds factory, scheduling, history rewind, queue, shell, workspace, and content-exclusion protocol surfaces.
Show a summary per file
File(s) Description
nodejs/package.json, nodejs/samples/package-lock.json Updates Node runtime dependency.
test/harness/package.json, test/harness/package-lock.json Updates harness runtime dependency.
nodejs/src/generated/session-events.ts Regenerates session event types.
java/pom.xml Updates reference implementation version.
java/scripts/codegen/package.json, java/scripts/codegen/package-lock.json Updates Java codegen dependency.
java/src/generated/java/com/github/copilot/generated/{AssistantMessageEvent,AssistantReasoningEvent,AssistantUsageEvent,FactoryRunUpdatedEvent,ModelCallFailureEvent,ModelCallStartEvent,ScheduleOrigin,SessionEvent,SessionResumeEvent,SessionScheduleCreatedEvent,SystemMessageEvent,ToolExecutionCompleteEvent,ToolExecutionStartEvent,UserMessageEvent}.java Regenerates Java event models.
java/src/generated/java/com/github/copilot/generated/rpc/{BuiltInModelCatalogEntry,ConnectParams,ContentExclusionPathCheck,FactoryAgentSummary,FactoryCurrentPhase,FactoryDeclaredLimits,FactoryExecuteParams,FactoryPhaseObservation,FactoryPhaseStatus,FactoryProgressLine,FactoryProgressPage,FactoryRunConsumed,FactoryRunLimits,FactoryRunResult,FactoryRunSummary,FactoryRunTerminal}.java Adds and updates generated RPC models.
java/src/generated/java/com/github/copilot/generated/rpc/{HistoryFileRestoreSkipReason,HistoryRewindChangeType,HistoryRewindFilePreview,HistoryRewindMode,HistoryRewindOutcome,HistoryRewindPoint,HistoryRewindUnavailableReason,HistorySkippedFileRestore}.java Adds history-rewind models.
java/src/generated/java/com/github/copilot/generated/rpc/{ModelsGetBuiltInCatalogResult,SendMessageItem,ServerModelsApi,ServerSessionsApi,SessionsDeleteParams,SessionsGetMetadataParams,SessionsGetMetadataResult,SessionsListNonEmptySessionIdsParams,SessionsListNonEmptySessionIdsResult}.java Regenerates server RPC APIs.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionCancelAllBackgroundAgentsParams,SessionContentExclusionApi,SessionContentExclusionCheckPathsParams,SessionContentExclusionCheckPathsResult,SessionInterruptMainTurnParams,SessionInterruptMainTurnResult,SessionRpc,SessionSendParams,SessionSendSystemNotificationParams}.java Expands session RPC surfaces.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionFactoryAgentParams,SessionFactoryApi,SessionFactoryGetRunDetailParams,SessionFactoryGetRunDetailResult,SessionFactoryGetRunProgressParams,SessionFactoryGetRunProgressResult,SessionFactoryJournalGetParams,SessionFactoryJournalPutParams,SessionFactoryListRunsParams,SessionFactoryListRunsResult,SessionFactoryLogParams,SessionFactoryResumeParams,SessionFactoryResumeResult}.java Adds factory observability and resume RPCs.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionFsSqliteQueryParams,SessionFsSqliteQueryResult,SessionFsSqliteTransactionError,SessionFsSqliteTransactionErrorClass,SessionFsSqliteTransactionParams,SessionFsSqliteTransactionResult,SessionFsSqliteTransactionStatement}.java Adds SQLite transaction protocol types.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionHistoryApi,SessionHistoryListRewindPointsParams,SessionHistoryListRewindPointsResult,SessionHistoryPreviewRewindParams,SessionHistoryPreviewRewindResult,SessionHistoryRewindParams,SessionHistoryRewindResult,SessionHistoryTruncateResult}.java Adds rewind APIs and truncation status.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionMcpApi,SessionMcpOauthApi,SessionMcpOauthRespondParams,SessionMcpOauthRespondResult,SessionMcpStartServerParams}.java Updates MCP startup and OAuth RPCs.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionOptionsUpdateParams,SessionPermissionsApi,SessionPermissionsResetSessionApprovalsParams}.java Updates session options and permissions.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionQueueApi,SessionQueueBeginDeferredIdleDrainParams,SessionQueueBeginDeferredIdleDrainResult,SessionQueueConsumeSystemNotificationsParams,SessionQueueConsumeSystemNotificationsResult,SessionQueueDeferSessionIdleParams,SessionQueueEnqueueResumePendingParams,SessionQueueEnqueueResumePendingResult,SessionQueueFinishDeferredIdleDrainParams,SessionQueueFinishDeferredIdleDrainResult,SessionQueueHasPendingParams,SessionQueueHasPendingResult,SessionQueueProcessParams,SessionQueueSnapshotParams,SessionQueueSnapshotResult}.java Adds native queue orchestration RPCs.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionScheduleAddAtParams,SessionScheduleAddAtResult,SessionScheduleAddCronParams,SessionScheduleAddCronResult,SessionScheduleAddParams,SessionScheduleAddResult,SessionScheduleAddSelfPacedParams,SessionScheduleAddSelfPacedResult,SessionScheduleApi,SessionScheduleHasSelfPacedParams,SessionScheduleHasSelfPacedResult,SessionScheduleHydrateParams,SessionScheduleRearmSelfPacedParams,SessionScheduleRearmSelfPacedResult}.java Adds scheduling RPCs.
java/src/generated/java/com/github/copilot/generated/rpc/{SessionWorkspacesAddSummaryParams,SessionWorkspacesAddSummaryResult,SessionWorkspacesApi,SessionWorkspacesAutopilotObjectiveExistsParams,SessionWorkspacesAutopilotObjectiveExistsResult,SessionWorkspacesDeleteAutopilotObjectiveParams,SessionWorkspacesDeleteAutopilotObjectiveResult,SessionWorkspacesDiffResult,SessionWorkspacesEnsureParams,SessionWorkspacesEnsureResult,SessionWorkspacesReadAutopilotObjectiveParams,SessionWorkspacesReadAutopilotObjectiveResult,SessionWorkspacesTruncateSummariesParams,SessionWorkspacesTruncateSummariesResult,SessionWorkspacesUpdateMetadataParams,SessionWorkspacesUpdateMetadataResult,SessionWorkspacesWriteAutopilotObjectiveParams,SessionWorkspacesWriteAutopilotObjectiveResult}.java Expands workspace RPC models.
java/src/generated/java/com/github/copilot/generated/rpc/{ShellInitProfile,ShellInitScript,ShellInitScriptShell,ShellOptions,UIExitPlanModeResponse,WorkspaceDiffFileChange}.java Updates shell, plan, and diff models.
go/zsession_events.go Exposes new generated event aliases.
go/rpc/zsession_encoding.go Decodes factory update events.
go/rpc/zrpc_encoding.go Updates generated union and option decoding.

Review details

Files not reviewed (8)
  • go/rpc/zrpc_encoding.go: Generated file
  • go/rpc/zsession_encoding.go: Generated file
  • go/rpc/zsession_events.go: Generated file
  • go/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/167 changed files
  • Comments generated: 0
  • Review effort level: Medium

@github-actions

This comment has been minimized.

stephentoub and others added 2 commits July 28, 2026 00:42
CI was red across all six SDKs after the @github/copilot bump. All failures
were build/typecheck breakages from the regenerated wire types.

1. New `sessionFs.sqliteTransaction` RPC

   The CLI added `sessionFs.sqliteTransaction` to the SessionFs client handler
   interface, so every hand-written provider adapter stopped satisfying it
   (TS2741 / Go interface mismatch / ty invalid-return-type / CS0535). Rust
   dispatches by method name so it still compiled, but silently had no handler.

   Added a required `transaction` member to the SQLite provider interface in
   each language plus the adapter plumbing:

   - nodejs: `SessionFsSqliteStatement`, `SessionFsSqliteTransactionFailure`,
     `SessionFsSqliteProvider.transaction`, adapter `sqliteTransaction`
   - go: `SessionFSSqliteProvider.SqliteTransaction`,
     `SessionFSSqliteTransactionFailure`
   - python: `SessionFsSqliteProvider.sqlite_transaction`,
     `SessionFsSqliteTransactionFailure`
   - dotnet: `ISessionFsSqliteProvider.TransactionAsync`,
     `SessionFsSqliteStatement`, `SessionFsSqliteTransactionException`
   - rust: `SessionFsSqliteProvider::sqlite_transaction`,
     `SessionFsSqliteTransactionError`, dispatch arm

   Provider errors and "sqlite not supported" both surface as a *result-level*
   classified error (busyOrLocked / fatal / postCommitAmbiguous) rather than a
   transport error, since the runtime uses the class for retry decisions.
   In-repo test providers were updated with real BEGIN IMMEDIATE / COMMIT /
   ROLLBACK implementations.

2. Rust codegen bug for primitive RPC results

   `session.cancelAllBackgroundAgents` has an inline `{"type":"integer"}`
   result. `getResultTypeName()` named it `SessionCancelAllBackgroundAgentsResult`,
   but the type-emitting loops in scripts/codegen/rust.ts only handled
   enum/array/map/object schemas, so no alias was emitted (E0425). Added
   `rustScalarType` / `emitRustScalarAlias` and regenerated.

3. Java records gained components

   - `SessionOptionsUpdateParams`: `shell`, `eventsLogIncludesSubagents`
   - `SessionHistoryTruncateResult`: `checkpointCleanupFailed`,
     `checkpointCleanupError`
   - `AssistantMessageEventData`: `rte`

   Fixed the positional constructor call sites in CopilotClient and two tests.

4. Collateral wire changes

   - `permissions.resetSessionApprovals` now takes a params object (Go + Rust
     e2e call sites)
   - `UIExitPlanModeResponse` gained `defer_implementation` (Rust struct literal)

Generated by Copilot

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e615d062-bcb7-431e-aa9c-d3e47405723a
Adding PermissionsResetSessionApprovalsRequest to these use blocks changed how nightly rustfmt reflows them. Matches `cargo +nightly-2026-04-14 fmt --all -- --config-path .rustfmt.nightly.toml`, which both the Rust SDK Tests fmt check and the codegen verify job run.

Generated by Copilot

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

Copilot-Session: e615d062-bcb7-431e-aa9c-d3e47405723a
@github-actions

This comment has been minimized.

Comment thread dotnet/test/E2E/InMemorySessionFsSqliteHandler.cs
Comment thread dotnet/src/SessionFsProvider.cs
…76-0

Two follow-ups from the CLI bump:

* The Go e2e sqlite provider is a stub (no cgo sqlite dependency) that returned a canned {id, name} row for every SELECT. The runtime now reads its own inbox_entries bookkeeping table through the SessionFS sqlite provider and deserializes those rows into typed structs, so it rejected the canned row with 'Invalid inbox row: missing field recipient_session_id'. Scope the canned row to the `items` table the test actually models and return an empty result set for everything else.

* permissions.resetSessionApprovals now takes a params object, which is a required argument in the generated Python API. Pass PermissionsResetSessionApprovalsRequest() at the e2e call site (the Go and Rust call sites were already updated).

Generated by Copilot

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

Copilot-Session: e615d062-bcb7-431e-aa9c-d3e47405723a
@github-actions

This comment has been minimized.

@stephentoub stephentoub self-assigned this Jul 28, 2026
stephentoub and others added 2 commits July 28, 2026 10:26
The "should kill shell process" e2e test exists in all five SDKs, but only
Node, Python and Rust destroy the session at the end of it. Go tears the whole
client down with client.ForceStop() and .NET simply ended at the last assert,
so neither ever exercised session.destroy after a session.shell.exec.

That gap is why Go and .NET stayed green on CLI 1.0.76-0 while Node, Python and
Rust hang: the hang is in session.destroy after a shell exec, and the two green
SDKs never made the call. Adding the teardown makes all five cover the same
sequence.

Verified locally against the same CLI binary (1.0.76-0, sha256 b8bfad2c...):
with the added Disconnect(), the Go test hangs past a 3-minute timeout where it
previously passed in seconds. The same test passes on CLI 1.0.73.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e615d062-bcb7-431e-aa9c-d3e47405723a
The runtime team confirmed this method is marked `visibility: internal` in the
shared API contract: its `client` and `transport` fields are live in-process MCP
SDK instances that cannot be serialized over JSON-RPC. No SDK exposes it as a
typed method, and the Rust test drove it through a raw `call_session_rpc` with
placeholder JSON objects that could never satisfy that contract.

It passed on CLI 1.0.73 only because the old TypeScript dispatch happened to
route internal methods generically. 1.0.76-0 routes the method through the Rust
native registry, where the host-effect switch has no case for it, so it now
returns -32603 "Unsupported native session host effect". That is correct
behaviour, not a regression, so the test is removed along with its now-orphaned
snapshot and a note recording why the gap is deliberate.

Both `call_session_rpc` and `is_mcp_server_running` remain in use by other tests
in the file, so no helper became dead.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e615d062-bcb7-431e-aa9c-d3e47405723a
@github-actions

This comment has been minimized.

pytest-timeout has been a declared dev dependency for a while but was never
configured, and the Python job sets no timeout-minutes either. When CLI 1.0.76-0
introduced a session.destroy deadlock, five of the six Python jobs sat
in_progress for hours instead of failing, producing no diagnostic signal at all
and holding runners until GitHub's 6-hour job limit.

Setting timeout = 300 makes a deadlocked test fail in five minutes with a full
stack dump pointing at the blocked call, which is how the other SDKs already
behave (Node uses 30s/60s/180s per test, Go bounds the package at 20m).

The value is deliberately generous: the whole Python suite completes in about
10 minutes, so no individual test comes close to 300s. Verified locally that
pytest honours the setting from pyproject.toml and that it interrupts a hanging
test with a traceback.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e615d062-bcb7-431e-aa9c-d3e47405723a
@github-actions

Copy link
Copy Markdown
Contributor Author

Cross-SDK Consistency Review ✅

This PR is an automated @github/copilot schema upgrade (1.0.76-0) that regenerates all auto-generated code and adds the SQLite transaction feature to the SessionFsSqliteProvider interface.

Feature coverage: sqlite_transaction / TransactionAsync / sqliteTransaction

SDK Interface method Failure type Status
Node.js transaction(statements) SessionFsSqliteTransactionFailure class ✅ Added
Python sqlite_transaction(statements) SessionFsSqliteTransactionFailure exception ✅ Added
Go SqliteTransaction(statements) *SessionFSSqliteTransactionFailure error ✅ Added
.NET TransactionAsync(statements, ct) SessionFsSqliteTransactionException ✅ Added
Rust sqlite_transaction(statements) SessionFsSqliteTransactionError ✅ Added
Java N/A — Java doesn't expose SessionFsProvider as a user-facing API ✅ N/A

API naming consistency

  • Method names follow each language's convention (camelCase/snake_case/PascalCase) ✅
  • All SDKs expose SessionFsSqliteStatement / SessionFsSqliteTransactionErrorClass
  • Failure classification (busyOrLocked / postCommitAmbiguous / fatal) is consistent across all SDKs ✅
  • Adapter-level error propagation pattern (result-level error, not transport error) is consistent ✅

No cross-SDK consistency issues found. The new SQLite transaction feature is implemented uniformly across all applicable SDKs.

Generated by SDK Consistency Review Agent for #2100 · sonnet46 55.4 AIC · ⌖ 5.52 AIC · ⊞ 6.6K ·

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