Repository navigation
Use application terminology for client info - #2482
Conversation
Use application and integration terminology in every public SDK while preserving the existing runtime wire protocol. Update tests and documentation to match. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Match the repository's Spotless line wrapping for the updated client identity documentation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
Public naming, compatibility mappings, tests, and documentation are consistently updated across all six SDKs.
Review tier: Balanced
Findings: None
What changed in this PR
Renames public client identity fields to application/integration terminology across all six SDKs while preserving existing JSON-RPC wire keys.
Changes:
- Updates public APIs and internal wire mappings.
- Revises handshake tests across all SDKs.
- Updates documentation and changelog terminology.
| File | Description |
|---|---|
rust/tests/protocol_version_test.rs |
Updates Rust handshake tests. |
rust/src/lib.rs |
Renames Rust fields and builders. |
python/test_client.py |
Updates Python handshake tests. |
python/copilot/client.py |
Renames Python fields and wire mapping. |
nodejs/test/client.test.ts |
Updates Node.js handshake tests. |
nodejs/src/types.ts |
Renames Node.js public fields. |
nodejs/src/client.ts |
Maps new names to existing wire keys. |
java/sdk/src/test/java/com/github/copilot/GitHubTelemetryTest.java |
Updates Java serialization tests. |
java/sdk/src/main/java/com/github/copilot/rpc/CopilotClientOptions.java |
Updates Java API documentation. |
java/sdk/src/main/java/com/github/copilot/rpc/ClientInfo.java |
Renames Java accessors while retaining wire annotations. |
java/sdk/src/main/java/com/github/copilot/CopilotClient.java |
Updates identity terminology. |
go/types.go |
Renames Go fields and wire mapping. |
go/client_test.go |
Updates Go handshake tests. |
dotnet/test/Unit/GitHubTelemetryTests.cs |
Updates .NET handshake tests. |
dotnet/test/Unit/CloneTests.cs |
Updates .NET clone fixture fields. |
dotnet/src/Types.cs |
Renames .NET public properties. |
dotnet/src/Client.cs |
Maps new properties to existing wire keys. |
docs/features/README.md |
Updates the feature summary. |
docs/features/client-info.md |
Revises guidance and examples. |
CHANGELOG.md |
Records application-centric terminology. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This comment has been minimized.
This comment has been minimized.
Keep the IDE example across languages, document application-only usage, and explain integrations as optional extensions, plugins, or other application sub-parts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Describe integration identity consistently across all six SDKs as an optional application extension, plugin, or other named sub-part. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Cross-SDK Consistency ReviewThis PR renames the
Verified in: Node.js/TypeScript ( Each SDK follows its own naming convention correctly (camelCase for TS/Java, PascalCase for Go public fields and .NET, snake_case for Python/Rust), and the underlying wire format ( Conclusion: No cross-SDK consistency issues found. This is a well-executed, fully parallel rename with no language left behind and no API drift.
|
Match Spotless wrapping for the clarified integration accessor documentation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
applicationName/applicationVersionandintegrationName/integrationVersion(with language-idiomatic casing)editorName,editorVersion,extensionName, andextensionVersion) as an internal compatibility boundaryWhy
The client-info API added in #2464 has not shipped in a release, so this is the safe point to avoid making editor-specific terminology part of the permanent public SDK contract. Copilot SDK clients include non-editor applications; application and optional integration identity describe that model without changing the runtime protocol.
Validation
The full Java Maven lane could not run locally because the environment JDK did not trust the intercepted Maven TLS certificate; the direct Java/Jackson validation passed, and CI will cover the Maven and Spotless lanes.