> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module: runtime/adapters/programs

> Reference for the bijection/runtime/adapters/programs entry point.

## Type Aliases

### ProgramReference

Ƭ **ProgramReference**: `Object`

Not exported: an exported type refers to it.

#### Type declaration

| Name | Type |
| :- | :- |
| `artifactId` | `string` |
| `source` | [`SourceRevision`](https://docs.bijection.com/api/modules/browser#sourcerevision) \| `null` |

***

### ProgramResourceLimits

Ƭ **ProgramResourceLimits**: `Readonly`\<\{ `maxRetentionSeconds`: `number` ; `maxOwnedBranches`: `number` ; `maxOwnedSnapshots`: `number`  }>

## Variables

### programCustody

• `Const` **programCustody**: `Readonly`\<\{ `limits`: () => `Promise`\<[`ProgramResourceLimits`](https://docs.bijection.com/api/modules/runtime_adapters_programs#programresourcelimits)> ; `select`: (`program`: [`ProgramRef`](https://docs.bijection.com/api/modules/programs#programref), `options`: \{ `record`: `string` ; `callback`: `string`  }) => `Promise`\<`string`> ; `admit`: (`candidate`: `Pick`\<[`ProgramCandidate`](https://docs.bijection.com/api/modules/programs#programcandidate), `"ref"` | `"parameterBindings"`>, `options`: \{ `record`: `string` ; `callback`: `string` ; `key`: `string` ; `retentionSeconds`: `number`  }) => `Promise`\<[`CapturedProgram`](https://docs.bijection.com/api/modules/programs#capturedprogram)> ; `requireInstalled`: (`program`: [`ProgramReference`](https://docs.bijection.com/api/modules/runtime_adapters_programs#programreference)) => `Promise`\<\{ `program_generation`: `string`  }>  }>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.