pub async fn list_kernels(
__arg0: State<Arc<AppState>>,
__arg1: Extension<TenantId>,
__arg2: Query<ListKernelsQuery>,
) -> Result<Json<ListKernelsResponse>, ApiError>Expand description
GET /kernels?offset=N&limit=M — list registered manifests.
Returns 200 OK with {manifests: [...], offset, limit}. PTX text
is intentionally omitted; callers that need a kernel’s source must
resolve it individually so a tenant listing every manifest does not
transfer hundreds of megabytes of source over the wire.
offset defaults to 0, limit defaults to 100, and limit is
silently clamped to 1000 server-side via
tensor_wasm_jit::registry::DISK_REGISTRY_MAX_LIMIT. The response
echoes the effective values so clients can drive the next-page
request without a second round of math.
Authorization: any authenticated tenant may list. The route sits
under bearer_auth + tenant_scope, so an unauthenticated caller
is already 401’d before reaching this handler. Capturing the tenant
extension here is belt-and-braces — it documents the routing
expectation and ensures the handler will fail to mount on a router
that bypasses tenant_scope.