nuro_macros/lib.rs
1//! nuro-macros — 占位用过程宏实现。
2//!
3//! 当前仅提供三个 no-op 宏:
4//! - `#[derive(GraphState)]`
5//! - `#[derive(Tool)]`
6//! - `#[agent]`
7//!
8//! 这些宏不会生成任何额外代码,只是原样返回输入 TokenStream,
9//! 主要用于保证对外 API 形状稳定,后续可在不破坏用户代码的前提下
10//! 增量实现真正的代码生成逻辑。
11
12use proc_macro::TokenStream;
13
14#[proc_macro_derive(GraphState, attributes(reducer))]
15pub fn derive_graph_state(input: TokenStream) -> TokenStream {
16 // 目前为 no-op,实现仅返回原始输入。
17 input
18}
19
20#[proc_macro_derive(Tool, attributes(tool))]
21pub fn derive_tool(input: TokenStream) -> TokenStream {
22 // 目前为 no-op,实现仅返回原始输入。
23 input
24}
25
26#[proc_macro_attribute]
27pub fn agent(_attr: TokenStream, item: TokenStream) -> TokenStream {
28 // 目前为 no-op,实现仅返回原始输入。
29 item
30}