package tools import ( "go.starlark.net/lib/math" "go.starlark.net/starlark" "go.starlark.net/syntax" gollm "gitea.stevedudenhoeffer.com/steve/go-llm" ) var Calculator = gollm.NewFunction( "calculator", "A starlark calculator", func(ctx *gollm.Context, args struct { Expression string `description:"The expression to evaluate using starlark"` }) (any, error) { val, err := starlark.EvalOptions(&syntax.FileOptions{}, &starlark.Thread{Name: "main"}, "input", args.Expression, math.Module.Members) if err != nil { return "", err } return val.String(), nil })