feat: add parsing for Literal types (#1872)
This commit is contained in:
@@ -5,6 +5,7 @@ from typing import Any, Dict, List, Optional, Type, Union, get_args, get_origin
|
||||
from composio.client.collections import ActionParametersModel
|
||||
from docstring_parser import parse
|
||||
from pydantic import BaseModel
|
||||
from typing_extensions import Literal
|
||||
|
||||
from letta.functions.mcp_client.types import MCPTool
|
||||
|
||||
@@ -70,6 +71,10 @@ def type_to_json_schema_type(py_type) -> dict:
|
||||
"items": type_to_json_schema_type(args[0]),
|
||||
}
|
||||
|
||||
# Handle literals
|
||||
if get_origin(py_type) is Literal:
|
||||
return {"type": "string", "enum": get_args(py_type)}
|
||||
|
||||
# Handle object types
|
||||
if py_type == dict or origin in (dict, Dict):
|
||||
args = get_args(py_type)
|
||||
|
||||
Reference in New Issue
Block a user