pub type ToolDefinition = Arc<dyn Fn() -> (ToolMeta, Arc<dyn Tool>) + Send + Sync>;Expand description
ツール定義ファクトリ
呼び出すと (ToolMeta, Arc<dyn Tool>) を返します。
Worker への登録時に一度だけ呼び出され、メタ情報とインスタンスが
セッションスコープでキャッシュされます。
§Examples
ⓘ
let def: ToolDefinition = Arc::new(|| {
(
ToolMeta::new("my_tool")
.description("My tool description")
.input_schema(json!({"type": "object"})),
Arc::new(MyToolImpl { state: 0 }) as Arc<dyn Tool>,
)
});
worker.register_tool(def)?;Aliased Type§
pub struct ToolDefinition { /* private fields */ }