cxxmcp 1.1.6
C++ MCP SDK
Loading...
Searching...
No Matches
mcp::protocol::ElicitationSchema::Builder Class Reference

Fluent builder for valid elicitation object schemas. More...

#include <elicitation.hpp>

Public Member Functions

Buildertitle (std::string value)
 Sets the optional form title.
 
Builderdescription (std::string value)
 Sets the optional form description.
 
Builderrequired_string (std::string name, std::optional< std::string > default_value=std::nullopt, std::optional< std::string > format=std::nullopt)
 Adds a required string field.
 
Builderoptional_string (std::string name, std::optional< std::string > default_value=std::nullopt, std::optional< std::string > format=std::nullopt)
 Adds an optional string field.
 
Builderrequired_number (std::string name, std::optional< double > minimum=std::nullopt, std::optional< double > maximum=std::nullopt, std::optional< double > default_value=std::nullopt)
 Adds a required number field.
 
Builderoptional_number (std::string name, std::optional< double > minimum=std::nullopt, std::optional< double > maximum=std::nullopt, std::optional< double > default_value=std::nullopt)
 Adds an optional number field.
 
Builderrequired_integer (std::string name, std::optional< std::int64_t > minimum=std::nullopt, std::optional< std::int64_t > maximum=std::nullopt, std::optional< std::int64_t > default_value=std::nullopt)
 Adds a required integer field.
 
Builderoptional_integer (std::string name, std::optional< std::int64_t > minimum=std::nullopt, std::optional< std::int64_t > maximum=std::nullopt, std::optional< std::int64_t > default_value=std::nullopt)
 Adds an optional integer field.
 
Builderrequired_bool (std::string name, std::optional< bool > default_value=std::nullopt)
 Adds a required boolean field.
 
Builderoptional_bool (std::string name, std::optional< bool > default_value=std::nullopt)
 Adds an optional boolean field.
 
Builderrequired_email (std::string name, std::optional< std::string > default_value=std::nullopt)
 Adds a required string field with email format.
 
Builderoptional_email (std::string name, std::optional< std::string > default_value=std::nullopt)
 Adds an optional string field with email format.
 
Builderrequired_enum (std::string name, std::vector< std::string > values, std::optional< std::string > default_value=std::nullopt)
 Adds a required string enum field.
 
Builderoptional_enum (std::string name, std::vector< std::string > values, std::optional< std::string > default_value=std::nullopt)
 Adds an optional string enum field.
 
Builderrequired_property (std::string name, PrimitiveSchema schema)
 Adds a required property with a pre-built primitive schema.
 
Builderoptional_property (std::string name, PrimitiveSchema schema)
 Adds an optional property with a pre-built primitive schema.
 
core::Result< ElicitationSchemabuild () const
 Builds the schema after validation.
 

Detailed Description

Fluent builder for valid elicitation object schemas.

The builder adds primitive fields and tracks required field names. The final build step rejects empty schemas because form elicitation requires at least one requested property.

Member Function Documentation

◆ build()

core::Result< ElicitationSchema > mcp::protocol::ElicitationSchema::Builder::build ( ) const
inline

Builds the schema after validation.

Builds the final elicitation schema.

Returns
Schema or an error when no properties were added.

The documentation for this class was generated from the following file: