1pub mod agent;
2pub mod assertion;
3pub mod error;
4pub mod mock;
5pub mod multi_turn;
6pub mod rbac;
7pub mod report;
8pub mod runner;
9pub mod test_case;
10pub mod toolkit;
11pub mod trace;
12
13pub use agent::{AgentConfig, AgentOutput, AgentUnderTest, ToolCall, Turn};
14pub use assertion::Assertion;
15pub use error::SpiceError;
16pub use mock::{MockAgent, MockMultiTurnResponse, MockResponse, MockTurn};
17pub use rbac::RbacMatrix;
18pub use report::{SuiteReport, TestReport};
19pub use runner::{Runner, RunnerConfig};
20pub use test_case::{TestCase, TestCaseBuilder, TestSuite};
21pub use toolkit::{ParamDef, PromptTemplate, ToolDef, Toolkit};
22
23pub fn test(id: impl Into<String>, user_message: impl Into<String>) -> TestCaseBuilder {
25 TestCaseBuilder::new(id, user_message)
26}
27
28pub fn suite(name: impl Into<String>, tests: Vec<TestCase>) -> TestSuite {
30 TestSuite {
31 name: name.into(),
32 tests,
33 ..Default::default()
34 }
35}