This repository holds various packages/components that collectively form the Unified Communications Interface (UCI), providing a versatile and extensible solution for building conversational interfaces and chatbots.
The UCI Packages Repository is a collection of modular components designed to provide a comprehensive and flexible framework for developing conversational interfaces. Each package addresses a specific aspect of the UCI ecosystem, allowing for easy extensibility and customization.
Feel free to explore each package's documentation for detailed information on usage, configuration, and contribution guidelines. By combining these packages, developers can build powerful and adaptable conversational applications using the Unified Conversational Interface.
This repository is used directly by inbound to provide APIs that seamlessly integrate the adapters present here.
The repository is organized into the following directories:
The xmessage
directory contains specifications for the xmessage
type, a foundational structure used extensively within UCI services. xmessage
serves as a common and fluid type, allowing seamless conversion of diverse data within the UCI ecosystem. Read more about xmessage here.
The adapters
directory hosts plugin-like code responsible for enabling UCI to interact with multiple channels and providers. These adapters facilitate integration with various platforms, including but not limited to Gupshup, WhatsApp, Telegram Bot, Nodemailer, PWA, and more. Read more about adapters and how to create new adapters here.
In the transformers
directory, you'll find components that work on the xstate library. These transformers govern the flow of a bot, applying rules and generating results based on prompts. They play a crucial role in orchestrating conversations within the UCI framework. Read more about transformers here.