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

# Paquetes y versiones

> botmesh es un conjunto de paquetes en un monorepo: el motor, @botmesh/core, más un paquete por canal, store, plugin y herramienta. Esta página es la referencia de cuáles se publican, con qué tag de npm y qué necesita cada paquete. Las demás páginas enlazan aquí en vez de repetirlo.

## Estado de publicación

botmesh está en **beta**. Los paquetes públicos se publican desde el modo
prerelease `beta` de [Changesets](https://github.com/changesets/changesets):

| Paquete | Versiones beta | Línea estable |
| - | - | - |
| `@botmesh/core` | `2.0.0-beta.N` | `2.0.0` |
| El resto de paquetes públicos | `1.0.0-beta.N` | `1.0.0` |

Las guías documentan la beta y la API que congela para la línea estable. Si
vienes de una alpha de 2.0, lee la [guía de actualización](https://botmesh.afaya.com.co/es/guide/stable-migration.md).

## Dist-tags de npm

* **`beta`** apunta siempre a la beta más reciente de cada paquete. Cada
  publicación lo mueve sola.
* **`latest`** es lo que resuelve una instalación sin tag
  (`pnpm add @botmesh/core`). Las herramientas de publicación no lo mueven
  durante la beta: el mantenedor lo mueve **a mano** a las mismas versiones
  tras cada publicación, así que una instalación sin tag también instala la
  beta.

Justo después de una publicación, `latest` puede seguir apuntando un rato a la
beta anterior. Revisa los tags con:

```bash theme={null}
pnpm view @botmesh/core dist-tags
```

## Instalación

Instala el core y los paquetes que necesites, sin tag:

```bash theme={null}
pnpm add @botmesh/core @botmesh/baileys
```

o con el tag `beta`, que instala siempre la beta más reciente (úsalo cuando
`latest` va por detrás):

```bash theme={null}
pnpm add @botmesh/core@beta @botmesh/baileys@beta
```

Instala todos los paquetes `@botmesh/*` desde el **mismo tag**. Los paquetes
publicados dependen entre sí con rangos caret (`^x.y.z`), así que el gestor de
paquetes conserva una sola copia de `@botmesh/core`; mezclar builds de tags
distintos puede fallar por exports que faltan o rangos de peers (ver
[Solución de problemas](https://botmesh.afaya.com.co/es/guide/troubleshooting.md#pnpm-add-@botmesh/core-instala-una-build-anterior)).
Para empezar un proyecto, `npm create botmesh` estampa versiones que
encajan entre sí (ver [Inicio rápido](https://botmesh.afaya.com.co/es/guide/getting-started.md)).

## Requisitos

* **Node.js 22 o posterior.** Todos los paquetes declaran
  `"engines": { "node": ">=22" }`. El [inicio rápido](https://botmesh.afaya.com.co/es/guide/getting-started.md#requisitos)
  recomienda 22.12 o posterior.
* **Solo ESM.** Ningún paquete trae CommonJS: usa `import` (nunca `require()`),
  pon `"type": "module"` en tu `package.json` (o usa archivos `.mjs`) y, con
  TypeScript, `"module": "nodenext"`.
* Los SDKs opcionales son **peer dependencies que se cargan en diferido**: los
  SDKs de LLM de `@botmesh/ai`, `better-sqlite3`, `pg`, `mysql2`, `mongodb` y
  `redis` para los stores, `imapflow` y `nodemailer` para el email, `pdf-parse`
  para RAG y `@opentelemetry/api` para `@botmesh/otel`. Instala el que uses.

## Entradas y semver

La entrada principal de un paquete (`@botmesh/core`, `@botmesh/telegram`…) es
su API pública, cubierta por semver. Algunos paquetes añaden subrutas:

| Entrada | Qué contiene |
| - | - |
| `@botmesh/core/spi` | Piezas para autores de stores, durabilidad, scheduler y transportes. Cubierta por semver. |
| `@botmesh/core/testing` | `createTestBot`, `MockProvider` y los helpers de contrato ([Testing](https://botmesh.afaya.com.co/es/guide/testing.md)). Cubierta por semver. |
| `@botmesh/core/dev` | El simulador de terminal como librería ([Simulador en la terminal](https://botmesh.afaya.com.co/es/guide/dev-simulator.md)). |
| `@botmesh/server/express`, `/fastify`, `/hono` | Adaptadores de framework del [servidor de webhooks](https://botmesh.afaya.com.co/es/guide/server.md). |
| `@botmesh/events/durability` | El backend de durabilidad sobre el journal de eventos ([Procesamiento durable](https://botmesh.afaya.com.co/es/guide/durability.md)). |
| `@botmesh/ai/testing` | `MockAIProvider` y `validateArgs` ([Plugin de IA](https://botmesh.afaya.com.co/es/guide/ai.md)). Cubierta por semver. |
| `<paquete>/internal` | Internos del motor y piezas sueltas, **sin garantía semver**: pueden cambiar en cualquier versión. Un paquete publicado nunca importa el `/internal` de otro. |

## Paquetes públicos (36)

Todos están en npm con `beta` y `latest`. El directorio es la carpeta dentro de
[`packages/`](https://github.com/andresayac/botmesh/tree/main/packages).

**Motor**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/core` | `core` | [Conceptos básicos](https://botmesh.afaya.com.co/es/guide/concepts.md) |

**Canales (12)**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/baileys` | `baileys-provider` | [Baileys (WhatsApp Web)](https://botmesh.afaya.com.co/es/guide/baileys.md) |
| `@botmesh/meta` | `meta-provider` | [WhatsApp Cloud API](https://botmesh.afaya.com.co/es/guide/whatsapp-cloud-api.md) |
| `@botmesh/evolution` | `evolution-provider` | [Evolution API](https://botmesh.afaya.com.co/es/guide/evolution.md) |
| `@botmesh/wppconnect` | `wppconnect-provider` | [WPPConnect](https://botmesh.afaya.com.co/es/guide/wppconnect.md) |
| `@botmesh/twilio` | `twilio-provider` | [Twilio](https://botmesh.afaya.com.co/es/guide/twilio.md) |
| `@botmesh/gupshup` | `gupshup-provider` | [Gupshup](https://botmesh.afaya.com.co/es/guide/gupshup.md) |
| `@botmesh/gohighlevel` | `gohighlevel-provider` | [HighLevel](https://botmesh.afaya.com.co/es/guide/gohighlevel.md) |
| `@botmesh/messenger` | `messenger-provider` | [Messenger](https://botmesh.afaya.com.co/es/guide/messenger.md) |
| `@botmesh/instagram` | `instagram-provider` | [Instagram](https://botmesh.afaya.com.co/es/guide/instagram.md) |
| `@botmesh/telegram` | `telegram-provider` | [Telegram](https://botmesh.afaya.com.co/es/guide/telegram.md) |
| `@botmesh/discord` | `discord-provider` | [Discord](https://botmesh.afaya.com.co/es/guide/discord.md) |
| `@botmesh/email` | `email-provider` | [Email](https://botmesh.afaya.com.co/es/guide/email.md) |

**Infraestructura compartida**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/http` | `http` | [Seguridad](https://botmesh.afaya.com.co/es/guide/security.md) (cliente HTTP anti-SSRF) |
| `@botmesh/graph-core` | `graph-core` | Helpers de Meta Graph compartidos por `meta`, `messenger` e `instagram` |
| `@botmesh/wa-gateway-kit` | `wa-gateway-kit` | Identidad, REST y media compartidos por `evolution` y `wppconnect` |
| `@botmesh/server` | `server` | [Servidor de webhooks](https://botmesh.afaya.com.co/es/guide/server.md) |

**Stores (5)**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/sqlite-store` | `sqlite-store` | [Store persistente](https://botmesh.afaya.com.co/es/guide/store.md) |
| `@botmesh/redis-store` | `redis-store` | [Store persistente](https://botmesh.afaya.com.co/es/guide/store.md), [Redis Cluster](https://botmesh.afaya.com.co/es/guide/redis-cluster.md) |
| `@botmesh/postgres-store` | `postgres-store` | [Store persistente](https://botmesh.afaya.com.co/es/guide/store.md) |
| `@botmesh/mysql-store` | `mysql-store` | [Store persistente](https://botmesh.afaya.com.co/es/guide/store.md) |
| `@botmesh/mongo-store` | `mongo-store` | [Store persistente](https://botmesh.afaya.com.co/es/guide/store.md) |

**Operación y observabilidad**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/events` | `events` | [Operación](https://botmesh.afaya.com.co/es/guide/operations.md) |
| `@botmesh/otel` | `otel` | [Trazas (OpenTelemetry)](https://botmesh.afaya.com.co/es/guide/tracing.md) |

**Plugins (8)**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/ai` | `ai` | [Plugin de IA](https://botmesh.afaya.com.co/es/guide/ai.md) |
| `@botmesh/rag` | `rag` | [Memoria y RAG](https://botmesh.afaya.com.co/es/guide/ai-memory-rag.md) |
| `@botmesh/voice` | `voice` | [Voz (STT/TTS)](https://botmesh.afaya.com.co/es/guide/voice.md) |
| `@botmesh/nlu` | `nlu` | [Integraciones](https://botmesh.afaya.com.co/es/guide/integrations.md) |
| `@botmesh/dialogflow` | `dialogflow` | [Integraciones](https://botmesh.afaya.com.co/es/guide/integrations.md) |
| `@botmesh/chatwoot` | `chatwoot` | [Integraciones](https://botmesh.afaya.com.co/es/guide/integrations.md) |
| `@botmesh/tickets` | `tickets` | [Integraciones](https://botmesh.afaya.com.co/es/guide/integrations.md) |
| `@botmesh/moderation` | `moderation` | [Integraciones](https://botmesh.afaya.com.co/es/guide/integrations.md) |

**Herramientas**

| Paquete | Directorio | Guía |
| - | - | - |
| `@botmesh/flow-schema` | `flow-schema` | [Esquema JSON de flujos](https://botmesh.afaya.com.co/es/guide/flow-schema.md) |
| `create-botmesh` | `create-botmesh` | [Inicio rápido](https://botmesh.afaya.com.co/es/guide/getting-started.md) |
| `eslint-plugin-botmesh` | `eslint-plugin` | [Plugin de ESLint](https://botmesh.afaya.com.co/es/guide/eslint.md) |
| `@botmesh/mcp` | `mcp` | [Servidor MCP](https://botmesh.afaya.com.co/es/guide/mcp.md) |

Diez se publicaron por primera vez durante la alpha (`core`, `baileys`, `meta`,
`telegram`, `sqlite-store`, `redis-store`, `ai`, `http`, `graph-core` y
`create-botmesh`); los otros 26 salieron a npm por primera vez con la beta.

## Paquetes privados (9)

Estos paquetes están implementados y con tests, pero llevan `"private": true`
en su `package.json`: **no están en npm**, no siguen semver y su API puede
cambiar. Las páginas que los documentan llevan un aviso "Experimental" y van al
final de su sección. Úsalos desde un clon del monorepo, con dependencias
`"workspace:*"`. Un paquete publicado nunca depende de ellos.

| Paquete | Directorio | Qué es | Guía |
| - | - | - | - |
| `@botmesh/tiktok` | `tiktok-provider` | Canal de TikTok (comentarios y DMs) | [TikTok](https://botmesh.afaya.com.co/es/guide/tiktok.md) |
| `@botmesh/manager` | `manager` | Muchos bots por proceso, control plane REST | [Control plane](https://botmesh.afaya.com.co/es/guide/control-plane.md) |
| `@botmesh/sandbox` | `sandbox` | Simuladores locales de las plataformas y chat web | [Sandbox de plataformas](https://botmesh.afaya.com.co/es/guide/sandbox.md) |
| `@botmesh/inbox` | `inbox` | Bandeja compartida: asignación, notas, no leídos | [Operación](https://botmesh.afaya.com.co/es/guide/operations.md#paquetes-operativos) |
| `@botmesh/crm` | `crm` | Contactos, etiquetas, consentimiento y segmentos | [Operación](https://botmesh.afaya.com.co/es/guide/operations.md#paquetes-operativos) |
| `@botmesh/hub` | `hub` | Manifiestos y permisos de plugins | [Operación](https://botmesh.afaya.com.co/es/guide/operations.md#paquetes-operativos) |
| `@botmesh/campaigns` | `campaigns` | Envío de campañas con consentimiento y deduplicación | [Operación](https://botmesh.afaya.com.co/es/guide/operations.md#paquetes-operativos) |
| `@botmesh/deployments` | `deployments` | Gate de publicación y log de auditoría de flujos | [Transcripciones doradas](https://botmesh.afaya.com.co/es/guide/golden-transcripts.md#gate-de-publicación-@botmesh/deployments) |
| `@botmesh/tenant-kv` | `tenant-kv` | Documentos JSON por tenant sobre cualquier `DurableKv` | [Operación](https://botmesh.afaya.com.co/es/guide/operations.md#paquetes-operativos) |

El repositorio incluye además un ejemplo ejecutable, `examples/bakery-ai`
(`@botmesh/example-bakery-ai`, privado).

## Siguientes pasos

* [Inicio rápido](https://botmesh.afaya.com.co/es/guide/getting-started.md): genera un proyecto o instálalo a mano.
* [Canales](https://botmesh.afaya.com.co/es/guide/channels.md): elige un canal y compara lo que soporta cada uno.
* [Guía de actualización](https://botmesh.afaya.com.co/es/guide/stable-migration.md): si vienes de una alpha de 2.0.


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