prova_agent_sdk/lib.rs
1//! # prova-agent-sdk
2//!
3//! Behavior attestation SDK for AI agents on Solana.
4//! Wrap any agent action in a cryptographic receipt — 5 lines from `cargo add` to verified on-chain.
5//!
6//! ## Quick Start
7//!
8//! ```no_run
9//! use prova_agent_sdk::{ProvaClient, ProvaConfig, AttestationBuilder, ActionType};
10//! use solana_sdk::signature::Keypair;
11//!
12//! #[tokio::main]
13//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
14//! let operator = Keypair::new();
15//! let agent = Keypair::new();
16//! let client = ProvaClient::new(agent, ProvaConfig::default());
17//!
18//! let reg = client.register_agent(&operator, None).await?;
19//! println!("Agent PDA: {}", reg.agent_pda);
20//!
21//! let hash = ProvaClient::hash_action("swap 100 USDC for SOL on Jupiter");
22//! let att = client.attest(&operator, hash, ActionType::Transaction, false).await?;
23//! println!("Tx: {}", att.explorer_url);
24//! Ok(())
25//! }
26//! ```
27
28pub mod builder;
29pub mod client;
30pub mod errors;
31pub mod types;
32
33pub use builder::AttestationBuilder;
34pub use client::{ProvaClient, PROVA_PROGRAM_ID, AGENT_SEED, MAX_BATCH_ATTESTATIONS};
35pub use errors::ProvaError;
36pub use types::{
37 ActionType, AgentAccount, AttestParams, AttestResult, AttestationPayload,
38 AttestationResult, HistoryQuery, ProvaConfig, RegisterAgentResult, VerifyResult,
39};