name: str

The name of the function to call.

parameters: Optional[Dict[str, object]]

A JSON schema object describing the parameters of the function.

strict: Optional[bool]

Whether strict parameter validation is enforced for this function tool.

type: Literal["function"]

The type of the function tool. Always function.

allowed_callers: Optional[List[Literal["direct", "programmatic"]]]

The tool invocation context(s).

One of the following:
"direct"
"programmatic"
async_: Optional[bool]
defer_loading: Optional[bool]

Whether this function is deferred and loaded via tool search.

description: Optional[str]

A description of the function. Used by the model to determine whether or not to call the function.

output_schema: Optional[Dict[str, object]]

A JSON schema object describing the JSON value encoded in string outputs for this function.