modelcontextprotocol / modelcontextprotocol/php-sdk
[Client] Fill elicitation defaults when accepting (SEP-1034)
Personne n'a encore pris cette issue.
- Langage dominant
- PHP
- Étoiles
- 1.6k
- Forks
- 173
- Merge moyen
- 2 j 49 min
- PR mergées (30 j)
- 23
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par ElicitationSchema et les cinq types de définition de schéma qui exposent des valeurs par défaut, puis examinez tests/Conformance/client.php et le scénario elicitation-sep1034-client-defaults. Ajoutez la couverture de tests unitaires pour extractDefaults et mettez à jour l’exemple afin qu’il utilise le helper ; c’est terminé lorsque les cinq types sont couverts et que le scénario de Conformance réussit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- php
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Calme
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 72/100