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

# Class: AnswerRequest<Row>

> One caller request, its admitted answer and independent release.

[browser](/api/modules/browser).AnswerRequest

One caller request, its admitted answer and independent release.

## Type parameters

| Name | Type |
| :- | :- |
| `Row` | `Record`\<`string`, [`Value`](/api/modules/values#value)> |

## Constructors

### constructor

• **new AnswerRequest**\<`Row`>(`transport`, `request_id`, `initial?`, `recovery?`)

#### Type parameters

| Name | Type |
| :- | :- |
| `Row` | `Record`\<`string`, [`Value`](/api/modules/values#value)> |

#### Parameters

| Name | Type |
| :- | :- |
| `transport` | `RequestTransport`\<`Row`> |
| `request_id` | `string` |
| `initial?` | [`RequestState`](/api/modules/server#requeststate)\<`Row`> |
| `recovery?` | [`AnswerRecovery`](/api/interfaces/browser.AnswerRecovery) \| () => `Promise`\<[`AnswerRecovery`](/api/interfaces/browser.AnswerRecovery)> |

## Properties

### transport

• `Protected` `Readonly` **transport**: `RequestTransport`\<`Row`>

***

### request\_id

• `Readonly` **request\_id**: `string`

***

### recovery

• `Protected` `Optional` `Readonly` **recovery**: [`AnswerRecovery`](/api/interfaces/browser.AnswerRecovery) | () => `Promise`\<[`AnswerRecovery`](/api/interfaces/browser.AnswerRecovery)>

## Accessors

### answer\_id

• `get` **answer\_id**(): [`AnswerId`](/api/modules/server#answerid)\<`Row`>

#### Returns

[`AnswerId`](/api/modules/server#answerid)\<`Row`>

## Methods

### snapshot

▸ `Readonly` **snapshot**(): [`RequestSnapshot`](/api/modules/browser#requestsnapshot)\<`Row`>

#### Returns

[`RequestSnapshot`](/api/modules/browser#requestsnapshot)\<`Row`>

***

### subscribe

▸ `Readonly` **subscribe**(`listener`): () => `void`

#### Parameters

| Name | Type |
| :- | :- |
| `listener` | () => `void` |

#### Returns

`fn`

▸ (): `void`

##### Returns

`void`

***

### update

▸ `Protected` **update**(`change`): `void`

#### Parameters

| Name | Type |
| :- | :- |
| `change` | `Partial`\<[`RequestSnapshot`](/api/modules/browser#requestsnapshot)\<`Row`>> |

#### Returns

`void`

***

### status

▸ **status**(`options?`): `Promise`\<[`RequestState`](/api/modules/server#requeststate)\<`Row`>>

Current native state, bounded without changing execution custody.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<[`RequestState`](/api/modules/server#requeststate)\<`Row`>>

***

### explain

▸ **explain**(`options?`): `Promise`\<\{ `plan`: [`AnswerPlan`](/api/interfaces/server.AnswerPlan)  }>

Read the admitted plan through the execution's current native access gate.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<\{ `plan`: [`AnswerPlan`](/api/interfaces/server.AnswerPlan)  }>

***

### matches

▸ **matches**(`relation`, `bounds?`, `options?`): `Promise`\<`boolean`>

Compare the admitted request at its owner, without disclosing relation
literals to recovery storage or submitting an unused reservation.

#### Parameters

| Name | Type |
| :- | :- |
| `relation` | [`Relation`](/api/classes/server.Relation)\<`any`> |
| `bounds` | [`AnswerBounds`](/api/modules/browser#answerbounds) |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<`boolean`>

***

### wait

▸ **wait**(`options?`): `Promise`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

***

### observe

▸ **observe**(`options?`): `AsyncGenerator`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

Observe local custody revisions on the existing subscription transport.
Every revision hides managed pages before a full native status check.
Stopping observation leaves the durable execution and its custody intact.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`AsyncGenerator`\<[`Ready`](/api/modules/browser#ready)\<`Row`>>

***

### result

▸ **result**(`options?`): `Promise`\<[`Answer`](/api/modules/browser#answer)\<`Row`>>

The result interface is independent of execution and storage representation.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`ObservationOptions`](/api/modules/browser#observationoptions) |

#### Returns

`Promise`\<[`Answer`](/api/modules/browser#answer)\<`Row`>>

***

### cancel

▸ **cancel**(): `Promise`\<[`RequestControl`](/api/interfaces/server.RequestControl)\<`Row`>>

#### Returns

`Promise`\<[`RequestControl`](/api/interfaces/server.RequestControl)\<`Row`>>

***

### release

▸ **release**(): `Promise`\<[`RequestControl`](/api/interfaces/server.RequestControl)\<`Row`>>

#### Returns

`Promise`\<[`RequestControl`](/api/interfaces/server.RequestControl)\<`Row`>>


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