pub mod builder;
pub mod capabilities;
pub mod cli;
pub mod config;
pub mod flow;
pub mod generator;
pub mod multimodal;
pub mod multimodal_cli;
pub mod multimodal_embed;
pub mod multimodal_flow;
pub mod multimodal_mask;
pub mod multimodal_runner;
pub mod packed_session;
pub mod prelude;
pub mod rope;
pub mod runner;
pub mod unified_preprocess;
pub mod unified_projector;
pub use builder::{
build_gemma_decode_graph_sized, build_gemma_decode_graph_sized_ext,
build_gemma_decode_graph_sized_packed, build_gemma_decode_graph_sized_packed_ext,
build_gemma_decode_hir_dynamic_ext, build_gemma_decode_hir_sized,
build_gemma_decode_hir_sized_ext, build_gemma_graph_sized, build_gemma_graph_sized_last_logits,
build_gemma_graph_sized_packed, build_gemma_graph_sized_packed_ext,
build_gemma_prefill_hir_dynamic_ext, drain_gemma_packed_weights,
precompute_packed_decode_tied_lm_head,
};
pub use config::{GemmaArch, GemmaConfig, gemma_cfg_from_gguf};
pub use flow::{
GEMMA_PROFILE_FILE, GemmaDecodeOpts, GemmaFlow, GemmaMode, GemmaPrefillOpts,
build_gemma_decode_built, build_gemma_decode_flow, build_gemma_decode_graph,
build_gemma_prefill_built, build_gemma_prefill_flow, gemma_profile_near_weights,
};
pub use generator::{GemmaGenerator, decode_profile_for_device};
pub use packed_session::prefill_bucket_len;
pub use runner::{GemmaConfigSource, GemmaRunner, GemmaRunnerBuilder};
pub use rlx_qwen35::{encode_prompt, encode_prompt_auto, resolve_tokenizer_path};
pub use multimodal::{
AUDIO_MARKER, AudioProjectionInputs, GemmaAudioConfig, GemmaMultimodalConfig,
GemmaVisionConfig, IMAGE_MARKER, ImageNormalize, MediaSlot, ProjectionGraph,
VisionProjectionInputs, VisionProjectionLearnedQueriesInputs, build_audio_projection_graph,
build_audio_projection_hir, build_vision_projection_graph, build_vision_projection_hir,
build_vision_projection_learned_queries_graph, build_vision_projection_learned_queries_hir,
expand_media_placeholders, extract_image_patches, extract_image_patches_normalized,
frame_audio_samples, fuse_multimodal_embeddings, load_image_patches,
load_image_patches_normalized, load_wav_mono_16khz, parse_wav_16khz_mono, resample_linear,
tokenize_with_media,
};
pub use multimodal_embed::{build_multimodal_inputs_embeds, embed_token_ids_scaled};
pub use multimodal_runner::{GemmaMultimodalRunner, MultimodalWeights, ProjectorLayout};
pub use unified_preprocess::{UnifiedImageBatch, load_unified_image};
pub use unified_projector::{
build_unified_audio_graph, build_unified_vision_graph, is_unified_vision_weights,
};
pub use multimodal_cli::run as run_multimodal_cli;
#[cfg(feature = "parity-llama")]
pub use rlx_qwen35::llama_oracle;