Skip to main content

forge_core/
lib.rs

1pub mod auth;
2pub mod cluster;
3pub mod config;
4pub mod cron;
5pub mod env;
6pub mod error;
7pub mod function;
8pub mod job;
9pub mod observability;
10pub mod rate_limit;
11pub mod realtime;
12pub mod schema;
13pub mod tenant;
14pub mod types;
15pub mod workflow;
16
17// Testing utilities
18pub mod testing;
19
20pub use auth::{Claims, ClaimsBuilder};
21pub use cluster::{ClusterInfo, LeaderInfo, LeaderRole, NodeId, NodeInfo, NodeRole, NodeStatus};
22pub use config::ForgeConfig;
23pub use cron::{CronContext, CronInfo, CronSchedule, ForgeCron};
24pub use env::{EnvAccess, EnvProvider, MockEnvProvider, RealEnvProvider};
25pub use error::{ForgeError, Result};
26pub use function::{
27    AuthContext, ForgeMutation, ForgeQuery, FunctionInfo, FunctionKind, JobDispatch,
28    MutationContext, QueryContext, RequestMetadata, WorkflowDispatch,
29};
30pub use job::{ForgeJob, JobContext, JobInfo, JobPriority, JobStatus, RetryConfig};
31pub use observability::{
32    Alert, AlertCondition, AlertSeverity, AlertState, AlertStatus, LogEntry, LogLevel, Metric,
33    MetricKind, MetricLabels, MetricValue, Span, SpanContext, SpanKind, SpanStatus, TraceId,
34};
35pub use rate_limit::{RateLimitConfig, RateLimitHeaders, RateLimitKey, RateLimitResult};
36pub use realtime::{
37    Change, ChangeOperation, Delta, ReadSet, SessionId, SessionInfo, SessionStatus, SubscriptionId,
38    SubscriptionInfo, SubscriptionState, TrackingMode,
39};
40pub use schema::{FieldDef, ModelMeta, SchemaRegistry, TableDef};
41pub use tenant::{HasTenant, TenantContext, TenantIsolationMode};
42pub use types::{Instant, LocalDate, LocalTime, Upload};
43pub use workflow::{
44    ForgeWorkflow, ParallelBuilder, ParallelResults, SuspendReason, WorkflowContext, WorkflowEvent,
45    WorkflowEventSender, WorkflowInfo, WorkflowStatus,
46};