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

# @botmesh/core/testing

> Reference of @botmesh/core/testing, generated by TypeDoc.

`@botmesh/core/testing` — test kit for bots: `MockProvider`, `createTestBot`, the chaos kit
(`ChaosProvider`, `withChaos`), identity-contract checks, crash simulation, golden
transcripts and in-memory coordinators. Never imported by the engine itself.

## Test bot

* [CreateTestBotOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/CreateTestBotOptions.md)
* [TestBot](https://botmesh.afaya.com.co/api/core/testing/interfaces/TestBot.md)
* [createTestBot](https://botmesh.afaya.com.co/api/core/testing/functions/createTestBot.md)
* [DEFAULT\_TEST\_USER](https://botmesh.afaya.com.co/api/core/testing/variables/DEFAULT_TEST_USER.md)
* [DEFAULT\_TEST\_NAME](https://botmesh.afaya.com.co/api/core/testing/variables/DEFAULT_TEST_NAME.md)
* [TestKitError](https://botmesh.afaya.com.co/api/core/testing/classes/TestKitError.md)
* [TestMediaKind](https://botmesh.afaya.com.co/api/core/testing/type-aliases/TestMediaKind.md)
* [PressedButton](https://botmesh.afaya.com.co/api/core/testing/interfaces/PressedButton.md)
* [TestTranscriptOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/TestTranscriptOptions.md)
* [TestSent](https://botmesh.afaya.com.co/api/core/testing/interfaces/TestSent.md)
* [TestChat](https://botmesh.afaya.com.co/api/core/testing/interfaces/TestChat.md)

## MockProvider

* [MockOutgoing](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockOutgoing.md)
* [MockMediaToken](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockMediaToken.md)
* [MockMediaSource](https://botmesh.afaya.com.co/api/core/testing/type-aliases/MockMediaSource.md)
* [MockMediaOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockMediaOptions.md)
* [MockIncomingOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockIncomingOptions.md)
* [MockJournalEntry](https://botmesh.afaya.com.co/api/core/testing/type-aliases/MockJournalEntry.md)
* [MockProviderOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockProviderOptions.md)
* [MockProviderSupports](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockProviderSupports.md)
* [MockEdit](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockEdit.md)
* [MockDraft](https://botmesh.afaya.com.co/api/core/testing/interfaces/MockDraft.md)
* [MockProvider](https://botmesh.afaya.com.co/api/core/testing/classes/MockProvider.md)

## Contract checks

* [CapabilityRule](https://botmesh.afaya.com.co/api/core/testing/type-aliases/CapabilityRule.md)
* [CapabilityViolation](https://botmesh.afaya.com.co/api/core/testing/interfaces/CapabilityViolation.md)
* [CapabilityContractError](https://botmesh.afaya.com.co/api/core/testing/classes/CapabilityContractError.md)
* [checkCapabilityContract](https://botmesh.afaya.com.co/api/core/testing/functions/checkCapabilityContract.md)
* [assertCapabilityContract](https://botmesh.afaya.com.co/api/core/testing/functions/assertCapabilityContract.md)
* [PresenceProbe](https://botmesh.afaya.com.co/api/core/testing/interfaces/PresenceProbe.md)
* [checkPresenceWhileDisconnected](https://botmesh.afaya.com.co/api/core/testing/functions/checkPresenceWhileDisconnected.md)
* [assertPresenceWhileDisconnected](https://botmesh.afaya.com.co/api/core/testing/functions/assertPresenceWhileDisconnected.md)
* [IdentityEventInput](https://botmesh.afaya.com.co/api/core/testing/type-aliases/IdentityEventInput.md)
* [IdentityExpectation](https://botmesh.afaya.com.co/api/core/testing/interfaces/IdentityExpectation.md)
* [IdentityExpectations](https://botmesh.afaya.com.co/api/core/testing/type-aliases/IdentityExpectations.md)
* [IdentityContractOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/IdentityContractOptions.md)
* [IdentityRule](https://botmesh.afaya.com.co/api/core/testing/type-aliases/IdentityRule.md)
* [IdentityViolation](https://botmesh.afaya.com.co/api/core/testing/interfaces/IdentityViolation.md)
* [IdentityContractError](https://botmesh.afaya.com.co/api/core/testing/classes/IdentityContractError.md)
* [checkIdentityContract](https://botmesh.afaya.com.co/api/core/testing/functions/checkIdentityContract.md)
* [assertStableIdentity](https://botmesh.afaya.com.co/api/core/testing/functions/assertStableIdentity.md)
* [EventRecorder](https://botmesh.afaya.com.co/api/core/testing/interfaces/EventRecorder.md)
* [recordEvents](https://botmesh.afaya.com.co/api/core/testing/functions/recordEvents.md)
* [InboundContractInput](https://botmesh.afaya.com.co/api/core/testing/type-aliases/InboundContractInput.md)
* [InboundContractOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/InboundContractOptions.md)
* [InboundRule](https://botmesh.afaya.com.co/api/core/testing/type-aliases/InboundRule.md)
* [InboundViolation](https://botmesh.afaya.com.co/api/core/testing/interfaces/InboundViolation.md)
* [InboundContractError](https://botmesh.afaya.com.co/api/core/testing/classes/InboundContractError.md)
* [checkInboundContract](https://botmesh.afaya.com.co/api/core/testing/functions/checkInboundContract.md)
* [assertInboundContract](https://botmesh.afaya.com.co/api/core/testing/functions/assertInboundContract.md)

## Chaos testing

* [createSeededRandom](https://botmesh.afaya.com.co/api/core/testing/functions/createSeededRandom.md)
* [ChaosRange](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosRange.md)
* [ChaosDelay](https://botmesh.afaya.com.co/api/core/testing/type-aliases/ChaosDelay.md)
* [ChaosDuplicateOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosDuplicateOptions.md)
* [ChaosReorderOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosReorderOptions.md)
* [ChaosSendErrorKind](https://botmesh.afaya.com.co/api/core/testing/type-aliases/ChaosSendErrorKind.md)
* [ChaosSendAttempt](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosSendAttempt.md)
* [ChaosErrorFactory](https://botmesh.afaya.com.co/api/core/testing/type-aliases/ChaosErrorFactory.md)
* [ChaosSendFailureOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosSendFailureOptions.md)
* [ChaosDisconnectOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosDisconnectOptions.md)
* [ChaosAliasOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosAliasOptions.md)
* [ChaosOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ChaosOptions.md)
* [ChaosLogEntry](https://botmesh.afaya.com.co/api/core/testing/type-aliases/ChaosLogEntry.md)
* [ChaosDisconnectedError](https://botmesh.afaya.com.co/api/core/testing/classes/ChaosDisconnectedError.md)
* [ChaosProvider](https://botmesh.afaya.com.co/api/core/testing/classes/ChaosProvider.md)
* [withChaos](https://botmesh.afaya.com.co/api/core/testing/functions/withChaos.md)
* [cloneInboundEvent](https://botmesh.afaya.com.co/api/core/testing/functions/cloneInboundEvent.md)

## Crash testing

* [JournalOp](https://botmesh.afaya.com.co/api/core/testing/type-aliases/JournalOp.md)
* [CrashableBackend](https://botmesh.afaya.com.co/api/core/testing/interfaces/CrashableBackend.md)
* [crashable](https://botmesh.afaya.com.co/api/core/testing/functions/crashable.md)
* [CrashableProvider](https://botmesh.afaya.com.co/api/core/testing/classes/CrashableProvider.md)

## Coordination

* [MemoryCoordinationHub](https://botmesh.afaya.com.co/api/core/testing/classes/MemoryCoordinationHub.md)
* [MemoryCoordinatorOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/MemoryCoordinatorOptions.md)
* [MemoryCoordinator](https://botmesh.afaya.com.co/api/core/testing/classes/MemoryCoordinator.md)

## Tracing

* [RecordedSpan](https://botmesh.afaya.com.co/api/core/testing/interfaces/RecordedSpan.md)
* [RecordingTracerOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/RecordingTracerOptions.md)
* [RecordingTracer](https://botmesh.afaya.com.co/api/core/testing/interfaces/RecordingTracer.md)
* [createRecordingTracer](https://botmesh.afaya.com.co/api/core/testing/functions/createRecordingTracer.md)

## Golden transcripts

* [outboundText](https://botmesh.afaya.com.co/api/core/testing/functions/outboundText.md)
* [TranscriptInboundEvent](https://botmesh.afaya.com.co/api/core/testing/type-aliases/TranscriptInboundEvent.md)
* [inboundTurnOf](https://botmesh.afaya.com.co/api/core/testing/functions/inboundTurnOf.md)
* [outboundTurnOf](https://botmesh.afaya.com.co/api/core/testing/functions/outboundTurnOf.md)
* [transcriptToText](https://botmesh.afaya.com.co/api/core/testing/functions/transcriptToText.md)
* [serializeContent](https://botmesh.afaya.com.co/api/core/testing/functions/serializeContent.md)
* [ReplayBotFactory](https://botmesh.afaya.com.co/api/core/testing/type-aliases/ReplayBotFactory.md)
* [ReplayMask](https://botmesh.afaya.com.co/api/core/testing/type-aliases/ReplayMask.md)
* [REPLAY\_MASKS](https://botmesh.afaya.com.co/api/core/testing/variables/REPLAY_MASKS.md)
* [ReplayOptions](https://botmesh.afaya.com.co/api/core/testing/interfaces/ReplayOptions.md)
* [TranscriptDiff](https://botmesh.afaya.com.co/api/core/testing/interfaces/TranscriptDiff.md)
* [ReplayResult](https://botmesh.afaya.com.co/api/core/testing/interfaces/ReplayResult.md)
* [TranscriptMismatchError](https://botmesh.afaya.com.co/api/core/testing/classes/TranscriptMismatchError.md)
* [replayTranscript](https://botmesh.afaya.com.co/api/core/testing/functions/replayTranscript.md)
* [assertTranscript](https://botmesh.afaya.com.co/api/core/testing/functions/assertTranscript.md)
* [formatReplayReport](https://botmesh.afaya.com.co/api/core/testing/functions/formatReplayReport.md)

## Also in @botmesh/core

### TRANSCRIPT\_FORMAT

Re-exports [TRANSCRIPT\_FORMAT](https://botmesh.afaya.com.co/api/core/variables/TRANSCRIPT_FORMAT.md)

***

### TRANSCRIPT\_VERSION

Re-exports [TRANSCRIPT\_VERSION](https://botmesh.afaya.com.co/api/core/variables/TRANSCRIPT_VERSION.md)

***

### TranscriptFormatError

Re-exports [TranscriptFormatError](https://botmesh.afaya.com.co/api/core/classes/TranscriptFormatError.md)

***

### createTranscript

Re-exports [createTranscript](https://botmesh.afaya.com.co/api/core/functions/createTranscript.md)

***

### parseTranscript

Re-exports [parseTranscript](https://botmesh.afaya.com.co/api/core/functions/parseTranscript.md)

***

### serializeTranscript

Re-exports [serializeTranscript](https://botmesh.afaya.com.co/api/core/functions/serializeTranscript.md)

***

### transcriptFromMessages

Re-exports [transcriptFromMessages](https://botmesh.afaya.com.co/api/core/functions/transcriptFromMessages.md)

***

### transcriptFromStore

Re-exports [transcriptFromStore](https://botmesh.afaya.com.co/api/core/functions/transcriptFromStore.md)

***

### Transcript

Re-exports [Transcript](https://botmesh.afaya.com.co/api/core/interfaces/Transcript.md)

***

### TranscriptTurn

Re-exports [TranscriptTurn](https://botmesh.afaya.com.co/api/core/type-aliases/TranscriptTurn.md)

***

### TranscriptInbound

Re-exports [TranscriptInbound](https://botmesh.afaya.com.co/api/core/interfaces/TranscriptInbound.md)

***

### TranscriptOutbound

Re-exports [TranscriptOutbound](https://botmesh.afaya.com.co/api/core/interfaces/TranscriptOutbound.md)

***

### JsonValue

Re-exports [JsonValue](https://botmesh.afaya.com.co/api/core/type-aliases/JsonValue.md)

***

### FromMessagesOptions

Re-exports [FromMessagesOptions](https://botmesh.afaya.com.co/api/core/interfaces/FromMessagesOptions.md)

***

### TranscriptMessageSource

Re-exports [TranscriptMessageSource](https://botmesh.afaya.com.co/api/core/interfaces/TranscriptMessageSource.md)

***

### TranscriptStoreOwner

Re-exports [TranscriptStoreOwner](https://botmesh.afaya.com.co/api/core/interfaces/TranscriptStoreOwner.md)

***

### recordTranscript

Re-exports [recordTranscript](https://botmesh.afaya.com.co/api/core/functions/recordTranscript.md)

***

### RecordingProvider

Re-exports [RecordingProvider](https://botmesh.afaya.com.co/api/core/classes/RecordingProvider.md)

***

### DEFAULT\_MAX\_TURNS

Re-exports [DEFAULT\_MAX\_TURNS](https://botmesh.afaya.com.co/api/core/variables/DEFAULT_MAX_TURNS.md)

***

### RecordTranscriptOptions

Re-exports [RecordTranscriptOptions](https://botmesh.afaya.com.co/api/core/interfaces/RecordTranscriptOptions.md)

***

### TranscriptRecorder

Re-exports [TranscriptRecorder](https://botmesh.afaya.com.co/api/core/interfaces/TranscriptRecorder.md)

***

### redactTranscript

Re-exports [redactTranscript](https://botmesh.afaya.com.co/api/core/functions/redactTranscript.md)

***

### createRedactionMap

Re-exports [createRedactionMap](https://botmesh.afaya.com.co/api/core/functions/createRedactionMap.md)

***

### RedactOptions

Re-exports [RedactOptions](https://botmesh.afaya.com.co/api/core/interfaces/RedactOptions.md)

***

### RedactionRule

Re-exports [RedactionRule](https://botmesh.afaya.com.co/api/core/interfaces/RedactionRule.md)

***

### RedactionMap

Re-exports [RedactionMap](https://botmesh.afaya.com.co/api/core/type-aliases/RedactionMap.md)


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