1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! `OpenAPI` Tool Integration for Radkit
//!
//! This module provides `OpenAPI` 3.x specification support for Radkit agents,
//! enabling them to interact with REST APIs by dynamically generating tools
//! from `OpenAPI` specifications.
//!
//! # Example
//! ```no_run
//! use radkit::tools::openapi::{OpenApiToolSet, AuthConfig, HeaderOrQuery};
//! use radkit::tools::BaseToolset;
//!
//! # async fn example() -> Result<(), String> {
//! // Configure authentication
//! let auth = AuthConfig::ApiKey {
//! location: HeaderOrQuery::Header,
//! name: "X-API-Key".to_string(),
//! value: "my-api-key".to_string(),
//! };
//!
//! // Load OpenAPI spec and generate tools
//! let toolset = OpenApiToolSet::from_file(
//! "petstore_api".to_string(),
//! "specs/petstore.yaml",
//! Some(auth)
//! ).await?;
//!
//! // Tools are now available for use with agents
//! let tools = toolset.get_tools().await;
//! # Ok(())
//! # }
//! ```
pub use OpenApiOperationTool;
pub use OpenApiSpec;
pub use ;