@mindpath/aether-core
v0.0.3
Published
Aether Core
Readme
@mindpath/aether-core
Overview
The EbotifyLiveChatConnector is a powerful library for managing live chat connections via socket communication. It provides seamless integration with Ebotify Live Chat, enabling efficient handling of real-time communication with type safety.
Features
- Socket Connection Management: Easily establish and manage socket connections.
- Real-time Communication: Send and receive messages in real time.
- Session Management: Update and retrieve session-specific user and settings data.
- Type Safety: Robust type definitions for improved developer experience.
- Customizable Events: Handle connection and message events with custom handlers.
Installation
Install the package using pnpm:
npm add @mindpath/aether-coreUsage
Configuration
Set up the EbotifyLiveChatConnector with your configuration:
import EbotifyLiveChatConnector from '@mindpath/aether-core';
const config = {
url: 'https://example.com',
botId: 'BOT123',
ebotifyCustomerId: 'CUSTOMER456',
organisationId: 'ORG789',
tenantId: 'TENANT012',
ticketNo: 'TICKET345',
onConnect: () => console.log('Connected to Ebotify Live Chat'),
};
const liveChatConnector = new EbotifyLiveChatConnector(config);Manage User and Session Settings
Update and retrieve user and session settings:
// Update user details
liveChatConnector.updateUser({ name: 'John Doe', contactNumber: '1234567890' });
// Get user details
const user = liveChatConnector.getUser();
console.log(user);
// Update session settings
liveChatConnector.updateSettings({ socketId: 'NEW_SOCKET_ID' });
// Get session settings
const settings = liveChatConnector.getSettings();
console.log(settings);Listen for Incoming Messages
Handle messages using a custom event handler:
liveChatConnector.listenMessage((data) => {
console.log('Received message:', data);
});Send Messages
Send messages to the Ebotify Live Chat:
const message = {
type: 'text',
message: 'Hello, how can I help you?',
};
liveChatConnector.message(message);tsup Configuration
This project uses tsup for bundling. Below is the configuration used:
import { defineConfig } from 'tsup';
export default defineConfig({
entry: ['./src/**/*.{ts,tsx}'],
treeshake: 'recommended',
format: ['cjs', 'esm'],
dts: true,
minify: true,
splitting: false,
sourcemap: false,
clean: true,
minifyIdentifiers: true,
minifySyntax: true,
minifyWhitespace: true,
platform: 'browser',
});Peer Dependencies
Ensure the following peer dependencies are installed:
react: ^18.2.0react-dom: ^18.2.0luxon: ^3.4.4socket.io-client: ^4.7.4
File Structure
dist: Contains the bundled output files.- Source Code:
- Type definitions and enums.
- Core classes (
EbotifyLiveChatConnector,SocketService, etc.).
License
This project is licensed under the ISC License.
