Skip to main content

apiplant_core/
lib.rs

1//! # apiplant-core
2//!
3//! Configuration, error handling, and the declarative resource model that the
4//! rest of apiplant is built on. This crate has no async, no database and no
5//! HTTP — it only knows how to turn an *app directory* on disk into typed
6//! [`App`] data other crates act on.
7
8pub mod agent;
9pub mod app;
10pub mod config;
11pub mod defaults;
12pub mod env;
13pub mod error;
14pub mod schema;
15
16pub use agent::{Agent, AgentAiOverride, AgentMeta, AgentPermissions, AgentStorage, AgentTool};
17pub use app::{App, TlsPaths};
18pub use config::{
19    AiConfig, CacheConfig, Config, EmailConfig, LogFormat, LogsConfig, MetricsConfig,
20    ObservabilityConfig, OtlpConfig, OtlpProtocol, PaymentsConfig, QueuesConfig, RateLimitConfig,
21    SmtpConfig, StorageConfig, TracesConfig,
22};
23pub use env::{expand_document, parse_toml};
24pub use error::{Error, Result};
25pub use schema::{
26    relation_name, Access, AuthEvent, CrudAction, Field, FieldType, HookEvent, Hooks, OnDelete,
27    Permissions, Publishes, RateLimitRule, RateLimits, Reference, Resource, Scope,
28};