[错误] dataclass Optional[List] 方案在扁平化 anyOf 时会丢失项目
作者: MohammadHijjawi97创建于 2026年9月17日更新于 2026年9月17日
说明
当“ get json schema for arg” 将一个可选的数据类字段平整时,它只复制来自任何分支的“schema['type] ” , 并删除其余部分。 可选 [列表[str]]'成为 '类型':array''没有项目'。 嵌入式物体字段失去`属性'。
- 重现步骤
从数据类导入数据类
从打入导入列表中选择
从 agno.utils.json schema 导入 获取 json schema for arg
@ 数据类
类配置 :
标记: 可选 [列表[str]] = 无
print( get json schema for arg( Profile) [“ 属性” [“ tags” ] )• 预期行为
QQ"类型":"阵列","项目":{"类型":"弦"-"
实际行为
QQ"类型":"阵列"有"项"缺失.
环境
- 操作系统:Windows 11
- Agno 版本: 当前主版本
- 其他环境细节:Python 3.13
可能的解决办法(可选)
复制完整的非虚无的任意计划,而不只是“类型”密钥.
内容来源: agno-agi/agno