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 openapi_export;
14pub mod protocols;
15pub mod query;
16pub mod recorder;
17pub mod replay;
18pub mod scrubbing;
19pub mod stub_mapping;
20pub mod sync;
21pub mod test_generation;
22
23pub use api::create_api_router;
24pub use database::RecorderDatabase;
25pub use diff::{ComparisonResult, Difference, DifferenceType, ResponseComparator};
26pub use har_export::export_to_har;
27pub use integration_testing::{
28 IntegrationTestGenerator, IntegrationWorkflow, StepCondition, StepRequest, StepValidation,
29 VariableExtraction, WorkflowSetup, WorkflowStep,
30};
31pub use middleware::recording_middleware;
32pub use models::{Protocol, RecordedRequest, RecordedResponse};
33pub use openapi_export::{QueryFilters, RecordingsToOpenApi};
34pub use query::{QueryFilter, QueryResult};
35pub use recorder::Recorder;
36pub use replay::ReplayEngine;
37pub use scrubbing::{
38 CaptureFilter, CaptureFilterConfig, ScrubConfig, ScrubRule, ScrubTarget, Scrubber,
39};
40pub use stub_mapping::{
41 RequestMatcher, ResponseTemplate, StubFormat, StubMapping, StubMappingConverter,
42};
43pub use sync::{SyncConfig, SyncService, SyncStatus};
44pub use test_generation::{
45 GeneratedTest, LlmConfig, TestFormat, TestGenerationConfig, TestGenerationResult,
46 TestGenerator, TestSuiteMetadata,
47};
48
49use thiserror::Error;
50
51#[derive(Error, Debug)]
53pub enum RecorderError {
54 #[error("Database error: {0}")]
55 Database(#[from] sqlx::Error),
56
57 #[error("Serialization error: {0}")]
58 Serialization(#[from] serde_json::Error),
59
60 #[error("IO error: {0}")]
61 Io(#[from] std::io::Error),
62
63 #[error("Request not found: {0}")]
64 NotFound(String),
65
66 #[error("Invalid filter: {0}")]
67 InvalidFilter(String),
68
69 #[error("Replay error: {0}")]
70 Replay(String),
71
72 #[error("Test generation error: {0}")]
73 TestGeneration(String),
74}
75
76pub type Result<T> = std::result::Result<T, RecorderError>;