Documentation
¶
Index ¶
- Constants
- func CheckDuplicateParameters(ps Parameters) error
- func CheckParamRequired(required bool, defaultV any) bool
- func ConvertAnySliceToTyped(s []any, itemType string) (any, error)
- func ConvertArrayParamToString(param any) (string, error)
- func MatchStringOrRegex(input, target any) bool
- func PopulateTemplate(templateName, templateString string, data map[string]any) (string, error)
- func PopulateTemplateWithFunc(templateName, templateString string, data map[string]any, ...) (string, error)
- func PopulateTemplateWithJSON(templateName, templateString string, data map[string]any) (string, error)
- func ProcessParameters(templateParams Parameters, params Parameters) (Parameters, []ParameterManifest, error)
- func ResolveTemplateParams(templateParams Parameters, originalStatement string, paramsMap map[string]any) (string, error)
- type ArrayParameter
- func NewArrayParameter(name string, desc string, items Parameter) *ArrayParameter
- func NewArrayParameterWithAllowedValues(name string, desc string, allowedValues []any, items Parameter) *ArrayParameter
- func NewArrayParameterWithAuth(name string, desc string, items Parameter, authServices []ParamAuthService) *ArrayParameter
- func NewArrayParameterWithDefault(name string, defaultV []any, desc string, items Parameter) *ArrayParameter
- func NewArrayParameterWithExcludedValues(name string, desc string, excludedValues []any, items Parameter) *ArrayParameter
- func NewArrayParameterWithRequired(name string, desc string, required bool, items Parameter) *ArrayParameter
- func (p *ArrayParameter) GetAuthServices() []ParamAuthService
- func (p *ArrayParameter) GetDefault() any
- func (p *ArrayParameter) GetItems() Parameter
- func (p *ArrayParameter) IsAllowedValues(v []any) bool
- func (p *ArrayParameter) IsExcludedValues(v []any) bool
- func (p *ArrayParameter) Manifest() ParameterManifest
- func (p *ArrayParameter) McpManifest() (ParameterMcpManifest, []string)
- func (p *ArrayParameter) Parse(v any) (any, error)
- func (p *ArrayParameter) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error
- type BooleanParameter
- func NewBooleanParameter(name string, desc string) *BooleanParameter
- func NewBooleanParameterWithAllowedValues(name string, desc string, allowedValues []any) *BooleanParameter
- func NewBooleanParameterWithAuth(name string, desc string, authServices []ParamAuthService) *BooleanParameter
- func NewBooleanParameterWithDefault(name string, defaultV bool, desc string) *BooleanParameter
- func NewBooleanParameterWithExcludedValues(name string, desc string, excludedValues []any) *BooleanParameter
- func NewBooleanParameterWithRequired(name string, desc string, required bool) *BooleanParameter
- type CommonParameter
- func (p *CommonParameter) GetAllowedValues() []any
- func (p *CommonParameter) GetEmbeddedBy() string
- func (p *CommonParameter) GetExcludedValues() []any
- func (p *CommonParameter) GetName() string
- func (p *CommonParameter) GetRequired() bool
- func (p *CommonParameter) GetType() string
- func (p *CommonParameter) GetValueFromParam() string
- func (p *CommonParameter) IsAllowedValues(v any) bool
- func (p *CommonParameter) IsExcludedValues(v any) bool
- func (p *CommonParameter) McpManifest() (ParameterMcpManifest, []string)
- type FloatParameter
- func NewFloatParameter(name string, desc string) *FloatParameter
- func NewFloatParameterWithAllowedValues(name string, desc string, allowedValues []any) *FloatParameter
- func NewFloatParameterWithAuth(name string, desc string, authServices []ParamAuthService) *FloatParameter
- func NewFloatParameterWithDefault(name string, defaultV float64, desc string) *FloatParameter
- func NewFloatParameterWithExcludedValues(name string, desc string, excludedValues []any) *FloatParameter
- func NewFloatParameterWithRange(name string, desc string, minValue *float64, maxValue *float64) *FloatParameter
- func NewFloatParameterWithRequired(name string, desc string, required bool) *FloatParameter
- type IntParameter
- func NewIntParameter(name string, desc string) *IntParameter
- func NewIntParameterWithAllowedValues(name string, desc string, allowedValues []any) *IntParameter
- func NewIntParameterWithAuth(name string, desc string, authServices []ParamAuthService) *IntParameter
- func NewIntParameterWithDefault(name string, defaultV int, desc string) *IntParameter
- func NewIntParameterWithExcludedValues(name string, desc string, excludedValues []any) *IntParameter
- func NewIntParameterWithRange(name string, desc string, minValue *int, maxValue *int) *IntParameter
- func NewIntParameterWithRequired(name string, desc string, required bool) *IntParameter
- type MapParameter
- func NewMapParameter(name string, desc string, valueType string) *MapParameter
- func NewMapParameterWithAllowedValues(name string, desc string, allowedValues []any, valueType string) *MapParameter
- func NewMapParameterWithAuth(name string, desc string, valueType string, authServices []ParamAuthService) *MapParameter
- func NewMapParameterWithDefault(name string, defaultV map[string]any, desc string, valueType string) *MapParameter
- func NewMapParameterWithExcludedValues(name string, desc string, excludedValues []any, valueType string) *MapParameter
- func NewMapParameterWithRequired(name string, desc string, required bool, valueType string) *MapParameter
- func (p *MapParameter) GetAuthServices() []ParamAuthService
- func (p *MapParameter) GetDefault() any
- func (p *MapParameter) GetValueType() string
- func (p *MapParameter) IsAllowedValues(v map[string]any) bool
- func (p *MapParameter) IsExcludedValues(v map[string]any) bool
- func (p *MapParameter) Manifest() ParameterManifest
- func (p *MapParameter) McpManifest() (ParameterMcpManifest, []string)
- func (p *MapParameter) Parse(v any) (any, error)
- func (p *MapParameter) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error
- type McpToolsSchema
- type ParamAuthService
- type ParamValue
- type ParamValues
- func EmbedParams(ctx context.Context, ps Parameters, paramValues ParamValues, ...) (ParamValues, error)
- func GetParams(params Parameters, paramValuesMap map[string]any) (ParamValues, error)
- func ParseParams(ps Parameters, data map[string]any, claimsMap map[string]map[string]any) (ParamValues, error)
- type Parameter
- type ParameterManifest
- type ParameterMcpManifest
- type Parameters
- type ParseTypeError
- type StringParameter
- func NewStringParameter(name string, desc string) *StringParameter
- func NewStringParameterWithAllowedValues(name string, desc string, allowedValues []any) *StringParameter
- func NewStringParameterWithAuth(name string, desc string, authServices []ParamAuthService) *StringParameter
- func NewStringParameterWithDefault(name string, defaultV, desc string) *StringParameter
- func NewStringParameterWithEscape(name, desc, escape string) *StringParameter
- func NewStringParameterWithExcludedValues(name string, desc string, excludedValues []any) *StringParameter
- func NewStringParameterWithRequired(name string, desc string, required bool) *StringParameter
Constants ¶
const ( TypeString = "string" TypeInt = "integer" TypeFloat = "float" TypeBool = "boolean" TypeArray = "array" TypeMap = "map" )
Variables ¶
This section is empty.
Functions ¶
func CheckDuplicateParameters ¶
func CheckDuplicateParameters(ps Parameters) error
CheckDuplicateParameters verify there are no duplicate parameter names
func CheckParamRequired ¶
CheckParamRequired checks if a parameter is required based on the required and default field.
func ConvertAnySliceToTyped ¶
ConvertAnySliceToTyped a []any to typed slice ([]string, []int, []float etc.)
func ConvertArrayParamToString ¶
helper function to convert a string array parameter to a comma separated string
func MatchStringOrRegex ¶
MatchStringOrRegex checks if the input matches the target
func PopulateTemplate ¶
PopulateTemplate populate a Go template with no custom formatters
func PopulateTemplateWithFunc ¶
func PopulateTemplateWithFunc(templateName, templateString string, data map[string]any, funcMap template.FuncMap) (string, error)
PopulateTemplateWithFunc populate a Go template with provided functions
func PopulateTemplateWithJSON ¶
func PopulateTemplateWithJSON(templateName, templateString string, data map[string]any) (string, error)
PopulateTemplateWithJSON populate a Go template with a custom `json` array formatter
func ProcessParameters ¶
func ProcessParameters(templateParams Parameters, params Parameters) (Parameters, []ParameterManifest, error)
ProcessParameters concatenate templateParameters and parameters from a tool. It returns a list of concatenated parameters, concatenated Toolbox manifest, and concatenated MCP Manifest.
func ResolveTemplateParams ¶
Types ¶
type ArrayParameter ¶
type ArrayParameter struct {
CommonParameter `yaml:",inline"`
Default *[]any `yaml:"default"`
Items Parameter `yaml:"items"`
}
ArrayParameter is a parameter representing the "array" type.
func NewArrayParameter ¶
func NewArrayParameter(name string, desc string, items Parameter) *ArrayParameter
NewArrayParameter is a convenience function for initializing a ArrayParameter.
func NewArrayParameterWithAllowedValues ¶
func NewArrayParameterWithAllowedValues(name string, desc string, allowedValues []any, items Parameter) *ArrayParameter
NewArrayParameterWithAllowedValues is a convenience function for initializing a ArrayParameter with a list of allowed values.
func NewArrayParameterWithAuth ¶
func NewArrayParameterWithAuth(name string, desc string, items Parameter, authServices []ParamAuthService) *ArrayParameter
NewArrayParameterWithAuth is a convenience function for initializing a ArrayParameter with a list of ParamAuthService.
func NewArrayParameterWithDefault ¶
func NewArrayParameterWithDefault(name string, defaultV []any, desc string, items Parameter) *ArrayParameter
NewArrayParameterWithDefault is a convenience function for initializing a ArrayParameter with default value.
func NewArrayParameterWithExcludedValues ¶
func NewArrayParameterWithExcludedValues(name string, desc string, excludedValues []any, items Parameter) *ArrayParameter
NewArrayParameterWithExcludedValues is a convenience function for initializing a ArrayParameter with a list of excluded values.
func NewArrayParameterWithRequired ¶
func NewArrayParameterWithRequired(name string, desc string, required bool, items Parameter) *ArrayParameter
NewArrayParameterWithRequired is a convenience function for initializing a ArrayParameter with default value.
func (*ArrayParameter) GetAuthServices ¶
func (p *ArrayParameter) GetAuthServices() []ParamAuthService
func (*ArrayParameter) GetDefault ¶
func (p *ArrayParameter) GetDefault() any
func (*ArrayParameter) GetItems ¶
func (p *ArrayParameter) GetItems() Parameter
func (*ArrayParameter) IsAllowedValues ¶
func (p *ArrayParameter) IsAllowedValues(v []any) bool
func (*ArrayParameter) IsExcludedValues ¶
func (p *ArrayParameter) IsExcludedValues(v []any) bool
func (*ArrayParameter) Manifest ¶
func (p *ArrayParameter) Manifest() ParameterManifest
Manifest returns the manifest for the ArrayParameter.
func (*ArrayParameter) McpManifest ¶
func (p *ArrayParameter) McpManifest() (ParameterMcpManifest, []string)
McpManifest returns the MCP manifest for the ArrayParameter.
func (*ArrayParameter) UnmarshalYAML ¶
func (p *ArrayParameter) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error
type BooleanParameter ¶
type BooleanParameter struct {
CommonParameter `yaml:",inline"`
Default *bool `yaml:"default"`
}
BooleanParameter is a parameter representing the "boolean" type.
func NewBooleanParameter ¶
func NewBooleanParameter(name string, desc string) *BooleanParameter
NewBooleanParameter is a convenience function for initializing a BooleanParameter.
func NewBooleanParameterWithAllowedValues ¶
func NewBooleanParameterWithAllowedValues(name string, desc string, allowedValues []any) *BooleanParameter
NewBooleanParameterWithAllowedValues is a convenience function for initializing a BooleanParameter with a list of allowed values.
func NewBooleanParameterWithAuth ¶
func NewBooleanParameterWithAuth(name string, desc string, authServices []ParamAuthService) *BooleanParameter
NewBooleanParameterWithAuth is a convenience function for initializing a BooleanParameter with a list of ParamAuthService.
func NewBooleanParameterWithDefault ¶
func NewBooleanParameterWithDefault(name string, defaultV bool, desc string) *BooleanParameter
NewBooleanParameterWithDefault is a convenience function for initializing a BooleanParameter with default value.
func NewBooleanParameterWithExcludedValues ¶
func NewBooleanParameterWithExcludedValues(name string, desc string, excludedValues []any) *BooleanParameter
NewBooleanParameterWithExcludedValues is a convenience function for initializing a BooleanParameter with a list of excluded values.
func NewBooleanParameterWithRequired ¶
func NewBooleanParameterWithRequired(name string, desc string, required bool) *BooleanParameter
NewBooleanParameterWithRequired is a convenience function for initializing a BooleanParameter.
func (*BooleanParameter) GetAuthServices ¶
func (p *BooleanParameter) GetAuthServices() []ParamAuthService
func (*BooleanParameter) GetDefault ¶
func (p *BooleanParameter) GetDefault() any
func (*BooleanParameter) Manifest ¶
func (p *BooleanParameter) Manifest() ParameterManifest
Manifest returns the manifest for the BooleanParameter.
type CommonParameter ¶
type CommonParameter struct {
Name string `yaml:"name" validate:"required"`
Type string `yaml:"type" validate:"required"`
Desc string `yaml:"description" validate:"required"`
Required *bool `yaml:"required"`
AllowedValues []any `yaml:"allowedValues"`
ExcludedValues []any `yaml:"excludedValues"`
AuthServices []ParamAuthService `yaml:"authServices"`
AuthSources []ParamAuthService `yaml:"authSources"` // Deprecated: Kept for compatibility.
EmbeddedBy string `yaml:"embeddedBy"`
ValueFromParam string `yaml:"valueFromParam"`
}
CommonParameter are default fields that are emebdding in most Parameter implementations. Embedding this stuct will give the object Name() and Type() functions.
func (*CommonParameter) GetAllowedValues ¶
func (p *CommonParameter) GetAllowedValues() []any
GetAllowedValues returns the allowed values for the Parameter.
func (*CommonParameter) GetEmbeddedBy ¶ added in v0.25.0
func (p *CommonParameter) GetEmbeddedBy() string
GetEmbeddedBy returns the embedding model name for the Parameter.
func (*CommonParameter) GetExcludedValues ¶
func (p *CommonParameter) GetExcludedValues() []any
GetExcludedValues returns the excluded values for the Parameter.
func (*CommonParameter) GetName ¶
func (p *CommonParameter) GetName() string
GetName returns the name specified for the Parameter.
func (*CommonParameter) GetRequired ¶
func (p *CommonParameter) GetRequired() bool
GetRequired returns the type specified for the Parameter.
func (*CommonParameter) GetType ¶
func (p *CommonParameter) GetType() string
GetType returns the type specified for the Parameter.
func (*CommonParameter) GetValueFromParam ¶ added in v0.26.0
func (p *CommonParameter) GetValueFromParam() string
GetValueFromParam returns the param value to copy from.
func (*CommonParameter) IsAllowedValues ¶
func (p *CommonParameter) IsAllowedValues(v any) bool
IsAllowedValues checks if the value is allowed.
func (*CommonParameter) IsExcludedValues ¶
func (p *CommonParameter) IsExcludedValues(v any) bool
IsExcludedValues checks if the value is allowed.
func (*CommonParameter) McpManifest ¶
func (p *CommonParameter) McpManifest() (ParameterMcpManifest, []string)
McpManifest returns the MCP manifest for the Parameter.
type FloatParameter ¶
type FloatParameter struct {
CommonParameter `yaml:",inline"`
Default *float64 `yaml:"default"`
MinValue *float64 `yaml:"minValue"`
MaxValue *float64 `yaml:"maxValue"`
}
FloatParameter is a parameter representing the "float" type.
func NewFloatParameter ¶
func NewFloatParameter(name string, desc string) *FloatParameter
NewFloatParameter is a convenience function for initializing a FloatParameter.
func NewFloatParameterWithAllowedValues ¶
func NewFloatParameterWithAllowedValues(name string, desc string, allowedValues []any) *FloatParameter
NewFloatParameterWithAllowedValues is a convenience function for initializing a FloatParameter with a list of allowed values.
func NewFloatParameterWithAuth ¶
func NewFloatParameterWithAuth(name string, desc string, authServices []ParamAuthService) *FloatParameter
NewFloatParameterWithAuth is a convenience function for initializing a FloatParameter with a list of ParamAuthService.
func NewFloatParameterWithDefault ¶
func NewFloatParameterWithDefault(name string, defaultV float64, desc string) *FloatParameter
NewFloatParameterWithDefault is a convenience function for initializing a FloatParameter with default value.
func NewFloatParameterWithExcludedValues ¶
func NewFloatParameterWithExcludedValues(name string, desc string, excludedValues []any) *FloatParameter
NewFloatParameterWithExcludedValues is a convenience function for initializing a FloatParameter with a list of excluded values.
func NewFloatParameterWithRange ¶
func NewFloatParameterWithRange(name string, desc string, minValue *float64, maxValue *float64) *FloatParameter
NewFloatParameterWithRange is a convenience function for initializing a FloatParameter.
func NewFloatParameterWithRequired ¶
func NewFloatParameterWithRequired(name string, desc string, required bool) *FloatParameter
NewFloatParameterWithRequired is a convenience function for initializing a FloatParameter.
func (*FloatParameter) GetAuthServices ¶
func (p *FloatParameter) GetAuthServices() []ParamAuthService
func (*FloatParameter) GetDefault ¶
func (p *FloatParameter) GetDefault() any
func (*FloatParameter) Manifest ¶
func (p *FloatParameter) Manifest() ParameterManifest
Manifest returns the manifest for the FloatParameter.
func (*FloatParameter) McpManifest ¶
func (p *FloatParameter) McpManifest() (ParameterMcpManifest, []string)
McpManifest returns the MCP manifest for the FloatParameter. json schema only allow numeric types of 'integer' and 'number'.
type IntParameter ¶
type IntParameter struct {
CommonParameter `yaml:",inline"`
Default *int `yaml:"default"`
MinValue *int `yaml:"minValue"`
MaxValue *int `yaml:"maxValue"`
}
IntParameter is a parameter representing the "int" type.
func NewIntParameter ¶
func NewIntParameter(name string, desc string) *IntParameter
NewIntParameter is a convenience function for initializing a IntParameter.
func NewIntParameterWithAllowedValues ¶
func NewIntParameterWithAllowedValues(name string, desc string, allowedValues []any) *IntParameter
NewIntParameterWithAllowedValues is a convenience function for initializing a IntParameter with a list of allowedValues
func NewIntParameterWithAuth ¶
func NewIntParameterWithAuth(name string, desc string, authServices []ParamAuthService) *IntParameter
NewIntParameterWithAuth is a convenience function for initializing a IntParameter with a list of ParamAuthService.
func NewIntParameterWithDefault ¶
func NewIntParameterWithDefault(name string, defaultV int, desc string) *IntParameter
NewIntParameterWithDefault is a convenience function for initializing a IntParameter with default value.
func NewIntParameterWithExcludedValues ¶
func NewIntParameterWithExcludedValues(name string, desc string, excludedValues []any) *IntParameter
NewIntParameterWithExcludedValues is a convenience function for initializing a IntParameter with a list of excludedValues
func NewIntParameterWithRange ¶
func NewIntParameterWithRange(name string, desc string, minValue *int, maxValue *int) *IntParameter
NewIntParameterWithRange is a convenience function for initializing a IntParameter.
func NewIntParameterWithRequired ¶
func NewIntParameterWithRequired(name string, desc string, required bool) *IntParameter
NewIntParameterWithRequired is a convenience function for initializing a IntParameter.
func (*IntParameter) GetAuthServices ¶
func (p *IntParameter) GetAuthServices() []ParamAuthService
func (*IntParameter) GetDefault ¶
func (p *IntParameter) GetDefault() any
func (*IntParameter) Manifest ¶
func (p *IntParameter) Manifest() ParameterManifest
Manifest returns the manifest for the IntParameter.
type MapParameter ¶
type MapParameter struct {
CommonParameter `yaml:",inline"`
Default *map[string]any `yaml:"default,omitempty"`
ValueType string `yaml:"valueType,omitempty"`
}
MapParameter is a parameter representing a map with string keys. If ValueType is specified (e.g., "string"), values are validated against that type. If ValueType is empty, it is treated as a generic map[string]any.
func NewMapParameter ¶
func NewMapParameter(name string, desc string, valueType string) *MapParameter
NewMapParameter is a convenience function for initializing a MapParameter.
func NewMapParameterWithAllowedValues ¶
func NewMapParameterWithAllowedValues(name string, desc string, allowedValues []any, valueType string) *MapParameter
NewMapParameterWithAllowedValues is a convenience function for initializing a MapParameter with a list of allowed values.
func NewMapParameterWithAuth ¶
func NewMapParameterWithAuth(name string, desc string, valueType string, authServices []ParamAuthService) *MapParameter
NewMapParameterWithAuth is a convenience function for initializing a MapParameter with auth services.
func NewMapParameterWithDefault ¶
func NewMapParameterWithDefault(name string, defaultV map[string]any, desc string, valueType string) *MapParameter
NewMapParameterWithDefault is a convenience function for initializing a MapParameter with a default value.
func NewMapParameterWithExcludedValues ¶
func NewMapParameterWithExcludedValues(name string, desc string, excludedValues []any, valueType string) *MapParameter
NewMapParameterWithExcludedValues is a convenience function for initializing a MapParameter with a list of excluded values.
func NewMapParameterWithRequired ¶
func NewMapParameterWithRequired(name string, desc string, required bool, valueType string) *MapParameter
NewMapParameterWithRequired is a convenience function for initializing a MapParameter as required.
func (*MapParameter) GetAuthServices ¶
func (p *MapParameter) GetAuthServices() []ParamAuthService
func (*MapParameter) GetDefault ¶
func (p *MapParameter) GetDefault() any
func (*MapParameter) GetValueType ¶
func (p *MapParameter) GetValueType() string
func (*MapParameter) IsAllowedValues ¶
func (p *MapParameter) IsAllowedValues(v map[string]any) bool
func (*MapParameter) IsExcludedValues ¶
func (p *MapParameter) IsExcludedValues(v map[string]any) bool
func (*MapParameter) Manifest ¶
func (p *MapParameter) Manifest() ParameterManifest
Manifest returns the manifest for the MapParameter.
func (*MapParameter) McpManifest ¶
func (p *MapParameter) McpManifest() (ParameterMcpManifest, []string)
McpManifest returns the MCP manifest for the MapParameter.
func (*MapParameter) Parse ¶
func (p *MapParameter) Parse(v any) (any, error)
Parse validates and parses an incoming value for the map parameter.
func (*MapParameter) UnmarshalYAML ¶
func (p *MapParameter) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error
UnmarshalYAML handles parsing the MapParameter from YAML input.
type McpToolsSchema ¶
type McpToolsSchema struct {
Type string `json:"type"`
Properties map[string]ParameterMcpManifest `json:"properties"`
Required []string `json:"required"`
}
McpToolsSchema is the representation of input schema for McpManifest.
type ParamAuthService ¶
type ParamValue ¶
ParamValue represents the parameter's name and value.
type ParamValues ¶
type ParamValues []ParamValue
ParamValues is an ordered list of ParamValue
func EmbedParams ¶ added in v0.25.0
func EmbedParams(ctx context.Context, ps Parameters, paramValues ParamValues, embeddingModelsMap map[string]embeddingmodels.EmbeddingModel, formatter embeddingmodels.VectorFormatter) (ParamValues, error)
func GetParams ¶
func GetParams(params Parameters, paramValuesMap map[string]any) (ParamValues, error)
GetParams return the ParamValues that are associated with the Parameters.
func ParseParams ¶
func ParseParams(ps Parameters, data map[string]any, claimsMap map[string]map[string]any) (ParamValues, error)
ParseParams is a helper function for parsing Parameters from an arbitraryJSON object.
func (ParamValues) AsMap ¶
func (p ParamValues) AsMap() map[string]interface{}
AsMap returns a map of ParamValue's names to values.
func (ParamValues) AsMapByOrderedKeys ¶
func (p ParamValues) AsMapByOrderedKeys() map[string]interface{}
AsMapByOrderedKeys returns a map of a key's position to it's value, as necessary for Spanner PSQL. Example { $1 -> "value1", $2 -> "value2" }
func (ParamValues) AsMapWithDollarPrefix ¶
func (p ParamValues) AsMapWithDollarPrefix() map[string]interface{}
AsMapWithDollarPrefix ensures all keys are prefixed with a dollar sign for Dgraph. Example: Input: {"role": "admin", "$age": 30} Output: {"$role": "admin", "$age": 30}
func (ParamValues) AsSlice ¶
func (p ParamValues) AsSlice() []any
AsSlice returns a slice of the Param's values (in order).
type Parameter ¶
type Parameter interface {
// Note: It's typically not idiomatic to include "Get" in the function name,
// but this is done to differentiate it from the fields in CommonParameter.
GetName() string
GetType() string
GetDefault() any
GetRequired() bool
GetAuthServices() []ParamAuthService
GetEmbeddedBy() string
GetValueFromParam() string
Parse(any) (any, error)
Manifest() ParameterManifest
McpManifest() (ParameterMcpManifest, []string)
}
type ParameterManifest ¶
type ParameterManifest struct {
Name string `json:"name"`
Type string `json:"type"`
Required bool `json:"required"`
Description string `json:"description"`
AuthServices []string `json:"authSources"`
Items *ParameterManifest `json:"items,omitempty"`
Default any `json:"default,omitempty"`
AdditionalProperties any `json:"additionalProperties,omitempty"`
EmbeddedBy string `json:"embeddedBy,omitempty"`
ValueFromParam string `json:"valueFromParam,omitempty"`
}
ParameterManifest represents parameters when served as part of a ToolManifest.
type ParameterMcpManifest ¶
type ParameterMcpManifest struct {
Type string `json:"type"`
Description string `json:"description"`
Items *ParameterMcpManifest `json:"items,omitempty"`
Default any `json:"default,omitempty"`
AdditionalProperties any `json:"additionalProperties,omitempty"`
}
ParameterMcpManifest represents properties when served as part of a ToolMcpManifest.
type Parameters ¶
type Parameters []Parameter
Parameters is a type used to allow unmarshal a list of parameters
func (Parameters) Manifest ¶
func (ps Parameters) Manifest() []ParameterManifest
func (Parameters) McpManifest ¶
func (ps Parameters) McpManifest() (McpToolsSchema, map[string][]string)
func (*Parameters) UnmarshalYAML ¶
func (c *Parameters) UnmarshalYAML(ctx context.Context, unmarshal func(interface{}) error) error
type ParseTypeError ¶
ParseTypeError is a custom error for incorrectly typed Parameters.
func (ParseTypeError) Error ¶
func (e ParseTypeError) Error() string
type StringParameter ¶
type StringParameter struct {
CommonParameter `yaml:",inline"`
Default *string `yaml:"default"`
Escape *string `yaml:"escape"`
}
StringParameter is a parameter representing the "string" type.
func NewStringParameter ¶
func NewStringParameter(name string, desc string) *StringParameter
NewStringParameter is a convenience function for initializing a StringParameter.
func NewStringParameterWithAllowedValues ¶
func NewStringParameterWithAllowedValues(name string, desc string, allowedValues []any) *StringParameter
NewStringParameterWithAllowedValues is a convenience function for initializing a StringParameter with a list of allowedValues
func NewStringParameterWithAuth ¶
func NewStringParameterWithAuth(name string, desc string, authServices []ParamAuthService) *StringParameter
NewStringParameterWithAuth is a convenience function for initializing a StringParameter with a list of ParamAuthService.
func NewStringParameterWithDefault ¶
func NewStringParameterWithDefault(name string, defaultV, desc string) *StringParameter
NewStringParameterWithDefault is a convenience function for initializing a StringParameter with default value.
func NewStringParameterWithEscape ¶
func NewStringParameterWithEscape(name, desc, escape string) *StringParameter
NewStringParameterWithEscape is a convenience function for initializing a StringParameter.
func NewStringParameterWithExcludedValues ¶
func NewStringParameterWithExcludedValues(name string, desc string, excludedValues []any) *StringParameter
NewStringParameterWithExcludedValues is a convenience function for initializing a StringParameter with a list of excludedValues
func NewStringParameterWithRequired ¶
func NewStringParameterWithRequired(name string, desc string, required bool) *StringParameter
NewStringParameterWithRequired is a convenience function for initializing a StringParameter.
func (*StringParameter) GetAuthServices ¶
func (p *StringParameter) GetAuthServices() []ParamAuthService
func (*StringParameter) GetDefault ¶
func (p *StringParameter) GetDefault() any
func (*StringParameter) Manifest ¶
func (p *StringParameter) Manifest() ParameterManifest
Manifest returns the manifest for the StringParameter.