1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//! # systemprompt-files
//!
//! File storage, metadata, and access control for the systemprompt.io AI
//! governance platform. The crate provides:
//!
//! - **Configuration** — profile-driven [`FilesConfig`] resolving storage roots
//! and per-MIME upload policies via YAML overrides.
//! - **Models** — typed [`File`], [`FileMetadata`], [`ContentFile`] and
//! [`FileRole`] structures backed by Postgres.
//! - **Repositories** — `sqlx`-backed persistence for file rows and
//! content↔file associations.
//! - **Services** — upload validation, content services, AI-persistence glue.
//! - **Jobs** — [`FileIngestionJob`] that scans the storage root and reconciles
//! on-disk image files with database rows.
//!
//! ## Feature flags
//!
//! | Feature | Default | Effect |
//! |---------|---------|--------|
//! | _none_ | n/a | The crate currently exposes a single feature surface; all modules are compiled unconditionally. The `[package.metadata.docs.rs] all-features = true` setting is retained so future feature additions automatically appear in published docs. |
//!
//! ## Layering
//!
//! `systemprompt-files` is a **domain** crate. It depends downward on
//! `systemprompt-database`, `systemprompt-cloud`, `systemprompt-config`,
//! `systemprompt-models`, `systemprompt-traits`, and
//! `systemprompt-provider-contracts`.
//!
//! Copyright (c) systemprompt.io — Business Source License 1.1.
//! See <https://systemprompt.io> for licensing details.
pub
pub
pub
pub
pub
pub
pub use ;
pub use FilesExtension;
pub use ;
pub use FileIngestionJob;
pub use ;
pub use ;
pub use ;