---
title: RepoSlotsOf
description: A type that the Authoring surface names.
---

# `RepoSlotsOf`

Type, in `@jr2/orchestrator/src/customize.ts`. It is type plumbing: it computes a type from the types of a Machine or of its parts, and a workflow module does not write it. The signature of an export, or a type that it names, names this type, so its declaration is here. The [Authoring surface](../authoring-surface.md) page lists each export.

```ts
type RepoSlotsOf<M extends AnyStateMachine> = [WorkspaceOf<M>] extends [never]
  ? never
  : WorkspaceOf<M> extends JR2Repos<infer TSlots>
    ? TSlots
    : never;
```
