modelcontextprotocol / modelcontextprotocol/php-sdk
[Client] Fill elicitation defaults when accepting (SEP-1034)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PHP
- Sterne
- 1.6k
- Forks
- 173
- Ø Merge
- 2 T. 49 Min.
- Gemergte PRs (30 T.)
- 23
Beschreibung
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 afield => defaultmap for all properties that declare one. - Document the helper as the canonical "accept-with-defaults" path; update the example in
tests/Conformance/client.phpto use it forelicitation-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::extractDefaultscovering all 5 definition types. - Conformance: scenario passes (after #328 wiring lands, see below).
cc @soyuka
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit ElicitationSchema und den fünf Schema-Definitionstypen, die Standardwerte bereitstellen, und untersuche anschließend tests/Conformance/client.php sowie das Szenario elicitation-sep1034-client-defaults. Füge die Unit-Testabdeckung für extractDefaults hinzu und aktualisiere das Beispiel so, dass es den Helper verwendet; fertig ist es, wenn alle fünf Typen abgedeckt sind und das Conformance-Szenario erfolgreich durchläuft.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- api
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 72/100