pub trait ToolArgParser: Sized {
// Required method
fn parse(value: Value) -> Result<Self, Error>;
}Expand description
工具参数解析 trait — 将原始 JSON Value 反序列化为强类型结构体。
为什么需要这个 trait?
#[tool]宏生成的代码不知道serde_json的存在- 宏只依赖稳定的
ToolArgParser::parse()API - 所有解析策略(JSON、MessagePack、CBOR…)集中在 core 层
- 以后更换序列化格式,只需修改此 trait 的实现
依赖方向:
lellm-derive
│
▼
ToolArgParser::parse()
│
▼
lellm-core
│
▼
serde_jsonRequired Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".