Here's a .NET client. It's at parity with the other five clients, passes the same shared round-trip and reducer corpus, and is green on CI. It's generated exactly like your other clients (a TypeScript generator off the same TS types, with the freshness check in CI), has no runtime dependencies, and uses System.Text.Json. GitHub's own Copilot SDK is built the same way: TS schemas, per-language generators, a .NET client on System.Text.Json.
I'll own and maintain it, or hand it to whoever on your side wants it. Either way it's low-maintenance: codegen-derived, so a protocol change is one regen, with no dependencies to track.
On publishing: the packages are Microsoft.AgentHostProtocol.*, your NuGet IDs. I'll wire the full pack-and-publish workflow to match your Kotlin/TS lane, so the only thing left on your side is the signing key.
It's a draft (#206) on top of #204, so that lands first. Give me a yes and I'll get it review-ready.
@connor4312 @benibenj
Here's a .NET client. It's at parity with the other five clients, passes the same shared round-trip and reducer corpus, and is green on CI. It's generated exactly like your other clients (a TypeScript generator off the same TS types, with the freshness check in CI), has no runtime dependencies, and uses System.Text.Json. GitHub's own Copilot SDK is built the same way: TS schemas, per-language generators, a .NET client on System.Text.Json.
I'll own and maintain it, or hand it to whoever on your side wants it. Either way it's low-maintenance: codegen-derived, so a protocol change is one regen, with no dependencies to track.
On publishing: the packages are
Microsoft.AgentHostProtocol.*, your NuGet IDs. I'll wire the full pack-and-publish workflow to match your Kotlin/TS lane, so the only thing left on your side is the signing key.It's a draft (#206) on top of #204, so that lands first. Give me a yes and I'll get it review-ready.
@connor4312 @benibenj