Skip to main content

inferlab_protocol/
lib.rs

1mod wire;
2
3use schemars::generate::SchemaSettings;
4
5pub use wire::{
6    AdapterError, AdapterErrorCode, AdapterProtocol, AdapterRequest, AdapterResponse,
7    AdapterResult, AllocationLaunch, BenchCaseInput, BenchClientRequest, BenchClientResult,
8    BenchDatasetCacheState, BenchDatasetCatalogInput, BenchDatasetInput,
9    BenchDatasetPreparationRequest, BenchDatasetPreparationResult, BenchDefinitionInput,
10    BenchLoadInput, BenchPopulationInput, BenchRequestSloInput, BenchRequestSloResult,
11    BenchRequestSourceInput, BenchTokenCountSummary, BuiltinRouterKind, CaptureControlRequirement,
12    CaptureTargetRequirement, ClientEndpointInput, ClientStatus, EndpointAssignment,
13    EndpointProtocol, EndpointRequirement, EvalClientRequest, EvalClientResult,
14    EvalDefinitionInput, EvalFailureKind, EvalMetricComparison, EvalMetricGate,
15    EvalMetricGateConclusion, EvalNormalizedMetric, EvalTaskSourceInput, EvalTrialSummary,
16    HttpActionSpec, HttpMethod, HttpTargetRegistryReadiness, IntegrationIdentity,
17    KvTransferMechanism, LaunchFileDeclaration, MeasurementModelInput, Parallelism,
18    ParallelismAttention, ParallelismExperts, ParallelismOuter, PlanServeInput, PlanServeResult,
19    ProcessSpec, ProtocolVersion, RawArtifact, ReadinessProbe, RenderInputDeclaration,
20    RenderServeInput, RenderServeResult, RenderedServeProcess, RoutingResult, ServeModelInput,
21    ServeProcessAllocation, ServeReplicaRequirement, ServeRoleInput, ServeRoleKind, ServeRoleLink,
22    ServeRoleResult, ServeTopology, SettingValue, SuppliedRenderInput, TargetEndpointScheme,
23};
24
25pub const PROTOCOL_SCHEMA_ID: &str = "https://inferlab.dev/schema/adapter-protocol/v6";
26
27#[must_use]
28pub fn protocol_schema() -> schemars::Schema {
29    let mut schema = SchemaSettings::draft2020_12()
30        .for_deserialize()
31        .into_generator()
32        .into_root_schema_for::<AdapterProtocol>();
33    schema
34        .ensure_object()
35        .insert("$id".to_owned(), PROTOCOL_SCHEMA_ID.into());
36    schema
37}