mockforge_recorder/
lib.rs1pub mod api;
7pub mod database;
8pub mod diff;
9pub mod har_export;
10pub mod integration_testing;
11pub mod middleware;
12pub mod models;
13pub mod protocols;
14pub mod query;
15pub mod recorder;
16pub mod replay;
17pub mod scrubbing;
18pub mod test_generation;
19
20pub use api::create_api_router;
21pub use database::RecorderDatabase;
22pub use diff::{ComparisonResult, Difference, DifferenceType, ResponseComparator};
23pub use har_export::export_to_har;
24pub use integration_testing::{
25 IntegrationTestGenerator, IntegrationWorkflow, StepCondition, StepRequest, StepValidation,
26 VariableExtraction, WorkflowSetup, WorkflowStep,
27};
28pub use middleware::recording_middleware;
29pub use models::{Protocol, RecordedRequest, RecordedResponse};
30pub use query::{QueryFilter, QueryResult};
31pub use recorder::Recorder;
32pub use replay::ReplayEngine;
33pub use scrubbing::{
34 CaptureFilter, CaptureFilterConfig, ScrubConfig, ScrubRule, ScrubTarget, Scrubber,
35};
36pub use test_generation::{
37 GeneratedTest, LlmConfig, TestFormat, TestGenerationConfig, TestGenerationResult,
38 TestGenerator, TestSuiteMetadata,
39};
40
41use thiserror::Error;
42
43#[derive(Error, Debug)]
45pub enum RecorderError {
46 #[error("Database error: {0}")]
47 Database(#[from] sqlx::Error),
48
49 #[error("Serialization error: {0}")]
50 Serialization(#[from] serde_json::Error),
51
52 #[error("IO error: {0}")]
53 Io(#[from] std::io::Error),
54
55 #[error("Request not found: {0}")]
56 NotFound(String),
57
58 #[error("Invalid filter: {0}")]
59 InvalidFilter(String),
60
61 #[error("Replay error: {0}")]
62 Replay(String),
63
64 #[error("Test generation error: {0}")]
65 TestGeneration(String),
66}
67
68pub type Result<T> = std::result::Result<T, RecorderError>;