modelcontextprotocol / modelcontextprotocol/php-sdk

[Client] Fill elicitation defaults when accepting (SEP-1034)

Aperta
#328 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Client enhancement improves spec compliance Schema
Lingua principale
PHP
Stelle
1.6k
Fork
173
Merge medio
2g 49m
PR unite (30g)
23

Descrizione

Context

SEP-1034 adds client-side default handling for elicitation/create. When a client accepts an elicitation request without explicit field values, the response content should be auto-populated from default fields declared in the request's requestedSchema. Schemas already expose default on StringSchemaDefinition, NumberSchemaDefinition, EnumSchemaDefinition, TitledEnumSchemaDefinition, and BooleanSchemaDefinition.

Scope

  • Add helper ElicitationSchema::extractDefaults(): array<string, mixed> returning a field => default map for all properties that declare one.
  • Document the helper as the canonical "accept-with-defaults" path; update the example in tests/Conformance/client.php to use it for elicitation-sep1034-client-defaults.
  • Optional convenience: ElicitResult::accepted(ElicitationSchema $schema) factory that pre-fills defaults.

Conformance scenarios unblocked

elicitation-sep1034-client-defaults.

Dependencies

Independent.

Acceptance

  • Unit test on ElicitationSchema::extractDefaults covering all 5 definition types.
  • Conformance: scenario passes (after #328 wiring lands, see below).

cc @soyuka

Guida per i contributori

Apri la guida per i contributori

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.

Direzione di ricerca

Inizia con ElicitationSchema e i cinque tipi di definizione dello schema che espongono valori predefiniti, quindi esamina tests/Conformance/client.php e lo scenario elicitation-sep1034-client-defaults. Aggiungi la copertura dei test unitari per extractDefaults e aggiorna l’esempio in modo che utilizzi l’helper; il lavoro è completato quando tutti e cinque i tipi sono coperti e lo scenario di Conformance ha esito positivo.

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

Valutazione

Stack tecnologico
php
Ambito
api
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
72/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.