Generate catalogue SDK bindings from CLI 1.0.83-2 - #2481
gokhanarkan wants to merge 3 commits into
Conversation
98eb051 to
daa3c9a
Compare
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Java catalogue generation loses experimental API gating and widens fixed schema literals to arbitrary strings.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review tier: Balanced
Findings: 1
New issues introduced by this change (1)
| Severity | Finding |
|---|---|
java/scripts/codegen/java.ts — generatePolymorphicResultClass does not propagate experimental stability to either the base class… |
What changed in this PR
Updates the Copilot CLI schema/runtime source to 1.0.83-2 and regenerates six SDKs with typed catalogue-search bindings.
Changes:
- Adds typed catalogue candidates, sources, results, and refusals.
- Fixes Python, Java, and Rust generators.
- Adds cross-language catalogue conformance coverage.
| File | Description |
|---|---|
test/harness/package.json |
Updates CLI dependency. |
test/harness/package-lock.json |
Locks 1.0.83-2 artifacts. |
scripts/codegen/rust.ts |
Escapes Rustdoc brackets. |
scripts/codegen/python.ts |
Handles AI acronym casing. |
rust/tests/e2e/rpc_session_state_extras.rs |
Adapts generated model policy field. |
rust/tests/cli_resolution_test.rs |
Validates musl package pins. |
rust/tests/api_types_test.rs |
Tests catalogue unions. |
rust/src/generated/session_events.rs |
Regenerates session events. |
rust/src/generated/rpc.rs |
Regenerates RPC methods. |
rust/src/generated/api_types.rs |
Adds generated catalogue/API types. |
python/test_rpc_generated.py |
Tests typed catalogue dispatch. |
python/copilot/generated/session_events.py |
Regenerates session events. |
nodejs/test/catalog-search-types.test.ts |
Tests catalogue type semantics. |
nodejs/src/generated/session-events.ts |
Regenerates event types. |
nodejs/src/generated/rpc.ts |
Adds catalogue and updated RPC bindings. |
nodejs/samples/package-lock.json |
Updates sample runtime lock. |
nodejs/package.json |
Updates runtime dependency. |
nodejs/package-lock.json |
Locks runtime/platform artifacts. |
java/sdk/src/test/java/com/github/copilot/RpcSessionStateExtrasE2ETest.java |
Adapts generated constructor. |
java/sdk/src/test/java/com/github/copilot/generated/rpc/GeneratedRpcRecordsCoverageTest.java |
Adapts record constructors. |
java/sdk/src/test/java/com/github/copilot/generated/rpc/CatalogSearchConformanceTest.java |
Tests Java catalogue hierarchy. |
java/sdk/src/generated/java/com/github/copilot/generated/UserMessageEvent.java |
Adds message identity. |
java/sdk/src/generated/java/com/github/copilot/generated/SubagentFailedEvent.java |
Adds model override reason. |
java/sdk/src/generated/java/com/github/copilot/generated/SubagentCompletedEvent.java |
Adds model override reason. |
java/sdk/src/generated/java/com/github/copilot/generated/SessionFusionResolvedEvent.java |
Adds fusion phase plan. |
java/sdk/src/generated/java/com/github/copilot/generated/SessionEvent.java |
Registers new event variants. |
java/sdk/src/generated/java/com/github/copilot/generated/SessionCompletionReceiptEvent.java |
Adds completion receipts. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SubagentSettingsEntry.java |
Adds model policy. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SessionsReadPersistedEventsResult.java |
Adds persisted-event result. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SessionsReadPersistedEventsParams.java |
Adds persisted-event parameters. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SessionModelSwitchToParams.java |
Clarifies model source behavior. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/ServerSessionsApi.java |
Exposes persisted-event reads. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/ServerRpc.java |
Registers hooks API. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/ServerHooksApi.java |
Adds hook discovery. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SandboxConfigUserPolicyNetworkProxy.java |
Updates proxy documentation. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/SandboxConfigUserPolicyNetwork.java |
Updates network documentation. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/QueuePendingItems.java |
Adds message identity. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/HookType.java |
Updates hook documentation. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/HooksDiscoverResult.java |
Adds hook discovery result. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/HooksDiscoverParams.java |
Adds hook discovery parameters. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/HookOrigin.java |
Adds hook origin enum. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/DiscoveredHook.java |
Adds discovered-hook model. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogSearchSucceeded.java |
Types candidate collection. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogMcpServerInstallability.java |
Adds installability enum. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogMcpServerCandidateProvenance.java |
Adds MCP provenance. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogMcpServerCandidate.java |
Adds typed MCP candidate. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogCandidateSourceUrl.java |
Adds URL source variant. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogCandidateSourceEmbedded.java |
Adds embedded source variant. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogCandidateSource.java |
Adds source hierarchy. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogCandidate.java |
Adds candidate hierarchy. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogAiSkillCandidateProvenance.java |
Adds skill provenance. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/CatalogAiSkillCandidate.java |
Adds typed skill candidate. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/AgentModelPolicy.java |
Adds RPC model policy. |
java/sdk/src/generated/java/com/github/copilot/generated/rpc/AgentInfo.java |
Adds model preferences. |
java/sdk/src/generated/java/com/github/copilot/generated/PermissionRequestedEvent.java |
Adds agent mode. |
java/sdk/src/generated/java/com/github/copilot/generated/FusionPhasePlanStep.java |
Adds fusion plan step. |
java/sdk/src/generated/java/com/github/copilot/generated/FusionPhaseActivityKind.java |
Adds activity kinds. |
java/sdk/src/generated/java/com/github/copilot/generated/CustomAgentsUpdatedAgent.java |
Adds authored model configuration. |
java/sdk/src/generated/java/com/github/copilot/generated/CompletionReceiptToolStatus.java |
Adds receipt tool statuses. |
java/sdk/src/generated/java/com/github/copilot/generated/CompletionReceiptStopReason.java |
Adds receipt stop reasons. |
java/sdk/src/generated/java/com/github/copilot/generated/CompletionReceiptFinalTool.java |
Adds final-tool receipt data. |
java/sdk/src/generated/java/com/github/copilot/generated/CompletionReceiptEventRange.java |
Adds receipt event range. |
java/sdk/src/generated/java/com/github/copilot/generated/AssistantFusionPhaseActivityEvent.java |
Adds fusion activity event. |
java/sdk/src/generated/java/com/github/copilot/generated/AgentModelPolicy.java |
Adds event model policy. |
java/scripts/codegen/package.json |
Updates codegen dependency. |
java/scripts/codegen/package-lock.json |
Locks codegen runtime artifacts. |
java/scripts/codegen/java.ts |
Generates nested catalogue hierarchies. |
java/pom.xml |
Updates reference runtime version. |
go/zsession_events.go |
Re-exports generated events. |
go/rpc/zsession_events.go |
Adds generated event models. |
go/rpc/zsession_encoding.go |
Adds event decoding. |
go/rpc/zrpc.go |
Adds catalogue and updated RPC bindings. |
go/rpc/generated_rpc_union_test.go |
Tests catalogue unions. |
dotnet/src/Generated/Rpc.cs |
Regenerates .NET RPC bindings. |
dotnet/test/Unit/SerializationTests.cs |
Tests catalogue serialization. |
Files not reviewed (7)
- 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
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
SDK Consistency ReviewReviewed the authoritative PR diff ( Summary: This PR is a coordinated, cross-language generated-code regeneration (new schema types such as
Spot-checked several of the new types ( The remaining changes ( No cross-SDK consistency issues found. Feature parity is maintained across all six SDK implementations for this schema update.
|
|
Closing in favour of workflow-generated PR #2483, per SDK team guidance; any generator or conformance improvements should be proposed separately after the dependency update lands. |

Part of #2106
Summary
@github/copilotsource to CLI1.0.83-2, which supplies both version-matched runtime artefacts andapi.schema.jsonThe package manifests retain this repository's existing version-range conventions. Committed lockfiles resolve the exact package and platform artefacts so generation and bundled-runtime assembly are reproducible.
This is an SDK schema/runtime generation update, not an App runtime pin. It does not gate github/github-app#9880's internal SDK update. Executable catalogue plan/apply bindings remain future work under #2106.
Catalogue surface
The
1.0.83-2schema generates a typedCatalogSearchRequest(contract,query, optionallimitandkinds) and an eleven-variantCatalogSearchResult: success plus ten typed refusals/failures. Successful results carry an opaquesearchIdand typed MCP server or AI skill candidates with opaquehandlevalues. Candidate sources are a URL or an inert embedded marker; the embedded variant has no card payload.CatalogSearchSucceeded.getCandidates()isList<CatalogCandidate>with Jackson-discriminated MCP/AI skill and URL/embedded hierarchies; noObjectfallback remains on the catalogue surface, and every search hierarchy type is gated by@CopilotExperimentalThe complete CLI schema regeneration also changes unrelated generated session-event types. Those files are deterministic generator output and were neither hand-edited nor pruned.
Source generator fixes
Ai/AIacronym casing when restoring referenced discriminated unions.CatalogCandidateandCatalogCandidateSourceunions, serialises their existing discriminator exactly once, and propagates experimental method stability to all catalogue search bases and variants.[::]from becoming an invalid intra-doc link.Conformance coverage
Each SDK exercises the same semantic fixture: a successful search containing an MCP URL candidate and an embedded AI skill candidate, opaque handle preservation, an embedded source serialising with only its discriminator, and typed dispatch of an
unsupported-kindrefusal. The Java tests additionally prevent regression to nestedObjectunions or duplicate discriminator output and compile representative bases and variants through the experimental API processor to require explicit consumer opt-in.CI failure triage
executablebuild-script parameter under non-Unix-D warnings; fixed by retaining the Unix-only value as an intentionally unused cross-platform binding.models.listconnection timeout; all Go matrix cells pass on the refreshed head without skipping or weakening tests.Validation
mvn verify, including catalogue conformance, experimental gating, and native packaging