#![allow(async_fn_in_trait)]
pub mod engine;
pub mod kv_cache;
pub mod kv_dtype;
pub mod model_executor;
pub mod recurrent_state;
pub mod sampler;
pub mod scheduler;
pub mod tensor;
pub mod tokenizer;
#[allow(
dead_code,
unused_imports,
reason = "reviewed vNext contracts stay isolated and byte-stable until the product runtime migration"
)]
pub mod vnext;
pub use engine::InferenceEngine;
pub use kv_cache::{
AllocationRequest, BlockTable, CacheHandleStats, KvCacheHandle, KvCacheManager,
};
pub use kv_dtype::{KvBf16, KvDtypeKind, KvFp16, KvFp8, KvInt8};
pub use model_executor::{
DecodeInput, DecodeOutput, ExecutorAdmissionEpochs, ExecutorPrefillAdmission,
ExecutorPrefillAdmissionDecision, ExecutorPrefillAdmissionReceipt,
ExecutorPrefillMaintenanceBlocker, ExecutorPrefillMaintenanceDeferral,
ExecutorPrefillMaintenanceOutcome, ExecutorPrefillMaintenanceStage, ExecutorSamplingOutput,
ModelExecutor, PlanRuntimeBatchDecodeOutcome, PlanRuntimeBatchPrefillOutcome,
PlanRuntimeDecodeInput, PlanRuntimeDecodeOutput, PlanRuntimePrefillAuthority,
PlanRuntimePrefillCompletion, PlanRuntimePrefillInput, PlanRuntimePrefillOutcome,
PlanRuntimePrefillOutput, PlanRuntimePrefillProduct, PrefillInput, PrefillOutput,
};
pub use recurrent_state::{
RecurrentStateHandle, RecurrentStateHandleStats, RecurrentStateManager,
RecurrentStateManagerStats, RecurrentStateResumePolicy, RecurrentStateSpec,
RecurrentStateTensorSpec,
};
pub use sampler::{
LogitsProcessor, Sampler, SamplingConfig, SamplingContext, SamplingRng,
SAMPLING_RNG_ALGORITHM_ID,
};
pub use scheduler::{BatchHint, BatchPlan, Scheduler as SchedulerInterface};
pub use tensor::{TensorFactory, TensorLike, TensorOps, TensorRef};
pub use tokenizer::{IncrementalTokenizer, Tokenizer, TokenizerFactory, TokenizerInfo};
pub use ferrum_types::{
config::BackendConfig,
config::EngineConfig,
config::SchedulerConfig,
config::TokenizerConfig,
BatchId,
BlockId,
ClientId,
ComponentHealth,
ComponentStatus,
DataType,
Device,
EngineMetrics,
EngineStatus,
FerrumError,
FinishReason,
HealthStatus,
InferenceRequest,
InferenceResponse,
MemoryUsage,
ModelId,
ModelInfo,
ModelSource,
ModelType,
Priority,
RequestId,
Result,
SamplingParams,
SchedulerStats,
SessionId,
SpecialTokens,
StreamChunk,
TaskId,
TokenId,
};