Documentation
¶
Index ¶
- func IsValidName(s string) bool
- type ArrayParameter
- type BooleanParameter
- type CommonParameter
- type FloatParameter
- type IntParameter
- type Manifest
- type ParamValue
- type ParamValues
- type Parameter
- type ParameterManifest
- type Parameters
- type ParseTypeError
- type StringParameter
- type Tool
- type ToolConfig
- type Toolset
- type ToolsetConfig
- type ToolsetManifest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsValidName ¶
Types ¶
type ArrayParameter ¶
type ArrayParameter struct {
CommonParameter `yaml:",inline"`
Items Parameter `yaml:"items"`
}
ArrayParameter is a parameter representing the "array" type.
func NewArrayParameter ¶
func NewArrayParameter(name, desc string, items Parameter) *ArrayParameter
NewArrayParameter is a convenience function for initializing an ArrayParameter.
func (*ArrayParameter) UnmarshalYAML ¶
func (p *ArrayParameter) UnmarshalYAML(node *yaml.Node) error
type BooleanParameter ¶
type BooleanParameter struct {
CommonParameter `yaml:",inline"`
}
BooleanParameter is a parameter representing the "boolean" type.
func NewBooleanParameter ¶
func NewBooleanParameter(name, desc string) *BooleanParameter
NewBooleanParameter is a convenience function for initializing a BooleanParameter.
type CommonParameter ¶
type CommonParameter struct {
Name string `yaml:"name"`
Type string `yaml:"type"`
Desc string `yaml:"description"`
}
CommonParameter are default fields that are emebdding in most Parameter implementations. Embedding this stuct will give the object Name() and Type() functions.
func (*CommonParameter) GetName ¶
func (p *CommonParameter) GetName() string
GetName returns the name specified for the Parameter.
func (*CommonParameter) GetType ¶
func (p *CommonParameter) GetType() string
GetType returns the type specified for the Parameter.
func (*CommonParameter) Manifest ¶
func (p *CommonParameter) Manifest() ParameterManifest
GetType returns the type specified for the Parameter.
type FloatParameter ¶
type FloatParameter struct {
CommonParameter `yaml:",inline"`
}
FloatParameter is a parameter representing the "float" type.
func NewFloatParameter ¶
func NewFloatParameter(name, desc string) *FloatParameter
NewFloatParameter is a convenience function for initializing a FloatParameter.
type IntParameter ¶
type IntParameter struct {
CommonParameter `yaml:",inline"`
}
IntParameter is a parameter representing the "int" type.
func NewIntParameter ¶
func NewIntParameter(name, desc string) *IntParameter
NewIntParameter is a convenience function for initializing a IntParameter.
type Manifest ¶ added in v0.0.2
type Manifest struct {
Description string `json:"description"`
Parameters []ParameterManifest `json:"parameters"`
}
Manifest is the representation of tools sent to Client SDKs.
type ParamValue ¶ added in v0.0.3
ParamValue represents the parameter's name and value.
type ParamValues ¶ added in v0.0.3
type ParamValues []ParamValue
ParamValues is an ordered list of ParamValue
func ParseParams ¶
func ParseParams(ps Parameters, data map[string]any) (ParamValues, error)
ParseParams parses specified Parameters from data and returns them as ParamValues.
func (ParamValues) AsMap ¶ added in v0.0.3
func (p ParamValues) AsMap() map[string]interface{}
AsMap returns a map of ParamValue's names to values.
func (ParamValues) AsMapByOrderedKeys ¶ added in v0.0.3
func (p ParamValues) AsMapByOrderedKeys() map[string]interface{}
AsMapByOrderedKeys returns a map of a key's position to it's value, as neccesary for Spanner PSQL. Example { $1 -> "value1", $2 -> "value2" }
func (ParamValues) AsSlice ¶ added in v0.0.3
func (p ParamValues) AsSlice() []any
AsSlice returns a slice of the Param's values (in order).
type ParameterManifest ¶
type ParameterManifest struct {
Name string `json:"name"`
Type string `json:"type"`
Description string `json:"description"`
}
ParameterManifest represents parameters when served as part of a ToolManifest.
type Parameters ¶
type Parameters []Parameter
Parameters is a type used to allow unmarshal a list of parameters
func (Parameters) Manifest ¶ added in v0.0.2
func (ps Parameters) Manifest() []ParameterManifest
func (*Parameters) UnmarshalYAML ¶
func (c *Parameters) UnmarshalYAML(node *yaml.Node) 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"`
}
StringParameter is a parameter representing the "string" type.
func NewStringParameter ¶
func NewStringParameter(name, desc string) *StringParameter
NewStringParameter is a convenience function for initializing a StringParameter.
type Tool ¶
type Tool interface {
Invoke(ParamValues) (string, error)
ParseParams(data map[string]any) (ParamValues, error)
Manifest() Manifest
}
type ToolConfig ¶ added in v0.0.2
type Toolset ¶
type Toolset struct {
Name string `yaml:"name"`
Tools []*Tool `yaml:",inline"`
Manifest ToolsetManifest `yaml:",inline"`
}