> ## 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.

# Interface: Computations

> Reference for the Computations interface in bijection/computations.

[computations](/api/modules/computations).Computations

## Hierarchy

* [`ComputationReader`](/api/interfaces/computations.ComputationReader)

  ↳ **`Computations`**

## Methods

### result

▸ **result**\<`Ref`>(`computation`, `runId`): `Promise`\<[`ComputationResult`](/api/modules/computations#computationresult)\<`Ref`>>

Read the exact accepted value under current authority. Pending, rejected
and unavailable results refuse; this never starts or selects work.

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |

#### Returns

`Promise`\<[`ComputationResult`](/api/modules/computations#computationresult)\<`Ref`>>

#### Inherited from

[ComputationReader](/api/interfaces/computations.ComputationReader).[result](/api/interfaces/computations.ComputationReader#result)

***

### get

▸ **get**\<`Ref`>(`computation`, `runId`): `Promise`\<[`ComputationStatus`](/api/modules/computations#computationstatus)\<`Ref`>>

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |

#### Returns

`Promise`\<[`ComputationStatus`](/api/modules/computations#computationstatus)\<`Ref`>>

#### Inherited from

[ComputationReader](/api/interfaces/computations.ComputationReader).[get](/api/interfaces/computations.ComputationReader#get)

***

### inspect

▸ **inspect**\<`Ref`>(`computation`, `runId`): `Promise`\<[`ComputationInspection`](/api/modules/computations#computationinspection-2)>

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |

#### Returns

`Promise`\<[`ComputationInspection`](/api/modules/computations#computationinspection-2)>

#### Inherited from

[ComputationReader](/api/interfaces/computations.ComputationReader).[inspect](/api/interfaces/computations.ComputationReader#inspect)

***

### paginate

▸ **paginate**\<`Ref`, `Name`>(`computation`, `selection`): `Promise`\<[`PaginationResult`](/api/interfaces/server.PaginationResult)\<[`ComputationRow`](/api/modules/server#computationrow)\<`Ref`, `Name`>>>

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |
| `Name` | extends [`ComputationRowsName`](/api/modules/computations#computationrowsname)\<`Ref`> |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `selection` | `Object` |
| `selection.runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |
| `selection.output` | `Name` |
| `selection.paginationOpts` | [`PaginationOptions`](/api/interfaces/server.PaginationOptions) |

#### Returns

`Promise`\<[`PaginationResult`](/api/interfaces/server.PaginationResult)\<[`ComputationRow`](/api/modules/server#computationrow)\<`Ref`, `Name`>>>

#### Inherited from

[ComputationReader](/api/interfaces/computations.ComputationReader).[paginate](/api/interfaces/computations.ComputationReader#paginate)

***

### output

▸ **output**\<`Ref`, `Name`>(`computation`, `runId`, `output`): `Promise`\<[`ComputationOutput`](/api/modules/server#computationoutput)\<`Ref`, `Name`>>

A relational run's output resolves to the exact reference of its
sealed result (partial or unfinished results have none); an installed
owner resolves the same output contract. Neither acquires or grants.

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |
| `Name` | extends [`ComputationOutputName`](/api/modules/computations#computationoutputname)\<`Ref`> |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |
| `output` | `Name` |

#### Returns

`Promise`\<[`ComputationOutput`](/api/modules/server#computationoutput)\<`Ref`, `Name`>>

#### Inherited from

[ComputationReader](/api/interfaces/computations.ComputationReader).[output](/api/interfaces/computations.ComputationReader#output)

***

### start

▸ **start**\<`Ref`>(`computation`, `options`): `Promise`\<[`RunId`](/api/modules/server#runid)\<`Ref`>>

Admits the run with the caller's mutation: its writes, the run and the
captured input state commit together, and nothing waits on compute.

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `options` | [`ComputationStartOptions`](/api/modules/computations#computationstartoptions)\<`Ref`> |

#### Returns

`Promise`\<[`RunId`](/api/modules/server#runid)\<`Ref`>>

***

### cancel

▸ **cancel**\<`Ref`>(`computation`, `runId`): `Promise`\<[`ComputationCancellation`](/api/modules/computations#computationcancellation)\<`Ref`>>

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |

#### Returns

`Promise`\<[`ComputationCancellation`](/api/modules/computations#computationcancellation)\<`Ref`>>

***

### release

▸ **release**\<`Ref`>(`computation`, `runId`): `Promise`\<`void`>

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`Releasable`](/api/modules/computations#releasable) |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `runId` | [`RunId`](/api/modules/server#runid)\<`Ref`> |

#### Returns

`Promise`\<`void`>

***

### requireRow

▸ **requireRow**\<`Ref`, `Name`>(`computation`, `selection`): `Promise`\<[`ComputationEvidence`](/api/modules/server#computationevidence)\<[`ComputationRow`](/api/modules/server#computationrow)\<`Ref`, `Name`>>>

Require one row of an exact computation result as evidence for a
business operation. The result must belong to this computation; the
native owner checks the run's exact arguments, the row's native
identity, optional completion age and current source authority, and the
evidence must come from the referenced sealed content. Rows sent by a
client are never trusted.

#### Type parameters

| Name | Type |
| :- | :- |
| `Ref` | extends [`AnyComputation`](/api/modules/computations#anycomputation) |
| `Name` | extends [`ComputationOutputName`](/api/modules/computations#computationoutputname)\<`Ref`> |

#### Parameters

| Name | Type |
| :- | :- |
| `computation` | `Ref` |
| `selection` | `Object` |
| `selection.result` | [`ComputationOutput`](/api/modules/server#computationoutput)\<`Ref`, `Name`> |
| `selection.args` | [`ComputationArguments`](/api/modules/computations#computationarguments)\<`Ref`> |
| `selection.key` | [`NativeKey`](/api/modules/computations#nativekey)\<[`ComputationRow`](/api/modules/server#computationrow)\<`Ref`, `Name`>> |
| `selection.requirements?` | `ReadRequirements` |
| `selection.maxAgeMs?` | `number` |

#### Returns

`Promise`\<[`ComputationEvidence`](/api/modules/server#computationevidence)\<[`ComputationRow`](/api/modules/server#computationrow)\<`Ref`, `Name`>>>


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