# Type References

<details>

<summary>Response Difference</summary>

<pre class="language-markdown"><code class="lang-markdown">### responseDiff

<strong>Describes a single difference between expected response to the actual response.
</strong>
#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|      
| `differenceSection`    | `DifferenceSection` | Yes          | The category of difference.               
| `differenceType`       | `DifferenceType`    | Yes          | This exemplifies the kind of difference.  
| `evaluatedPath`        | `string[]`          | Yes          | Path of the key abstracting array indices.
| `newPath`              | `string[]`          | Yes          | Path of the key in the actual response.   
| `newValue`             | `ValueType`         | Yes          | Value in the actual response.
| `originalPath`         | `string[]`          | Yes          | Path of the key in original response difference.
| `originalValue`        | `ValueType`         | Yes          | Value in the original response.
| `requestIdentifier`    | `string`            | Yes          | A unique key to identify a request.
| `requestType`          | `RequestType`       | Yes          | Type that distinguishes the server used.
| `severityScore`        | `number`            | Yes          | Severity of the error.


#### Enum: DifferenceSection

Possible values for DifferenceSection.

- `NOISY_ERROR`: error due to a ever changing value in a field.
- `ERROR`: Indicates that there was an error processing the request.

#### Enum: DifferenceType

Possible values for DifferenceType

- `VALUE_MODIFIED`
- `DATA_TYPE_CHANGED` and more.

#### ValueType

Keys present in ValueType

- `htType`: string
- `langType`: string
- `value`: any 

#### RequestType

Possible values for RequestType

- `HTTP`
- `GRAPHQL`
- `GRPC`
- `KAFKA`
- `AMQP`
<strong>
</strong></code></pre>

</details>

<details>

<summary>Mock Difference</summary>

<pre class="language-markdown"><code class="lang-markdown">### mockDiff

<strong>Describes a single difference between recorded mock to the actual mock.
</strong>
#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|      
| `differenceSection`    | `DifferenceSection` | Yes          | The category of difference.               
| `differenceType`       | `DifferenceType`    | Yes          | This exemplifies the kind of difference.  
| `evaluatedPath`        | `string[]`          | Yes          | Path of the key abstracting array indices.
| `newPath`              | `string[]`          | Yes          | Path of the key in the actual response.   
| `newValue`             | `ValueType`         | Yes          | Value in the actual response.
| `originalPath`         | `string[]`          | Yes          | Path of the key in original response difference.
| `originalValue`        | `ValueType`         | Yes          | Value in the original response.
| `mockIdentifier`       | `string`            | Yes          | A unique key to identify a mock.
| `originalMockId`       | `bigint`            | Yes          | Mock Id corresponding to the recorded mock.
| `severityScore`        | `number`            | Yes          | Severity of the error.


#### Enum: DifferenceSection

Possible values for DifferenceSection.

- `NOISY_ERROR`: error due to a ever changing value in a field.
- `ERROR`: Indicates that there was an error processing the request.

#### Enum: DifferenceType

Possible values for DifferenceType

- `VALUE_MODIFIED`
- `DATA_TYPE_CHANGED` and more.

#### ValueType

Keys present in ValueType

- `htType`: string
- `langType`: string
- `value`: any 
<strong>
</strong></code></pre>

</details>

<details>

<summary>Current Mock</summary>

```markdown
### currentMock

Original mock recorded which now has a difference with the replayed mock.

#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|
| `submoduleName`        | `string`            | Yes          | Submodule name of the mock.        
| `moduleName`           | `string`            | Yes          | Module name of the mock.               
| `id`                   | `bigint`            | Yes          | Recorded mock id.
| `OutputStatus`         | `OutputStatus`      | Yes          | Status of mock. 
| `readableInput`        | `object`            | Yes          | Mock input.
| `readableOutput`       | `object`            | Yes          | Mock output.   
| `err`                  | `object`            | Yes          | Mock error.

#### Enum: OutputStatus

Possible values for OutputStatus.

- `ERROR`
- `OKAY`
```

</details>

#### Request Object

{% tabs %}
{% tab title="HTTP" %}

```markdown
### requestObj

Describes the components of a recorded http request.

#### Properties

| Property Name          | Type                | Non-Opitonal | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|
| `i_bodyType`           | `BodyType`          | Yes          | Body type of the http request.        
| `i_clusterPath`        | `string`            | Yes          | Cluster path for the http request.               
| `i_headers`            | `object`            | Yes          | Headers for the request.  
| `i_method     `        | `string`            | Yes          | Verb of the request.
| `i_path`               | `string`            | Yes          | Actual path of the request.   
| `i_query`              | `object`            | Yes          | Query of the request.
| `id`                   | `bigint`            | Yes          | Id of the recorded request.
| `i_host`               | `string`            | Yes          | Host of the request.
| `i_jsonBody`           | `object`            | Yes          | Request body.
| `requestType`          | `RequestType`       | Yes          | Server type.
| `o_jsonBody`           | `string`            | Yes          | Response body.
| `o_headers`            | `object`            | Yes          | Response headers.
| `o_statusCode`         | `number`            | Yes          | Response status code.
| `OutputStatus`         | `OutputStatus`      | Yes          | Status of the request.

#### Enum: BodyType

Possible values for BodyType.

- `JSON`
- `MULTIPART`
- `RAW` and more.

#### RequestType

Possible values for RequestType

- `HTTP`
- `GRAPHQL`
- `GRPC`
- `KAFKA`
- `AMQP`

#### Enum: OutputStatus

Possible values for OutputStatus.

- `ERROR`
- `OKAY`
```

