Refactor toolbox and function handling to support synthetic fields and improve type definitions
This commit is contained in:
@@ -15,12 +15,12 @@ var _ Type = basic{}
|
||||
type DataType string
|
||||
|
||||
const (
|
||||
String DataType = "string"
|
||||
Integer DataType = "integer"
|
||||
Number DataType = "number"
|
||||
Boolean DataType = "boolean"
|
||||
Object DataType = "object"
|
||||
Array DataType = "array"
|
||||
TypeString DataType = "string"
|
||||
TypeInteger DataType = "integer"
|
||||
TypeNumber DataType = "number"
|
||||
TypeBoolean DataType = "boolean"
|
||||
TypeObject DataType = "object"
|
||||
TypeArray DataType = "array"
|
||||
)
|
||||
|
||||
type basic struct {
|
||||
@@ -49,17 +49,17 @@ func (b basic) GoogleParameters() *genai.Schema {
|
||||
var t = genai.TypeUnspecified
|
||||
|
||||
switch b.DataType {
|
||||
case String:
|
||||
case TypeString:
|
||||
t = genai.TypeString
|
||||
case Integer:
|
||||
case TypeInteger:
|
||||
t = genai.TypeInteger
|
||||
case Number:
|
||||
case TypeNumber:
|
||||
t = genai.TypeNumber
|
||||
case Boolean:
|
||||
case TypeBoolean:
|
||||
t = genai.TypeBoolean
|
||||
case Object:
|
||||
case TypeObject:
|
||||
t = genai.TypeObject
|
||||
case Array:
|
||||
case TypeArray:
|
||||
t = genai.TypeArray
|
||||
default:
|
||||
t = genai.TypeUnspecified
|
||||
@@ -82,12 +82,12 @@ func (b basic) FromAny(val any) (reflect.Value, error) {
|
||||
v := reflect.ValueOf(val)
|
||||
|
||||
switch b.DataType {
|
||||
case String:
|
||||
case TypeString:
|
||||
var val = v.String()
|
||||
|
||||
return reflect.ValueOf(val), nil
|
||||
|
||||
case Integer:
|
||||
case TypeInteger:
|
||||
if v.Kind() == reflect.Float64 {
|
||||
return v.Convert(reflect.TypeOf(int(0))), nil
|
||||
} else if v.Kind() != reflect.Int {
|
||||
@@ -96,7 +96,7 @@ func (b basic) FromAny(val any) (reflect.Value, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
case Number:
|
||||
case TypeNumber:
|
||||
if v.Kind() == reflect.Float64 {
|
||||
return v.Convert(reflect.TypeOf(float64(0))), nil
|
||||
} else if v.Kind() != reflect.Float64 {
|
||||
@@ -105,7 +105,7 @@ func (b basic) FromAny(val any) (reflect.Value, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
case Boolean:
|
||||
case TypeBoolean:
|
||||
if v.Kind() == reflect.Bool {
|
||||
return v, nil
|
||||
} else if v.Kind() == reflect.String {
|
||||
|
Reference in New Issue
Block a user