cxxmcp 1.1.6
C++ MCP SDK
Loading...
Searching...
No Matches
task.hpp File Reference

Asynchronous task status and task-management payloads. More...

#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
#include "cxxmcp/core/result.hpp"
#include "cxxmcp/protocol/reflect.hpp"
#include "cxxmcp/protocol/types.hpp"

Go to the source code of this file.

Classes

struct  mcp::protocol::JsonFieldTraits< TaskStatus >
 JsonFieldTraits specialization for TaskStatus enum. More...
 
struct  mcp::protocol::TaskRequestParameters
 Optional task parameters embedded in feature requests. More...
 
struct  mcp::protocol::Reflect< TaskRequestParameters >
 
struct  mcp::protocol::JsonFieldTraits< TaskRequestParameters >
 
struct  mcp::protocol::Task
 Snapshot of an asynchronous task. More...
 
struct  mcp::protocol::Reflect< Task >
 Reflection trait for Task. More...
 
struct  mcp::protocol::TaskListParams
 Parameters for tasks/list. More...
 
struct  mcp::protocol::Reflect< TaskListParams >
 
struct  mcp::protocol::TaskGetParams
 Parameters for tasks/get. More...
 
struct  mcp::protocol::Reflect< TaskGetParams >
 
struct  mcp::protocol::TaskCancelParams
 Parameters for tasks/cancel. More...
 
struct  mcp::protocol::Reflect< TaskCancelParams >
 
struct  mcp::protocol::TaskListResult
 Result object for tasks/list. More...
 
struct  mcp::protocol::CreateTaskResult
 Result wrapper returned when a feature request creates a task. More...
 
struct  mcp::protocol::TaskGetResult
 Result object for tasks/get with task fields flattened. More...
 
struct  mcp::protocol::TaskCancelResult
 Result object for tasks/cancel with task fields flattened. More...
 
struct  mcp::protocol::TaskGetPayloadResult
 Result object for tasks/result (GetTaskPayloadResult equivalent). More...
 

Typedefs

using mcp::protocol::TaskResultParams = TaskGetParams
 Parameters for tasks/result.
 

Enumerations

enum class  mcp::protocol::TaskStatus {
  Working , InputRequired , Completed , Failed ,
  Cancelled
}
 Lifecycle status for an asynchronous MCP task. More...
 

Functions

std::string mcp::protocol::task_status_to_string (TaskStatus status)
 Converts a task status to its MCP string value.
 
std::optional< TaskStatusmcp::protocol::task_status_from_string (const std::string &value)
 Parses a task status string.
 
 mcp::protocol::CXXMCP_REFLECT_CHECK (TaskRequestParameters, 3)
 
 mcp::protocol::CXXMCP_REFLECT_CHECK (Task, 8)
 
core::Error mcp::protocol::task_json_error (std::string message)
 Builds an InvalidRequest error for task JSON validation failures.
 
Json mcp::protocol::task_request_parameters_to_json (const TaskRequestParameters &parameters)
 Serializes optional task request parameters.
 
core::Result< TaskRequestParametersmcp::protocol::task_request_parameters_from_json (const Json &json)
 Parses optional task request parameters.
 
Json mcp::protocol::task_to_json (const Task &task)
 Serializes a task snapshot.
 
core::Result< Taskmcp::protocol::task_from_json (const Json &json)
 Parses a task snapshot.
 
Json mcp::protocol::task_operation_result_to_json (const Task &task, const std::optional< Json > &meta, const Json &extensions)
 Serializes a flattened task result wrapper.
 
core::Result< TaskGetResultmcp::protocol::task_operation_result_from_json (const Json &json, std::string_view context)
 Parses a flattened task result wrapper.
 
Json mcp::protocol::task_list_params_to_json (const TaskListParams &params)
 Serializes tasks/list params.
 
core::Result< TaskListParamsmcp::protocol::task_list_params_from_json (const Json &json)
 Parses tasks/list params.
 
Json mcp::protocol::task_get_params_to_json (const TaskGetParams &params)
 Serializes tasks/get params.
 
core::Result< TaskGetParamsmcp::protocol::task_get_params_from_json (const Json &json)
 Parses tasks/get params.
 
Json mcp::protocol::task_cancel_params_to_json (const TaskCancelParams &params)
 Serializes tasks/cancel params.
 
core::Result< TaskCancelParamsmcp::protocol::task_cancel_params_from_json (const Json &json)
 Parses tasks/cancel params.
 
Json mcp::protocol::task_result_params_to_json (const TaskResultParams &params)
 Serializes tasks/result params.
 
