skippy-server 0.76.1

Embedded Skippy staged runtime server
use skippy_protocol::binary::StageSamplingConfig as WireSamplingConfig;

mod admission;
mod backend;
mod decode_scheduler;
mod embedded_execution;
mod embedded_generation;
mod generation;
mod generation_flow;
mod generation_receipt;
mod guardrails;
pub(crate) mod iteration_scheduler;
mod linear_proposal;
mod local_generation;
mod native_mtp;
mod prefill;
mod prefix_cache;
mod prompting;
mod request;
mod sampling_cache_key;
mod speculative;
mod tool_emulation;
mod util;

#[cfg(test)]
use prompting::parse_emulated_chat_output;
mod wire_messages;

use self::{
    decode_scheduler::*, native_mtp::*, request::*, speculative::*, util::*, wire_messages::*,
};

pub use self::admission::DECODE_BATCH_HEADROOM_TOKENS;
use self::generation::*;
pub use self::generation::{
    CONTEXT_BUDGET_MAX_TOKENS, DEFAULT_EMBEDDED_MAX_TOKENS,
    DEFAULT_GENERATION_ADMISSION_TIMEOUT_SECS, EmbeddedOpenAiArgs, EmbeddedOpenAiBackend,
    EmbeddedOpenAiRequestDefaults, EmbeddedOpenAiRouter, EmbeddedReasoningBudget,
    EmbeddedReasoningEnabled, EmbeddedReasoningFormat, embedded_openai_backend,
    embedded_openai_router, serve_embedded_openai, serve_embedded_openai_with_shutdown,
    serve_openai,
};
pub(crate) use self::generation::{
    default_generation_queue_capacity, resolve_adaptive_generation_min_concurrency,
    serve_embedded_openai_with_scheduler,
};
pub use self::generation_receipt::{
    GenerationAbort, GenerationCommit, GenerationLifecycleIngress, GenerationLifecycleObservation,
    GenerationReceipt, GenerationReceiptConfig, GenerationReceiptSink, GenerationStart,
    GenerationStateDigest, GenerationTermination, generation_token_id_digest,
};
pub use self::guardrails::{
    OpenAiGuardrailsConfig, OpenAiGuardrailsStatus, OpenAiGuardrailsTarget,
};
pub use self::linear_proposal::{
    LinearProposal, LinearProposalDiscardReason, LinearProposalDisposition, LinearProposalIngress,
    LinearProposalIngressConfig, LinearProposalQuery, LinearProposalReceipt,
    LinearProposalSourceOutcome, LinearProposalSourceResponse, LinearProposalSourceTelemetry,
    OpaqueProposalDecisionId,
};
pub use self::speculative::{
    NativeMtpProposalConfig, NgramExtensionConfig, NgramProposalConfig, NgramProposerKind,
    SpeculativeDecodeConfig, VerifyWindowConfig,
};

#[cfg(test)]
mod tests;