Skip to content

WorkspaceSpec ​

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.

ts
type WorkspaceSpec = {
  branch: string;
  workGroup?: number;
  reviewSha?: string;
};

What the spec of a workspace() returns: the branch that the Workspace works on, and two optional fields. jr2 calls spec with the run input when the run enters the Workspace.

Fields

  • branch: string

    The branch that the Workspace works on: each Repo Slot gets a Worktree for it, at /work/<slot>/<branch>, with each / in the branch written as -. Required, and not default, which is the directory of the clone. Your Machine decides its name.

  • workGroup (optional): number

    The group id that owns the files in /work. With it, the Sandbox Image and the User Container can both write those files when they run as different users. Default: 2000. Set it to a group id that the User Container's sessions already have, for example when a root sshd builds their groups from /etc/group. A non-negative integer.

  • reviewSha (optional): string

    A commit to check out in a second, detached Worktree beside each branch Worktree, for a reviewer: /work/<slot>/<branch>-review. The body gets its paths as workspace.review.

The docs of Kit version 0.5.1. Each page is also at its .md URL.