gettext_mcp/lib.rs
1//! Gettext MCP server library.
2//!
3//! The crate is organized into layers:
4//!
5//! - [`error`] — unified [`error::GettextError`] type
6//! - [`model`] — pure data types (`MessageEntry`, `GettextFile`)
7//! - [`service::parser`] / [`service::serializer`] — PO format codec
8//! - [`io`] — [`io::FileStore`] trait + [`io::FsFileStore`] impl
9//! - [`service::store`] / [`service::manager`] — per-file CRUD + cache
10//! - [`tools`] — per-tool handler functions
11//! - [`server`] — [`server::GettextMcpServer`] with `#[tool_router]`
12//! - [`prompts`] — empty `#[prompt_router]` stub
13//! - [`web`] — optional axum-based HTTP UI
14
15pub mod error;
16pub mod io;
17pub mod model;
18pub(crate) mod prompts;
19pub mod server;
20pub mod service;
21pub mod tools;
22pub mod web;
23
24pub use error::{GettextError, ParseError, StoreError};
25pub use io::{cleanup_orphan_tmps, FileStore, FsFileStore};
26pub use model::{GettextFile, MessageEntry};
27pub use server::GettextMcpServer;
28pub use service::{GettextStore, GettextStoreManager};
29pub use web::WebConfig;