Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

CI does not smoke-test client CLI path; everything-client drift on elicitation-sep1034-client-defaults and sse-retry

Aperta
#345 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
node.js, typescript
Ambito
ci-cd, cli, testing

Direzione di ricerca

Inizia con npm ci && npm run build, quindi esegui i comandi client documentati per elicitation-sep1034-client-defaults, sse-retry e --suite core. Esamina examples/clients/typescript/everything-client.ts insieme ai controlli degli scenari e alle indicazioni di AGENTS.md. Il lavoro è completato quando entrambi gli handler superano i test e CI esegue uno smoke test del comando client esistente per la suite core.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Describe the bug

CI runs npm test (vitest) but never exercises the documented client-mode CLI path (node dist/index.js client --command "…"). Regressions in the bundled reference client (examples/clients/typescript/everything-client.ts) are therefore not caught until someone runs that path manually against the in-repo fixture (README.md, CONTRIBUTING.md). SDK_INTEGRATION.md documents the same CLI for external SDK conformance clients; it does not validate the in-repo everything-client, so following it would not catch this drift either.

Two concrete examples in the --suite core scenarios on current main:

  1. elicitation-sep1034-client-defaults — the handler is registered under the wrong name (elicitation-defaults), and the client advertises elicitation.applyDefaults instead of elicitation.form.applyDefaults (required by @modelcontextprotocol/sdk 1.29+ for default merging).
  2. sse-retry — no handler is registered in everything-client, even though the scenario is in the core suite.

The scenario implementations and checks appear correct; upstream typescript-sdk's conformance client already registers both handlers with the correct names and capability shapes.

To Reproduce

  1. npm ci && npm run build
  2. Elicitation drift:
node dist/index.js client \
  --command "npx tsx examples/clients/typescript/everything-client.ts" \
  --scenario elicitation-sep1034-client-defaults
  1. SSE retry missing handler:
node dist/index.js client \
  --command "npx tsx examples/clients/typescript/everything-client.ts" \
  --scenario sse-retry
  1. Full core suite (both failures, among others):
node dist/index.js client \
  --command "npx tsx examples/clients/typescript/everything-client.ts" \
  --suite core

Expected behavior

The bundled everything-client should register elicitation-sep1034-client-defaults (with elicitation.form.applyDefaults: true) and sse-retry, matching AGENTS.md guidance to extend the everything-client for passing examples.

CI should smoke-test the documented client CLI path (at least --suite core) so reference-client drift is caught automatically — reusing the existing client command (AGENTS.md: no parallel test runner).

Logs

Elicitation — client subprocess exits before connecting:

Unknown scenario: elicitation-sep1034-client-defaults

(If the handler were registered under the old name elicitation-defaults instead, elicitation checks fail because defaults are not applied.)

SSE retry:

Unknown scenario: sse-retry

Core suite summary (representative):

✗ elicitation-sep1034-client-defaults: 0 passed, 5 failed
✗ sse-retry: 0 passed, 1 failed
Total: 238 passed, 6 failed, 0 warnings

Compare with typescript-sdk main (both scenarios pass):

npm start -- sdk typescript-sdk --mode client --scenario elicitation-sep1034-client-defaults
npm start -- sdk typescript-sdk --mode client --scenario sse-retry

Additional context

  • Related (not in scope for this issue): #250 proposes eventually removing vendored examples/{clients,servers}/typescript/ and running CI via sdk typescript-sdk@<pinned-sha> instead. That is not implemented today; this issue covers the incremental fix for the current documented workflow.
  • Proposed fix (for discussion): add an npm script + CI step running --suite core via the existing client subcommand; align everything-client.ts with upstream typescript-sdk for both handlers above.
Lingua principale
TypeScript
Stelle
127
Fork
107
Merge medio
2g 22h
PR unite (30g)
5

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelcontextprotocol/conformance

Tutte le issue di modelcontextprotocol/conformance

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.