convo-ai-sdk 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
- import type { ConnectionStatus, ChatMessage, ChatConfig, ClientOptions, ChatEvent } from './types';
1
+ import type { ConnectionStatus, ConversationStatus, ChatMessage, ChatConfig, ClientOptions, ChatEvent } from './types';
2
2
  export declare class ChatClient {
3
3
  private options;
4
4
  private listeners;
5
5
  status: ConnectionStatus;
6
+ conversationStatus: ConversationStatus;
6
7
  messages: ChatMessage[];
7
8
  config: Partial<ChatConfig>;
8
9
  constructor(options: ClientOptions);
9
10
  private _emit;
10
11
  private _setStatus;
12
+ private _setConversationStatus;
11
13
  private _addMessage;
12
14
  private _loadGreeting;
13
15
  private _loadHistory;
@@ -15,6 +17,7 @@ export declare class ChatClient {
15
17
  connect(sessionToken?: string): Promise<void>;
16
18
  sendToolResult(toolCallId: string, toolCallName: any, result: any): Promise<void>;
17
19
  sendMessage(text: string): Promise<void>;
20
+ toolCall(tool_call: any): Promise<void>;
18
21
  sendStreamMessage(message: ChatMessage): Promise<void>;
19
22
  disconnect(): void;
20
23
  resetChat(): Promise<void>;
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
- const DEFAULT_HTTP_ENDPOINT = 'https://wzy5woofwf.execute-api.eu-west-1.amazonaws.com/Prod';
1
+ const DEFAULT_HTTP_ENDPOINT = 'https://live.wizden.io';
2
2
  export class ChatClient {
3
3
  options;
4
4
  listeners = {};
5
5
  status = 'disconnected';
6
+ conversationStatus = 'started';
6
7
  messages = [];
7
8
  config = {};
8
9
  constructor(options) {
@@ -23,6 +24,10 @@ export class ChatClient {
23
24
  this.status = newStatus;
24
25
  this._emit('statusChange', this.status);
25
26
  }
27
+ _setConversationStatus(newStatus) {
28
+ this.conversationStatus = newStatus;
29
+ this._emit('conversationStatusChange', this.conversationStatus);
30
+ }
26
31
  _addMessage(message) {
27
32
  this.messages.push(message);
28
33
  }
@@ -58,16 +63,24 @@ export class ChatClient {
58
63
  console.error('Chat SDK Error: Failed to fetch history, status:', response.status);
59
64
  throw new Error('Failed to fetch history');
60
65
  }
61
- const history = await response.json();
62
- history.forEach((msg) => {
63
- const chatMessage = {
64
- id: msg.messageId,
65
- data: msg.data,
66
- from: msg.senderType,
67
- timestamp: msg.timestamp,
68
- };
69
- this._addMessage(chatMessage);
70
- });
66
+ const responseData = await response.json();
67
+ let history = [];
68
+ if (Array.isArray(responseData)) {
69
+ history = responseData;
70
+ }
71
+ else if (responseData && Array.isArray(responseData.messages)) {
72
+ history = responseData.messages;
73
+ if (responseData.status) {
74
+ this._setConversationStatus(responseData.status);
75
+ }
76
+ }
77
+ const newMessages = history.map((msg) => ({
78
+ id: msg.messageId,
79
+ data: msg.data,
80
+ from: msg.senderType,
81
+ timestamp: msg.timestamp,
82
+ }));
83
+ this.messages.push(...newMessages);
71
84
  this._emit('historyLoaded', this.messages);
72
85
  }
73
86
  catch (error) {
@@ -196,6 +209,9 @@ export class ChatClient {
196
209
  this._emit('message', userMessage);
197
210
  await this.sendStreamMessage(userMessage);
198
211
  }
212
+ async toolCall(tool_call) {
213
+ this._emit('toolCall', tool_call);
214
+ }
199
215
  async sendStreamMessage(message) {
200
216
  if (this.status !== 'connected') {
201
217
  console.error('Cannot send stream message, not connected.');
package/dist/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error';
2
+ export type ConversationStatus = 'started' | 'awaiting_user' | 'ended_by_system' | 'expired' | 'timeout_silence';
2
3
  export interface ChatMessage {
3
4
  id: string | number;
4
5
  data: any;
@@ -18,4 +19,4 @@ export interface ClientOptions {
18
19
  identifier?: string;
19
20
  dynamicVariables?: Record<string, any>;
20
21
  }
21
- export type ChatEvent = 'statusChange' | 'message' | 'configLoaded' | 'historyLoaded' | 'messageStart' | 'messageData' | 'messageDone' | 'messageError' | 'toolCall' | 'thought' | 'reset';
22
+ export type ChatEvent = 'statusChange' | 'conversationStatusChange' | 'message' | 'configLoaded' | 'historyLoaded' | 'messageStart' | 'messageData' | 'messageDone' | 'messageError' | 'toolCall' | 'thought' | 'reset';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "convo-ai-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",