Skip to content

Identity and capability

What /capabilities and /health say about the adapter and the model it wraps. KAI-C reads this to decide whether to route work here, and re-reads it to notice a model changing underneath a running deployment.

opennvr_adapter_sdk.ModelInfo

Bases: BaseModel

Information about the underlying model the adapter wraps.

opennvr_adapter_sdk.AdapterInfo

Bases: BaseModel

Adapter-identifying metadata.

opennvr_adapter_sdk.CapabilitiesResponse

Bases: BaseModel

Top-level response shape for GET /capabilities.

opennvr_adapter_sdk.HealthResponse

Bases: BaseModel

Response shape for GET /health.

opennvr_adapter_sdk.HealthStatus

Bases: str, Enum

Liveness status reported by /health.

opennvr_adapter_sdk.HardwareEvaluationResponse

Bases: BaseModel

Verdict + reasoning for "can this adapter serve from where it is deployed". Adapter decides how to compute the verdict — local hardware probe, cloud ping, service-mesh health, model load status. Only the response shape is standardized.

opennvr_adapter_sdk.HardwareVerdict

Bases: str, Enum

Verdict for /hardware/evaluation.

opennvr_adapter_sdk.Accelerator

Bases: BaseModel

Which compute backend an object-detector adapter runs on.

Lets KAI-C's Tier-0 detect pipeline prefer accelerated detectors and record the device actually in use. backend is a free string (not an enum) so a newer adapter advertising a backend an older KAI-C doesn't know about does not fail to parse — KAI-C treats unknown backends as opaque.

opennvr_adapter_sdk.Permissions

Bases: BaseModel

Sandboxing declaration. KAI-C reads this on adapter registration and applies the declared scope as container constraints. See §8 of the contract.

opennvr_adapter_sdk.Scheduling

Bases: BaseModel

How KAI-C should schedule work into this adapter.

opennvr_adapter_sdk.Cost

Bases: BaseModel

Cost declaration. Lets OpenNVR show a running estimate of spend and refuse to schedule once a budget is exhausted. For free/local adapters everything is zero.

opennvr_adapter_sdk.DetectorSpec

Bases: BaseModel

Contract v1.1 (optional): marks this adapter as an object detector the Tier-0 pipeline can dispatch region crops to.

Absent for non-detector adapters (VLM / LLM / ASR), which are driven on-demand rather than per-region. Adapters that omit it keep working; KAI-C simply does not use them in the detect loop.

opennvr_adapter_sdk.InputSpec

Bases: BaseModel

The tensor an object-detector expects.

KAI-C shapes region crops to this (crop → colour-convert → resize) so the adapter stays layout-simple — the mirror of Frigate's model input config.

opennvr_adapter_sdk.EndpointsInfo

Bases: BaseModel

Aggregated endpoints section of /capabilities.

opennvr_adapter_sdk.InferEndpointInfo

Bases: BaseModel

Capability description for POST /infer.

opennvr_adapter_sdk.StreamEndpointInfo

Bases: BaseModel

Capability description for POST /infer/stream (WebSocket).