Function Tag
@Target(allowedTargets = [AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FIELD, AnnotationTarget.PROPERTY ] )
@Pattern(value = "^[a-zA-Z0-9_-]{1,64}$" )
This is used to ensure function names follow OpenAI API requirements. Uses ^[a-zA-Z0-9_-]{1,64}$