core::Result< TaskResultParamsmcp::protocol::task_result_params_from_json (const Json &json)
 Parses tasks/result params.
 
Json mcp::protocol::task_list_result_to_json (const TaskListResult &result)
 Serializes a tasks/list result.
 
core::Result< TaskListResultmcp::protocol::task_list_result_from_json (const Json &json)
 Parses a tasks/list result.
 
Json mcp::protocol::task_get_result_to_json (const TaskGetResult &result)
 Serializes a tasks/get result with flattened task fields.
 
core::Result< TaskGetResultmcp::protocol::task_get_result_from_json (const Json &json)
 Parses a tasks/get result with flattened task fields.
 
Json mcp::protocol::task_cancel_result_to_json (const TaskCancelResult &result)
 Serializes a tasks/cancel result with flattened task fields.
 
core::Result< TaskCancelResultmcp::protocol::task_cancel_result_from_json (const Json &json)
 Parses a tasks/cancel result with flattened task fields.
 
Json mcp::protocol::task_get_payload_result_to_json (const TaskGetPayloadResult &result)
 Serializes a tasks/result payload result.
 
core::Result< TaskGetPayloadResultmcp::protocol::task_get_payload_result_from_json (const Json &json)
 Parses a tasks/result payload result.
 
Json mcp::protocol::create_task_result_to_json (const CreateTaskResult &result)
 Serializes a task creation result wrapper.
 
core::Result< CreateTaskResultmcp::protocol::create_task_result_from_json (const Json &json)
 Parses a task creation result wrapper.
 

Detailed Description

Asynchronous task status and task-management payloads.

Task payloads let long-running MCP requests return a task handle and report progress through task status methods or notifications. Feature requests such as tools, sampling, and elicitation may opt into task handling when the peer advertises the corresponding task capability.

Enumeration Type Documentation

◆ TaskStatus

enum class mcp::protocol::TaskStatus
strong

Lifecycle status for an asynchronous MCP task.

Enumerator
Working 

Task is still running.

InputRequired 

Task is blocked waiting for additional input.

Completed 

Task completed successfully.

Failed 

Task failed.

Cancelled 

Task was cancelled.

Function Documentation

◆ create_task_result_from_json()

core::Result< CreateTaskResult > mcp::protocol::create_task_result_from_json ( const Json json)
inline

Parses a task creation result wrapper.

Returns
Parsed result or validation error.

◆ task_cancel_params_from_json()

core::Result< TaskCancelParams > mcp::protocol::task_cancel_params_from_json ( const Json json)
inline

Parses tasks/cancel params.

Returns
Parsed params or validation error.

◆ task_from_json()

core::Result< Task > mcp::protocol::task_from_json ( const Json json)
inline

Parses a task snapshot.

Returns
Parsed task or validation error.

◆ task_get_params_from_json()

core::Result< TaskGetParams > mcp::protocol::task_get_params_from_json ( const Json json)
inline

Parses tasks/get params.

Returns
Parsed params or validation error.

◆ task_get_payload_result_from_json()

core::Result< TaskGetPayloadResult > mcp::protocol::task_get_payload_result_from_json ( const Json json)
inline

Parses a tasks/result payload result.

Returns
Parsed result or validation error.

◆ task_get_payload_result_to_json()

Json mcp::protocol::task_get_payload_result_to_json ( const TaskGetPayloadResult result)
inline

Serializes a tasks/result payload result.

The wire format flattens the payload fields at the top level alongside _meta and any future extension keys.

◆ task_list_params_from_json()

core::Result< TaskListParams > mcp::protocol::task_list_params_from_json ( const Json json)
inline

Parses tasks/list params.

Returns
Parsed params or validation error.

◆ task_list_result_from_json()

core::Result< TaskListResult > mcp::protocol::task_list_result_from_json ( const Json json)
inline

Parses a tasks/list result.

Returns
Parsed result or validation error.

◆ task_request_parameters_from_json()

core::Result< TaskRequestParameters > mcp::protocol::task_request_parameters_from_json ( const Json json)
inline

Parses optional task request parameters.

Returns
Parsed parameters or validation error.

◆ task_result_params_from_json()

core::Result< TaskResultParams > mcp::protocol::task_result_params_from_json ( const Json json)
inline

Parses tasks/result params.

Returns
Parsed params or validation error.

◆ task_status_from_string()

std::optional< TaskStatus > mcp::protocol::task_status_from_string ( const std::string &  value)
inline

Parses a task status string.

Returns
Parsed status, or nullopt for unsupported strings.