forge_core/
lib.rs

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