---
title: Lends
description: The parts of the Chart wrapper that a Chart can use, by their keys in `actors`, `guards`, `actions` and `delays`.
---

# `Lends`

Type, in `@jr2/orchestrator/src/open-body.ts`. The signature of an export, or a type that it names, names this type. The [Authoring surface](../authoring-surface.md) 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 Lends = {
  agents?: string[];
  effects?: string[];
  machines?: string[];
  guards?: string[];
  actions?: string[];
  delays?: string[];
  gate?: boolean;
  fail?: boolean;
};
```

The parts of the Chart wrapper that a Chart can use, by their keys in `actors`, `guards`,
`actions` and `delays`. `gate: true` lends the Gate, so that a Chart can wait for an answer from
outside the run. `fail: true` lends the Part that fails the run, so that a Chart can end its run
as a Failure ([ADR-0073](../decisions/0073-a-machine-fails-a-run-with-fail-and-an-uncaught-failure-ends-it-failed.md)): the Machine decides which ends a Chart can choose. A Chart can use no
other part.

**Fields**

- `agents` (optional): `string[]`
- `effects` (optional): `string[]`
- `machines` (optional): `string[]`
- `guards` (optional): `string[]`
- `actions` (optional): `string[]`
- `delays` (optional): `string[]`
- `gate` (optional): `boolean`
- `fail` (optional): `boolean`
