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

# MockProviderOptions

> Interface exported by @botmesh/core/testing.

Defined in: [testing/MockProvider.ts:134](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L134)

Options of [MockProvider](https://botmesh.afaya.com.co/api/core/testing/classes/MockProvider.md).

## Properties

### streaming?

```ts theme={null}
streaming?: StreamingMode;
```

Defined in: [testing/MockProvider.ts:140](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L140)

Streaming mode to simulate (`capabilities.streaming`). `'edit'` also exposes
`editMessage` (recorded in `edits`); `'draft'` exposes `sendDraft` (recorded in
`drafts`) and `editMessage`. Default `'none'` (no edit, no drafts).

***

### maxTextLength?

```ts theme={null}
maxTextLength?: number;
```

Defined in: [testing/MockProvider.ts:142](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L142)

`capabilities.maxTextLength` to simulate. Default: unset.

***

### maxTextBytes?

```ts theme={null}
maxTextBytes?: number;
```

Defined in: [testing/MockProvider.ts:144](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L144)

`capabilities.maxTextBytes` (UTF-8) to simulate. Default: unset.

***

### textFormat?

```ts theme={null}
textFormat?: TextFormat;
```

Defined in: [testing/MockProvider.ts:146](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L146)

`capabilities.textFormat` to simulate (e.g. `'whatsapp'`). Default: unset.

***

### buttons?

```ts theme={null}
buttons?: boolean;
```

Defined in: [testing/MockProvider.ts:151](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L151)

Native buttons to simulate (`capabilities.buttons` and the `'buttons'` content
kind). `false` simulates a channel without them (Baileys, SMS…). Default `true`.

***

### textFormatFor?

```ts theme={null}
textFormatFor?: (chatId) => TextFormat | undefined;
```

Defined in: [testing/MockProvider.ts:156](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L156)

Per-chat text format to simulate (`IProvider.textFormatFor`), e.g. a provider that
serves WhatsApp and SMS chats. Default: unset (the mock has no `textFormatFor`).

#### Parameters

| Parameter | Type |
| - | - |
| `chatId` | `string` |

#### Returns

[`TextFormat`](https://botmesh.afaya.com.co/api/core/type-aliases/TextFormat) | `undefined`

***

### supports?

```ts theme={null}
supports?: MockProviderSupports;
```

Defined in: [testing/MockProvider.ts:164](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L164)

Which optional seams the mock exposes. A disabled seam is hidden (the instance
property reads `undefined`), so the bot treats it exactly like a provider that
lacks the method. Defaults follow `streaming`: `edit` and `delete` when it is not
`'none'`, `drafts` when it is `'draft'`. When left unset, a subclass's own
override of the method is never hidden; an explicit `false` hides it too.

***

### exclusiveSession?

```ts theme={null}
exclusiveSession?: boolean;
```

Defined in: [testing/MockProvider.ts:170](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L170)

`capabilities.exclusiveSession` to simulate: a transport that allows one live
connection (Baileys). Multi-replica coordination then starts the mock on the elected
replica only. Default: unset.

***

### maxJournal?

```ts theme={null}
maxJournal?: number;
```

Defined in: [testing/MockProvider.ts:175](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L175)

Cap of [MockProvider.journal](https://botmesh.afaya.com.co/api/core/testing/classes/MockProvider.md#journal); the oldest entries are dropped first (default
`10000`, `Infinity` disables the cap). `outbox` is never capped.

***

### interactionsRequireAck?

```ts theme={null}
interactionsRequireAck?: boolean;
```

Defined in: [testing/MockProvider.ts:180](https://github.com/andresayac/botmesh/blob/main/packages/core/src/testing/MockProvider.ts#L180)

`capabilities.interactionsRequireAck` to simulate (Discord): the bot then acknowledges
every interaction on its own (see `ctx.acknowledge()`). Default `false`.


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