pub mod outbox;
pub mod transaction;
#[cfg(feature = "linked-module")]
pub use crate::ModuleManifest;
#[cfg(feature = "linked-module")]
pub use platform_core::Migration;
#[cfg(feature = "linked-module")]
pub use platform_module::HostLinkedModule;
#[cfg(feature = "linked-module")]
pub mod http {
pub use axum::Json;
pub use axum::extract::{Path, State};
pub use axum::routing::{delete, get, patch, post, put};
pub use platform_core::{AppContext, AppError, ErrorCode, RequestContext};
pub use platform_http::responses::json;
pub use platform_http::{
ApiErrorResponse, ApiOpenApiRouter, ErrorResponse, HttpRequestContext, JsonBody,
OpenApiRouter, UserActor, routes,
};
pub use platform_module::{
LinkedBinding, LinkedHttpContribution, ModuleHttpMethod, ModuleHttpRoute,
};
}
#[cfg(feature = "linked-module")]
pub mod events {
pub use crate::host::outbox::{
AppError, AppResult, ClaimedOutboxEvent, ErrorCode, EventHandler,
};
}
#[cfg(feature = "linked-module")]
pub mod runtime {
pub use platform_core::{
ActorContext, AppContext, AppError, AppResult, CorrelationId, ErrorCode, ExecutionContext,
ExecutionId, TenantId, TraceContext,
};
pub use platform_module::{LinkedBinding, Module};
pub use platform_runtime::{
FunctionDefinition, FunctionHandler, RetryPolicy, RuntimeDescriptor,
};
}
#[cfg(feature = "host")]
mod boot;
#[cfg(feature = "host")]
pub use boot::*;