> ## 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: ExecutionProtocol<Args, Inputs, Status, Cancellation, Model>

> Not exported: an exported type refers to it.

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

Not exported: an exported type refers to it.

## Type parameters

| Name | Type |
| :- | :- |
| `Args` | `any` |
| `Inputs` | `never` |
| `Status` | `any` |
| `Cancellation` | `any` |
| `Model` | extends [`GenericDataModel`](/api/modules/server#genericdatamodel) = [`GenericDataModel`](/api/modules/server#genericdatamodel) |

## Methods

### start

▸ **start**(`ctx`, `options`): `Promise`\<`string`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericMutationCtx`](/api/interfaces/server.GenericMutationCtx)\<`Model`> |
| `options` | `Object` |
| `options.args` | `Args` |
| `options.inputs?` | `Inputs` |
| `options.request_key` | `string` |
| `options.expected_contract?` | `string` |

#### Returns

`Promise`\<`string`>

***

### get

▸ **get**(`ctx`, `id`): `Promise`\<`Status`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericQueryCtx`](/api/interfaces/server.GenericQueryCtx)\<`Model`> |
| `id` | `string` |

#### Returns

`Promise`\<`Status`>

***

### inspect

▸ `Optional` **inspect**(`ctx`, `id`): `Promise`\<[`ComputationInspection`](/api/modules/computations#computationinspection-2)>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericQueryCtx`](/api/interfaces/server.GenericQueryCtx)\<`Model`> |
| `id` | `string` |

#### Returns

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

***

### result

▸ `Optional` **result**(`ctx`, `id`): `Promise`\<`unknown`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericQueryCtx`](/api/interfaces/server.GenericQueryCtx)\<`Model`> |
| `id` | `string` |

#### Returns

`Promise`\<`unknown`>

***

### observe

▸ `Optional` **observe**(`ctx`, `id`): `Promise`\<\{ `inspection`: [`ComputationInspection`](/api/modules/computations#computationinspection-2) ; `result`: \{ `kind`: `"available"` ; `value`: `unknown`  } | \{ `kind`: `"unavailable"`  }  }>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericQueryCtx`](/api/interfaces/server.GenericQueryCtx)\<`Model`> |
| `id` | `string` |

#### Returns

`Promise`\<\{ `inspection`: [`ComputationInspection`](/api/modules/computations#computationinspection-2) ; `result`: \{ `kind`: `"available"` ; `value`: `unknown`  } | \{ `kind`: `"unavailable"`  }  }>

***

### cancel

▸ **cancel**(`ctx`, `id`, `expected_program_digest?`): `Promise`\<`Cancellation`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericMutationCtx`](/api/interfaces/server.GenericMutationCtx)\<`Model`> |
| `id` | `string` |
| `expected_program_digest?` | `string` |

#### Returns

`Promise`\<`Cancellation`>

***

### cancelOwned

▸ `Optional` **cancelOwned**(`ctx`, `id`, `expected_program_digest`, `request_key?`): `Promise`\<`Cancellation`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericMutationCtx`](/api/interfaces/server.GenericMutationCtx)\<`Model`> |
| `id` | `string` |
| `expected_program_digest` | `string` |
| `request_key?` | `string` |

#### Returns

`Promise`\<`Cancellation`>

***

### release

▸ `Optional` **release**(`ctx`, `id`): `Promise`\<`void`>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericMutationCtx`](/api/interfaces/server.GenericMutationCtx)\<`Model`> |
| `id` | `string` |

#### Returns

`Promise`\<`void`>

***

### output

▸ `Optional` **output**(`ctx`, `id`, `name`): `any`

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericQueryCtx`](/api/interfaces/server.GenericQueryCtx)\<`Model`> |
| `id` | `string` |
| `name` | `string` |

#### Returns

`any`

***

### paginate

▸ `Optional` **paginate**(`ctx`, `selection`): `Promise`\<[`PaginationResult`](/api/interfaces/server.PaginationResult)\<`any`>>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericQueryCtx`](/api/interfaces/server.GenericQueryCtx)\<`Model`> |
| `selection` | `any` |

#### Returns

`Promise`\<[`PaginationResult`](/api/interfaces/server.PaginationResult)\<`any`>>

***

### requireRow

▸ `Optional` **requireRow**(`ctx`, `selection`): `Promise`\<[`ComputationEvidence`](/api/modules/server#computationevidence)\<`any`>>

#### Parameters

| Name | Type |
| :- | :- |
| `ctx` | [`GenericMutationCtx`](/api/interfaces/server.GenericMutationCtx)\<`Model`> |
| `selection` | `any` |

#### Returns

`Promise`\<[`ComputationEvidence`](/api/modules/server#computationevidence)\<`any`>>


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