{% endtab %}

{% tab title="GRAPHQL" %}

```markdown
### requestObj

Describes the components of a recorded graphql request.

#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|
| `i_gqlOpType`          | `HtGraphqlOpType`   | Yes          | Graphql request type.        
| `i_gqlHeaders`         | `Object`            | Yes          | Headers for the request.               
| `i_gqlQuery`           | `string`            | Yes          | Query for the request.  
| `im_gqlOpName`         | `string`            | Yes          | Graphql Operation name.
| `i_gqlVars`            | `object`            | Yes          | Variables for the graphql request.   
| `i_gqlResolverChain`   | `string[]`          | Yes          | Resolvers encountered in the response.
| `id`                   | `bigint`            | Yes          | Id of the recorded request.
| `o_data`               | `object`            | Yes          | Response data.
| `o_error`              | `object`            | Yes          | Response error.
| `requestType`          | `RequestType`       | Yes          | Server type.
| `OutputStatus`         | `OutputStatus`      | Yes          | Status of the request.

#### Enum: HtGraphqlOpType

Possible values for HtGraphqlOpType.

- `QUERY`
- `MUTATION`
- `SUBSCRIPTION`

#### RequestType

Possible values for RequestType

- `HTTP`
- `GRAPHQL`
- `GRPC`
- `KAFKA`
- `AMQP`

#### Enum: OutputStatus

Possible values for OutputStatus.

- `ERROR`
- `OKAY`
```

{% endtab %}

{% tab title="GRPC" %}

```markdown
### requestObj

Describes the components of a recorded GRPC request.

#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|
| `i_method`             | `string`            | Yes          | Request method.        
| `i_service`            | `string`            | Yes          | Name of the service.               
| `i_metaData`           | `object`            | Yes          | Request meta data.  
| `i_body`               | `object`            | No           | Request body.
| `o_metaData`           | `object`            | Yes          | Response meta data.   
| `o_error`              | `object`            | No           | Response error.
| `id`                   | `bigint`            | Yes          | Id of the recorded request.
| `o_status`             | `object`            | Yes          | Response status.
| `o_body`               | `object`            | No           | Response body.
| `requestType`          | `RequestType`       | Yes          | Server type.
| `OutputStatus`         | `OutputStatus`      | Yes          | Status of the request.

#### RequestType

Possible values for RequestType

- `HTTP`
- `GRAPHQL`
- `GRPC`
- `KAFKA`
- `AMQP`

#### Enum: OutputStatus

Possible values for OutputStatus.

- `ERROR`
- `OKAY`
```

{% endtab %}

{% tab title="KAFKA" %}

```markdown
### requestObj

Describes the components of a recorded kafka request.

#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|
| `i_groupId`            | `string`            | Yes          | Kafka group id.        
| `i_highWaterMark`      | `string`            | No           | Last message offset.               
| `i_topic`              | `string`            | Yes          | Topic name.  
| `i_jsonValue`          | `object`            | No           | Request body value.
| `i_headers`            | `object`            | No           | Request headers.   
| `i_offset`             | `string`            | Yes          | Current message offset.
| `id`                   | `bigint`            | Yes          | Id of the recorded request.
| `i_timestamp`          | `string`            | Yes          | Timestamp.
| `im_valueString`       | `string`            | No           | Message stringified.
|`im_valueStringEncoding`| `HtRawEncoding`     | No           | Encoding for the value string.
| `im_attributes`        | `int`               | Yes          | Config.
| `im_size`              | `int`               | No           | Message size.
| `im_partition`         | `int`               | Yes          | Partition name.
| `requestType`          | `RequestType`       | Yes          | Server type.
| `OutputStatus`         | `OutputStatus`      | Yes          | Status of the request.

#### Enum: HtRawEncoding

Possible values for HtRawEncoding.

- `NONE`
- `UTF8`
- `BASE64`

#### RequestType

Possible values for RequestType

- `HTTP`
- `GRAPHQL`
- `GRPC`
- `KAFKA`
- `AMQP`

#### Enum: OutputStatus

Possible values for OutputStatus.

- `ERROR`
- `OKAY`

```

{% endtab %}

{% tab title="AMQP" %}

```markdown
### requestObj

Describes the components of a recorded AMQP request.

#### Properties

| Property Name          | Type                | Non-Optional | Description                               
|------------------------|---------------------|--------------|-------------------------------------------|
| `i_queue`              | `string`            | Yes          | Queue name.        
| `i_msg`                | `object`            | Yes          | Message sent in the request.               
| `i_messageType`        | `HtAmqpMessageType` | Yes          | Message Type.  
| `i_options`            | `object`            | No           | Options for the request.
|`im_ContentBufferBase64`| `string`            | No           | Content buffer encoded in base64.   
| `OutputStatus`         | `OutputStatus`      | Yes          | Status of the request.
| `id`                   | `bigint`            | Yes          | Id of the recorded request.
| `requestType`          | `RequestType`       | Yes          | Server type.

#### Enum: OutputStatus

Possible values for OutputStatus.

- `ERROR`
- `OKAY`

#### RequestType

Possible values for RequestType

- `HTTP`
- `GRAPHQL`
- `GRPC`
- `KAFKA`
- `AMQP`

```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-v2.hypertest.co/user-guides/node.js-sdk/type-references.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
