feat(sdk-runner): expand KNOWN_SDKS to all tier 1 SDKs (#417)
* feat(sdk-runner): expand KNOWN_SDKS to all tier 1 SDKs - go-sdk: point at the relocated conformance/ fixtures (the old examples/server/conformance path is gone on main), add the everything-client fixture that now exists upstream, and wire conformance/baseline.yml as the expected-failures baseline. - python-sdk: new entry for main, which targets the 2026-07-28 revision (same uv workspace layout as the v1.x entry). - csharp-sdk: new entry driving the ConformanceClient / ConformanceServer fixtures via the .NET 10 SDK. The client takes the scenario as argv[0], so the command bridges MCP_CONFORMANCE_SCENARIO into argv; the server exposes the SEP-2575 stateless lifecycle at /stateless. * docs: match the sdk override example's lead-in to its content The example now shows field overrides on a built-in entry rather than a one-off ref, so the introducing sentence shouldn't promise a ref override.
This commit is contained in:
parent
0c85302241
commit
2a705a811e
1 changed files with 89 additions and 11 deletions
11
README.md
11
README.md
|
|
@ -281,13 +281,14 @@ npm start -- sdk typescript-sdk --mode client --spec-version draft
|
|||
|
||||
Build/run commands for each official SDK are looked up by name from [`src/sdk-runner/known-sdks.ts`](src/sdk-runner/known-sdks.ts) — no config file is required in the SDK repo. Resolution order is **CLI flag > built-in entry**, so any field can be overridden on the command line for refs that diverge from the built-in.
|
||||
|
||||
An SDK can have more than one entry when its layout differs across major versions — e.g. `typescript-sdk` (v2, the `main` monorepo) and `typescript-sdk-v1` (the published npm v1.x line). An entry may set `defaultRef` (the branch used when you don't pass `@<ref>`) and `repo` (the real clone target when the entry name is an alias). Overriding for a one-off ref:
|
||||
An SDK can have more than one entry when its layout differs across major versions — e.g. `typescript-sdk` (v2, the `main` monorepo) and `typescript-sdk-v1` (the published npm v1.x line). An entry may set `defaultRef` (the branch used when you don't pass `@<ref>`) and `repo` (the real clone target when the entry name is an alias). Overriding built-in fields for a one-off run:
|
||||
|
||||
```bash
|
||||
npm start -- sdk owner/go-sdk@some-branch \
|
||||
--mode client \
|
||||
--build-cmd 'go build -tags mcp_go_client_oauth -o ./.conformance-client ./conformance/everything-client' \
|
||||
--client-cmd './.conformance-client'
|
||||
# e.g. a 2026-07-28 run against go-sdk's server — the built-in server command
|
||||
# pins -stateless=false (what the dated-spec suites need), so override it to
|
||||
# get the SEP-2575 stateless lifecycle:
|
||||
npm start -- sdk go-sdk --mode server --suite all --spec-version 2026-07-28 \
|
||||
--server-cmd './.conformance-server -http=localhost:3000'
|
||||
```
|
||||
|
||||
To add a new SDK to the matrix, add an entry to `KNOWN_SDKS`.
|
||||
|
|
|
|||
Loading…
Reference in a new issue