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

# CORE_MESSAGES

> Variable exported by @botmesh/core.

```ts theme={null}
const CORE_MESSAGES: object;
```

Defined in: [i18n/builtins.ts:16](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L16)

Keys of the built-in core messages (pass them to `ctx.t()` or override them in `bot.locale()`).

## Type Declaration

| Name | Type | Default value | Description | Defined in |
| - | - | - | - | - |
|  `timeout` | `"core.conversation.timeout"` | `'core.conversation.timeout'` | A conversation wait timed out. | [i18n/builtins.ts:18](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L18) |
|  `retries` | `"core.conversation.retries"` | `'core.conversation.retries'` | A wait exhausted its `retries`. | [i18n/builtins.ts:20](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L20) |
|  `error` | `"core.conversation.error"` | `'core.conversation.error'` | A conversation threw an unexpected error. | [i18n/builtins.ts:22](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L22) |
|  `conversationInterrupted` | `"core.conversation.interrupted"` | `'core.conversation.interrupted'` | A conversation was interrupted when another replica took the chat (`coordination.handover.fallback: 'notify'`). | [i18n/builtins.ts:24](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L24) |
|  `waitText` | `"core.wait.text"` | `'core.wait.text'` | A text wait received something that is not text. | [i18n/builtins.ts:26](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L26) |
|  `waitInvalid` | `"core.wait.invalid"` | `'core.wait.invalid'` | A `validate` rejection without its own message. | [i18n/builtins.ts:28](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L28) |
|  `waitMedia` | `"core.wait.media"` | `'core.wait.media'` | `c.waitMedia()` received something that is not an accepted media type. | [i18n/builtins.ts:30](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L30) |
|  `waitLocation` | `"core.wait.location"` | `'core.wait.location'` | `c.waitLocation()` received something that is not a shared location. | [i18n/builtins.ts:32](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L32) |
|  `commandsHelp` | `"core.commands.help"` | `'core.commands.help'` | `/start` and `/help` text of `slashCommandsPlugin`. | [i18n/builtins.ts:34](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L34) |
|  `commandsReset` | `"core.commands.reset"` | `'core.commands.reset'` | `/reset` reply. | [i18n/builtins.ts:36](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L36) |
|  `commandsCancel` | `"core.commands.cancel"` | `'core.commands.cancel'` | `/cancel` reply. | [i18n/builtins.ts:38](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L38) |
|  `commandsId` | `"core.commands.id"` | `'core.commands.id'` | `/id` reply (`{id}`). | [i18n/builtins.ts:40](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L40) |
|  `commandsIdGroup` | `"core.commands.idGroup"` | `'core.commands.idGroup'` | `/id` reply in a group (`{id}`). | [i18n/builtins.ts:42](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L42) |
|  `commandsPing` | `"core.commands.ping"` | `'core.commands.ping'` | `/ping` reply. | [i18n/builtins.ts:44](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L44) |
|  `commandsUnknown` | `"core.commands.unknown"` | `'core.commands.unknown'` | Reply to an unknown `/command`. | [i18n/builtins.ts:46](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L46) |
|  `formPending` | `"core.form.pending"` | `'core.form.pending'` | Native form: reminder when something other than the submission arrives. | [i18n/builtins.ts:48](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L48) |
|  `formSkipWord` | `"core.form.skipWord"` | `'core.form.skipWord'` | Degraded form: default word that skips an optional field. | [i18n/builtins.ts:50](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L50) |
|  `formSkipHint` | `"core.form.skipHint"` | `'core.form.skipHint'` | Degraded form: hint under an optional field (`{word}`). | [i18n/builtins.ts:52](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L52) |
|  `formDateHint` | `"core.form.dateHint"` | `'core.form.dateHint'` | Degraded form: format hint under a date field. | [i18n/builtins.ts:54](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L54) |
|  `formYesNo` | `"core.form.yesNo"` | `'core.form.yesNo'` | Degraded form: the opt-in menu. | [i18n/builtins.ts:56](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L56) |
|  `formPickOne` | `"core.form.pickOne"` | `'core.form.pickOne'` | Degraded form: multiselect hint when only one pick is allowed. | [i18n/builtins.ts:58](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L58) |
|  `formPickUpTo` | `"core.form.pickUpTo"` | `'core.form.pickUpTo'` | Degraded form: multiselect hint (`{max}`). | [i18n/builtins.ts:60](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L60) |
|  `formPickBetween` | `"core.form.pickBetween"` | `'core.form.pickBetween'` | Degraded form: multiselect hint (`{min}`, `{max}`). | [i18n/builtins.ts:62](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L62) |
|  `formEmpty` | `"core.form.empty"` | `'core.form.empty'` | Empty answer to a text field (`{label}`). | [i18n/builtins.ts:64](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L64) |
|  `formMinLength` | `"core.form.minLength"` | `'core.form.minLength'` | Text shorter than `minLength` (`{label}`, `{min}`). | [i18n/builtins.ts:66](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L66) |
|  `formMaxLength` | `"core.form.maxLength"` | `'core.form.maxLength'` | Text longer than `maxLength` (`{label}`, `{max}`). | [i18n/builtins.ts:68](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L68) |
|  `formPattern` | `"core.form.pattern"` | `'core.form.pattern'` | Text not matching `pattern` (`{label}`). | [i18n/builtins.ts:70](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L70) |
|  `formEmail` | `"core.form.email"` | `'core.form.email'` | Invalid email. | [i18n/builtins.ts:72](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L72) |
|  `formNumber` | `"core.form.number"` | `'core.form.number'` | Not a number (`{label}`). | [i18n/builtins.ts:74](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L74) |
|  `formAmbiguousNumber` | `"core.form.ambiguousNumber"` | `'core.form.ambiguousNumber'` | Number with thousands separators (`{label}`). | [i18n/builtins.ts:76](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L76) |
|  `formInteger` | `"core.form.integer"` | `'core.form.integer'` | Not a whole number (`{label}`). | [i18n/builtins.ts:78](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L78) |
|  `formMin` | `"core.form.min"` | `'core.form.min'` | Number below `min` (`{label}`, `{min}`). | [i18n/builtins.ts:80](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L80) |
|  `formMax` | `"core.form.max"` | `'core.form.max'` | Number above `max` (`{label}`, `{max}`). | [i18n/builtins.ts:82](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L82) |
|  `formDate` | `"core.form.date"` | `'core.form.date'` | Unparseable date. | [i18n/builtins.ts:84](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L84) |
|  `formDateMin` | `"core.form.dateMin"` | `'core.form.dateMin'` | Date before `min` (`{label}`, `{min}`). | [i18n/builtins.ts:86](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L86) |
|  `formDateMax` | `"core.form.dateMax"` | `'core.form.dateMax'` | Date after `max` (`{label}`, `{max}`). | [i18n/builtins.ts:88](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L88) |
|  `formSelect` | `"core.form.select"` | `'core.form.select'` | Answer matching no option of a select. | [i18n/builtins.ts:90](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L90) |
|  `formUnknownOption` | `"core.form.unknownOption"` | `'core.form.unknownOption'` | Multiselect token matching no option (`{part}`). | [i18n/builtins.ts:92](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L92) |
|  `formPickMin` | `"core.form.pickMin"` | `'core.form.pickMin'` | Too few picks (`{label}`, `{min}`). | [i18n/builtins.ts:94](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L94) |
|  `formPickMax` | `"core.form.pickMax"` | `'core.form.pickMax'` | Too many picks (`{label}`, `{max}`). | [i18n/builtins.ts:96](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L96) |
|  `formOptin` | `"core.form.optin"` | `'core.form.optin'` | Opt-in answer that is neither yes nor no. | [i18n/builtins.ts:98](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L98) |
|  `formOptinRequired` | `"core.form.optinRequired"` | `'core.form.optinRequired'` | Required opt-in not accepted (`{label}`). | [i18n/builtins.ts:100](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L100) |
|  `formRequired` | `"core.form.required"` | `'core.form.required'` | Required field missing from a native submission (`{label}`). | [i18n/builtins.ts:102](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L102) |
|  `formInvalidValue` | `"core.form.invalidValue"` | `'core.form.invalidValue'` | Native submission value of the wrong type (`{label}`). | [i18n/builtins.ts:104](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L104) |
|  `formInvalidOption` | `"core.form.invalidOption"` | `'core.form.invalidOption'` | Native submission with an unknown option (`{label}`). | [i18n/builtins.ts:106](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L106) |
|  `formInvalidDate` | `"core.form.invalidDate"` | `'core.form.invalidDate'` | Native submission with an invalid date (`{label}`). | [i18n/builtins.ts:108](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L108) |
|  `formCta` | `"core.form.cta"` | `'core.form.cta'` | Native form: label of the button that opens it (default of `FormDefinition.cta`). | [i18n/builtins.ts:110](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L110) |
|  `formSubmit` | `"core.form.submit"` | `'core.form.submit'` | Native form: label of its submit button (default of `FormDefinition.submitLabel`). | [i18n/builtins.ts:112](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L112) |
|  `formBody` | `"core.form.body"` | `'core.form.body'` | Native form: message body when the definition has neither `intro` nor `title`. | [i18n/builtins.ts:114](https://github.com/andresayac/botmesh/blob/main/packages/core/src/i18n/builtins.ts#L114) |


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