WorkspaceHandles
Type, in @jr2/orchestrator/src/workspace.ts. The signature of an export, or a type that it names, names this type. The Authoring surface page lists each export. This type is not an export of @jr2/orchestrator, so a workflow module does not import it by name.
type WorkspaceHandles<TSlots extends string> = [TSlots] extends [never]
? { repos: Record<never, string> }
: SlotHandles<TSlots>;What the body of a workspace() gets as input.workspace: the path of each Worktree, and the branch. A path is correct in each Instance that registers the Machine.
TSlots is the names of the Repo Slots that the body reads. workspace() refuses a body that names a slot that the Workspace does not have. Write string for a body that names no slot and reads the Worktrees in the order of repos, as under repos: open. Write never for a Workspace with no Repo Slot: its handles are { repos: {} }, with no branch, and its Agents work in /work.