Documentation
¶
Index ¶
- Constants
- func GetSchemaType(schemaType pulsar.SchemaType) string
- type AvroConverter
- func (c *AvroConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
- func (c *AvroConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
- func (c *AvroConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
- type BaseConverter
- type BooleanConverter
- func (c *BooleanConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
- func (c *BooleanConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
- func (c *BooleanConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
- type Converter
- type JSONConverter
- func (c *JSONConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
- func (c *JSONConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
- func (c *JSONConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
- type NumberConverter
- func (c *NumberConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
- func (c *NumberConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
- func (c *NumberConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
- type StringConverter
- func (c *StringConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
- func (c *StringConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
- func (c *StringConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
Constants ¶
const (
ParamName = "payload"
)
Variables ¶
This section is empty.
Functions ¶
func GetSchemaType ¶
func GetSchemaType(schemaType pulsar.SchemaType) string
GetSchemaType 返回Schema类型的字符串表示
Types ¶
type AvroConverter ¶
type AvroConverter struct {
BaseConverter
}
func NewAvroConverter ¶
func NewAvroConverter() *AvroConverter
func (*AvroConverter) SerializeMCPRequestToPulsarPayload ¶
func (c *AvroConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
func (*AvroConverter) ToMCPToolInputSchemaProperties ¶
func (c *AvroConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
func (*AvroConverter) ValidateArguments ¶
func (c *AvroConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
type BaseConverter ¶
type BaseConverter struct {
ParamName string
}
type BooleanConverter ¶
type BooleanConverter struct {
BaseConverter
}
BooleanConverter handles the conversion for Pulsar BOOLEAN schemas.
func NewBooleanConverter ¶
func NewBooleanConverter() *BooleanConverter
NewBooleanConverter creates a new instance of BooleanConverter.
func (*BooleanConverter) SerializeMCPRequestToPulsarPayload ¶
func (c *BooleanConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
func (*BooleanConverter) ToMCPToolInputSchemaProperties ¶
func (c *BooleanConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
func (*BooleanConverter) ValidateArguments ¶
func (c *BooleanConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
type Converter ¶
type Converter interface {
ToMCPToolInputSchemaProperties(pulsarSchemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
}
func ConverterFactory ¶
type JSONConverter ¶
type JSONConverter struct {
BaseConverter
}
JSONConverter handles the conversion for Pulsar JSON schemas. It relies on the underlying AVRO schema definition for structure and validation, but serializes to a standard JSON text payload.
func NewJSONConverter ¶
func NewJSONConverter() *JSONConverter
NewJSONConverter creates a new instance of JSONConverter.
func (*JSONConverter) SerializeMCPRequestToPulsarPayload ¶
func (c *JSONConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
SerializeMCPRequestToPulsarPayload validates arguments against the underlying AVRO schema definition and then serializes them to a JSON text payload for Pulsar.
func (*JSONConverter) ToMCPToolInputSchemaProperties ¶
func (c *JSONConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
ToMCPToolInputSchemaProperties converts the Pulsar JSON SchemaInfo (which is AVRO based) to MCP tool input schema properties.
func (*JSONConverter) ValidateArguments ¶
func (c *JSONConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
ValidateArguments validates the given arguments against the Pulsar JSON SchemaInfo's underlying AVRO schema definition.
type NumberConverter ¶
type NumberConverter struct {
BaseConverter
}
NumberConverter handles the conversion for Pulsar numeric schemas (INT8, INT16, INT32, INT64, FLOAT, DOUBLE).
func NewNumberConverter ¶
func NewNumberConverter() *NumberConverter
NewNumberConverter creates a new instance of NumberConverter.
func (*NumberConverter) SerializeMCPRequestToPulsarPayload ¶
func (c *NumberConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
func (*NumberConverter) ToMCPToolInputSchemaProperties ¶
func (c *NumberConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
func (*NumberConverter) ValidateArguments ¶
func (c *NumberConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error
type StringConverter ¶
type StringConverter struct {
BaseConverter
}
StringConverter handles the conversion for Pulsar STRING schemas.
func NewStringConverter ¶
func NewStringConverter() *StringConverter
NewStringConverter creates a new instance of StringConverter.
func (*StringConverter) SerializeMCPRequestToPulsarPayload ¶
func (c *StringConverter) SerializeMCPRequestToPulsarPayload(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) ([]byte, error)
func (*StringConverter) ToMCPToolInputSchemaProperties ¶
func (c *StringConverter) ToMCPToolInputSchemaProperties(schemaInfo *cliutils.SchemaInfo) ([]mcp.ToolOption, error)
func (*StringConverter) ValidateArguments ¶
func (c *StringConverter) ValidateArguments(arguments map[string]any, targetPulsarSchemaInfo *cliutils.SchemaInfo) error