[Schema] SEP-2663 Tasks: Task shape, resultType discriminator, tasks/* request/result types

Ouverte
#345 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
php

Piste de recherche

Commencez par les patterns de schema et d’enum existants pour TaskStatus, ResultType, CallToolResult et EmptyResult, puis examinez le framework d’extensions dans #344 et le périmètre global dans #335. Implémentez les types d’enveloppe de tâche, de résultat, de requête et d’enum indiqués, en préservant la forme wire plate et l’encodage de inputRequests ; le travail est terminé lorsque tous les types nommés et la sémantique des statuts correspondent à la spécification fusionnée et aux attentes de conformité.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

2026-07-28 enhancement improves spec compliance Schema

Schema portion of SEP-2663 (Tasks extension, io.modelcontextprotocol/tasks) for the 2026-07-28 release. Tracked by umbrella #335; sits on the SEP-2133 extensions framework (#344).

Scope

  • Mcp\Schema\Task: taskId, status, createdAt, lastUpdatedAt, ttlMs, pollIntervalMs, statusMessage, result, error, inputRequests. Flat on the wire in both places it appears (no nested task key). Enforces the status semantics: a tool that ran and reported a problem is completed with isError; failed is reserved for protocol-level errors and carries the error inlined.
  • Mcp\Schema\Enum\TaskStatus: working, input_required, completed, failed, cancelled (what the merged spec and conformance suite use — not pending/running).
  • Mcp\Schema\Enum\ResultType::Task ("task") alongside Complete and InputRequired.
  • CreateTaskResult — a result in its own right (resultType: "task" + the task envelope), returned by any task-augmentable handler instead of a discriminator bolted onto CallToolResult.
  • TaskResult for tasks/get; tasks/update and tasks/cancel answer EmptyResult.
  • TasksGetRequest, TasksUpdateRequest (taskId, inputResponses), TasksCancelRequest.
  • inputRequests reuse the multi round-trip (SEP-2322) encoding: a map of server-assigned keys to bare method/params pairs.

Notes

SEP-2663 supersedes SEP-1686 (#139, closed).

Langage dominant
PHP
Étoiles
1.6k
Forks
173
Merge moyen
2 j 49 min
PR mergées (30 j)
23

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de modelcontextprotocol/php-sdk

Toutes les issues de modelcontextprotocol/php-sdk

Issues similaires

Plus d'issues PHP

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.