Tags: github/copilot-sdk
Tags
Add MCP OAuth lifecycle SDK support (#1669) Expose host-delegated MCP OAuth handling across SDK languages, sync generated RPC and event models to the lifecycle contract, and add cross-language E2E coverage for initial auth, refresh, upscope, reauth, and cancellation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add MCP OAuth lifecycle SDK support (#1669) Expose host-delegated MCP OAuth handling across SDK languages, sync generated RPC and event models to the lifecycle contract, and add cross-language E2E coverage for initial auth, refresh, upscope, reauth, and cancellation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add MCP OAuth lifecycle SDK support (#1669) Expose host-delegated MCP OAuth handling across SDK languages, sync generated RPC and event models to the lifecycle contract, and add cross-language E2E coverage for initial auth, refresh, upscope, reauth, and cancellation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add GitHub-anchored attachment variants to Attachment enum (#1823) * Add GitHub-anchored attachment variants to Attachment enum Add the nine GitHub-anchored attachment variants (github_commit, github_release, github_actions_job, github_repository, github_file_diff, github_tree_comparison, github_url, github_file, github_snippet) to the hand-written `Attachment` enum so copilotd no longer drops them when (de)serializing at the SDK boundary. The fields are inlined directly into each variant, mirroring the existing github_reference variant, rather than wrapping the generated `AttachmentGitHub*` structs. Wrapping would emit a duplicate `type` JSON key (the generated structs embed their own discriminator) and break the enum's `Eq` derive (the generated structs do not derive Eq). Nested object fields use local sub-structs that derive Eq. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Make attachment match arms explicit and harden duplicate-type test List github_reference + the 9 GitHub-anchored variants explicitly in the display-name match arms instead of a wildcard, so future Attachment variants trigger a compile error and force an explicit display-behavior decision. Count raw "type": occurrences in the serialized string rather than keys on a parsed Value (which silently dedupes), so the test can actually catch a duplicate-type regression. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add GitHub-anchored attachment variants to Attachment enum (#1823) * Add GitHub-anchored attachment variants to Attachment enum Add the nine GitHub-anchored attachment variants (github_commit, github_release, github_actions_job, github_repository, github_file_diff, github_tree_comparison, github_url, github_file, github_snippet) to the hand-written `Attachment` enum so copilotd no longer drops them when (de)serializing at the SDK boundary. The fields are inlined directly into each variant, mirroring the existing github_reference variant, rather than wrapping the generated `AttachmentGitHub*` structs. Wrapping would emit a duplicate `type` JSON key (the generated structs embed their own discriminator) and break the enum's `Eq` derive (the generated structs do not derive Eq). Nested object fields use local sub-structs that derive Eq. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Make attachment match arms explicit and harden duplicate-type test List github_reference + the 9 GitHub-anchored variants explicitly in the display-name match arms instead of a wildcard, so future Attachment variants trigger a compile error and force an explicit display-behavior decision. Count raw "type": occurrences in the serialized string rather than keys on a parsed Value (which silently dedupes), so the test can actually catch a duplicate-type regression. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add GitHub-anchored attachment variants to Attachment enum (#1823) * Add GitHub-anchored attachment variants to Attachment enum Add the nine GitHub-anchored attachment variants (github_commit, github_release, github_actions_job, github_repository, github_file_diff, github_tree_comparison, github_url, github_file, github_snippet) to the hand-written `Attachment` enum so copilotd no longer drops them when (de)serializing at the SDK boundary. The fields are inlined directly into each variant, mirroring the existing github_reference variant, rather than wrapping the generated `AttachmentGitHub*` structs. Wrapping would emit a duplicate `type` JSON key (the generated structs embed their own discriminator) and break the enum's `Eq` derive (the generated structs do not derive Eq). Nested object fields use local sub-structs that derive Eq. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Make attachment match arms explicit and harden duplicate-type test List github_reference + the 9 GitHub-anchored variants explicitly in the display-name match arms instead of a wildcard, so future Attachment variants trigger a compile error and force an explicit display-behavior decision. Count raw "type": occurrences in the serialized string rather than keys on a parsed Value (which silently dedupes), so the test can actually catch a duplicate-type regression. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
On branch edburns/1682-java-tool-ergonomics-review-draft-01 modified: java/src/main/java/com/github/copilot/tool/CopilotToolProcessor.java modified: java/src/main/java/com/github/copilot/tool/Param.java modified: java/src/main/java/com/github/copilot/tool/SchemaGenerator.java - Add `CopilotExperimental` more liberally
Add getBearerToken callback for BYOK providers (Managed Identity) (#1748 ) Lets BYOK provider configs supply a getBearerToken callback so the SDK consumer resolves bearer tokens (e.g. Azure Managed Identity) on demand. The callback never crosses the wire: the SDK strips it from the provider config, sends a `hasBearerTokenProvider: true` flag, and answers the runtime's session-scoped `providerToken.getToken` RPC by routing to the matching per-provider callback. The returned token is applied as the Authorization header for outbound model requests; the consumer owns caching/refresh. Implemented across all SDKs (Node, .NET, Go, Java, Python, Rust) with e2e tests. The generated RPC files are intentionally left as the committed CLI 1.0.65 codegen output (providerToken.getToken + hasBearerTokenProvider) rather than hand-edited. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add getBearerToken callback for BYOK providers (Managed Identity) (#1748 ) Lets BYOK provider configs supply a getBearerToken callback so the SDK consumer resolves bearer tokens (e.g. Azure Managed Identity) on demand. The callback never crosses the wire: the SDK strips it from the provider config, sends a `hasBearerTokenProvider: true` flag, and answers the runtime's session-scoped `providerToken.getToken` RPC by routing to the matching per-provider callback. The returned token is applied as the Authorization header for outbound model requests; the consumer owns caching/refresh. Implemented across all SDKs (Node, .NET, Go, Java, Python, Rust) with e2e tests. The generated RPC files are intentionally left as the committed CLI 1.0.65 codegen output (providerToken.getToken + hasBearerTokenProvider) rather than hand-edited. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PreviousNext