@koreai/agentai-sdk
v1.0.0
Published
AgentAI SDK - Universal JavaScript SDK for Node.js and Browser
Downloads
95
Readme
@koreai/agentai-node-sdk
A Node.js SDK for AgentAI with event-based messaging and socket communication.
Installation
npm install @koreai/agentai-node-sdkQuick Start
const { AgentAI } = require('@koreai/agentai-node-sdk');
const client = new AgentAI({
connection: {
domainURL: 'https://your-agentassist-server.com',
botId: 'your-bot-id',
conversationId: 'your-conversation-id',
token: 'your-jwt-token',
interactiveLanguage: 'en',
customData: {},
channel: 'voice', // or 'chat'
sessionId: '', // session id from platform of self service
}
});
// Wait for connection to be ready
client.on('agentai_ready', (event) => {
console.log('AgentAI is ready!', event);
//you can start interacting with SDK from now!
});
// Listen for acknowledgments
client.on('agent_message_ack', (event) => {
console.log('Agent message sent:', event);
});
client.on('user_message_ack', (event) => {
console.log('User message sent:', event);
});Configuration
Required Connection Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| domainURL | string | AgentAssist server URL |
| botId | string | Bot identifier |
| conversationId | string | Conversation identifier |
| token | string | JWT authentication token |
| interactiveLanguage | string | Language code (e.g., 'en') |
| customData | object | Custom data object |
| channel | string | Channel type ('voice', 'web') |
| sessionId | string | Session identifier (optional) |
API
Methods
sendAgentMessage(payload)
Send a message as an agent. Returns true if sent successfully, false otherwise.
const success = client.sendAgentMessage({
message: 'Hello!',
});sendUserMessage(payload)
Send a message as a user. Returns true if sent successfully, false otherwise.
const success = client.sendUserMessage({
message: 'Hello!',
});internalTransfer(payload)
Call this method when internal agent transfer happens. Returns true on success, false otherwise.
const transferData = {
"transfertype": "NA", //warm, //cold
"transition": "entry", //exit
"participant": {
"identity": "a-123xxxxx",
"name": "a-xxxxxx",
"type": "agent"
}
};
const success = client.internalTransfer(transferData);disconnect()
Disconnect from the socket server.
client.disconnect();isConnected()
Check if the client is currently connected.
if (client.isConnected()) {
// Socket is connected
}Events
| Event | Description |
|-------|-------------|
| agentai_ready | Emitted when the connection is ready to send/receive messages |
| agent_message_ack | Acknowledgment when agent message is saved |
| user_message_ack | Acknowledgment when user message is saved |
| error | Emitted for all errors (validation, connection, etc.) |
| connect | Socket connected |
| disconnect | Socket disconnected |
| connect_error | Connection error occurred |
| reconnect | Successfully reconnected |
| reconnect_attempt | Attempting to reconnect |
Error Handling
All errors are emitted as events instead of being thrown. Always listen to the 'error' event:
client.on('error', (event) => {
console.error('Error:', event.payload.message);
});License
MIT
